/********* BODY */

body {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background-color:#ffffff;
    position: relative;
}

::-webkit-scrollbar {
    display: none;
}

/********* NAVEGADOR */

.navegador {
    width: 100%;
    height: 80px;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 995;
    background-color: transparent;
    box-shadow: none;
    -webkit-box-shadow: none;
    transition: 0.6s all ease-out;
    -webkit-transition: 0.6s all ease-out;
}

.show {
    background-color: #fff;
    box-shadow: 0px 0px 4px 2px #5f5f5f;
    -webkit-box-shadow: 0px 0px 4px 2px #5f5f5f;
}

.logo-navegador {
    width: 120px;
    height: 100px;
    background-image: url('../img/logo.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 10px;
    left: 40px;
    cursor: pointer;
    transition: 0.6s all ease-out;
    -webkit-transition: 0.6s all ease-out;
}

.menu-opciones {
    width: auto;
    height: 60px;
    position: absolute;
    top: 10px;
    right: 40px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}

.menu-opcion {
    width: auto;
    height: 40px;
    line-height: 40px;
    text-align: left;
    margin: 10px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.6s all ease-out;
    -webkit-transition: 0.6s all ease-out;
    -moz-transition: 0.6s all ease-out;
    -ms-transition: 0.6s all ease-out;
    -o-transition: 0.6s all ease-out;
}

.show2 {
    color: #181668;
}

.menu-opcion.active { 
    color: #b8b8b8;
}

.menu-opcion:hover {
    color: #C20006;
}

.btnnav {
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 20px;
    color: #fff;
    position: absolute;
    top: 10px;
    right: 0;
    display: none;
    cursor: pointer;
    transition: 0.6s all ease-out;
    -webkit-transition: 0.6s all ease-out;
}

.show3 {
    color: #181668;
}

@media(max-width: 680px) {

    .logo-navegador {
        left: 10px;
    }

    .menu-opciones {
        display: none;
    }

    .btnnav {
        display: block;
    }
}

.show4 {
    width: 80px;
    height: 60px;
}

/* ********* NAVEGADOR MOVIL */

.navegador-movil {
    width: 250px;
    height: 100vh;
    position: fixed;
    top: 80px;
    right: -270px;
    z-index: 13;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    background-color: #fff;
    box-shadow: 0px 0px 4px 2px #5f5f5f;
    -webkit-box-shadow: 0px 0px 4px 2px #5f5f5f;
    transition: 0.6s all ease-out;
    -webkit-transition: 0.6s all ease-out;
}

.navegador-movil.active {
    right: 0;
}

.fila-navegador-movil {
    width: 90%;
    height: 50px;
    line-height: 50px;
    margin: 5px auto;
    border-bottom: 1px solid #b8b8b8;
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #181668;
    cursor: pointer;
}

.fila-navegador-movil.active { 
    color: #757575;
}

/* ********* PORTADAS */

.portada {
    width: 100%;
    height: 100vh;
    margin: 0;
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    flex: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    animation-name: portada;
    animation-duration: s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;

    -webkit-animation-name: portada;
    -webkit-animation-duration: 12s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes portada {
    0% {
        background-image: url('../img/portada_final1.jpg');
    }

    20% {
        background-image: url('../img/portada_final1.jpg');
    }

    27% {
        background-image: url('../img/portada_final2.jpg');
    }

    57% {
        background-image: url('../img/portada_final2.jpg');
    }

    64% {
        background-image: url('../img/portada_2.jpg');
    }

    84% {
        background-image: url('../img/portada_2.jpg');
    }

    94% {
        background-image: url('../img/portada_final1.jpg');
    }

    100% {
        background-image: url('../img/portada_final1.jpg');
    }
}

@keyframes portada {
    0% {
        background-image: url('../img/portada_final1.jpg');
    }

    20% {
        background-image: url('../img/portada_final1.jpg');
    }

    27% {
        background-image: url('../img/portada_final2.jpg');
    }

    57% {
        background-image: url('../img/portada_final2.jpg');
    }

    64% {
        background-image: url('../img/portada_2.jpg');
    }

    84% {
        background-image: url('../img/portada_2.jpg');
    }

    94% {
        background-image: url('../img/portada_final1.jpg');
    }

    100% {
        background-image: url('../img/portada_final1.jpg');
    }
}

.texto-portada {
    font-family: 'Montserrat', sans-serif;
    font-size: 5vmax;
    font-weight: 700;
    color: #fff;
    z-index: 3;
    width: 90%;
    text-align: left;
    animation-name: text-focus-in;
    animation-duration: 1.8s;
    animation-timing-function: linear;

    -webkit-animation-name: text-focus-in;
    -webkit-animation-duration: 1.8s;
    -webkit-animation-timing-function: linear;
}

@-webkit-keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

.texto-portada2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 5vmax;
    font-weight: 700;
    color: #fff;
    z-index: 3;
    width: 90%;
    text-align: left;
    position: absolute;
    z-index: 3;
    left: 5%;
    bottom: 50px;
}

.sombra-portada {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.2);
}

.footer-portada {
    width: 100%;
    height: 40px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    z-index: 3;
}

@media(max-width: 650px) {
    
    .portada {
        background-position: 68% center;
    }

    .footer-portada {
        font-size: 1.4vmax;
    }
}

.portada2 {
    width: 100%;
    height: 60vh;
    margin: 0;
    position: relative;
    background-image: url('../img/portada_nosotros.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    flex: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.portada3 {
    width: 100%;
    height: 60vh;
    margin: 0;
    position: relative;
    background-image: url('../img/portada_proyectos.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    flex: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.portada4 {
    width: 100%;
    height: 60vh;
    margin: 0;
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    flex: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

/* ********* SECCION TIPO 1 */

.seccion {
    width: 100%;
    height: auto;
    min-height: 500px;
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.logo-seccion {
    width: 500px;
    height: 460px;
    background-image: url('../img/logo_alt.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(50% - 230px);
    left: calc(50% - 250px);
    opacity: 0.15;
    z-index: 2;
}

.imagen-principal-proyecto {
    width: 100%;
    max-width: 700px;
    height: 500px;
    background-position: center;
    background-size: cover;
    margin: 40px auto;
}

.contenido-principal-proyecto {
    width: 100%;
    max-width: 500px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    margin: 10px auto;
}

.titulo-principal-proyecto {
    width: 100%;
    height: auto;
    margin: 15px auto;
    margin-top: 120px;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-size: 50px;
    font-weight: 800;
    color: #181668;
    position: relative;
    z-index: 3;
}

.descripcion-principal-proyecto {
    width: 90%;
    max-width: 640px;
    height: auto;
    margin: 10px auto;
    margin-bottom: 100px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    color: #5b5b5b;
    position: relative;
    z-index: 3;
}

.titulo1-seccion {
    width: 100%;
    height: auto;
    margin: 15px auto;
    margin-top: 120px;
    text-align: center;
    position: relative;
    z-index: 3;
    font-size: 30px;    
    font-family: 'ElliotSans-Medium', sans-serif;
    font-weight: 300;
    color: #606062;
}

.titulo-seccion-nosotros {
    width: 100%;
    height: auto;
    margin: 10px auto;
    text-align: center;
    font-size: 30px;
    font-weight: 300;
    font-family: 'ElliotSans-Medium', sans-serif;
    color: #606062;
    z-index: 2;
  }

.titulo-alt-seccion {
    width: 100%;
    height: 70px;
    line-height: 70px;
    margin: 0 auto;
    margin-top: 82px;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-size: 50px;
    font-weight: 800;
    color: #181668;
    position: relative;
    z-index: 3;
    border-top: 6px solid #FF6405;
    background-color: #606062;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    color: #fff;
}

@media(max-width: 600px) {
    .titulo-alt-seccion {
        font-size: 18px;
    }
}

.descripcion1-seccion {
    width: 90%;
    max-width: 640px;
    height: auto;
    line-height: 40px;
    margin: 10px auto;
    margin-bottom: 50px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #000;
    position: relative;
    z-index: 3;
}

.textos-seccion {
    width: 90%;
    max-width: 600px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: center;
    margin: 10px auto;
    z-index: 2;
}

.descripcion-nosotros {
    width: 100%;
    height: auto;
    margin: 20px auto;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    color: #5b5b5b;
    z-index: 2;
  }

.btn1-seccion {
    width: 160px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin: 10px calc(50% - 120px);
    margin-bottom: 80px;
    color: #fff;
    background-color: #181668;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    z-index: 3;   
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.btn-seccion-nosotros {
    width: 150px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    background-color: #181668;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    z-index: 2;
    cursor: pointer;
}


/* position: absolute;
bottom: 0;
right: 0;
width: 165px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: #606062;
font-family: 'Montserrat', sans-serif;
font-weight: 600;
color: #fff;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-ms-border-radius: 5px;
-o-border-radius: 5px; */

.imagen-seccion {
    width: 25vw;
    height: 25vw;
    margin: 0 auto;
    background-size: cover;
    background-position: center;
}

@media(max-width: 1000px) {
    .imagen-seccion {
        width: 100vw;
        height: 100vw;
    }
}

@media(max-width: 650px) {
    
    .logo-seccion {
        width: 340px;
        height: 260px;
        background-image: url('../img/logo_alt.png');
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        top: calc(50% - 130px);
        left: calc(50% - 170px);
        opacity: 0.15;
        z-index: 2;
    }
}

/* ********* SECCION TIPO 2 */

.seccion2 {
    width: 100%;
    height: auto;
    min-height: 500px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

@media(max-width: 1080px) {
    .seccion2 {
        background-attachment: initial;
    }
}

.titulo-seccion2 {
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 42px;
    color: #fff;
    background-color: #181668;
    margin: 0 auto;
}

.titulo-seccion2-alt {
    width: 100%;
    height: 50px;
    margin: 15px auto;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-size: 50px;
    font-weight: 800;
    color: #181668;
    position: relative;
    z-index: 3;
}

.contenido-seccion {
    width: 100%;
    max-width: 1400px;
    height: auto;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: relative;
}

.img-seccion {
    width: 90%;
    max-width: 600px;
    height: 400px;
    margin: 10px auto;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    
    box-shadow: 0px 3px 6px #00000029;
}

.contenido-seccion2 {
    width: 100%;
    max-width: 1300px;
    height: auto;
    margin: 50px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.contenido2-seccion2 {
    width: 100%;
    max-width: 1300px;
    height: auto;
    margin: 50px auto;
    margin-bottom: 25px;
    display: flex;
    flex-wrap: wrap;
}

.contenido3-seccion2 {
    width: 90%;
    max-width: 980px;
    height: auto;
    margin: 15px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.contenedor-extrasmall-seccion2 {
    width: 150px;
    height: 150px;
    margin: 8px auto;
    background-size: cover;
    background-position: center;
    -webkit-box-shadow: 0px 5px 10px 0px #999999;
    box-shadow: 0px 5px 10px 0px #999999;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.contenedor-small-seccion2 {
    width: 232px;
    height: auto;
    margin: 12px auto;
    cursor: pointer;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.img-contenedor-small-seccion2 {
    width: 100%;
    height: 240px;
    margin: 0;
    background-size: cover;
    background-position: center;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.linea-contenedor-small-seccion2 {
    width: 100%;
    height: 5px;
    margin: 0;
    background-color: #C20006;
}

.titulo-contenedor-small-seccion2 {
    width: 99.3%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    color: #5f5f5f;
    border: 1px solid #707070;
}

@media(max-width: 800px) {
    
    .contenedor-small-seccion2 {
        width: 340px;
    }
    
    .img-contenedor-small-seccion2 {
        height: 250px;
    }

    .titulo-contenedor-small-seccion2 {
        height: 48px;
        line-height: 48px;
        font-size: 17px;
    }
}

.contenedor-medium-seccion2 {
    width: 90%;
    max-width: 200px;
    height: auto;
    margin: 12px auto;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0px 3px 6px #00000029;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.icono-contenedor-medium-seccion2 {
    width: 30px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    margin: 30px calc(50% - 30px);
    color: #C40D13;
    font-size: 40px;
}

.titulo-contenedor-medium-seccion2 {
    width: 100%;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin: 5px auto;
    font-family: 'Play', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #000;
}

.texto-contenedor-medium-seccion2 {
    width: 90%;
    height: auto;
    text-align: center;
    margin: 10px auto;
    margin-bottom: 25px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #5b5b5b;
}

.mapa-seccion {
    width: 90vw;
    height: 60vw;
    max-width: 900px;
    max-height: 700px;
    background-image: url('../img/mapa.png');
    background-size: cover;
    background-position: center;
    margin: 25px auto;
    margin-bottom: 45px;
}

.contenedor-big-seccion2 {
    width: 90%;
    max-width: 380px;
    height: 380px;
    margin: 12px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    position: relative;
    border-bottom: 8px solid #FF6405;
    cursor: pointer;
}

.sombra-contenedor-big-seccion2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.5);
}

.titulo-contenedor-big-seccion2 {
    width: 205px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border: 1px solid #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    color: #fff;
    z-index: 3;
}


/* ********* LEGAL */

.main {
    width: 90%;
    margin: 0 auto;
    padding-top: 80px;
    margin-bottom: 40px;
}

.main h1 {
    text-align-last: center;
    font-family: sans-serif;
    font-size: 30px;
}

.main hr {
    border: 2px solid #5b5b5b;
}

.title {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 600;
    margin: 0;
    padding: 0;
}

.main p {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* ********* FOOTER */

.footer {
    width: 100%;
    height: auto;
    margin: 0;
}

.titulo-footer {
    width: 100%;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 42px;
    color: #fff;
    background-color: #181668;
    margin: 0 auto;
}

.formulario {
    width: 92%;
    max-width: 440px;
    height: auto;
    margin: 0 auto;
}

.titulo-formulario {
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin: 20px auto;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 25px;
    color: #181668;
}

form {
    width: 100%;
    margin: 0 auto;
}
  
input, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
  
label {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.textfield {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    background-color: transparent;
    height: calc(3em + 2px);
    padding: 1em;
    font-size: 1em;
    border: 1px solid #b1b1b1;
    border-radius: 10px;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    -webkit-box-shadow: none;
    box-shadow: none;
    resize: none;
    outline: none;
    color: #b1a9a9;
    font-family: 'Montserrat', sans-serif;
}

.textfield:focus,
.textfield:active {
    border: 1px solid #181668;
}

.textfield:focus + label:before,
.textfield:active + label:before {
    color: #181668;
}

.textfield + label {
    display: block;
    font-size: 1em;
    height: 3em;
    line-height: 3em;
    margin-top: calc(-3em - 1px);
    margin-bottom: 1em;
    pointer-events: none;
}

.textfield + label:before {
    content: attr(placeholder);
    display: inline-block;
    color: #494949;
    font-family: 'Montserrat', sans-serif;
    margin: 0 calc(1em + 2px);
    white-space: nowrap;
    transition-property: color, -webkit-transform;
    -webkit-transition-property: color, -webkit-transform;
    transition-property: transform, color;
    transition-property: transform, color, -webkit-transform;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.textfield:focus + label:before,
.textfield.active + label:before,
.textfield:valid + label:before {
    background: #fff;
    line-height: 1;
    padding: 0 1.5px;
    -webkit-transform: translateY(calc(-3em / 2 - 1px/2)) scale(0.8, 0.8);
    transform: translateY(calc(-3em / 2 - 1px/2)) scale(0.8, 0.8);
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    background-color: transparent;
    height: calc(8em + 2px);
    padding: 1em;
    font-size: 1em;
    border: 1px solid #bdbdbd;
    border-radius: 10px;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    -webkit-box-shadow: none;
    box-shadow: none;
    resize: none;
    outline: none;
    color: #5b5b5b;
    font-family: 'Montserrat', sans-serif;
}

textarea:focus,
textarea:active {
    border: 1px solid #181668;
}

textarea:focus + label:before,
textarea:active + label:before {
    color: #181668;
}

textarea + label {
    display: block;
    font-size: 1em;
    height: calc(8em + 2px);
    line-height: 1;
    padding-top: calc(1em + 1px);
    margin-top: calc(-8em - 2px);
    margin-bottom: 1em;
    pointer-events: none;
}

textarea + label:before {
    content: attr(placeholder);
    display: inline-block;
    color: #5b5b5b;
    font-family: 'Montserrat', sans-serif;
    margin: 0 calc(1em + 2px);
    white-space: nowrap;
    transition-property: color, -webkit-transform;
    -webkit-transition-property: color, -webkit-transform;
    transition-property: transform, color;
    transition-property: transform, color, -webkit-transform;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-delay: 0;
    transition-delay: 0;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

textarea:focus + label:before,
textarea.active + label:before,
textarea:valid + label:before {
    background: #fff;
    line-height: 1;
    padding: 0 1.5px;
    -webkit-transform: translateY(calc((-1em - 0.5em) - 0.5px)) scale(0.8, 0.8);
    transform: translateY(calc((-1em - 0.5em) - 0.5px)) scale(0.8, 0.8);
}

.terminos {
    width: 100%;
    height: auto;
    margin: 20px auto;
    text-align: justify;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #5b5b5b;
}

.terminos a {
    color: #FF6405;
}

.btnenviar {
    width: 240px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #181668;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: 700;
    cursor: pointer;
    margin: 10px auto;
    margin-bottom: 25px;
}

.botonescontacto {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

.btncontacto {
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border-radius: 10px;
    -webkit-box-shadow: 0px 5px 10px 0px #999999;
    box-shadow: 0px 5px 10px 0px #999999;
    margin: 20px auto;
    cursor: pointer;
}

@media(min-width: 600px) {

    .botonescontacto {
        width: 70px;
    }

    .btncontacto {
        width: 70px;
        height: 70px;
        line-height: 70px;
    }
}

#btntel {
    background-color: #06d315;
    color: #fff;
    font-size: 22px;
}

#btnwa {
    background-color: #25D366;
    color: #fff;
    font-size: 30px;
}

#btnmail {
    background-color: #00a2ed;
    color: #fff;
    font-size: 26px;
}

#btnface {
    background-color: #3b5998;
    color: #fff;
    font-size: 26px;
}

iframe {
    width: 650px;
    height: 450px;
    margin: 0 auto;
}

@media(max-width: 1100px) {
    iframe {
        width: 100%;
    }
}

.trademark {
    width: 100%;
    height: auto;
    margin: 0;
    background-color: #5b5b5b;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.text-trademark {
    width: 90%;
    max-width: 400px;
    height: 40px;
    line-height: 40px;
    margin: 0 auto;
    text-align: center;
    color: #ddd;font-family: 'Montserrat', sans-serif;
    font-size: 12px;
}

.text-trademark a {
    color: #acacac;
    text-decoration: none;
}

.text-trademark a:hover {
    color: #FF6405;
}

.powered {
    width: 90%;
    max-width: 400px;
    height: 40px;
    line-height: 40px;
    margin: 0 auto;
    text-align: center;
    color: #cecece;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
}

.phantomy {
    font-family: "Times New Roman", Times, serif;
    color: #fff;
    font-size: 20px;
    padding-left: 5px;
    cursor: pointer;
}

/* NUEVA SECCION CONTACTO */

.titulo-seccion-home {
    width: 90%;
    height: auto;
    margin: 10px auto;
    text-align: center;
    font-size: 30px;    
    font-family: 'ElliotSans-Medium', sans-serif;
    font-weight: 300;
    color: #606062;
  }

.contenedor-flex {
    width: 90%;
    max-width: 1300px;
    height: auto;
    margin: 30px auto;
    display: flex;
    flex-wrap: wrap;
  }

.mapa-contacto {
    width: 90%;
    max-width: 500px;
    height: 400px;
    margin: 10px auto;
  }
  
  @media (max-width: 900px) {
    .mapa-contacto {
      margin-bottom: 80px;
    }
  }
  
  .mapa-contacto iframe {
    width: 100%;
    height: 100%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .contenedor-redes-contacto {
    width: 120px;
    height: auto;
    margin: 20px 0;
    display: flex;
  }
  
  .red-contacto {
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 auto;
    text-align: center;
    font-size: 17px;
    color: #fff;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    cursor: pointer;
  }
  
  .formulario-contacto {
    width: 90%;
    max-width: 350px;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    border-radius: 5px;
    padding-bottom: 60px;
    position: relative;
  }
  
  .leyenda-formulario-contacto {
    width: 100%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 6px;
    margin-top: 5px;
    font-size: 16px;
    color: #5b5b5b;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
  }
  
  .campo-formulario-contacto {
    width: 100%;
    height: 40px;
    margin: 0 auto;
    margin-top: 6px;
    margin-bottom: 5px;
    border: none;
    outline: none;
    appearance: none;
    background-color: #dedcdc;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #000;
    font-size: 15px;
    padding-left: 10px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .textarea-formulario-contacto {
    width: 100%;
    height: 164px;
    margin: 0 auto;
    border: none;
    outline: none;
    appearance: none;
    resize: none;
    background-color: #dedcdc;
    padding-left: 10px;
    padding-top: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #000;
    font-size: 15px;
    padding-left: 10px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .btn-formulario-contacto {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 165px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #606062;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .panel-mensaje-contacto {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    background-color: #000;
    z-index: 2;
    transition: ease-in-out 1s;
    -webkit-transition: ease-in-out 1s;
    -moz-transition: ease-in-out 1s;
    -ms-transition: ease-in-out 1s;
    -o-transition: ease-in-out 1s;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .panel-mensaje-contacto.active {
    display: flex;
  }
  
  .logo-panel-mensaje-contacto {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 30px;
    color: #fff;
    margin-bottom: 10px;
  }
  
  .texto-panel-mensaje-contacto {
    width: auto;
    height: auto;
    text-align: center;
    font-size: 20px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
  }

/* NUEVO FOOTER */

.footer {
    width: 100%;
    height: auto;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    align-content: center;
    background-color: #000;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  
  .texto-footer {
    width: auto;
    height: auto;
    font-size: 12px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
  }
  
  .somm-footer {
    font-size: 10px;
    font-family: 'HighlandGothicFLF Regular';
    cursor: pointer;
  }

  /* swipper */

  .swiper-pagination-bullet {
    background-color: #9C9C9C;
}

@media(min-width: 720px) {
    .swiper-pagination {
        display: none;
    }
}

.swiper-button-next {
    right: -45px;
}

.swiper-button-next::after {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 22px;
    color: #5b5b5b;
}

.swiper-button-prev {
    left: -45px;
}

.swiper-button-prev::after {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 22px;
    color: #5b5b5b;
}

@media(max-width: 900px) {
    .swiper-button-next {
        right: 10px;
        opacity: 0;
    }

    .swiper-button-next::after {
        color: transparent;
    }

    .swiper-button-prev {
        left: 10px;
        opacity: 0;
    }

    .swiper-button-prev::after {
        color: transparent;
    }
}

.contenedor-proyectos {
    width: 100%;
    max-width: 1250px;
    height: auto;
    margin: 60px auto;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.contenedor-proyecto {
    width: 280px;
    height: 420px;
    margin: 0 15px;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    box-shadow: 0px 3px 6px #00000029;
}

.img-proyecto {
    width: 100%;
    height: 420px;
    margin: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
}

.desc-proyecto {
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    background-color: rgba(0, 0, 0, 0.75);
    position: absolute;
    top: 430px;
    left: 0;
    border-radius: 5px;
    transition: 1s all ease;
    -webkit-transition: 1s all ease;
    font-family: 'Montserrat', sans-serif;
    line-height: 20px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    word-wrap: break-word;
    white-space: pre-wrap;  
}

.desc-proyecto.active {
    top: 0;
}

.texto-proyecto {
    width: 190px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    color: #1A1A1A;
    position: absolute;
    background-color: #fff;
    border: 1px solid #707070;
    border-radius: 5px;
    bottom: -18px;
    left: calc(50% - 90px);
    color: #5F5F5F;
    cursor: pointer;
}

.texto-proyecto i {
    width: 20px;
    height: 35px;
    line-height: 35px;
    position: absolute;
    top: 0;
    right: 5px;
    color: #000;
    font-size: 10px;
}

.contenido-proyectos {
    width: 90%;
    max-width: 1250px;
    height: auto;
    margin: 0 auto;
    position: relative;
}

.seccion-proyectos {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
}

/**** ELEMENTOS NUEVOS GENERALES */

.portada-ventanas {
    width: 100%;
    height: 300px;
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sombra-portadas-ventanas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}

.titulo-seccion-ventanas {
    width: 90%;
    height: auto;
    margin: 50px auto;
    text-align: center;
    font-size: 30px;    
    font-family: 'ElliotSans-Medium', sans-serif;
    font-weight: bold;
    color: #606062;
    letter-spacing: 2px;
}

.texto-portada-ventanas {
    font-size: 50px;
    color: #fff;
    font-family: 'ElliotSans-Medium', sans-serif;
    font-weight: bold;
    letter-spacing: 2px;
    z-index: 2;
}

@media (max-width: 500px) {
    .texto-portada-ventanas {
        font-size: 30px;
    }
}

/**** NOSOTROS NUEVO  */

.texto-bold-nosotros {
    text-transform: uppercase;
    font-size: 30px;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
}

.texto-nosotros {
    line-height: 25px;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    text-align: justify;
    margin-top: 20px;
}

.img-ventana-nosotros {
    width: 90%;
    max-width: 600px;
    margin: 10px auto;
    position: relative;
}

.img-ventana-nosotros img {
    width: 100%;
}

.contenedor-banderines {
    width: 90%;
    max-width: 1000px;
    margin: 10px auto;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
}

@media (max-width: 500px) {
    .contenedor-banderines {
        justify-content: center;
    }
}

.banderin-nosotros {
    width: 90%;
    max-width: 250px;
}

.banderin-nosotros img {
    width: 100%;
}

/**** PROYECTO NUEVO  */

.img-proyecto-ventana {
    height: 600px;
    display: flex;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.elemento-proyecto {
    width: 90%;
    max-width: 400px;
    margin: 10px auto;
    display: flex;
    align-items: center;
}

.icono-elemento-proyecto {
    width: 20%;
    text-align: center;
    font-size: 30px;
    margin-right: 24px;
    color: #C40D13;
}

.texto-elemento-proyecto {
    width: 80%;
    text-align: center;
    font-size: 18px;
    color: #5b5b5b;
    font-family: 'Montserrat', sans-serif;
}