/******************************
Radio style 
******************************/

/* Customize the label (the container) */
.radiodiv,
.checkboxdiv {
    display: block;
    position: relative;
    /* margin-bottom: 12px; */
    cursor: pointer;
    font-size: 16px;
    text-align: left;
    padding-left: 30px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height: 20px;
}

/* Hide the browser's default radio button */
.radiodiv input,
.checkboxdiv input  {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Create a custom radio button */
.rc {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #eaf0f4;
  border-radius: 50%;
}

/* Create a custom checkbox */
.cr {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #ccc;
}

/* On mouse-over, add a grey background color */
.radiodiv:hover input ~ .rc{
  background-color: #ccc;
}
.checkboxdiv:hover input ~ .cr {
  background-color: #eaf0f4;
}

/* When the radio button is checked, add a blue background */
.radiodiv input:checked ~ .rc,
.checkboxdiv input:checked ~ .cr {
  background-color: #5cb85c;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.rc:after,
.cr:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.radiodiv input:checked ~ .rc:after,
.checkboxdiv input:checked ~ .cr:after  {
  display: block;
}

/* Style the indicator (dot/circle) */
.radiodiv .rc:after {
  top: 6px;
  left: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

/* Style the checkmark/indicator */
.checkboxdiv .cr:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
/******************************
Loader
******************************/

.loader {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #FFF;
    z-index: 9;
    opacity: 0.9;
}

.loader-icon {
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid tomato; /* Blue */
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    position: relative;
    top: 25%;
    left: 45%;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/******************************
main css
******************************/
@import url('https://fonts.googleapis.com/css?family=Roboto:300i,400,400i,500,700,900');

.padding-zero {
    padding: 0 !important;
}

.margin-zero {
    margin: 0;
}

.color-white{
    color: #FFF;
}

.img-responsive {
    max-width: 100%;
    height: auto;
}

html, body{
    background: #FCFEFF;
}

.btn-tomato{
    background: tomato;
}

.margin-auto{
    margin-right: auto !important;
    margin-left: auto !important;
}

.hidden{
  display: none !important;
}

.main-container {
    width: 100%;
    max-width: 1836px;
    margin: 0 auto;
}

.pull-left{
  float: left;
}

.pull-right{
  float: right;
}

.margin-auto{
  margin: 0 auto !important;
}

.text-left{
  text-align: left;
}

/******************************
header css
******************************/
.header-logo,
.footer-logo  {
    width: 522px;
    max-height: 140px;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/******************************
body css
******************************/
#home-bg {
    background: linear-gradient( rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45) ), url(../img/home.JPG);
    height: auto;
    color: #FFF;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.home-text {
    max-width: 1093px;
    margin: 0 auto;
    padding-top: 15%;
    padding-bottom: 5%;
}

.home-h1 {
    font-size: 45px;
    margin-bottom: 40px;
    letter-spacing: -1px;
}

.home-p {
    font-size: 28px;
    line-height: 35px;
    text-align: justify;
    -moz-text-align-last: center;
    text-align-last: center;
    letter-spacing: -0.5px;
    margin-bottom: 50px;
}

.home-input {
    background: #CCCBC7;
    border: 2px solid #535353;
    height: 60px;
    max-width: 408px;
    margin: 0 auto;
    opacity: 0.90;
    margin-bottom: 43px;
    color: #000 !important;
    font-size: 22px !important;
    font-weight: 500 !important;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #000 !important;
  font-size: 25px !important;
  font-weight: 500 !important;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #000 !important;
  font-size: 25px !important;
  font-weight: 500 !important;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #000 !important;
  font-size: 25px !important;
  font-weight: 500 !important;
}
:-moz-placeholder { /* Firefox 18- */
  color: #000 !important;
  font-size: 25px !important;
  font-weight: 500 !important;
}

.btn-custom-yellow {
    background: #CAB11E;
}

.btn-custom-blue {
    background: #6DCFF6;
}

.btn-custom{
    width: 412px;
    height: 65px;
    margin: 0 auto !important;
    font-weight: bold;
    font-size: 25px; 
    border: 1px solid;
}

.btn-home {
    width: 412px;
    height: 65px;
    margin: 0 auto !important;
    font-weight: bold;
    font-size: 25px;  
}


.warranty-box {
    max-width: 595px;
    text-align: center;
    width: 100%;
}

.warranty-icon {
    width: 100px;
}

#warranty-thumbs,
#registration-container {
    background: #EBEBEB;
}

.warranty-box {
    position: relative;
    max-width: 595px;
    text-align: center;
    width: 100%;
    background: #FCFEFF;
    padding: 10px;
    height: 250px;
    margin: 100px auto 35px auto;
}

.warranty-header {
    font-weight: bold;
    font-size: 30px;
    letter-spacing: -0.5px;
    margin-top: 30px;
}

.warranty-text {
    font-size: 25px;
    line-height: 30px;
    text-align: justify;
    -moz-text-align-last: center;
    text-align-last: center;
    letter-spacing: -0.5px;
    color: #000;
    padding: 0 44px;
    font-weight: 400;
}

.warranty-icon {
    position: absolute;
    top: -70px;
    text-align: center;
    width: 100%;
}

.warranty-img {
    background: linear-gradient( rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) );
    border-radius: 50%;
}

.notify-header {
    font-size: 65px;
    font-weight: 700;
    letter-spacing: -1px;
}

.notify-text {
    letter-spacing: -1px;
    font-size: 30px;
    font-weight: 500;
}

.notify-box.text-center {
    margin: 10% auto;
}

#registration_form {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
}

.register-input {
    background: #FFF;
    margin-bottom: 0;
    border: 2px solid #535353;
    height: 60px;
    max-width: 408px;
    margin: 0 auto;
    opacity: 0.90;
    color: #000 !important;
    font-size: 22px !important;
    font-weight: 500 !important;
}

#registration-container .form-control[readonly] {
    background-color: #CCCBC7;
}

#address,
.wide {
    max-width: 94% !important;
}

.register-text {
    font-size: 23px;
}

.register-subheader {
    font-size: 26px;
    font-weight: 500;
}

.steps-box {
    width: calc(100%/5);
    padding: 12px;
    height: auto;
    margin-bottom: 35px;
}

.step_text {
    font-size: 20px;
    font-weight: 500;
    color: #000;
}

.same-as-purchaser {
    padding: 0 30px;
    position: relative;
}

.same-as-purchaser label {
    position: relative;
    color: #000 !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    padding-left: 49px;
}

.btn-custom-sm {
    font-weight: bold;
    font-size: 20px;
}
/******************************
footer css
******************************/
.footer-links {
    background: #000;
    height: 52px;
    padding: 5px 15px;
        display: block;
}

.footer-links a {
    color: #FFF;
    font-size: 20px;
    line-height: 40px;
    display: inline;
}

.footer-links a:hover{
  text-decoration: none;
}

/* Customize the label (the container) */
.container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.register-label {
    font-weight: bold;
    padding: 0 28px;
    font-size: 20px;
}



input[type=date]:hover,
input[type=date] {
    padding: 10px;
}

/* Flaired edges, by Tomas Theunissen */

hr.style-eight {
    overflow: visible; /* For IE */
    padding: 0;
    border: none;
    border-top: medium double #333;
    color: #333;
    text-align: center;
}
hr.style-eight:after {
    content: "§";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.5em;
    padding: 0 0.25em;
    background: white;
}

.weight-bold{
  font-weight: bold;
}
/******************************
Checkbox
******************************/

/* Hide the browser's default checkbox */
.checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 40px;
  width: 40px;
  background-color: #FFF;
  border: 1px solid;
  border-radius: 5px;
}

/* On mouse-over, add a grey background color */
.checkbox:hover input ~ .checkmark {
  background-color: #FFF;
}

/* When the checkbox is checked, add a blue background */
.checkbox input:checked ~ .checkmark {
  background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.checkbox input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.checkbox .checkmark:after {
    left: 8px;
    top: 2px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00c";
    color: #FFF;
    font-size: 25px;
}

/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */

@media (max-width: 1250px) {
  .warranty-box {
      height: auto;
  }
}

@media (max-width: 960px) {
  .home-text {
      padding-top: 20%;
  }
  #address, .wide {
    max-width: 100% !important;
  } 
}

@media (max-width: 768px) {
  .steps-box {
      width: calc(100%/3);
      height: auto;
  }
}


@media (max-width: 480px) {

  .checkbox .checkmark:after {
      left: 3px;
      top: 0;
      font-size: 16px;
  }

  .checkmark {
      height: 25px;
      width: 25px;
  }
  .same-as-purchaser label {
      font-size: 16px !important;
  }

  .steps-box {
      width: calc(100%/1);
      height: auto;
  }  

  .home-text {
      padding-top: 20px;
  }
  .home-h1 {
      font-size: 20px;
      margin-bottom: 10px;
      letter-spacing: -1px;
  } 

  .home-p {
      font-size: 18px;
      line-height: 21px;
      text-align: left;
      -moz-text-align-last: initial;
      text-align-last: left;
      margin-bottom: 10px;
  }  

  .home-input,
  .register-input {
      height: auto;
      max-width: 100%;
      margin-bottom: 0;
      font-size: inherit !important;
  }

  .btn-custom {
      width: 100%;
      height: auto;
      font-size: 16px;
  }

  .register-text {
    font-size: 16px;
  }

  .register-subheader {
      font-size: 20px;
      line-height: 22px;
  }

  .btn-home {
      width: 100%;
      height: auto;
      font-size: 20px;
  }

  ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-size: 16px !important;
  }
  ::-moz-placeholder { /* Firefox 19+ */
    font-size: 16px !important;
  }
  :-ms-input-placeholder { /* IE 10+ */
    font-size: 16px !important;
  }
  :-moz-placeholder { /* Firefox 18- */
    font-size: 16px !important;
  }

  .warranty-header {
      font-size: 20px;
  }

  .warranty-text {
      font-size: 16px;
      line-height: 20px;
      text-align: center; 
  }

  .footer-links {
      height: auto;
      float: left;
      text-align: center;
      width: 100%;
      margin: 0;
  }

  .footer-links a {
      display: block;
      float: none !important;
  }
}

