/*
 * Globals
 */


/*
 * Base structure
 */

html,
body {
  height: 100%;
  background-color: #f9f9f9;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
 
body {
  display: -ms-flexbox;
  display: flex;
  color: #474C55;
}

.card-deck {
    max-width: 600px; 
    width:100%;
}




/*
 * Loader
 */

#btnCalculate span {display: inline-block; width:73px;}


.lds-spinner {
  display: inline-block;
  position: relative;
  padding-left: 18px;
  width: 73px;
  height: 18px;
}
.lds-spinner div {
	margin-top: -7px;
  transform-origin: 18px 18px;
  animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 4px;
  left: 17px;
  width: 2px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
}

.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}



/*
 * Typography
 */

h1 {
    
    font-family: "Helvetica Neue LT W01_35 Thin", "Helvetica Neue Light", Helvetica, Arial, "sans-serif";
    font-size:36px;
    line-height:44px;
    padding:0 10px;
}

p.lead {
    font-family: "HelveticaNeueW01-55Roma", "Helvetica Neue Regular", Helvetica, Arial, "sans-serif";
    font-size:16px;
    line-height:26px;
    letter-spacing: 0.2px;
}

.btn, .caption, .input-group-text {
    padding:4px 16px;
    font-family: 'HelveticaNeueW01-75Bold', "Helvetica Neue Bold", Helvetica, Arial, "sans-serif";
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.2px;
}

.caption {
    margin:0;
}

/*.bg-selected {background-color:#fafbf8}*/
.bg-selected {background-color: rgba(99,140,28,0.03);}
.input-group-text {background-color:#eff3e8}

.explanations {
    font-family: "Helvetica Neue LT W01_35 Thin", "Helvetica Neue Light", Helvetica, Arial, "sans-serif";
    font-size:24px;
    line-height:36px;    
}

#results .explanations {font-size:23px;}

div.input-group-append span.input-group-text {font-size:16px !important}
div.input-group-prepend span.input-group-text {font-size:18px !important}

.pl-7 {padding-left:80px;}
.pr-7 {padding-right:80px;}


.card-deck .card {
    margin-right: 10px;
    margin-left: 10px;
}

.card-deck .card, .card, .card-deck .init, .init  {
		will-change: opacity, transform;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-o-transition: all 0.2s ease-out;
		-ms-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;		
    border: 1px solid #D1D0CF;
    cursor: pointer;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,.08);
}



#card11:hover, #card12:hover, #card13:hover,
#card11.border-success, #card12.border-success, #card13.border-success
 {
		will-change: opacity, transform;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-o-transition: all 0.2s ease-out;
		-ms-transition: all 0.2s ease-out;
        transition: all 0.2s ease-out;
        box-shadow: 0 3px 6px 0 rgba(0,0,0,.12);
       transform: translate3d(0,-5px,0);
}

.fr3-chart {
    will-change: transform;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

#totalsavingsnum {
    font-family: 'HelveticaNeueW01-55Roma', "Helvetica Neue Regular", Helvetica, Arial, "sans-serif";
    font-size:48px; 
    line-height: 57px
}

#results sup {
    top: -.42em;
    color:#999;
    font-size: 60%;
}

.material-icons {vertical-align: middle;}

#popover {
  font-size: 14px;
  cursor: pointer;
  vertical-align: baseline;
  color:#999;
}

.popover {
  margin-top: 120px;
  height: auto;
  width: 193px;
  padding: 5px;
  border:none;
  border-radius: 8px;
  background-color: #F9F9F9;
  box-shadow: 0 3px 6px 0 rgba(0,0,0,0.08), 0 10px 20px 0 rgba(0,0,0,0.12);
  font-size: 12px;
}

.popover-body {color:#474C55 !important;}

.popover .arrow {visibility: hidden; display: none;}

small {
    font-family: 'HelveticaNeueW01-75Bold', "Helvetica Neue Bold", Helvetica, Arial, "sans-serif";
    font-size:11px; 
    line-height: 12px; 
    letter-spacing: 1px !important;
    text-transform: uppercase;
}

small.small-normal {text-transform: none; color:#767676; letter-spacing: normal !important;}

.totalsaving-box {padding-left:36px;}

.tiny {
    font-family: 'HelveticaNeueW01-55Roma', "Helvetica Neue Regular", Helvetica, Arial, "sans-serif";
    font-size:8px; 
    line-height: 11px; 
    letter-spacing: .5px !important;
    text-transform: uppercase;
    color: #767676;
}

#results h5 {margin-left:8px;}

/* Links */
a {
    color:#474C55;
    text-decoration: none;
}

a:hover, a:focus {
    color:#767676;
    text-decoration: none;
}


/*
 * SVGS 
*/

	.icon {
		will-change: opacity, transform;
		-webkit-transition: all 0.3s ease-out;
		-moz-transition: all 0.3s ease-out;
		-o-transition: all 0.3s ease-out;
		-ms-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;		
	    fill:  #999;
	    cursor: pointer;
		height: auto;
	}
    /*
    .icon.active {
		will-change: opacity, transform;
		-webkit-transition: all 0.3s ease-out;
		-moz-transition: all 0.3s ease-out;
		-o-transition: all 0.3s ease-out;
		-ms-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;		
	    fill: #638C1C;
    }
    */
    
    .icon.active .st0{fill:#ABAD25;}
	.icon.active .st1{fill:#638C1C;}
    .icon.active .st2{fill:#474C55;}

 
/* Custom default button */
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus {
  color: #474C55;
  text-shadow: none; /* Prevent inheritance from `body` */
  background-color: #fff;
  border: .05rem solid #fff;
}

.btn-dark {
    background-color: #474C55;
    color: #fff;
    border: .05rem solid #474C55;
}


.btn-dark:hover, .btn-dark:active {
    background-color: #DEE3EB !important;
    color: #474C55 !important;
    border: .05rem solid #DEE3EB !important;
    transition: color .20s ease-in-out,background-color .20s ease-in-out,border-color .20s ease-in-out,box-shadow .20s ease-in-out;
}

.btn-dark:focus {
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
}


.btn-outline-success:not(:disabled):not(.disabled).active, .btn-outline-success:not(:disabled):not(.disabled):active, .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #638C1C;
    border-color: #638C1C;
    box-shadow: 0 0 0 0.2rem #638C1C;
}

.btn-outline-success {
    color: #638C1C;
    border-color: #638C1C;
}

.btn-outline-success:hover {
    color: #fff;
    background-color: #638C1C;
    border-color: #638C1C;
  }
  
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 !important;
  }

.card-results {
    margin: 0 7px 14px 7px !important;
    border: 0;
    border-radius: 12px;
}


.card-results:first-child {
    margin-left: 0;
}
.card-results:last-child {
    margin-right: 0;
}



.card-results .card-body { 
    padding: 10px 14px;
}

.card-results .card-body h4 {
    font-family: 'HelveticaNeueW01-55Roma', "Helvetica Neue Regular", Helvetica, Arial, "sans-serif";
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.btn.disabled {background-color: #D1D0CF; border: 1px solid #D1D0CF;color:#F9F9F9;cursor: default;}

/* Custom colors */

#intro, #results, .col-custom { max-width:990px; width:100%}
.text-success { color: #638C1C !important;}
.border-success { border:1px solid #638C1C !important;}
.border-999 { border:1px solid #999 !important;}
.border-top-success  { border-top:1px solid #638C1C !important;}
.border-top-999 { border-top:1px solid #999 !important;}
.border-top-secondary { border-top:1px solid #474C55 !important;}

/* Custom barge */
.badge-secondary{background-color: #D1D0CF; color: #D1D0CF}
.badge-success{background-color: #638C1C;}
.badge {position: absolute; right:15px; top:15px}
.badge, .badge-pill {
    padding:0 !important;
    border-radius: 12rem !important;
}

/* vertical gap */
.hpx-90 {height:80px;}

/*
 * Form
 */

input::-webkit-input-placeholder { /* Edge */
  color: #ccc !important;
}

input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #ccc !important;
}

input::placeholder {
  color: #ccc !important;
}

.form-control:focus {
        border: none;
        box-shadow: none;
    } 

.input-group > .input-group-prepend > .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: .20rem;
}

.input-group > .input-group-append > .input-group-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: .20rem;
}

.input-group > .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0.20rem;
    border: 0;
    border-left: 1px solid rgba(0,0,0,.05);
}

.border-left-999 {border-left: 1px solid #999 !important;}
.border-right-999 {border-right: 1px solid #999 !important;}

.border-left-success {border-left: 1px solid #638C1C !important;}
.border-right-success {border-right: 1px solid #638C1C !important;}

.input-group > .form-control.app {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0.20rem;
    border: 0;
    border-right: 1px solid rgba(0,0,0,.05);
}

.mo-color-box, .fr3-color-box {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    border-radius: 4px;
}

.mo-color {
    background-color:#DBAA00;
}

.fr3-color {
    background-color:#638C1C ;
}

.chart-box {height: 142px;}

.mo-chart, .fr3-chart {
    border-radius: 4px; flex-grow: 1; justify-content: center; align-items: center;
}

.mo-chart span, .fr3-chart span {
    font-size: 16px;
    color: #fff;
}

.mo-chart {
    margin-right:5px;
}

.fr3-chart {
    margin-left:5px;
}


.chartcaption {font-size:12px; margin-top: 10px;}

.chartcaption div,
.chartcaption span {vertical-align:middle;}

/*
 * CUSTOM TOGGLE BUTTONS
*/

.switch {
    position: relative;
    width: 216px;
    padding: 0;
    font-family: 'HelveticaNeueW01-75Bold', "Helvetica Neue Bold", Helvetica, Arial, "sans-serif";
    font-size: 14px;
    margin: auto;
    color:#767676;
  }
  .switch:before {
    content: '';
    position: absolute;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 34px;
    background: #fff;
    border-radius: 4px;
    border:1px solid #D1D0CF;
  }
  .switch__label {
    display: inline-block;
    width: 68px;
    padding: 6px 0;
    text-align: center;
    cursor: pointer;
    transition: color 200ms ease-out;
  }
  .switch__label:hover {
    /*color: #638C1C;*/
    transition: color 200ms ease-out;
    /*background-color: rgba(99,140,28,0.03);*/
  }

  .switch__label.active {
    color: #fff;
    transition: color 200ms ease-out;
  }

  .switch__indicator {
    width: 75px;
    height: 36px;
    position: absolute;
    z-index: -1;
    top: -1px;
    left: 0;
    background: #638C1C;
    border-radius: 4px;
    transition: transform 600ms cubic-bezier(0.02, 0.94, 0.09, 0.97);
    transform: translate3d(70px, 0, 0);
  }
  .switch input#third:checked ~ .switch__indicator {
    transform: translate3d(-1px, 0, 0);
  }
  .switch input#half:checked ~ .switch__indicator {

    transform: translate3d(70px, 0, 0);
  }
  .switch input#all:checked ~ .switch__indicator {

    transform: translate3d(142px, 0, 0);
  }
  .switch input[type="radio"]:not(:checked), .switch input[type="radio"]:checked {
    display: none;
  }

  #how-to-calc {text-align: left; padding:0 0 0 9px;}


/* Narrow Screen */
@media only screen and (max-width: 906px) {
    h1 {font-size:36px;
    line-height: 44px;
    padding:0 41px;
    }
    .pl-7 {padding-left:80px;}
    .pr-7 {padding-right:80px;}

    h4 {font-size: 1.2rem;}
}


/* Tablet */
@media only screen and (max-width: 768px) {
    
    #intro h1 {padding:0 10px;}

    h1 {font-size:30px;
    line-height: 34px;
    padding: 0;
    }


    
    .pl-7 {padding-left:80px;}
    .pr-7 {padding-right:80px;}

    .pr-3.icon  {padding-right:33px !important;}
    .pl-3.icon {padding-left:33px !important;}

    h3 {padding: 0 10px;} 
    #results h3 {font-size:24px;}

    .card-results {margin: 0 5px 10px 5px !important;}
    .card-results .card-body {padding: 8px 10px;}
    .chart-box {height:112px;}

.card-deck {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-right: -10px;
    margin-left: -10px;
}
    
    .card-deck .card {
    -ms-flex: 1 0 0%;
    flex: 1 0 0%;
    margin-right: 10px;
    margin-bottom: 0;
    margin-left: 10px;
}
    
    .card-deck .card .card-body {
        padding:20px 0 0 0;
    }
    
    .caption {font-size:14px; margin-bottom:10px;}


    .card-body small {
        font-size:10px;
        letter-spacing: 0 !important;
    }

    #totalsavingsnum {font-size:40px; min-width: 250px; }

    .card-results .card-body h4{font-size: 17px; line-height: 20px;}

    .tiny.mb-3 {margin-bottom: .5rem !important;}

}


/* Phone */
@media only screen and (max-width: 414px) {
    #results .explanations {font-size: 22px; line-height: 28px;}
    h1 {font-size:24px;
    line-height: 28px;}
    .pl-7 {padding-left:0px;}
    .pr-7 {padding-right:0px;}

    .pr-3.icon  {padding-right:24px !important;}
    .pl-3.icon {padding-left:24px !important;}
    .pt-3.icon  {padding-top:3px !important;}
    .pb-3.icon {padding-bottom:3px !important;}

    input.border-right-success {border-right: inherit !important; border-bottom-right-radius: 0.20rem !important;}
    input.border-left-success {border-left: inherit !important; border-bottom-left-radius: 0.20rem !important;}

    input.border-right-999 {border-right: inherit !important; border-bottom-right-radius: 0.20rem !important;}
    input.border-left-999 {border-left: inherit !important; border-bottom-left-radius: 0.20rem !important;}

    #results .mb-5 {margin-bottom:1.3rem !important;}

    .hpx-90 {height:44px;}
    .caption {font-size:14px; padding: 0}
    .badge {position: absolute; right:8px; top:8px; font-size: 60%;}
    .pl-4, .pr-4, .pt-3, .pb-3 {padding:15px !important;}
    .list-group-item {padding:2px}
    #how-to-calc {text-align: center; margin-top:25px}
    .input-group-prepend,
    .input-group-append {display: none;}
}

/* Phone */
@media only screen and (max-width: 375px) {
    .card-results .card-body h4{font-size: 1.5rem; line-height: 20px;}
    .card-body small {
        font-size:11px;
        letter-spacing: 0.5px !important;
    }
}