.gauge {
    position: relative;
	z-index: 1;
    display: inline-block;
    font-size: 33px;
    line-height: 1em;
    height: 1em;
    width: 2em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.gauge.gauge-big {
    font-size: 130px;
}

.gauge:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 100%;
    height: 2em;
    width: 2em;
    line-height: 1em;
    border: 0.35em solid #666666;
	border-radius: 100%; 
  	border: 33px solid transparent;
	background: linear-gradient(90deg, rgba(255,80,80,1) 10%, rgba(255,204,51,1) 50%, rgba(37,196,117,1) 90%) border-box;
	-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  	-webkit-mask-composite: destination-out;
  	mask-composite: exclude;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    clip: rect(auto, auto, 1em, auto);
}

.gauge:after {
	content: '';
	left: 5px;
    top: -5px;
	position: absolute;
	font-size: 100%;
    height: 1em;
    width: 95.5%;
    line-height: 1em;
	background: url("smiley-red.png") no-repeat bottom left, url(smiley-green.png) no-repeat bottom right;
	background-size: 10%;
}


.gauge .gauge-arrow {
    height: 0.5em;
    width: 0.15em;
    margin-left: -.05em;
	margin-top: 0.4em;
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.gauge .gauge-arrow, .gauge .gauge-arrow:before {
    position: absolute;
    display: inline-block;
    background: #d4d7d9;
    left: 49%;
    border-radius: 50% 50% 50% 50% / 100% 100% 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.gauge .gauge-arrow:before {
    content: '';
    height: 0.15em;
    width: 0.15em;
    bottom: -0.09em;
    margin-left: -0.075em;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
}

.gauge-red.gauge:before {
    border-color: transparent;
}

.gauge-orange.gauge:before {
    border-color: transparent;
}

.gauge-yellow.gauge:before {
    border-color: transparent;
}

.gauge-green.gauge:before {
    border-color: transparent;
}

.gauge-blue.gauge:before {
    border-color: transparent;
}

@media (max-width: 1500px) { 
	.gauge.gauge-big { font-size: 110px; }
	.gauge:before { border: 30px solid transparent; }
}

@media (max-width: 992px) {
	.gauge.gauge-big { font-size: 150px; }
	.gauge:before { border: 36px solid transparent; }
	.gauge:after { width: 96%; background-size: 9%; }
}