/* reset */
*, *:after, *:before, html{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

a{
    text-decoration: none;
}

img::selection { background: transparent; }
img::-moz-selection { background: transparent; }

/* general styles */

html, body{
    font-family: Roboto, helvetica, sans-serif;
    font-size: 1.2em;
    font-weight: 300;
}

h2, h3, h4{
    font-weight: 100;
}

h2{
    padding: 20px 0;
}

h3{
    padding: 10px 0;
}

h4{
    padding: 0 0 10px 0;
}

p{
    font-size: .9em;
    padding: 15px;
}

section{
    padding: 20px 20px;
    text-align: center;
}

.half{
    width: 100%;
    vertical-align: top;
}

.quarter{
    background: rgba(0,0,0,0.2);
    cursor: pointer;
    margin: 10px 0;
    padding: 15px;
    width: 100%;
    vertical-align: top;
}

.quarter:hover{
    background: rgba(255,255,255,0.05);
}

.quarter img{
    width: 100%;
}


.blue-bg{
    background: #339;
    color: white;
}

.red-bg{
    background: brown;
    color: white;
}

.black-bg{
    background: black;
    color: white;
}

.relative{
    position: relative;
}




/* hero */
header.hero{
    background: url('../img/tpl/hero.jpg') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    height: 100vh;
    position: relative;
}

.hero-content{
    margin: 0 auto 0;
    max-width: 320px;
    padding-top: 2%;
    text-align: center;
}

.hero-content a{
    background: #339;
    border-radius: 10px;
    color: white;
    display: block;
    font-size: .8em;
    margin: 5px 0;
    padding: 15px 10px;
    text-align: center;
}

.hero-content a i{
    display: none;
    font-size: 30px;
    margin-right: 10px;
}

img.hero-logo{
    width: 60%;
}

.hero-scroll{
    bottom: 0;
    display: inline-block;
    font-size: 50px;
    left: 50%;
    position: absolute;
}

.hero-scroll a{
    bottom: 0;
    color: white;
    left: -50px;
    padding: 30px;
    position: absolute;
}

.hero-scroll a:hover{
    animation: scrollbtn .5s infinite alternate;
}

@keyframes scrollbtn {
   0% {transform: translateY(0px)}  
  100% {transform: translateY(-15px)}  
}





/* thumb viewer */
.viewer img.viewer-img{
    width: 100%;
}

img.thumb{
    cursor: pointer;
    display: inline-block;
    margin: 3px;
    width: 120px;
}

.viewer{
    position: relative;
}

.left-right-viewer-btns{
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}

.left-right-viewer-btns .fa-chevron-left, .left-right-viewer-btns .fa-chevron-right{
    color: white;
    cursor: pointer;
    font-size: 30px;
    height: 100%;
    opacity: 0.5;
    padding-top: 25%;
    position: absolute;
    width: 10%;
} 

.left-right-viewer-btns .fa-chevron-left{
    padding-left: 5%;
    left: 5%;
}

.left-right-viewer-btns .fa-chevron-right{
    padding-right: 5%;
    right: 5%;
}



/* ul li */
ul.list{
    list-style: none;
}
ul.list li{
    text-align: left;
    line-height: 30px;
}

ul.list.dark-bg li a{
    color: white;
}




/* reservation modal */

.modal-wrap{
    background: white;
    position: relative;
}

.modal-course{
    padding: 30px 30px 50px 30px;
    margin: 0 auto;
    max-width: 900px;
}

.modal-course img{
    width: 100%;
}

.gallery-modal-wrap{
    background: white;
    padding: 5px 5px 2px 5px;
    position: relative;
}

.modal-content{  
    background: whitesmoke;
    padding: 30px 20px;
}

.modal-content img{
    width: 100%;
}

.modal-content ul{
    list-style: disc;
    text-align: left;
    margin: 20px auto;
    max-width: 250px;
    width: 100%;
}

.modal-content h3{
    border-radius: 3px;
    background: #f8f8f8;
    margin: 20px auto;
    padding: 10px;
    width: 100%;
}

.modal-step{
    color: White;
    padding: 20px;
    text-align: left;
}

.modal-step span{
    border-radius: 50%;
    font-weight: bold;
    padding: 4px 9px;
    margin-right: 20px;

    display: inline-block;
    height: 35px;
    width: 35px;
}

.modal-step.active span{
    background: White;
    color: #F76B6D;
}

.modal-step.inactive span{
    background: gainsboro;
    color: white;
}

.modal-step.post-active span{
    background: white;
    color: lightslategrey;
}

.modal-step.active{
    background: #F76B6D;
}

.modal-step.post-active{
    background: lightslategrey;
    border-bottom: 1px solid darkslategrey;
    cursor: pointer;
}

.modal-step.inactive{
    background: white;
    border-top: 1px solid gainsboro;
    color: gainsboro;
}

.modal-step.thank-you{
    background: tomato;
}

.modal-step.thank-you span{
    background: white;
    color: tomato;
}


.solicitud-capacitacion{
    max-width: 500px;
    margin: 0 auto;
}

.page{ 
    background: whitesmoke;
    position: absolute;
    width: 100%;
    visibility: hidden; 
}

span.label{
    display: block;
    padding: 0 0 5px 0;
    text-align: left;
}

form.contact{
    margin: 0 auto;
    max-width: 500px;
    width: 90%;
}

form h2{
    color: white;
    background: rgba(0,0,0,0.5);
    margin: 0;
    padding: 20px 0;
}

form h3{
    font-size: 28px;
}

form small{
    color: dimgrey;
    display: block;
    font-size: 14px;
    margin-left: 15px;
    text-align: left;
}

form span.ampm{
    color: darkgrey;
    display: inline-block;
    font-size: 35px;
    font-weight: 100;
    margin-left: 20px;
    padding: 15px 0 0 0;
    white-space: nowrap;
}

form select[name="min"]{
    /*margin-right: 20px;*/
}

form select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form input, form textarea, form select{
    background: white;
    border: none;
    border-radius: 3px;
    font-size: 18px;
    padding: 15px;
    margin: 5px 0;
    max-width: 100%;
    width: 100%;
}

form textarea{
    min-height: 150px;
}

form button, form a.next{
    background: mediumseagreen;
    border-radius: 3px;
    border: none;
    color: White;
    font-size: 18px;
    padding: 15px;
}

form input[type=checkbox]{
    margin-left: 10px;
    width: 10px;
}

form label{
    border-radius: 3px;
    background: cadetblue;
    color: white;
    padding: 10px 20px 10px 10px;
}

form input[type=submit]{
    background: tomato;
    color: white;
}

.res-note{
    background: tomato;
    border-radius: 5px;
    color: white;
    padding: 10px;

}


/* a button */
a.button{
    border: 1px solid white;
    border-radius: 5px;
    display: inline-block;
    margin: 30px auto;
    padding: 15px;
}

a.button:hover{
    border: 1px solid rgba(0,0,0,0.4);
    background: rgba(0,0,0,0.4);
    cursor: pointer;
}



/* unslider */
.unslider{
    margin: 0 auto;
    max-width: 800px;
}
.unslider img{
    width: 100%;
}


/* logos */

ul.logos{
    list-style: : none;
}

.logos li{
    display: inline-block;
    max-width: 150px;
    width: 100%;
}

.logos li img{
    width: 100%;
}









/* footer */
footer{
    font-size: .6em;
}

footer a{
    color: white;
}





@media screen and (min-width:600px){

    .left-right-viewer-btns .fa-chevron-left, .left-right-viewer-btns .fa-chevron-right{
        font-size: 60px;
    }

    .quarter{
        /*border: 1px solid rgba(255,255,255,0.2);*/
        border-radius: 6px;
        display: inline-block;
        margin: 1%;
        padding: 1%;
        width: 46%;
    }

}

@media screen and (min-width:900px){

    img.hero-logo{
        width: 100%;
    }

    .hero-content a{
        font-size: .9em;
    }

    .hero-content a i{
        display: inline-block;
    }

    .half{
        display: inline-block;
        margin: 2%;
        width: 44%;
    }

    .quarter{
        width: 20%;
    }

    .left-right-viewer-btns .fa-chevron-left{
        padding-left: 5%;
        left: -12%;
    }

    .left-right-viewer-btns .fa-chevron-right{
        padding-right: 5%;
        right: -12%;
    }


}

@media screen and (min-width: 1400px) {

    .hero-content{
        padding-top: 10%;
    }

    section{
        padding: 20px 10%;
    }

    /*.remodal {
        max-width: 1200px;
    }*/

}

