/* load fonts */
@font-face {
    font-family: 'santral-regular-webfont';
    src: url("fonts/santral-regular-webfont.eot");
    src: url("fonts/santral-regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/santral-regular-webfont.woff") format("woff"), url("fonts/santral-regular-webfont.ttf") format("truetype");
	url("fonts/santral-regular-webfont.svg") format('svg');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'santral-bold-webfont';
    src: url("fonts/santral-bold-webfont.eot");
    src: url("fonts/santral-bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/santral-bold-webfont.woff") format("woff"), url("fonts/santral-bold-webfont.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'santral-light-webfont';
    src: url("fonts/santral-light-webfont.eot");
    src: url("fonts/santral-light-webfont?#iefix") format("embedded-opentype"), url("fonts/santral-light-webfont.woff") format("woff"), url("fonts/santral-light-webfont.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}


/* normalize */
header,
section,
footer,
main,
div {
    position: relative;
    margin: 0;
    padding: 0;
    display: block;
}

ul,
li {
     margin: 0;
     padding: 0;
     list-style: none;

}

/* main */
body,
html {
    margin:0;
    padding: 0;
    font-family: 'santral-regular-webfont', sans-serif;
    color: #5d17a0;
    color: #000000;
    font-size: 12pt;
}

a {
    color: #5d17a0;
}

p {
    font-size: 14pt;
}

h1, h2, h3 {
    margin:0;
}

strong {
  font-family: 'santral-bold-webfont', sans-serif;
}


/* header */
header{
    width: 100%;
    top: 0px;
    overflow:hidden;    
    background: #fff;    
} 

    header.sticky {
        position: fixed;
        z-index: 10000;
        overflow: visible;
        box-shadow: 0px 4px 13px 2px #00000012;
    }

    header .logo {
        text-decoration: none;
    } 

    header .logo img {
        padding: 20px 50px 10px;
        width: 200px;
        height: auto;
        text-decoration: none; 
    }     

    header img.dealer_logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: auto;
        max-height: 60px;
        text-align: center;
        color:#ffb000;
        font-size: 24pt;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
    }  

        header a.bookanappointment {
            position: absolute; 
            right: 125px;
            top: 50%;
            margin-top: -1px;
            transform: translateY(-50%);
            text-decoration: none;
            border: 1px solid #5d17a0;
            border-radius: 8px;
            font-size: 8pt;
            font-family: 'santral-bold-webfont', sans-serif;
            box-sizing: border-box;
            padding: 4px 6px;
        }

         header a.bookanappointment:hover {
              border: 1px solid #ffb000;
              color: #ffb000;;
         }

         /* nav toggle */
        header a.nav {  
            position: absolute; 
            right: 50px;
            top: 50%;
            margin-top: -1px;
            transform: translateY(-50%);
            width: 35px;
            height: 20px;
            background-image: url("../images/nav_button_closed.png");
            background-size: 35px 40px;
            background-position: top;
            background-repeat: no-repeat;
         } 

             header a.nav:hover {  
                background-position: bottom;
             }

             header.navopen a.nav {  
                background-image: url("../images/nav_button_open.png");
             } 

     /* mobile */
    @media screen and (max-width: 1050px) {
         header .logo img {
            padding: 20px 30px 10px;
            width: 25%;
            height: auto;
            text-decoration: none; 
        } 

          header img.dealer_logo {
            position: absolute;
            margin-left: 10vw;
            height: auto;
            color:#ffb000;
            font-size: calc(12px + 2vw);
        }  

        /* nav toggle */
        header a.nav {   
            right: 20px;
        } 

        header a.bookanappointment {
            display: none;
        }

    }

    /* mobile */
    @media screen and (max-width: 650px) {

           header .logo img {
            padding: 20px 20px 10px;
            width: 22%;
           }

          header img.dealer_logo {
            position: absolute;
            width: calc(100% - 200px);
            max-width: 300px;
            margin-left: 3vw;
            height: auto;
            max-height: none;
            color:#ffb000;
            font-size: calc(12px + 2vw);
        }  

        /* nav toggle */
        header a.nav {   
            right: 20px;
            margin-top: -1px;
            width: 25px;
            height: 14px;
            background-size: 25px 28px;
        } 
    }

    /* nav */
    nav {
        position:absolute;
        top: 100%;
        width: 100vw;
        display: none;
        background: #ffb009;
        padding: 20px 20px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-size: 12pt;
        text-align: center;
        box-sizing: border-box;
        box-shadow: 0px 4px 13px 2px #00000012;
    }

        header.navopen nav {
            display: block;

        }

        nav ul {
            list-style: none;
            margin: 0;
            padding:0;
        }

        nav a {
            position: relative;
            text-decoration: none;
            margin: 20px;
            display: block;
            font-size: 15pt;
        }


/* hero */
.hero {
    width: 100%;
}
    .hero img {
         width: 100%;
         height: auto;
    }

    .hero img.mobile {
        display: none;
    }

    /* mobile */
     @media screen and (max-width: 600px) {
        .hero img.desktop {
            display: none;
        }
        .hero img.mobile {
            display: block;
        }
   }

   /* flex */
   .flexslider .slides li:not(:first-child) {
        display: none;
    }
   .flex-control-nav {
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
        bottom: 0px;
        text-align: center;
        z-index: 100;
    }
    .flex-control-nav li {
        display: inline-block;
        margin: 0px 5px;
    }
    .flex-control-nav li a {
        display: inline-block;
        font-size: 0; 
        background: #969696;
        width: 15px;
        height: 15px;
        border-radius: 100%;
    }
    .flex-control-nav a.flex-active {
        background: #ffffff;
    }


/* about */
section.about {
    position: relative;
    text-align: center;
    border-bottom: 2px solid #5d17a0;
    padding: 50px 20px 80px;
    box-sizing: border-box;
    margin: 20px auto;
    max-width: 1000px;
}

    .about h2 {
        color:#ffb000;
        font-size: 20pt;
        margin-bottom: 30px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
    }    

    .about > div {
        margin: 0 auto;
        max-width: 900px;
    }    

    /* mobile */
    @media screen and (max-width: 1010px) {
        section.about {
            margin: 0px 35px;
             padding: 40px 20px 40px;
            box-sizing: border-box;
        }
    }


/* promotions */
section.promotions {
    position: relative;
    text-align: center;
    border-bottom: 2px solid #5d17a0;
    padding: 50px 00px 80px;
    box-sizing: border-box;
    margin: 20px auto;
    max-width: 1000px;
}
   

    .promotions h2 {
        color:#ffb000;
        font-size: 20pt;
        margin-bottom: 30px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
    }    

    .promotions h3 {
        color:#5d17a0;
        font-size: 20pt;
        margin-bottom: 20px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
        margin-top: 50px;
    }  

    /* plan */
    .promotions .plan {
        display: flex;        
        margin-bottom: 30px;
        color:#5d17a0;
        width: 100%;
    }

    .promotions .plan .price,
    .promotions .plan .option {
        padding: 10px 40px;
        font-size: 12pt;        
        display: flex;
        align-items:center;
        justify-content: center;
    }

    .promotions .plan .option {
        border-top: 2px solid #cdd0d4;
        border-bottom: 2px solid #cdd0d4;        
    }

    .promotions .plan .price span,
    .promotions .plan .option span {
      font-size: 20pt;
      font-family: 'santral-bold-webfont', sans-serif;
      margin-right: 10px;
    }

    .promotions .plan .price {
        background:#5d17a0;
        color: #fff;
    }

    .promotions .plan .note {
        padding: 10px 40px;
        font-size: 12pt;
        border-top: 2px solid #cdd0d4;
        border-bottom: 2px solid #cdd0d4;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 2;
    }

    .promotions .plan .note strong {
      font-family: 'santral-bold-webfont', sans-serif;
    }

    /* note */
    .promotions .note {
        position: relative;
        color:#5d17a0;
    }

        .promotions .note h3 {
             border-bottom: 2px solid #cdd0d4;   
             font-family: 'santral-bold-webfont', sans-serif;
             padding-bottom: 20px;
             font-size: 18pt;
             margin-bottom: 20px;
             margin-top: 60px;
         }         

            .promotions video {
                width: 100%;                
                max-width: 890px;
            }

            .promotions img + video  {
                margin-top: 20px;
            }


     /* mobile */
    @media screen and (max-width: 1010px) {
        section.promotions {
            margin: 0px 35px;
             padding: 40px 20px 40px;
            box-sizing: border-box;
        }        
        .promotions .plan {
           flex-wrap: wrap;
        }
         .promotions .plan .option {
            border-top: 2px solid #cdd0d4;
            flex: 2px;
            border-bottom: none;     
        }
        .promotions .plan .note {
            border-top: none;
            flex-basis: 100%;
            padding: 25px 20px;
        }
        .promotions .note img,
        .promotions .note video {
            width: 100%;         
        }
    }

     /* phone */
    @media screen and (max-width: 600px) {
        section.promotions {
            margin: 0px 35px;
             padding: 40px 20px 40px;
            box-sizing: border-box;
        }        
        .promotions .plan .price {
             flex-basis: 100%;
        }
        .promotions .plan {
            margin-bottom:50px;
         }
         .promotions .plan .option {
            border-bottom: 2px solid #cdd0d4;
            flex: 2px;
            border-top: none;     
        }
        .promotions .plan .note {
            border-top: none;
            flex-basis: 100%;
            padding: 25px 20px;
        }
    }



/* locations */
section.locations {
    position: relative;
    text-align: center;
    border-bottom: 2px solid #5d17a0;
    padding: 50px 00px 80px;
    box-sizing: border-box;
    margin: 20px auto;
    max-width: 1000px;
    color:#5d17a0;
}   


     section.locations h2 {
        color:#ffb000;
        font-size: 20pt;
        margin-bottom: 30px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
    }  

    /* location */
    section.locations .columns {
        position: relative;
        display: flex;   
        justify-content: center;
        flex-wrap: wrap;
    }  

    /* location */
    section.locations .location {
        position: relative;
        width: 30%;
        margin: 0 15px;
        margin-bottom: 50px;
    }

    
      section.locations .location  .address img {
          position: absolute;
          top: 5px;
          width: 35px;
          left: 10px;

      }

       section.locations .location .address  {
           padding-left: 60px;
           text-align: left;
           font-size:12pt;
           line-height: 1.5em;
       }
            section.locations .location .address p  {
               text-align: left;
               font-size:12pt
           }

          section.locations .location .placeholder {
              padding-top: 85%;
          }
                      
          section.locations .location .map {
              position: absolute;
              left:0px;
              bottom: 0px;
              width: 100%;
          }
         
          section.locations .location .map iframe {
              position: absolute;
              left:0px;
              bottom: 0px;
              width: 100%;
              height: 250px;
          }


    
      /* mobile */
     @media screen and (max-width: 1010px) {
        section.locations {
            margin: 0px 35px;
             padding: 40px 20px 40px;
            box-sizing: border-box;
        }
        section.locations .columns {
            position: relative;
            display: block;   
            justify-content: center;
            margin-left: 30px;
        }  

        section.locations .location {
            position: relative;
            width: 100%;
            display: block;
            max-width: 600px;
            overflow: hidden;
            margin: 50px auto 50px;
        }   

         section.locations .location .address  {
             margin-left: 20px;
               word-wrap: break-word;
        }    

        section.locations .location .placeholder {
              display: none;
         }

         section.locations .location .map {
           position: relative;
         }

         section.locations .location .map iframe {
              position: relative;
              height: 400px;
          }

     }
        

/* contact */
section.contact {
    position: relative;
    text-align: center;
    padding: 50px 20px 80px;
    box-sizing: border-box;
    margin: 20px auto;
    max-width: 1000px;
}

    .contact h2 {
        color:#ffb000;
        font-size: 20pt;
        margin-bottom: 30px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-weight: normal;
    }    

    .contact > div {
        margin: 0 auto;
        max-width: 900px;
    }   

    /* form */
    section.contact form {
        margin: 0 auto;
        max-width: 700px;
        background: #5d17a0;
        border-radius: 20px;
        padding: 40px;
        margin-top: 60px;
        box-sizing: border-box;
        position: relative;
    }  

   section.contact  form label {   
        display: block;
        color:#ffb000;
        text-align: left;
        font-family: 'santral-bold-webfont', sans-serif;
        margin-bottom: 10px;
        position: relative;
    }

     section.contact form input,
     section.contact form textarea,
     section.contact form select {   
        position: relative;
        display: block;
        width: 100%;
        color:#000;
        padding: 10px;
        border-radius: 8px;
        outline: none;
        border: 1px solid #9fa1a4;
        margin-bottom: 32px;        
        box-sizing: border-box;
        font-family: 'santral-regular-webfont', sans-serif;
    }     

        /* select customize */
        section.contact form select { 
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background-image: url("../images/form_dropdownarrow.png");
            background-size: 23px;
            background-repeat: no-repeat;
            background-position-x: calc(100% - 13px);
            background-position-y: 11px;
            
        }
        section.contact form select:invalid {  
            color: #a3a3a3;
        }


     section.contact form .error-flag {
        background-color: #da0101;
        display: none;
        color: #fff;
        padding: 5px 10px;
        text-align: left;
        font-size: 10pt;
        margin-top: -37px;
        position: absolute;
        width: 100%;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        margin-bottom: 30px;
        box-sizing: border-box;
     }

     section.contact form .error input,
     section.contact form .error textarea {   
         border: 1px solid #da0101;
     }
     section.contact form .error .error-flag {
         display: block;
      }

     section.contact form textarea {   
        height: 200px;
     }

      section.contact form input[type=checkbox] {
            position: relative;
            display: inline;
            border:none;
            top: -2px;
            margin-left: 13px;
            background:none;
            appearance:none;
            -webkit-appearance:none;
            -moz-appearance:none;
            width:25px;
            height:20px;
            padding: 4px 12px;
            background:white;
            border-radius:8%;
            border:none;
            outline:none;
            overflow:visible;
            background-color: #fff;
            border: 1px solid #EFC695;
        }

            section.contact form input[type=checkbox]:checked::after {
              position: absolute;
              content: '';
              left:5px;	  
              width:19px;
              height:19px;
              background-color:#ffb000;
              border-radius:8%;
            }

            section.contact form input[type=checkbox]:checked::after {
              top:2px;
              left:2px;	  
            }



    section.contact form button {
        background: #ffb000;
        margin-top: 30px;
        border: none;
        color: #fff; 
        border-radius: 8px;
        padding: 10px 50px;
        font-family: 'santral-bold-webfont', sans-serif;
        font-size: 12pt;
    }  

     /* mobile */
    @media screen and (max-width: 1010px) {
        section.contact {
            margin: 0px 35px;
            padding: 40px 0px 40px;
            box-sizing: border-box;
        }
        section.contact form {
            padding: 30px 30px;
        } 
        
    }

    /* success */
    section.contact form.success .inputs button {
        display: none;
    }
    section.contact form.success .inputs  {
        opacity: .25;        
    } 
    section.contact form.success .inputs label  {
        color: #989898;       
    }  
    section.contact form .success {
        color: #fff;
        margin-top: 50px;
        display: none;
    }
    section.contact form.success .success {
        display: block;
    }

      /* mobile */
    @media screen and (max-width: 700px) {
        .checkboxtext {
            position: relative;
            display: block;
            width: calc(100% - 60px);
        }
        section.contact form input[type=checkbox] {
            position: absolute;
            right: 20px;
            height: 25px;
        }
    }
 


/* footer */
footer {
    position: relative;
    background: #5d17a0;
    border-top: 10px solid #ffb000;  
    padding: 80px 0;
    color: #fff;  
    width: 100%;   
}

    footer > div {
        position: relative;
        box-sizing: border-box;
        margin: 0 auto;
        min-width: 1000px;
        max-width: 1000px;
    }
         footer h3,
         footer div.social {
            font-size: 14pt;
            font-family: 'santral-bold-webfont', sans-serif;
         }

        footer div.social {
            position: absolute;
            top: -5px;
            right: 0px;       
            display: flex;
            align-items:center;    
        }

        footer div.social a{ 
            margin-left: 10px
        }

    /* mobile */
    @media screen and (max-width: 1010px) {
        footer > div {
            width: 100%;
            max-width: none;
            min-width: auto;
            padding: 0px 40px;
        }
        footer div.social {
            right: 40px;
        }
    }

     /* mobile */
    @media screen and (max-width: 700px) {
        footer > div {
            text-align: center;
            width: 100%;
            max-width: none;
            min-width: auto;
            padding: 0px 40px;
        }
        footer div.social {
            margin-top: 30px;
            position:relative;  
            width: 100%;          
            right: auto;
            justify-content: center;
        }
    }




        