
@charset "utf-8";
/* CSS Document */

/* COLORES 
Rojo corporativo: #ed2224
Azul corporativo: #223a5e

   FUENTES 
font-family: 'Montserrat', sans-serif

   NIVELES
header: 9000
*/




@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { } /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */

/** {font-family: 'Roboto', sans-serif;}*/

*{font-family: 'Montserrat', sans-serif;color:#223a5e}

html{width:100%;height:100%;margin:0 auto;padding:0 auto;overflow-x:hidden;max-width:120em;}
body{width:100%;height:100%;margin:0 auto;padding:0 auto;max-width:120em;}
header{position:absolute;z-index:9000;background:transparent;}
.row {width:100%;max-width:120em;}
#main{}
.main{}

/* Efecto tamaño header  cuando scroll */
header {position:fixed;width:100%;-webkit-transition: padding 0.3s;-moz-transition: padding 0.3s;-ms-transition: padding 0.3s;-o-transition: padding 0.3s;transition: padding 0.3s;-webkit-transition: 0.3s ease-in-out;  -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out;}
header .barra-menu{background:rgb(255,255,255,1);}

header.smaller{margin-top:-47px}
header.smaller .name img.logo{width:200px;-webkit-transition: width 0.3s;-moz-transition: width 0.3s;-ms-transition: width 0.3s;-o-transition: width 0.3s;transition: width 0.3s;margin-top:5px;opacity:1;}
header.smaller .barra-menu{background:rgb(0,47,84,1);background:rgb(255,255,255,1);}

@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { 
header {position:relative;}
} /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */




/*
header.smaller .top-bar-section-main ul li > a:hover {color:#ed2224 !important;background-color:#FFF !important}   
header.smaller .top-bar-section-main ul li > a:hover span{color:#f7a600 !important;}   
header.smaller .top-bar-section-main ul li.active > a {color:#ed2224 !important;}
header.smaller .top-bar-section-main ul li.active > a span{color:#ed2224 !important;}
header.smaller .top-bar-section-main ul li.active > a:hover {color:#000 !important;background-color:#FFF}

header.smaller .menu-lateral .detallelogo{opacity:1;}
*/


/* MENÚ SUPERIOR */
.barra-superior{background:#f6f7f7;}
.barra-superior .contenido-movil{padding-top:15px}
.barra-superior .contenido-movil p{font-size:1.2em;font-weight:500}
.top-bar-sup {background:#f6f7f7} 
.top-bar-section-sup ul li {background:transparent}
.top-bar-section-sup ul li > a{font-family: 'Montserrat', sans-serif !important;font-weight:400;background:transparent !important;font-size:1em;color:#223a5e } 
.top-bar-section-sup ul li > a i{background:transparent !important;font-size:1.3em;padding-top:10px !important;padding-bottom:7px;padding-right:10px;} 
.top-bar-section-sup ul li > a:hover {color:#bfcfe8 !important}   
.top-bar-section-sup ul li > a:hover>i {color:#bfcfe8 !important;background:transparent !important}   
.top-bar-section-sup ul li.active > a:hover {color:#bfcfe8 !important}
.top-bar-section-sup ul li ul li > a{font-family: 'Montserrat', sans-serif !important;font-weight:600;background-color:#41546b !important;font-size:1.1em} 
.top-bar-section-sup ul li ul li > a:hover{color:#bfcfe8 !important} 
.top-bar-section-sup ul li ul li.active > a:hover {color:#bfcfe8 !important}

/* MENÚ PRINCIPAL */
.barra-menu{background-color:#FFF !important}
.top-bar-main {background:#FFF} 
.top-bar-main.expanded .title-area {}  
.top-bar-main .title-area h1{}
.top-bar-main img.logo{width:250px;background-color:#FFF;padding:10px 15px 10px 15px;border-radius:5px;}
.top-bar-section-main ul li {background:transparent}
.top-bar-section-main ul li > a{font-family: 'Montserrat', sans-serif !important;font-weight:600;background-color:#FFF !important;font-size:1em;padding-top:10px !important;padding-bottom:10px !important;color:#223a5e !important} 
/*
.top-bar .has-dropdown > a:after { border-color: #002f54 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)!important; opacity:0.5;}
.top-bar .has-dropdown > a:hover:after { border-color: #FFF rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)!important; opacity:0.5;}
*/
.top-bar-section-main ul li > a:hover {color:#ed2224 !important;}   
.top-bar-section-main ul li.active > a {color:#ed2224 !important;}   
.top-bar-section-main ul li ul{background-color: #223a5e !important} 
.top-bar-section-main ul li ul li > a{font-family: 'Montserrat', sans-serif !important;font-weight:600 !important;background-color:#223a5e !important;font-size:1em;padding-top:0px !important;padding-bottom:0px !important;color:#FFF !important} 
.top-bar-section-main ul li ul li > a:hover{background-color:#ed2224 !important;color:#FFF !important} 
.top-bar-section-main ul li ul li.active > a:hover {color:#ed2224 !important}


@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { 
.top-bar-main {height:80px;} 
.top-bar-main .title-area{height:80px;background-color:#FFF !important}
.top-bar-main img.logo{width:200px;margin-top:15px;padding:5px 10px 5px 10px;}
.top-bar .toggle-topbar.menu-icon a {font-family: 'Red Hat Display', sans-serif;color:#223a5e;font-size:1.5em;} /* color de la palabra MENU */
.top-bar .toggle-topbar.menu-icon a span::after {box-shadow: 0 0 0 2px #ed2224, 0 7px 0 2px #ed2224, 0 14px 0 2px #ed2224;} /* color de la hamburguesa */
.top-bar.expanded .toggle-topbar a span::after {box-shadow: 0 0 0 1px #ed2224, 0 7px 0 1px #ed2224, 0 14px 0 1px #ed2224; } /* color de la hamburguesa presionado*/
.top-bar-section-main ul li > a{font-size:1.3em;padding-top:10px !important;padding-bottom:10px !important;} 
.top-bar-section-main ul li ul li > a{font-size:1.3em;padding-top:10px !important;padding-bottom:10px !important;} 

} /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */






/* FORMATOS */
h1{font-family: 'Montserrat', sans-serif;color:#223a5e;font-weight:600;line-height:1.2em}
h2{font-family: 'Montserrat', sans-serif;color:#223a5e}
h3{font-family: 'Montserrat', sans-serif;color:#ed2224}
h4{font-family: 'Montserrat', sans-serif}
h5{font-family: 'Montserrat', sans-serif}
p{font-family: 'Montserrat', sans-serif;font-size:1.2em;color:#223a5e}
a{font-family: 'Montserrat', sans-serif;color:#223a5e}
a:hover{opacity:0.8}
a:hover > img{opacity:0.8}

blockquote {border-left:3px solid #dfa12e;color:#222 !important;background-color:#f2f2f2;padding-top:20px;padding-bottom:13px}
blockquote p{color:#222 !important;}
.main ul li {font-family: 'Montserrat', sans-serif;color:#223a5e;font-size:1.2em;}
.main ol li {font-family: 'Montserrat', sans-serif;color:#223a5e;font-size:1.2em;}
.main .contenido ul {list-style: none; /* Remove default bullets */}
.main .contenido ul li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #e00308; /* Change the color */
  font-size:1.5em;
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
}


.main table{font-family: 'Montserrat', sans-serif;}
.main table th{font-family: 'Montserrat', sans-serif;}
.main table tr td{font-family: 'Montserrat', sans-serif;color:#223a5e;font-size:1em;}

.sombra{-webkit-box-shadow: 10px 10px 22px -7px rgba(34,58,94,1);-moz-box-shadow: 10px 10px 22px -7px rgba(34,58,94,1);box-shadow: 10px 10px 22px -7px rgba(34,58,94,1);}

@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { 

} /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { 
h3{font-size:1.5em;}
p{font-size:1em}
} /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */



/* Videos de youtube responsive */
.video-responsive {position: relative;padding-bottom: 56.25%; /* 16/9 ratio */padding-top: 30px; /* IE6 workaround*/height: 0;overflow: hidden;}
.video-responsive iframe,.video-responsive object,.video-responsive embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

/* Botones */
.boton-rojo{font-family: 'Montserrat', sans-serif;background-color:#ed2224;color:#FFF;border-radius:10px;font-weight:600}
.boton-rojo img{width:38px}
.boton-rojo:hover{background-color:#223a5e;}
.boton-rojo:hover >img{animation: mueve-flecha-boton 2s infinite;}


.boton-blanco{font-family: 'Montserrat', sans-serif;background-color:#FFF;color:#223a5e;border-radius:10px;font-weight:600}
.boton-blanco img{width:38px}
.boton-blanco:hover{background-color:#ed2224;color:#FFF}
.boton-blanco:hover >img{animation: mueve-flecha-boton 2s infinite;}


@keyframes mueve-flecha-boton {
  0% {
    transform: translate(0,0px);
  }  
  100% {
    transform: translate(20px,0px);
  }
}



/* SLIDER HOME Y SECCIONES*/

.home-slider{width:100%;max-width:1920px;height:100vh}
.layerslider-home{width:100%;height:100%; }
.layerslider-home{width:100%;max-width:1920px;height:100vh}
.layerslider-home .txt{font-family: 'Raleway', sans-serif;color:#FFF;position:absolute;z-index:20 !important;left:0;top:100vh !important;margin-top:-65px !important;background:rgb(0,0,0,0.4);padding:10px 20px 0px 20px;width:100%;text-align:left}
.layerslider-home .txt p span.txt1{font-family: 'Titillium Web', sans-serif;color:#FFF;font-size:1.2em}

.seccion-slider{width:100%;max-width:1920px;height:615px;padding-top:100px;position:relative;}
.layerslider-seccion{width: 100%;height:615px;max-width: 1920px; }
.layerslider-seccion p.txt{position:absolute;text-align:center;left:50% !important;top:50% !important;transform: translate(-50%,-50%) !important;}
.layerslider-seccion p .txt1{font-family: 'Montserrat', sans-serif;color:#FFF;font-size:3em;font-weight:800;line-height:1em;text-align:center;}
.layerslider-seccion p .txt2{font-family: 'Montserrat', sans-serif;color:#FFF;font-size:1.2em;font-weight:500;text-align:center;margin-top:50px;margin-bottom:50px !important;padding-bottom:50px !important}
.layerslider-seccion p .txt3{margin-top:50px !important;padding-top:50px !important}
.layerslider-seccion p .txt3 a{font-family: 'Raleway', sans-serif;color:#FFF;font-size:1.2em;font-weight:500;text-align:center;margin-top:50px !important;border:1px solid #FFF; border-radius:5px;padding:10px 20px 10px 20px}
.layerslider-seccion p .txt3 a:hover{color:#272932;border:1px solid #FFF;background-color:#FFF}
.layerslider-seccion img {filter: brightness(80%);}


.seccion-slider{padding-top:120px}
.seccion-slider .galeria{height:80vh}
.seccion-slider .texto{background-color:#FFF;height:80vh}
.seccion-slider .texto .contenido{background:rgb(255,255,255,0);position: absolute;  left:50%; top: 50%;  transform: translate(-50%, -50%);z-index:100}
.seccion-slider .texto .contenido h1{font-size:2.2em !important;line-height:1.5em;font-weight:700;color:#e1443f !important}
.seccion-slider .texto .contenido h1 span{font-weight:900;font-size:2em}
.seccion-slider .texto .contenido p{}
.seccion-slider .texto .contenido p span {}
.seccion-slider .texto .contenido img{width:30px}

@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { 
.home-slider{width:100%;height:auto;}
.seccion-slider{padding-top:0px;}
.layerslider-seccion p .txt1{font-size:2em;}
.seccion-slider .texto{height:auto}
.seccion-slider .texto .contenido{position: relative;  left:0%; top: 0%;  transform: translate(0%, 0%);z-index:100}
.seccion-slider .texto .contenido h1{font-size:1.5em !important;line-height:1.5em;font-weight:700;color:#e1443f !important}
.seccion-slider .texto .contenido h1 span{font-weight:900;font-size:2em}

} /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/


/* HOME */

	/* HOME BIENVENIDA */
.home-bienvenida{background-color:#f6f7f7;padding-top:100px;padding-bottom:100px;}
.home-bienvenida p{font-size:1.3em}
@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { 

} /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { 
.home-bienvenida p{font-size:1.2em}
} /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */


/* HOME: ÁREAS DE ACTUACIÓN */
.home-areas{background:#394e6e;padding-bottom:0px}
.home-areas .area1,.home-areas .area2,.home-areas .area3{border-right:1px solid #223a5e;padding-bottom:80px}
.home-areas .area1 a:hover,.home-areas .area2 a:hover,.home-areas .area3 a:hover{opacity:0.6}
.home-areas .texto{padding-top:40px;padding-bottom:20px;}
.home-areas .imagen{padding-top:20px}
.home-areas h3{color:#FFF}
.home-areas p{color:#FFF}

/* HOME: VALORES DE EMPRESA */
.home-valores{padding-top:150px;padding-bottom:150px;background-color:#223a5e}
.home-valores h2{color:#FFF;font-weight:600}
.home-valores h3{color:#F2F2F2}
.home-valores p{color:#FFF}
.home-valores img{width:70px;margin-bottom:20px}
.home-valores ul{margin-top:60px}
.home-valores li{background-color:#CCC;height:100% !important}
.home-valores li .ficha{background:rgb(255,255,255,0.1);padding-top:40px;padding-bottom:40px;height:100% !important}
.home-valores li .ficha:hover{background:rgb(0,0,0,0.3)}

.home-valores .ficha{background:rgb(255,255,255,0.1);padding-top:40px;padding-bottom:40px;height:100% !important;margin-bottom:20px}
.home-valores .ficha:hover{background:rgb(0,0,0,0.3)}

@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { } /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/


/* HOME: PROYECTOS DESTACADOS */
.home-proyectos{background-color:#FFF;padding-top:100px;padding-bottom:100px}
.home-proyectos h2{font-size:4em;line-height:1em;}
.home-proyectos span{font-weight:900;font-size:1.1em}
.home-proyectos h3{font-size:1.2em;font-weight:500}
.home-proyectos 9{font-size:1em}

@media only screen { } /* Small screens: Define mobile styles */
@media only screen and (max-width: 40em) { 
.home-proyectos h2{font-size:2.5em;line-height:1em;}
.home-proyectos span{font-weight:900;font-size:1.1em}
} /* Small screens: max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (min-width: 40.063em) { } /* Medium screens: min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* Medium screens: min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 64.063em) { } /* Large screens: min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* Large screens: min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 90.063em) { } /* XLarge screens: min-width 1441px, xlarge screens */
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */
@media only screen and (min-width: 120.063em) { } /* XXLarge screens: min-width 1921px, xxlarge screens */
<!-- flickity https://css-tricks.com/creating-responsive-touch-friendly-carousels-with-flickity/ -->
<!-- https://flickity.metafizzy.co/api.html -->
.gallery {/* background: #EEE;*/}
/*.gallery-cell:before {display: block; text-align: center; content: counter(gallery-cell); line-height: 200px; font-size: 80px; color: white;}*/
.gallery-cell { width: 30%; /*height: 200px;*//* margin-right: 10px;*/ /* background: #8C8; counter-increment: gallery-cell; */}
/*.gallery-cell.is-selected { background: #ED2;}*/
/*.gallery-cell:before {  display: block;  text-align: center;  content: counter(gallery-cell);  line-height: 200px;  font-size: 80px;  color: white;}*/
.flickity-prev-next-button { top: 50%;  width: 44px;  height: 44px;  border-radius: 50%;  /* vertically center */  transform: translateY(-50%);}
.gallery-cell{border:1px solid #CCC;border-left:none}
.gallery-cell .texto{width:100%;padding-top:20px;padding-bottom:20px;height:100%;min-height:210px}
.gallery-cell .texto h3{color:#223a5e}
.gallery-cell .texto a img{position:absolute;bottom:0;right:0;transform: rotate(-45deg);width:40px;margin-right:20px;margin-bottom:30px}
.gallery-cell .texto img.icono{width:25px;margin-right:10px}
.gallery-cell:hover> div .texto a img{animation: mueve-flecha 5s infinite;}
@keyframes mueve-flecha {
  0% {transform: translate(0);}
  50% {transform: translate(20, -20);}
  75% {transform: translate(0);}
  100% {transform: translate(-20, 20);}
}





/* OBRAS: PROYECTOS */
.obras-seccion ul.obras-seccion-menu{}
.obras-seccion ul.obras-seccion-menu li {padding:0px 0px 0px 0px;border-bottom:1px solid #FFF;border-right:1px solid #FFF}
.obras-seccion ul.obras-seccion-menu li a{background-color:#CCC;display: inline-block;color:#FFF;font-weight:800;font-size:2em;width:100%;line-height:2em}
.obras-seccion ul.obras-seccion-menu li a.active{background-color:#e1443f;}
.obras-seccion ul.obras-seccion-menu li a:hover{background-color:#e1443f;}
.obras-seccion .obras-seccion-submenu{background-color:#e1443f;padding-top:20px;padding-bottom:0px;}
.obras-seccion .obras-seccion-submenu p{color:#CCC;font-size:1.2em;font-weight:600;line-height:2.5em;}
.obras-seccion .obras-seccion-submenu p a{background-color:#e1443f;padding:10px 10px 10px 10px;border-radius:5px;color:#FFF;}
.obras-seccion .obras-seccion-submenu p a:hover{background-color:#FFF;color:#e1443f;}
.obras-seccion .obras-seccion-submenu p a.active{background-color:#FFF;color:#e1443f;}


@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { 
.obras-seccion{margin-top:0px}
.obras-seccion .obras-seccion-submenu p{line-height:1.8em;}
} /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { 
.obras-seccion .obras-seccion-submenu{padding-top:15px;padding-bottom:0px;}
.obras-seccion .obras-seccion-submenu p{font-size:1em;line-height:2.5em}

} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/



.proyectos-seccion{padding-top:50px;padding-bottom:250px;background-color:#f2f2f2;}
.proyectos-seccion .texto{background-color:#fff;padding-top:20px;padding-bottom:20px;min-height:180px;height:100%}
.proyectos-seccion h3{color:#223a5e;font-size:1.2em;font-weight:600}
.proyectos-seccion a img.flecha{position:absolute;bottom:0;right:0;transform: rotate(-45deg);width:40px;margin-right:20px;margin-bottom:30px}
.proyectos-seccion ul li{}
.proyectos-seccion ul li a:hover > .texto img.flecha{/*transform: translate(20px,20px) !important;*/ animation: mueve-flecha 5s infinite; }
.proyectos-seccion ul li a:hover > div img.foto{/*transform: translate(20px,20px) !important;*/ transform-origin: center center; animation: scale 3000ms ease-in-out forwards;}

@keyframes scale {
  to {transform: scale(1.1);}
}
@keyframes mueve-flecha {
  0% {transform: translate(0);}
  50% {transform: translate(20, -20);}
  75% {transform: translate(0);}
  100% {transform: translate(-20, 20);}
}

/* SECCIONES */
.seccion{padding-top:200px;padding-bottom:300px;min-height:80vh;}
.seccion h2{font-weight:600}

@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { 
.seccion{padding-top:50px;padding-bottom:50px;}} /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/


/* FICHA DE LA OBRA */
.obra{padding-top:100px;padding-bottom:100px;}
.obra .categoria{width:100%;background-color:#223a5e;color:#FFF;padding:80px 20px 20px 20px;margin-bottom:20px}
.obra .galeria{border:1px #CCC solid;padding-left:0px;padding-right:0px;background-color:#f2f2f2;padding:12px 12px 12px 12px;}
.obra .datos{padding-right:0px}
.obra .datos .panel{padding-bottom:50px}
.obra .datos .panel .icono-flecha{position:absolute;top:0;left:0;transform: rotate(45deg);width:40px;margin-left:35px;margin-top:20px}
.obra .datos .panel h1{margin-top:40px}
.obra .datos .panel .icono-detalle{width:30px;margin-right:15px;margin-bottom:15px;}

@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { 
.obra{padding-top:0px;padding-bottom:50px;}
} /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { 
.obra .datos .panel h1{font-size:2em;}
} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/




.grid-gallery {display: grid;grid-auto-rows: 200px;grid-auto-rows: 50%;gap: 1rem;grid-auto-flow: row dense;}
@media all and (min-width: 320px) {
  .grid-gallery {grid-template-columns: repeat(1, 1fr);}
}

@media all and (min-width: 768px) {
  .grid-gallery {grid-template-columns: repeat(3, 1fr);}
}

@media all and (min-width: 1024px) {
  .grid-gallery {grid-template-columns: repeat(3, 1fr);}
}

.grid-gallery__item:nth-child(11n+1) {grid-column: span 1;}
.grid-gallery__item:nth-child(11n+4) {grid-column: span 2;grid-row: span 1;}
.grid-gallery__item:nth-child(11n+6) {grid-column: span 3;grid-row: span 1;}
.grid-gallery__item:nth-child(11n+7) {grid-column: span 1;grid-row: span 2;}
.grid-gallery__item:nth-child(11n+8) {grid-column: span 2;grid-row: span 2;}
.grid-gallery__item:nth-child(11n+9) {grid-row: span 3;}
.grid-gallery__image {width: 100%;height: 100%;object-fit: cover;}



/* EMPLEO */
.ofertas-empleo-seccion ul.accordion li{margin-bottom:2px !important}
.ofertas-empleo-seccion ul.accordion li a{font-family: 'Montserrat', sans-serif;background-color:#f6f7f7;color:#223a5e !important;font-weight:500 !important;}
.ofertas-empleo-seccion ul.accordion li .content{font-size:0.8em !important;}


/* TEXTOS LEGALES */

.legal-seccion{padding-top:150px;padding-bottom:250px;}
.legal-seccion p{font-size:0.9em}

/* FORMULARIOS */

.form fieldset{}
.form legend{}
.form label{font-family: 'Montserrat', sans-serif;color:#223a5e;font-size:1.2em;}
.form label span{color:#ed2224}
.form input[type="text"], .form input[type="password"], .form input[type="date"], .form input[type="datetime"], .form input[type="datetime-local"], .form input[type="month"], .form input[type="week"], .form input[type="email"], .form input[type="number"], .form input[type="search"], .form input[type="tel"], .form input[type="time"], .form input[type="url"], .form input[type="color"], .form textarea, .form select {background-color:#bfcfe8 !important; height: 2.5rem; border-radius: 0px;border-color:#223a5e !important;border-style:solid;border:none;-webkit-appearance: none;box-shadow: inset 0px 0px 0px 0px red;font-family: 'Montserrat', sans-serif;font-size:1em}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */color: #223a5e;font-style: italic;}
::-moz-placeholder { /* Firefox 19+ */color: #223a5e;font-style: italic;}
:-ms-input-placeholder { /* IE 10+ */color:#223a5e;font-style: italic;}
:-moz-placeholder { /* Firefox 18- */color: #223a5e;font-style: italic;}

::-webkit-input-placeholder span{ /* Chrome/Opera/Safari */color:#ed2224;}
::-moz-placeholder span{ /* Firefox 19+ */color:#ed2224;}
:-ms-input-placeholder span{ /* IE 10+ */color:#ed2224;}
:-moz-placeholder span{ /* Firefox 18- */color:#ed2224;}



.form input[type="text"], .form input[type="password"], .form input[type="date"], .form input[type="datetime"], .form input[type="datetime-local"], .form input[type="month"], .form input[type="week"], .form input[type="email"], .form input[type="number"], .form input[type="search"], .form input[type="tel"], .form input[type="time"], .form input[type="url"], .form input[type="color"], .form textarea, .form select {background:transparent !important; height: 2.5rem; border-radius: 0px;border-color:#223a5e !important;border-style:solid;border:none;-webkit-appearance: none;box-shadow: inset 0px 0px 0px 0px red;font-family: 'Montserrat', sans-serif;font-size:1em;border:2px solid #223a5e !important}





/* FOOTER */
footer {width:100%;max-width: 120em;background-color:#223a5e;padding-top:100px/*padding-top:200px;border-top-left-radius:300px 200px;margin-top:-200px*/}
footer u{text-decoration: underline;  text-decoration-color:rgba(255,68,63,1);text-decoration-opacity: 1;text-decoration-thickness: 3px;text-underline-offset: 10px;  }
footer h3{padding-bottom:0px;padding-top:10px;color:#FFF !important;font-weight:600}
footer p{padding-top:0px;padding-bottom:0px; line-height: 1.8;font-size:1em;color:#FFF!important;}
footer p span{color:#FFF!important;}
footer p.title{font-size:2em}
footer a{color:#f8fafd !important;}
footer a:hover{color:#bfcfe8 !important;}
footer p a:hover{color:#bfcfe8 !important;}
footer a:active{color:#bfcfe8;}
footer .creditos{border-top:1px dotted #999;padding-top:20px;}
footer .creditos p{font-size:0.7em}

@media only screen { } /* Define mobile styles // Small screens*/
@media only screen and (max-width: 40em) { } /* max-width 640px, mobile-only styles, use when QAing mobile issues // Small screens*/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens // Medium screens*/
@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues // Medium screens*/
@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens // Large screens*/
@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues // Large screens*/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens // XLarge screens*/
@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues // XLarge screens*/
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens // XXLarge screens*/



/* MAPA WEB */
.mapa-web{width:100%;min-height:100vh;height:100%;background-color:#FFF;position:fixed;top:0;left:0;z-index:9500;padding-top:30px;margin-top:-2000px;overflow-y:scroll}
.mapa-web.animameAbrir{animation-iteration-count: 1;animation-duration: 1s; animation-name: slidein; animation-fill-mode: forwards;}
.mapa-web.animameCerrar{animation-iteration-count: 1;animation-duration: 1s; animation-name: slideout;animation-fill-mode: forwards;}
.mapa-web .cerrar{font-family: 'Montserrat', sans-serif;font-weight:600;color:#223a5e !important;margin-top:10px;text-align:center;align:center }
.mapa-web a.cerrar:hover{color:#223a5e !important}
.mapa-web h2{font-weight:800}
.mapa-web ul li{padding-top:3px !important;padding-bottom:3px !important;}
.mapa-web ul li a{font-family: 'Montserrat', sans-serif !important;font-weight:700 !important;font-size:1.2em;padding-top:10px !important;padding-bottom:10px !important;color:#223a5e !important}
.mapa-web ul li a:hover{color:#223a5e !important;opacity:1;}
.mapa-web ul li ul li a{font-weight:500 !important;font-size:1em;padding-top:10px !important;padding-bottom:10px !important;color:#223a5e !important}
.mapa-web ul li ul li a:hover{font-weight:500 !important;font-size:1em;padding-top:10px !important;padding-bottom:10px !important;color:#223a5e !important;opacity:1;}
.mapa-web a{}
.mapa-web a:hover{color:#223a5e}
.mapa-web .pie{position:absolute;bottom:0;border-top:2px dotted #223a5e;padding-bottom:30px;padding-top:35px}
.mapa-web .pie p a{color:#223a5e}
.mapa-web .pie p a:hover{color:#223a5e}

@keyframes slidein {from {margin-top:-2000px;}to {margin-top:0px;}}
@keyframes slideout {from {margin-top:0px;}to { margin-top:-2000px;}}





/* SCROLL */
.scrollup{width:40px;height:40px; opacity:0.6; position:fixed; bottom:38px; right:30px;display:none;text-indent:-9999px; background: url(../imagenes/icon_top.png) no-repeat;z-index:99999999}


/*PAGINACION*/
#Paginacion {}
#Paginacion li {list-style:none; float:left; }
#Paginacion a {float: left; margin-right:0px;background:transparent; font-family: 'Quicksand', sans-serif; !important;font-weight: 400;color:#FFF;font-size:0.7rem;border:0px;}
#Paginacion .numero {font-family: 'Quicksand', sans-serif;font-size:0.7em; background:transparent;padding: 9px 11px; color:#999;border:1px solid #999;margin-top:2px;margin-bottom:2px;margin-right:2px}
#Paginacion .numero:hover {background-color: #999;color:#fafafa;border:1px solid #999;}
#Paginacion .active {background-color: #999; color:#FaFaFa;border:1px solid #999;font-size:0.7rem;padding: 9px 11px;margin-top:2px;margin-bottom:2px;margin-right:1px}
#Paginacion .end-off,#Paginacion .first-off,#Paginacion .previous-off,#Paginacion .next-off{background:transparent;color:#CCC;font-size:1em;padding-top:10px;padding-left:5px;padding-right:5px;line-height:2em;}
#Paginacion .end-on,#Paginacion .first-on,#Paginacion .next-on,#Paginacion .previous-on{background:transparent;color:#999;font-size:1em;padding-top:10px;padding-left:5px;padding-right:5px;line-height:2em;}
#Paginacion .end-on:hover,#Paginacion .first-on:hover,#Paginacion .next-on:hover,#Paginacion .previous-on:hover{background-color:#999;color:FFF !important;font-size:1.3em;padding-top:10px;padding-left:5px;padding-right:5px;line-height:2em;}
