﻿/* ---------- Animaciones -------------- */
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900');



@keyframes entradaderecha {
    0% {
        left: 110%;
    }

    1% {
        opacity: 1
    }

    100% {
        opacity: 1;
    }
}

@keyframes slidersalida {
    0% {
    }

    100% {
        left: -110vw;
    }
}

@keyframes sliderentrada {
    0% {
    }

    100% {
        left: 0vw;
    }
}

@keyframes entradaizquierda {
    0% {
        display: table;
        left: -100%;
    }

    1% {
        opacity: 1
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeup {
    0% {
        margin-top: 30px;
    }

    100% {
        opacity: 1;
        margin-top: 0px;
    }
}

.slidersalida {
    animation-name: slidersalida;
    animation-duration: .5s;
    animation-delay: 0s;
    animation-fill-mode: forwards;
}

.sliderentrada {
    animation-name: sliderentrada;
    animation-duration: .5s;
    animation-delay: 0s;
    animation-fill-mode: forwards;
}
/* --------- Generales ------------ */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}


* {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

    a:hover {
        color: #007B3E;
    }

.welcomesection {
    width: 100%;
    height: auto;
    margin-bottom: 120px;
    position: relative;
    padding-top: 35px;
    overflow: hidden;
}

.content {
    background-color: #f3f3f3;
    height: 900px;
    width: 100%;
}

.welcomeimg {
    position: absolute;
    top: 0;
    left: 0;
}

.welcome1 {
    top: 435px;
}

.welcome2 {
    top: 239px;
    left: 312px;
}

.welcome3 {
    top: 646px;
    left: 898px;
}

.welcome4 {
    width: 800px;
    top: 330px;
    left: 100px;
}

.welcome5 {
    top: 670px;
    left: 20px;
}

.welcome6 {
    top: 300px;
}

.welcome7 {
    left: 350px;
    top: 235px;
}

.welcome8 {
    width: 1208px;
    top: 158px;
    left: -60px;
}

.welcome9 {
    top: 583px;
    width: 732px;
    left: 277px;
}

.welcome10 {
    width: 350px;
    top: 435px;
}

.welcome11 {
    top: 340px;
    width: 985px;
    left: 210px;
}

.welcome12 {
    width: 850px;
    top: 473px;
}

.welcome13 {
    top: 239px;
    width: 567px;
    left: 151px;
}

.imageholder {
    position: absolute;
    top: 0;
}

.welcometext {
    position: absolute;
    width: 35%;
    height: auto;
    top: 410px;
    right: 12%;
    text-align: right;
}

.welcometitle {
    color: #14497b;
    width: 100%;
    font-size: 50px;
    font-weight: 100;
    margin-bottom: 30px;
}

.welcometitle2 {
    color: #14497b;
    width: 100%;
    font-size: 50px;
    font-weight: 100;
    margin-bottom: 30px;
}

.welcomedescritption {
    width: 75%;
    float: right;
}

.welcomebutton {
    background-color: #007B3E;
    width: auto;
    display: inline-block;
    padding: 14px 33px;
    border-radius: 25px;
    color: #fff;
    letter-spacing: .8px;
    font-size: 17px;
    font-weight: 100;
    cursor: pointer;
}

.bluebutton {
    background-color: #14497b;
}

.pagetitle {
    width: 100%;
    height: 180px;
    float: right;
    margin-top: 55px;
    letter-spacing: 1px;
    text-align: center;
}

.pagemaintitle {
    height: 150px;
    margin: auto;
    background-color: #14497b;
    text-align: center;
    line-height: 150px;
    font-weight: 700;
    font-size: 53px;
    color: #fff;
    display: inline-block;
}

.titulopagina {
    padding: 0 60px;
}

.lineatitulo {
    float: right;
}

@media (max-width: 1910px) {
    .welcomeC {
        margin-left: -20%;
    }
}

@media (max-width: 1680px) {
    .welcomeA {
        margin-left: -15%;
    }

    .welcometitle {
        width: 75%;
        float: right;
    }

    .welcometitle2 {
        width: 100%;
        float: right;
    }
}

@media (max-width: 1350px) {
    .welcometext {
        position: initial;
        width: 80%;
        height: auto;
        text-align: center;
        margin: auto;
        margin-top: 150px;
        margin-bottom: 100px;
        display: table;
    }

    .welcomeA {
        margin-left: 0;
    }

    .welcomeC {
        margin-left: 0;
    }

    .welcometitle {
        width: 100%;
        float: initial;
    }

    .welcometitle2 {
        width: 100%;
        float: initial;
    }

    .welcomedescritption {
        width: 80%;
        float: initial;
        margin: auto;
    }
}

@media (max-width: 575px) {
    .pagemaintitle {
        font-size: 9vw;
    }

    .titulopagina {
        padding: 0 30px;
    }
}
/* ----------- Covers ------------  */

.cover {
    position: relative;
    width: 100%;
    height: 50vw;
    display: table;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.coverphoto {
    width: 100%;
    display: none;
}

.covertext {
    position: relative;
    color: #fff;
    padding: 10%;
    padding-right: 0%;
    padding-left: 70vw;
    height: auto;
    right: 12vw;
    text-align: right;
    display: table-cell;
    vertical-align: middle;
}

.covertextleft {
    left: 12vw;
    padding-left: 0;
    padding-right: 65vw;
    text-align: left;
}

.whitetext {
    color: #fff !important;
}

@media (max-width: 768px) {
    .cover {
        width: 100%;
        height: auto;
        display: inline-block;
        width: 100%;
        height: auto;
        display: inline-block;
        background-size: cover;
        background-position: -200%;
        background-repeat: no-repeat;
        background-attachment: inherit;
    }

    .coverphoto {
        display: block;
    }

    .covertext {
        text-align: center;
        right: 0;
        padding-left: 0vw;
        padding: 10%;
        left: 0%;
        display: block;
    }

    .regulartext {
        color: #111;
    }

    .welcomebutton {
        font-weight: 300;
    }
}
/*----sliderbox-----*/

.sliderbox {
    position: relative;
    width: 100%;
}

.sliderboxcontainer {
    position: relative;
    width: 100%;
    height: 55vw;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
}

.sliderboxelement {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-color: #fff;
    display: table;
    left: 110vw;
}

.in {
    left: 0;
}



.sliderboxbutton {
    position: absolute;
    z-index: 1;
    top: 45%;
    cursor: pointer;
    display: none;
}

.sliderboxnext {
    right: 5px;
}

    .sliderboxnext img {
        -ms-transform: rotate(90deg);
        /* IE 9 */
        -webkit-transform: rotate(90deg);
        /* Chrome, Safari, Opera */
        transform: rotate(90deg);
    }

.sliderboxprev {
    left: 5px;
}

    .sliderboxprev img {
        -ms-transform: rotate(-90deg);
        /* IE 9 */
        -webkit-transform: rotate(-90deg);
        /* Chrome, Safari, Opera */
        transform: rotate(-90deg);
    }

.slidertitle {
    color: #14497b;
    width: auto;
    font-size: 45px;
    font-weight: 100;
    margin-bottom: 15px;
}

.sliderel {
    position: absolute;
}

.sliderelement-1 {
    width: 36vw;
    bottom: 0;
    left: 8vw;
}

.sliderelement-2 {
    width: 45vw;
    top: 20vw;
    right: 0;
}

.sliderelement-3 {
    width: 20vw;
    top: 12.5vw;
    margin: auto;
    left: 18vw;
}

.sliderelement-4 {
    width: 63vw;
    bottom: 4vw;
    left: 0;
    right: 0;
    margin: auto;
}

.sliderelement-5 {
    width: 37vw;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 7vw;
    margin-left: 3%;
}

.sliderelement-6 {
    width: 48vw;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 2vw;
    margin-left: 3%;
}

.sliderelement-7 {
    width: 48vw;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 3vw;
    margin-left: 3%;
}

.sliderelement-8 {
    width: 48vw;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0
}

.covertextcenter {
    text-align: center;
    padding: 0px 25vw;
    right: 0;
    top: 13%;
    vertical-align: initial;
}

.sliderbuttonsholder {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    height: 300px;
}

.sliderbuttons {
    position: absolute;
    height: 180px;
    width: 50%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-bottom: solid 1px #e4e4e4;
    text-align: center;
}

.sliderbutton {
    width: auto;
    margin: 0 10px;
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
}

.slideicon {
    margin-bottom: 20px;
}

@media (max-width: 1240px) {
    .sliderelement-4 {
        bottom: 0vw;
    }

    .covertextcenter {
        padding: 0px 5vw;
        top: 5%;
    }

    .sliderbuttons {
        width: 80%;
    }
}

@media (max-width: 768px) {
    .sliderboxcontainer {
        margin: 50px auto;
    }

    .sliderel {
        width: 90%;
        position: initial;
    }

    .sliderboxcontainer {
        height: auto;
    }

    .sliderelement-1 {
        width: 80%;
    }

    .sliderelement-2 {
        margin-right: -10%;
    }

    .sliderelement-3 {
        width: 40%;
    }

    .sliderbuttons {
        width: 95%;
    }

    .sliderelement-8 {
        margin-left: -10%
    }
}

@media (max-width: 532px) {
    .sliderbuttonsholder {
        height: 185px;
    }

    .sliderbuttons {
        height: 115px;
    }

    .sliderbutton {
        font-size: 9px;
    }

    .slideicon {
        height: 55px;
    }
}

/* ------- Footer -------- */

.lineas {
    position: relative;
    width: 40%;
    margin-left: 60%;
    height: 12px;
    background-color: #000;
    background-color: #007B3E;
}

.lineaazul {
    margin-bottom: 10px;
    background-color: #14497b;
}

.bottom {
    position: relative;
    width: 100%;
    min-height: 750px;
    height: auto;
    background-color: #14497b;
}

.bottomleft {
    left: 20%;
    color: #fff;
    position: absolute;
    bottom: 20%;
    font-size: 13px;
}

    .bottomleft img {
        width: 65px;
    }

.bottomright {
    right: 20%;
    color: #fff;
    position: absolute;
    bottom: 20%;
    text-align: right;
    color: #6a8fb3;
    font-size: 13px;
}

    .bottomright img {
        margin-top: 10px;
    }

.infobottomparrafo {
    float: left;
    margin-right: 50px;
}

.telefono {
    font-size: 19px;
    cursor: pointer;
}

    .telefono a {
        color: #fff;
        text-decoration: none;
    }

.titulobottom {
    font-size: 20px;
    color: #007B3E;
    line-height: 60px;
}

@media (max-width: 950px) {
    .bottomsection {
        position: relative;
        width: 80%;
        left: 0;
        right: 0;
        padding: 10%;
        float: left;
    }

    .bottom {
        min-height: 900px;
    }

    .infobottomparrafo {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .bottom {
        min-height: 800px;
    }
}

@media (max-width: 398px) {
    .bottom {
        min-height: 700px;
    }
}
/* ------ Imageboxes y contacto ------ */

.imageboxcontainer {
    width: 88%;
    margin: auto;
    text-align: center;
}

.imagebox {
    position: relative;
    display: inline-block;
    width: 40vw;
    min-height: 28vw;
    margin: 75px 1vw;
    background-color: #f3f3f3;
}

.imgboxes {
    position: absolute;
    bottom: 0;
    width: 81%;
}

.imageboxtext {
    width: 80%;
    margin: auto;
    margin-top: 56px;
    margin-bottom: 17vw;
}

    .imageboxtext span {
        display: inline-block;
        margin-top: 15px;
    }

.isolatedtext {
    width: 45%;
    margin: auto;
    padding-top: 100px;
    text-align: center;
}

.imageboxtextisolated {
    margin-bottom: 37vw;
}

.imgboxesisolated {
    width: 100%;
}

.contactelement {
    position: relative;
    display: inline-block;
    width: 310px;
    height: 225px;
    padding: 0 35px;
}

.contacttitle {
    font-size: 28px;
    display: inline-block;
    margin-top: 15px;
}

.contactcontainer {
    padding: 150px 0;
    min-height: 250px;
}

@media (min-width: 1200px) and ( max-width: 1462px) {
    .ajusteisolatedleft {
        min-height: 63px;
    }
}

@media (max-width: 892px) {
    .imageboxcontainer {
        width: 70%;
        margin: auto;
        text-align: center;
    }

    .imagebox {
        width: 100%;
        margin: 75px 0w;
        margin-bottom: 0;
    }

    .imageboxtext {
        margin-bottom: 33vw;
    }

    .isolatedtext {
        width: 80%;
        margin: auto;
        padding-top: 100px;
        text-align: center;
    }

    .imageboxtextisolated {
        margin-bottom: 72vw;
    }

    .isolatedpadding {
        margin-bottom: 75px;
    }
}

@media (max-width: 545px) {
    .contactelement {
        width: 285px;
        padding: 0 0;
    }

    .contactcontainer {
        width: 90%;
    }
}


/* ------ Logos ------ */

.logos {
    width: 100%;
    background-color: #007B3E;
    /*background-image: url('../images/logos.jpg');*/
    background-size: cover;
    min-height: 40vw;
    display: table;
    text-align: center;
}

.logostext {
    display: table-cell;
    vertical-align: middle;
    padding: 10vw 22%;
}

@media (max-width: 892px) {
    .logos {
        min-height: 80vw;
    }

    .logostext {
        padding: 10vw 10%;
        font-size: 28px;
    }
}
/* ------ Precios ----- */

.subnav {
    width: 100%;
    height: 140px;
    background-color: #007B3E;
}

.ciudades {
    width: 70%;
    color: #fff;
    list-style: none;
    margin: auto;
    left: 0;
    right: 0;
    text-align: center;
    position: relative;
    top: 65%;
    transform: translateY(-65%);
}

.ciudad {
    text-align: center;
    font-size: 13px;
    display: inline-block;
    margin: 5px 20px;
    font-weight: 300;
    cursor: pointer;
}

    .ciudad:hover {
        color: #14497b;
    }

.Infografia1 {
    position: relative;
    width: 100%;
    height: 53vw;
    overflow: hidden;
    border-bottom: 1px solid #e4e4e4;
    pointer-events: none;
}

.fichahtml5 {
    width: 100%;
    height: 100%;
}

#image_01 {
    position: absolute;
    width: 8.5vw;
    left: 13%;
    top: 11vw;
    opacity: 0;
    animation-name: entradaizquierda;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}

#image_02 {
    position: absolute;
    width: 8.5vw;
    left: 22%;
    top: 27.2vw;
    opacity: 0;
    animation-name: entradaizquierda;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

#image_03 {
    position: absolute;
    width: 46.4%;
    left: 31%;
    top: 23.8vw;
    opacity: 0;
    animation-name: entradaderecha;
    animation-duration: 2s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
}

#image_04 {
    position: absolute;
    width: 16%;
    left: 74.5%;
    top: 20vw;
    opacity: 0;
    animation-name: entradaderecha;
    animation-duration: 3s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
}

.infoficha {
    padding-top: 70px;
    padding-bottom: 70px;
    width: 80%;
    height: auto;
    margin: auto;
    text-align: center;
    opacity: 0;
    animation-name: fadeup;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.Titulo {
    color: #14497b;
    font-size: 37px;
    font-weight: 300;
}

.SubTitulo {
    font-size: 30px;
    width: 100%;
    height: auto;
    margin-bottom: 50px;
}

.Descripcion {
    color: #939597;
    font-weight: 300;
    font-size: 18px;
}

.boton {
    background-color: #14497b;
    display: inline-block;
    width: 113px;
    height: 37px;
    line-height: 37px;
    margin-top: 33px;
    color: #fff;
    font-size: 13px;
    font-weight: 300;
    border-radius: 25px;
    z-index: 20;
    cursor: pointer;
}

    .boton:hover {
        background-color: #007B3E;
    }

.feedcontainer {
    width: 80%;
    min-height: 100px;
    margin: auto;
    text-align: center;
    margin-bottom: 80px;
}

.feed {
    width: 19.5%;
    height: auto;
    display: inline-block;
}

.feedimg {
    width: 100%;
    height: 119px;
    background-position: bottom center;
    background-repeat: no-repeat;
}

.feedinfo {
    width: 100%;
    text-align: center;
    height: 100px;
    padding-top: 40px;
    font-weight: 300;
    color: #89c165;
    font-size: 18px;
}

.precio {
    font-weight: 300;
    color: #808080;
    font-size: 30px;
    line-height: 48px;
}

.ciudadprecios {
    position: relative;
    text-align: center;
    width: 30%;
    margin: 1.5vw;
    height: 500px;
    float: left;
    border-radius: 50px;
    -webkit-box-shadow: 0px 0px 30px -9px rgba(0,0,0,0.56);
    -moz-box-shadow: 0px 0px 30px -9px rgba(0,0,0,0.56);
    box-shadow: 0px 0px 30px -9px rgba(0,0,0,0.56);
}

.bannertext2 {
    width: 320px;
    height: auto;
    text-align: center;
    padding-right: 2.5vw;
    display: table-cell;
    vertical-align: middle;
    margin-bottom: 0px !important;
}

.customers2 {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

    .customers2 td, .customers2 th {
        border: 1px solid #ddd;
        font-size: 13px;
        padding: 5px;
    }

    .customers2 tr:nth-child(even) {
        background-color: #fff;
    }

    .customers2 tr:hover {
        background-color: #ddd;
    }

    .customers2 th {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: left;
        background-color: #007B3E;
        color: white;
    }

@media (max-width: 1024px) {
    .feed {
        width: 32.5%;
    }
}

@media (max-width: 950px) {
    .infoficha {
        top: 20vw;
    }
}

@media (max-width: 750px) {
    .subnav {
        height: 200px;
    }

    .ciudades {
        width: 90%;
    }

    .Infografia1 {
        height: 97vw;
        margin-top: 0vw;
    }

    #image_01 {
        width: 21.5vw;
        left: 11%;
        top: 3vw;
    }

    #image_02 {
        width: 21.5vw;
        left: 25%;
        top: 51.2vw;
    }

    #image_03 {
        width: 90.4%;
        left: 5%;
        top: 23.8vw;
    }

    #image_04 {
        width: 33%;
        left: 60.5%;
        top: 25vw;
    }

    .feedcontainer {
        width: 90%;
    }

    .feed {
        width: 47.5%;
    }

    .ciudadprecios {
        width: 80%;
        margin: 10vw;
        float: none;
    }
}

@media (max-width: 549px) {
    .feedcontainer {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .ciudades li {
        width: 80%;
    }

    .subnav {
        height: 240px;
        padding-bottom: 13px;
    }

    .feed {
        width: 99.5%;
    }
}
/* Estilos Generales */

.regulartext {
    font-size: 18px;
    font-weight: 100;
    letter-spacing: 0.3px;
    color: #808080;
}

.bold {
    font-weight: 400;
}

.semibold {
    font-weight: 300;
}

.superbold {
    font-weight: 700;
}

.letraverde {
    color: #007B3E;
}

.letrablanca {
    color: #fff;
}

.azul {
    background-color: #14497b;
}

.verde {
    background-color: #007B3E;
}

.gris {
    background-color: #f3f3f3;
}

.dropshadow {
    text-shadow: 2px 2px 15px #000;
}

.noshadow {
    text-shadow: 0px 0px 0px;
}

.centrartexto {
    text-align: center;
}

.noback {
    background-color: transparent !important;
}

/* ---- Diagonales ----- */

.cortes {
    height: 1200px;
    background-size: 60%;
    background-attachment: initial;
}



.corteinferior {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 50%);
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 50%);
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    background-position: right bottom;
}

.cortesuperior {
    clip-path: polygon(0 0, 100% 50%, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 50%, 100% 100%, 0 100%);
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    background-position: left bottom;
}

.slashcontainer {
    position: absolute;
    width: 100%;
    height: 60%;
    display: table;
}

.slashtext {
    padding-bottom: 0;
    padding-top: 0;
}

.slashupper {
    margin-top: 345px;
}

@media (max-width: 2000px) {
    .cortes {
        height: 825px;
    }
}


@media (max-width: 1350px) {
    .cortes {
        background-size: 80%;
    }

    .corteinferior {
        background-position: 150% 100%;
    }

    .cortesuperior {
        background-position: -50% 100%;
    }
}
/*@media (max-width: 1000px) {
 .cortes {
   background-size: 100%;
 }
 .corteinferior {
   background-position: 20vw bottom;
 }
 .cortesuperior {
   background-position: -20vw bottom;
 }
}*/

@media (max-width: 1024px) {
    .corteinferior {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 88%);
        -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 88%);
    }

    .corteinferiorheader {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 50%);
        -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 50%);
    }

    .cortesuperior {
        clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 100%);
        -webkit-clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 100%);
    }

    .cortes {
        height: auto;
        background-image: none !important;
    }

    .slashup {
        margin-top: 150px;
    }

    .slashcontainer {
        position: initial;
        width: auto;
        height: auto;
        display: block;
    }

    .slashtext {
        text-align: center;
        right: 0;
        padding-left: 0vw;
        padding: 10%;
        left: 0%;
        display: block;
    }

    .slashupper {
        margin-top: 0px;
    }

    .grisphoto {
        background-color: #f3f3f3;
    }

    .slashphoto {
        display: block;
    }
}

/* -------- Cita ------------ */
.citacontainer {
    margin-top: -150px;
    width: 100%;
    height: auto;
    position: relative;
    display: none;
    margin-bottom: 75px;
}

.citadivcontainer {
    border-top: solid 1px #e4e4e4;
    width: 60%;
    margin: auto;
    padding: 90px 0;
}

.inp {
    width: 49%;
    float: left;
}

.inpright {
    float: right;
}

.arrowdown {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    display: none;
}

.mensajefinal {
    text-align: center;
    color: #14497b;
}

#alerta {
    font-size: 15px;
}

input, textarea, select, option {
    border: 1px;
    height: 40px;
    line-height: 1em;
    padding: 2%;
    margin-bottom: 14px;
    font-size: 16px;
    box-shadow: none;
    border: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f3f3f3;
}

textarea {
    height: 150px;
}



::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #808080;
}

::-moz-placeholder { /* Firefox 19+ */
    color: #808080;
}

:-ms-input-placeholder { /* IE 10+ */
    color: #808080;
}

:-moz-placeholder { /* Firefox 18- */
    color: #808080;
}

input:focus, textarea:focus {
    background-color: #e6e6e6;
    outline: none;
}

@media (max-width: 892px) {
    .inp {
        width: 100%;
        float: left;
    }


    .citadivcontainer {
        width: 80%;
        padding: 45px 0;
    }

    .citacontainer {
        margin-top: -125px;
    }

    input, textarea, select, option {
        padding: 5%;
    }
}



/*-------- LOGIN ---------- */

.login {
    top: 150px;
    position: relative;
    width: 320px;
    margin: auto;
    height: 500px;
    text-align: center;
}

.loginfield {
    width: 100%;
}

.loginlinks {
    margin-top: 75px;
    font-size: 15px;
}

.loginlinks2 {
    margin-top: 20px;
    font-size: 15px;
}

.navmicuenta {
    position: relative !important;
    top: 80px;
}

.facturassection {
    width: 100%;
    height: auto;
    margin: auto;
    min-height: 430px;
    margin-bottom: 25px;
}


.facturas {
    color: #808080;
    border-collapse: collapse;
    width: 90%;
    border-top: solid 1px #e4e4e4;
    margin: auto;
}

    .facturas td, #customers th {
        padding: 14px 8px;
    }

table.facturas thead, table.facturas tbody {
    float: left;
    width: 100%;
    text-align: center;
}

table.facturas tbody {
    overflow: auto;
    height: 350px;
}

table.facturas tr {
    width: 100%;
    display: table;
    text-align: left;
}

table.facturas th, table.facturas td {
    width: 14%;
}

.facturas tr:nth-child(even) {
    background-color: #f2f2f2;
}

/*.facturas tr:hover {
    background-color: #ddd;
}*/

.facturas th {
    padding-top: 50px;
    padding-bottom: 25px;
    text-align: left;
    font-weight: 500;
}


/* --------- About --------- */

.infofichaabout {
    padding-top: 145px;
}

.infografiaabout {
    margin-top: -10vw;
}

/* -------- Overlay Telefonos ---------- */
.overlaycd {
    position: absolute;
    width: 500px;
    height: 500px;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 80px;
    padding-top: 70px;
    overflow: hidden;
}

.overlaydetail {
    position: absolute;
    width: 100%;
    background-color: #fff;
    height: 100%;
    bottom: 0;
    left: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 80px;
    padding-top: 100px;
    overflow: hidden;
}

.overlaybck {
    position: fixed;
    background: rgba(0,0,0,0.8);
    width: 100vw;
    height: 100vh;
    z-index: 2;
    display: none;
}

.icontitle {
    width: 100%;
    height: 29px;
    padding-left: 45px;
    margin-bottom: 20px;
    line-height: 29px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #14497b;
    background-position: left;
    background-repeat: no-repeat;
}



.close {
    position: absolute;
    width: 15px;
    right: 20px;
    top: 20px;
    cursor: pointer;
}

.backarrow {
    position: absolute;
    width: 22px;
    left: 20px;
    top: 20px;
    cursor: pointer;
    display: none;
}

.openoverlay {
    cursor: pointer;
}

.descriptionborder {
    border-bottom: solid 1px #e4e4e4;
    margin-left: 10%;
    padding: 14px 0;
    line-height: 23px;
}

.llamanos {
    cursor: pointer;
}

@media (max-width: 892px) {


    .overlaycd {
        position: absolute;
        width: 85vw;
        height: 531px;
        padding: 10%;
        padding-top: 10%;
    }

    .overlaydetail {
        padding: 13%;
        padding-top: 18%;
    }
}

/* ------- FAQ ---------- */

.respuesta {
    display: none;
    margin-top: 10px;
}

.pregunta, .collapsepregunta {
    cursor: pointer;
}

/* ------ Estaciones --------- */

.ubicacion {
    width: 100%;
    height: auto;
    float: left;
}

#map-canvas {
    height: 100vh;
    width: 40vw;
    margin: 0px;
    padding: 0px;
    right: 0;
    position: fixed !important;
}

#markers_info .marker {
    cursor: pointer;
}

.marker {
    position: relative;
}

.ubiinfocontainer {
    /* display: none; */
    width: auto;
    height: auto;
    margin-bottom: 150px;
}

.stationlist {
    position: relative;
    width: 60%;
    float: left;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 8vw;
}

.blueselector {
    position: absolute;
    height: 120%;
    background-color: #14497b;
    width: 10px;
    right: -8vw;
    display: none;
}

.ubicon {
    position: relative;
    float: right;
    height: 60px;
    margin-left: 5px;
    top: -40px;
}

.ubicationnavbox {
    width: 100%;
    margin: 50px 0;
    height: auto;
    text-align: center;
}

.ubiboton, .ubiboton2 {
    float: initial;
    margin: 0 12px;
    cursor: pointer;
}

.ubicacionestitle {
    margin-top: 50px
}

@media (max-width: 749px) {
    #map-canvas {
        width: 100vw;
        bottom: 0px;
        height: 25vh;
        position: absolute;
    }

    .stationlist {
        position: relative;
        width: 100%;
    }
}


/*----- portada -------*/

.imageholderhome {
    width: 100%;
}

.welcomeportada {
    height: 1000px;
    margin-bottom: 0px;
    margin: 0px !important;
}

.sliderbars {
    position: fixed;
    width: 90%;
    height: 10px;
    top: 99.0vh;
    z-index: 3;
    display: inline-block;
    margin: auto;
    left: 0;
    right: 0;
}

.sliderbar {
    position: relative;
    float: left;
    width: 25%;
    height: 100%;
    overflow: hidden;
}

.lg {
    background-color: #ebecec;
}

.dg {
    background-color: #c7c8c8;
}

.sliderprogressbar {
    height: 100%;
    background-color: #14497b;
    width: 0%;
}

@media (max-width: 749px) {
    .sliderbars {
        height: 8px;
        top: 87.0vh;
    }
}

.contenedor_video {
    position: relative;
    margin: auto;
    text-align: center;
    width: 97.7%;
    height: 0;
    padding-bottom: 55%;
    margin-top: 70px;
}

.galleryvideo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}






/* Tablas */

#customers {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

    #customers td, #customers th {
        border: 1px solid #ddd;
        padding: 8px;
    }

    #customers tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    #customers tr:hover {
        background-color: #ddd;
    }

    #customers th {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: left;
        background-color: #007B3E;
        color: white;
    }


/* -------- HOME ----------- */

.homesection {
    width: calc(100% - 14px);
    height: auto;
    float: left;
    padding: 7px;
    margin-top: 40px;
}

.homebanner {
    width: calc(50% - 14px);
    height: 22vw;
    min-height: 335px;
    background-color: #F3F3F5;
    float: left;
    margin: 7px;
    display: table;
}

.imagebanner {
    width: calc(100% - 400px);
    height: 100%;
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto 100%;
    display: table-cell;
}

.bannertext {
    width: 320px;
    text-align: center;
    padding-right: 2.5vw;
    display: table-cell;
    vertical-align: middle;
}

.homebannerlink {
    font-size: 15px;
}

.mainbanner {
    position: relative;
    width: 100%;
    height: 48vw;
    float: left;
    background-size: cover;
    margin-top: 82px;
    margin-bottom: 36px;
    background-position: center top;
    object-fit: cover;
}

.canvasvideo {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    z-index: -1;
    margin-top: 35px;
}

.videocanvas {
    width: 100%;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    z-index: -1;
}

@media (max-width: 1485px) {
    .homebanner {
        width: calc(100% - 14px);
        height: 32vw;
    }

    .bannertext, .bannertext2 {
        padding-right: 15vw;
    }
}


@media (max-width: 1220px) {
    .bannertext, .bannertext2 {
        padding-right: 10vw;
    }
}

@media (max-width: 1020px) {
    .bannertext, .bannertext2 {
        padding-right: 8vw;
    }
}

@media (max-width: 930px) {
    .mainbanner {
        height: 60vw;
    }
}


@media (max-width: 787px) {



    .imagebanner {
        width: calc(100% - 8vw);
    }

    .bannertext, .bannertext2 {
        padding-right: 3vw;
    }

    .mainbanner {
        height: 90vw;
    }
}




@media (max-width: 715px) {



    .imagebanner {
        display: block;
        width: 100%;
        height: 80vw;
        background-position: center;
        background-color: #fafafa;
    }

    .bannertext {
        display: block;
        width: 100%;
        max-height: 320px;
        min-height: 120px;
        height: 200px;
        vertical-align: none;
        padding: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .bannertext2 {
        display: block;
        width: 100%;
        vertical-align: none;
        padding: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .homebanner2 {
        background-position: -30vw;
    }

    .homebanner1 {
        background-position: 11vw;
    }
}

@media (max-width: 540px) {
    .mainbanner {
        height: 110vw;
    }
}

@media (max-width: 438px) {
    .mainbanner {
        height: 180vw;
    }
}

@media (max-width: 390px) {




    .bannertext {
        height: 62vw;
    }
}

@media (max-width: 340px) {
    .mainbanner {
        height: 230vw;
    }
}

.buscarfield {
    width: 100%;
}
