/*
 * #### Gauge Component
 *
 * The standard markup for the component is:
 *
 *      <div class="gauge">
 *          <div class="gauge__container">
 *              <div class="gauge__marker"></div>
 *              <div class="gauge__background"></div>
 *              <div class="gauge__center"></div>
 *              <div class="gauge__data"></div>
 *              <div class="gauge__needle"></div>
 *          </div>
 *          <div class="gauge__labels">
 *              <span class="gauge__label--low">No</span>
 *              <span class="gauge__label--spacer"></span>
 *              <span class="gauge__label--high">Yes</span>
 *          </div>
 *      </div>
 */

/*
 * First define all of the relevant rules that aren't dependent
 * on the size of the gauge. We want to collect the size-depenent
 * rules in one place to make it easier to adjust the size.
 */

.gauge3liv {
    position: relative;
}

.gauge__container3liv {
	margin: 0;
	padding: 0;
	position: absolute;
	left: 50%;
	overflow: hidden;
	text-align: center;
	-webkit-transform: translateX(-50%);
	   -moz-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	     -o-transform: translateX(-50%);
	        transform: translateX(-50%);
}

.gauge__background3liv {
	z-index: 0;
	position: absolute;
	background-color: #C5CAE9;
	top: 0;
	border-radius: 200px 200px 0 0;
}

.gauge__data3liv {
	z-index: 1;
	position: absolute;
	background-color: #cc0000;
	margin-left: auto;
	margin-right: auto;
	border-radius: 300px 300px 0 0;
    -webkit-transform-origin: center bottom;
       -moz-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
}
.gauge__data3livB {
	z-index: 1;
	position: absolute;
	background-color: #ff7e00;
	margin-left: auto;
	margin-right: auto;
	border-radius: 300px 300px 0 0;
    -webkit-transform-origin: center bottom;
       -moz-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
}
.gauge__data3livC {
	z-index: 1;
	position: absolute;
	background-color: #189602;
	margin-left: auto;
	margin-right: auto;
	border-radius: 300px 300px 0 0;
    -webkit-transform-origin: center bottom;
       -moz-transform-origin: center bottom;
        -ms-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom;
}

.gauge__center3liv {
	z-index: 2;
	position: absolute;
	background-color: #fff;
	margin-right: auto;
	border-radius: 300px 300px 0 0;
}

.gauge__marker3liv {
    z-index: 3;
    background-color: #fff;
    position: absolute;
    height: 1px;
}

.gauge__markerbis3liv {
    z-index: 3;
    background-color: #fff;
    position: absolute;
    height: 1px;
}

.gauge__needle3liv {
    z-index: 4;
    background-color: #333;
    height: 3px;
    position: absolute;
    -webkit-transform-origin: left center;
       -moz-transform-origin: left center;
        -ms-transform-origin: left center;
         -o-transform-origin: left center;
            transform-origin: left center;
}

.gauge__labels3liv {
    display: table;
    margin: 0 auto;
    position: relative;
}

.gauge__label--low3liv {
    display: table-cell;
    text-align: center;
}

.gauge__label--spacer3liv {
    display: table-cell;
	text-align: center;
	font-size: 16px
}

.gauge__label--high3liv {
    display: table-cell;
    text-align: center;
}

/*
 * Now define the rules that depend on the size of
 * the gauge. We start with sizing for a small mobile
 * device.
 */

.gauge3liv { height: calc(80px + 2em); }
.gauge__container3liv { width: 160px; height: 800px; }
.gauge__marker3liv { width: 160px; left: 0px; top: 80px;}
.gauge__markerbis3liv { width: 160px; left: 0px; top: 80px;}
.gauge__background3liv { width: 160px; height: 80px; }
.gauge__center3liv { width: 100px; height: 50px; top: 36px; margin-left: 48px; }
.gauge__data3liv { width: 160px; height: 80px; }
.gauge__data3livB { width: 160px; height: 80px; }
.gauge__data3livC { width: 160px; height: 80px; }
.gauge__needle3liv { left: 80px; top: 80px; width: 80px; }
.gauge__labels3liv { top: 120px; width: 160px; }
.gauge__label--low3liv { width: 36px; font-size: 12px}
.gauge__label--spacer3liv { width: 120px; text-align: center }
.gauge__label--high3liv { width: 36px; font-size: 12px}

/*
 * Increase the gauge size slightly on larger viewports.
 */

 @media only screen and (min-width: 300px) {
    .gauge3liv { height: calc(100px + 2em); }
    .gauge__container3liv { width: 200px; height: 100px; }
    .gauge__marker3liv { width: 200px; left: 0px; top: 100px;}
    .gauge__markerbis3liv { width: 200px; left: 0px; top: 100px;}
    .gauge__background3liv { width: 200px; height: 100px; }
    .gauge__center3liv { width: 120px; height: 60px; top: 40px; margin-left: 40px; }
    .gauge__data3liv { width: 200px; height: 100px; }
    .gauge__data3livB { width: 200px; height: 100px; }
    .gauge__data3livC { width: 200px; height: 100px; }
    .gauge__needle3liv { left: 100px; top: 100px; width: 100px; }
    .gauge__labels3liv { top: 100px; width: 200px; }
    .gauge__label--low3liv { width: 40px; font-size: 12px}
    .gauge__label--spacer3liv { width: 120px; }
    .gauge__label--high3liv { width: 40px; font-size: 12px}
}

/*
 * As an option, the `gauge--liveupdate` class can be added
 * to the main gauge element. When this class is present,
 * we add a transition that animates any changes to the gauge
 * value. Currently, the app does not use this option because
 * all the inputs that can change gauge values are present
 * on tab panels that are different from the gauge itself.
 * Therefore, users won't be able to see any gauge changes
 * when they make input changes. The code is available, though,
 * should this change.
 */

.gauge--liveupdate3liv, .gauge__data3liv, .gauge__data3livB, .gauge__data3livC,
.gauge--liveupdate3liv, .gauge__needle3liv {
    -webkit-transition: all 1s ease-in-out;
       -moz-transition: all 1s ease-in-out;
        -ms-transition: all 1s ease-in-out;
         -o-transition: all 1s ease-in-out;
            transition: all 1s ease-in-out;
}

/*
 * For a given gauge value, x, ranging from 0.0 to 1.0, set
 * the `transform: rotate()` property according to the
 * following equation: `-0.5 + 0.5x turns` The default
 * properties below represent an x value of 0.
 */

.gauge__data3liv {
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}
.gauge__data3livB {
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}
.gauge__data3livC {
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}
.gauge__needle3liv {
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}
.gauge__markerbis3liv{
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}

.gauge__marker3liv{
    -webkit-transform: rotate(-.50turn);
       -moz-transform: rotate(-.50turn);
        -ms-transform: rotate(-.50turn);
         -o-transform: rotate(-.50turn);
            transform: rotate(-.50turn);
}
