#menu_desplegable .logo-header{max-width:100%; margin-top: -12px;position: absolute; margin-left: -5px;}
/*#menu_desplegable #logo{
	position: absolute;
	padding-top: 1rem;
	padding-left: 90px;
	width: 100%;
	background-color: #fff;
	left: 0;
	top: 0;
	padding-bottom: 1rem;
}*/

.menu-language{
	padding-right: 1rem!important;
    
}

.proyectos-item .img-fluid {
    /*max-width: 786px;*/
    /*height: 400px;*/
    width: 100%;
}
.align-texto {
	color: #fff;
    position: absolute;
    z-index: 999;
    margin-top: calc(-50%);
    padding-left: 80px;
    padding-right: 80px;    
}



.proyecto-interior header{background-color:transparent}
.proyecto-interior header .navbar .cont-header .menu-language ul li,.proyecto-interior header .navbar .cont-header .menu-language ul li a{color:#fff}
.proyecto-interior header .navbar .cont-header .navbar-toggler span.icon-bar{background-color:#fff}
.proyecto-interior .col-dato{height:80vh;margin-top:10vh;margin-bottom:10vh;margin-left:90px;background-color:rgba(0,0,0,.6);padding:35px 25px 25px;max-width:420px;}
.proyecto-interior .proyecto-interior header{background-color:transparent}.proyecto-interior .proyecto-interior #wrapper{height:100vh}
.proyecto-interior p{font-size:1.3rem}
.proyecto-interior h1,.proyecto-interior p{font-family:PFCentroSlabPro-Regular;font-weight:400;line-height:1.2em}
.proyecto-interior h1{font-size:1.7rem;font-weight: bold;}
.texto-sup.mb-auto.neww {
    height:calc(80vh - 40px);
    overflow-y: auto;
    max-width: 385px;
}


/*Cambios 16-04-2018*/

.modulo-foto-full .cont-info h2, .titular-cabecera, .entradilla, .titular-pfcentro, .titular, .proyecto-interior h1, .proyecto-interior p, .listado-profesionales .cont-acordeon #accordion .titular-perfiles, .contacto-interior h1, .contacto-interior p {
    font-family: 'Roboto Slab', serif!important;
}
.light-gray {
    color: #ccc;
}
.light-gray strong {
    color: #fff;
    font-weight: 700;
}
.neww p {
    font-family: 'Roboto Slab', serif!important;
    font-size: 1rem!important;
    line-height: 1.5rem;
}
#video_background { 
	position: absolute; 
	bottom: 0px; 
	right: 0px; 
	min-width: 100%; 
	min-height: 100%; 
	width: auto; 
	height: auto; 
	z-index: -1000; 
	overflow: hidden; 
}
#video_pattern { 
	background:#fff; 
	position: fixed; 
	opacity: 0.8; 
	left: 0px; 
	top: 0px; 
	width: 100%; 
	height: 100%; 
	z-index: 1; 
}
#myVideo {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%; 
    min-height: 100%;
}
.h3, h3 {
    font-size: 1.286rem!important;
}
.titular-pfcentro small {
    font-size: 60%;
}

/*Cambios 25-04-2018*/
a.section_home:hover {
    text-decoration: none;
}
.modulo-foto-full .cont-info div.hvr-underline-from-center:before {
    background: #fff;
}
.modulo-foto-full .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -webkit-gradient(left bottom,right top,color-stop(0,transparent),color-stop(100%,rgba(0,0,0,.6)));
    background: linear-gradient(45deg,transparent,rgba(0,0,0,.6));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
    opacity: 1!important;
    transition: all .5s ease-out;
}
.modulo-foto-full:hover .overlay {
    opacity: 0!important;
}
.modulo-breadcrumb .breadcrumb {
    font-family: 'Roboto Slab', serif!important;
    color: #222;
    font-size: 1.1rem;
    margin-bottom: 0;
    font-weight: 300;
}
.mr-atuo {
    z-index: 9999999999999999999;
    position: relative;    
}
.mr-atuo img {
    max-width: 195px!important;
}
::-webkit-scrollbar {
      width: 10px;
}
::-webkit-scrollbar-track {
      background-color: rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.7);
}
::-webkit-scrollbar-button {
      background-color: rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-corner {
      background-color: rgba(0, 0, 0, 0.2);
}
.menos-sep {
    padding-bottom: 0;
}
.mt0 {
    margin-top: 0;
}
.m0 {
    margin: 0;
}
.neww.proyecto-interior .col-dato {
    top: 10vh;
    bottom: 10vh;
    left: 10vh;
    position: absolute;
    margin: 0;
}
.carousel-control-next, .carousel-control-prev {
    width: 5%;
}


/* 5 COLUMNAS */
.col-xs-n5,
.col-sm-n5,
.col-md-n5,
.col-lg-n5 {
 min-height: 1px;
 position: relative;
}
.col-xs-n5 {
 float: left;
 width: 20%;
}
@media (min-width: 768px) {
 .col-sm-n5 {
   float: left;
   width: 20%;
 }
}
@media (min-width: 992px) {
 .col-md-n5 {
   float: left;
   width: 20%;
 }
}
@media (min-width: 1200px) {
 .col-lg-n5 {
   float: left;
   width: 20%;
 }
}
/* / 5 COLUMNAS */

@media (min-width:767px) {
	.proyecto-interior .col-dato {
	    margin-left: 90px;	    
	    padding: 35px 25px 25px;	   
	}	   
	
	.proyecto-info {
	    /* min-height: 918px; */
	}
 }

@media (max-width:1200px) {
	.align-texto {
		font-size:14px!important;
	}
    #menu_desplegable .navbar-nav {
        width: 100vw!important;
    }  

}
@media (max-width:1100px) {
	.align-texto {
		font-size:14px!important;
	}
}

@media (max-width:1000px) {
	.align-texto {
		font-size:13px!important;
	}
}

@media (max-width:992px) {
	.align-texto {
		font-size:16px!important;
	}
}

@media (max-width:768px) {
	
    .neww.proyecto-interior .col-dato {
        left: 0;
    }
    .neww.proyecto-interior .col-dato {
	    left: 0;	   
	}
	.proyecto-info {
	    min-height: 800px;
	}
	.modulo-foto-full .cont-info h2, .titular-cabecera {
	    font-size: 2.8rem;
	}
	.align-texto {
		font-size:1.143rem;
	}
    #menu_desplegable .navbar-nav {
        overflow-x: hidden;
    }
    #menu_desplegable .close {
        right: 34px;
    }
 }

@media (max-width:500px) {
	
	.proyecto-info {
	    min-height: 800px;
	}
	.modulo-foto-full .cont-info h2, .titular-cabecera {
	    font-size: 2rem;
	}
	.align-texto {
		font-size:13px!important;
	}
	
 }

 /*estilos formulario*/
 .form-content {
     margin-top: 30px;
 }
 
 .form-content input,
 .form-content textarea {
    font-size: 1rem;
    color: #777;
    font-family: Raleway-Regular;
    font-weight: 400;
    border-radius: 0;
    border-bottom: 1px solid #222;
    border-top: none;
    border-left: none;
    border-right: none;
 }

 .form-content .file-control {
     border: 0;
 }

 .form-content .checkbox {
     margin-bottom: 15px;
 }
 .form-content .btn-enviar {
     background: #777;
     color: #fff;
     font-size: 1.3rem;
     border-radius: 0;
     padding: 3px 20px;
 }


 /*12/06/18*/
.px-7px {
    padding-left: 7px;
    padding-right: 7px;
}
.enlace-img img {
    width: 100%;
}


/*Numbers & counters */
.counters {
    padding: 125px 15px 50px;
}

.counters .item {
    /* background: #00a6ec; */
    text-align: center;
    color: #777;
    font-size: 18px;    
    min-height: 100px;
}


@media (max-width:480px) {
    .counters .item {
        min-height: 90px;
    }
}
@media (min-width:571px) and (max-width: 991px) {
    .counters .item {
        min-height: 150px;
    }
}


.counters hr {
    max-width: 80px;
}

.counters .item-small {
    /* background: #00a6ec; */
    text-align: center;
    color: #777;
    font-size: 14px;
}

.counters .item span {
    color: #00a6ec;
    font-size: 40px;
    font-weight: 600;
}

.counters .item span.counter-small {
    font-size: 18px;

}

.counters .intro {
    text-align: center;
    padding-bottom: 25px;
}

.counters .intro h3 {
    font-size: 24px !important;
    font-weight: 100;
}

@media (max-width:1200px) {    
    .counters .item span{
        font-size:30px;
    }  
}

header .navbar .cont-header { width: 350px\9; /* Only works in IE10 */}
.navbar-light .navbar-brand, .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
    float: left\9;
}

header .navbar .cont-header .navbar-brand .logo-header { width: 100%\9}

@media all and (-ms-high-contrast:none){
    header .navbar .cont-header { width: 350px; /* Only works in IE10 */}
    header .navbar .cont-header .navbar-brand .logo-header { width: 100%}
    *::-ms-backdrop, header .navbar .cont-header { width: 350px; /* Only works in IE10 */}
    *::-ms-backdrop, header .navbar .cont-header .navbar-brand .logo-header { width: 100%}
}

/* corregir scroll carga nuevos grupos */
.modulo-img-texto-abajo {
    overflow: hidden;
}

html body #wrapper {
    overflow: hidden;
}

/* corregir posicion menu y logo crossbrowser */
header .navbar .cont-header .navbar-toggler {
    position: absolute;
    top: 17px;
    right: 90px;
}

@media (max-width: 500px) {
    header .navbar .cont-header .navbar-toggler {
        right: 15px;
    }
}

header .navbar-light .navbar-brand {
    position: absolute;
    top: 7px;
    left: 90px;
}
    @media (max-width: 500px) {
        header .navbar-light .navbar-brand {
            left: 15px;
        }
    }

#menu_desplegable {}

    @media (max-width: 500px) {
        #menu_desplegable {
            padding: 23px 25px;
        }
    }

/* correccion posicion menu idiomas*/ 
.menu-language {
    position: absolute;
    top: 15px;
    right: 120px;
}

    @media (max-width: 420px) {
        .menu-language {
            position: absolute;
            top: 15px;
            right: 56px;
        }
    }

    @media (min-width: 421px) and (max-width: 467px) {
        .menu-language {
            position: absolute;
            top: 15px;
            right: 140px;
        }
    }

    @media (min-width: 468px) and (max-width: 991px) {
        .menu-language {
            position: absolute;
            top: 15px;
            right: 140px;
        }
    }

     @media (max-width: 768px) {
        .mr-auto img{
            max-width:145px!important;
        }
    }


    /*Newsletter flotante home*/
        .asesor-btn {
            position: fixed;
            bottom: 40px;
            left: 90px;
            z-index: 3;
            padding: 7px 25px;
            background: #009fe3;
            color: white;
            }
            .asesor-btn:hover{
            background: white;
            color: #009fe3;
        }
        .modal.right .modal-dialog {
            position: fixed;
            margin: auto;
            padding:0px 0px 31px 46px;
            width: 100%;
            margin: 0 auto;
            -webkit-transform: translate3d(0%, 0, 0);
                -ms-transform: translate3d(0%, 0, 0);
                 -o-transform: translate3d(0%, 0, 0);
                    transform: translate3d(0%, 0, 0);
        }
        .modal.right .modal-content {
            height: 100%;
        }
        .modal.right .modal-body {
            padding: 0px 15px 15px;
        }  
    /*Right*/
        .modal.right.fade .modal-dialog {
            bottom: 10px;
            /*left: 35px;*/
            -webkit-transition: opacity 0.3s linear, left 0.8s ease-out, bottom: 0.9 ease-out;
               -moz-transition: opacity 0.3s linear, left 0.8s ease-out, bottom: 0.9 ease-out;
                 -o-transition: opacity 0.3s linear, left 0.8s ease-out, bottom: 0.9 ease-out;
                    transition: opacity 0.3s linear, left 0.8s ease-out, bottom: 0.9 ease-out;
        }
        .modal.right.fade.in .modal-dialog {
            left: 0;
        }
        .modal{
            height: 50%;
            bottom: 0 !important;
            right: 0 !important;
            top: auto !important;
        }
        .modal-header {
            border-bottom-color: #EEEEEE;
            background-color: #FAFAFA;
        }

        /*Queries*/
        @media (max-width: 600px) {
              .asesor-btn {
                left: 30px;
              }
            }
        @media (max-width: 600px) {
              .modal.right .modal-dialog {
                padding-bottom: 5px;
                padding-left: 10px;
              }
            }
        @media (max-width: 600px) {
              .modal.right .modal-body {
                padding-top: 2px;
              }
            } 

        .modaletica{
            height: 100%;
            top: 0 !important;
            
        }

.alt-ofertas {
                height: 60px;
              }
             @media (max-width: 768px) {
              .alt-ofertas {
                height: 50px;
              }
            }

            @media (min-width: 1200px) {
              .alt-ofertas {
                height: 80px;
              }
            }

             @media (min-width: 768px) and (max-width: 991px) {
         .alt-ofertas {
                height: 115px;
              }
    }

       @media (min-width: 991px) and (max-width: 1200px) {
         .alt-ofertas {
                height: 110px;
              }
    }


footer #menu-footer-2 .menu-2 li {
    
    margin-right: 20px !important;
}

/*modal technology*/

@media (min-width: 991px) {
         .playYou .modal-dialog{
    max-width: 60%;
}
    }

.icon-uae{
        height: 91px;
    width: 91px;
    background-size: 50px 50px;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: center center;
    margin: auto;
}

/*NUEVOS CAMBIOS HOME 2024*/

header {
    z-index: 4;
}

/*Acordeón vertical categorias*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans);
 @import url(https://fonts.googleapis.com/css?family=Montserrat:700);
 h1 {
	 text-align: center;
	 font-family: Montserrat, sans-serif;
	 color: #333;
}
.accordion, .accordion ul li div a {
	 height: 750px;    
}
@media screen and (max-width: 600px) {
    .accordion, .accordion ul li div a {
         height: 250px;    
    }
}
.accordion {
	 width: 100%;
	 overflow: hidden;
	 margin: 50px auto;
}
.accordion ul {
	 width: 100%;
     height: 100%;
	 display: table;
	 table-layout: fixed;
	 margin: 0;
	 padding: 0;
}
.accordion ul li {
	 display: table-cell;
	 vertical-align: bottom;
	 position: relative;
	 width: 16.666%;
     height: 100%;
	 background-repeat: no-repeat;
	 background-position: center center;
	 transition: all 500ms ease;
     background-size: cover;
}
.accordion ul li div {
	 display: block;
	 overflow: hidden;
	 width: 100%;
}
.accordion ul li div a {
	 display: block;
	 width: 100%;
	 position: relative;
	 z-index: 3;
	 vertical-align: bottom;
	 padding: 15px 20px;
	 box-sizing: border-box;
	 color: #fff;
	 text-decoration: none;
	 font-family: Open Sans, sans-serif;
	 transition: all 200ms ease;
}
.accordion ul li div a * {
/*	 opacity: 0;*/
	 margin: 0;
	 width: 100%;
	 text-overflow: ellipsis;
	 position: relative;
	 z-index: 5;
	 white-space: nowrap;
	 overflow: hidden;
    /*
	 -webkit-transform: translateX(-20px);
	 transform: translateX(-20px);

	 -webkit-transition: all 400ms ease;
	 transition: all 400ms ease;
    */
}
@media screen and (max-width: 600px) {
    .accordion ul li div a * {
         -webkit-transform: translateX(0);
	     transform: translateX(0);   
    }
}
.accordion ul li div a .caption {
    margin-bottom: 30px;
}
.accordion ul li div a:hover .caption {
    position: relative;
    height: 100%;
}
.accordion ul li div a .caption h2 {
	 text-overflow: clip;
	 font-size: 24px;
	 text-transform: uppercase;
	 margin-bottom: 2px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
@media screen and (max-width: 600px) {
    .accordion ul li div a .caption h2 {
        writing-mode: initial;
        transform: rotate(0deg); 
    }
}
.accordion ul li div a .caption p {
	 font-size: 13.5px;
}
.accordion ul li div a .caption h2, .accordion ul li div a .caption p {
    font-family: 'Roboto Slab', serif!important;
}
.accordion ul li:nth-child(1) {
	 background-image: url('/dist/images/carrusel-home-infraestructuras.webp');
}
.accordion ul li:nth-child(2) {
	 background-image: url('/dist/images/carrusel-home-maritime.webp');
}
.accordion ul li:nth-child(3) {
	 background-image: url('/dist/images/carrusel-home-rail.webp');
}
.accordion ul li:nth-child(4) {
	 background-image: url('/dist/images/carrusel-home-edifica.webp');
}
.accordion ul li:nth-child(5) {
	 background-image: url('/dist/images/carrusel-home-homes.webp');
}
.accordion ul li:nth-child(6) {
	 background-image: url('/dist/images/carrusel-home-energia.webp');
}
.accordion ul:hover li, .accordion ul:focus-within li {
	 width: 8%;
}
.accordion ul li:focus {
	 outline: none;
}
.accordion ul:hover li:hover, .accordion ul li:focus, .accordion ul:focus-within li:focus {
	 width: 60%;
}
.accordion ul:hover li:hover a, .accordion ul li:focus a, .accordion ul:focus-within li:focus a {
    /*	 background: rgba(0, 0, 0, .4);*/
}
.accordion ul:hover li:hover a *, .accordion ul li:focus a *, .accordion ul:focus-within li:focus a * {
    opacity: 1;
    position: absolute;
    top: 40px;
    transform: rotate(0deg);
    writing-mode: initial;
    right: 0;
    text-align: right;
    font-size: 40px;
}
@media screen and (max-width: 600px) {
    .accordion ul:hover li:hover a *, .accordion ul li:focus a *, .accordion ul:focus-within li:focus a * {
        font-size: 24px;
        text-align: left;
    }
}
.accordion ul:hover li {
	 width: 8% !important;
}
.accordion ul:hover li a * {
	 opacity: 0 !important;
}
.accordion ul:hover li:hover {
	 width: 60% !important;
}
.accordion ul:hover li:hover a {
/*	 background: rgba(0, 0, 0, .4);*/
}
.accordion ul:hover li:hover a * {
	 opacity: 1 !important;
}
@media screen and (max-width: 600px) {
	 .accordion {
		 height: auto;
	}
	 .accordion ul li, .accordion ul:hover li, .accordion ul li:hover, .accordion ul:hover li:hover {
		 position: relative;
		 display: table;
		 table-layout: fixed;
		 width: 100%!important;
		 -webkit-transition: none;
		 transition: none;
	}
    .accordion ul li a * {
        opacity: 1!important;
    }
}
/*End Acordeón vertical categorias*/

/*Swiper slide múltiple proyectos & noticias*/

.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    /*text-align: center;*/
    font-size: 18px;
    background: #fff;
    /*display: flex;*/
    justify-content: center;
    align-items: center;
}
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
    .enlace-img{
        margin-bottom: 17px;
    }
    .swiper-slide p.titular-pfcentro {
        padding-left: 15px!important;
        font-size: 20px;
        line-height: 24px;
    }
    .swiper-slide p.titular-pfcentro small {
        line-height: 20px;
        display: block;
        margin-top: 7px;
    }
}
.top-box {
    background: #f7f7f7;
    padding: 10px;
    text-align: right;
}
.top-box .swiper-button-next, .swiper-button-prev {
    position: relative;
    background-image: none;
    height: auto;
    margin: 0px 0 0 15px;
    left: auto;

}
.top-box .swiper-button-next:after, .swiper-button-prev:after {
    color: #222;
    font-size: 13px;
    padding: 7px 10px;
    background: #ddd;
    border: solid 1px #999;
    border-radius: 35px;
}
/*Carousel slider*/
.carousel.slide .carousel-inner .carousel-item {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.carousel.slide .carousel-inner .caption {
    text-align: right;
    padding-right: 190px;
    color: #fff;
    font-family: 'Roboto Slab',serif!important;
}

@media screen and (max-width: 600px) {
    .carousel.slide .carousel-inner .caption {
        padding-right: 30px;
    }
}
.carousel.slide .carousel-inner .caption h4 {
    font-size: 2.2rem;
    line-height: 1.2em;
    font-weight: 300;
}
.carousel.slide .carousel-inner .caption h2 {
    font-size: 4.5rem;
    font-family: Merriweather-Regular;
    font-weight: 400;
    margin-top: 15px;
}
.carousel.slide .carousel-inner .caption .hvr-underline-from-center {
    font-size: 1.5rem;
    line-height: 1.6em;
    color: #fff;
    font-weight: 300;
    margin-top: 45px;
}
@media screen and (max-width: 600px) {
    .carousel.slide .carousel-inner .caption h4 {
        font-size: 1.5rem;
    }
    .carousel.slide .carousel-inner .caption h2 {
        font-size: 2.5rem;
    }
    .carousel.slide .carousel-inner .caption .hvr-underline-from-center {
        font-size: 1.4rem;
        margin-top: 15px;
    }
}
.carousel.slide .carousel-inner a {
    background: rgba(0,0,0,0.2);
    transition: all .5s ease-out;
}
.carousel.slide .carousel-inner a:hover {
    background: rgba(0,0,0,0);
    text-decoration: none!important;
    transition: all .5s ease-out;
}
.carousel.slide button {
    background: none;
    border: none;
    z-index: 9999;
}
/*Carousel slider&.modulo-cabecera*/
.carousel.slide.home .carousel-inner .carousel-item, .modulo-cabecera {
    height: 700px;
}
@media screen and (max-width: 600px) {
    .carousel.slide.home .carousel-inner .carousel-item, .modulo-cabecera {
    height: 500px;
    }
}
.titular-cabecera {
    text-align: right;    
}
/*Otros*/
a.more {
    color: #222;
    text-decoration: underline;
    font-family: 'Roboto Slab', serif!important;
    font-size: 1.1rem;
    margin-bottom: 0;
    font-weight: 300;
}
a.more.dos {
    font-size: 1.3rem;
    font-weight: 400;
}
a.more:hover {
    text-decoration: none;
}
.bg-grey {
    background: #f7f7f7;
}
.bg-blue {
    background: #009fe3;
}
.newsletter {
    color: #fff;
    padding: 30px 0;
}
@media screen and (max-width: 768px) {
    .newsletter {
        text-align: center;
    }
    .newsletter .sep {
        margin-top: 20px;
    }
}
.suscripcion-new {
    color: #fff;
    background: transparent;
    font-size: 1.1rem;
    border-bottom: solid 1px #fff;
    display: block;
    width: 100%;
    text-align: left;
}
.suscripcion-new p:after {
    content: url(/dist/images/arrow-right.webp);
    right: 27px;
    position: absolute;
    transition: all .5s ease-out;    
}
.suscripcion-new:hover p:after {
    right: 10px;
    transition: all .5s ease-out;  
}
.suscripcion-new:focus {
    box-shadow: none;
}
.blockquote blockquote.no-blockquote:before, .blockquote blockquote.no-blockquote:after {
    content: none;
}
@media screen and (max-width: 768px) {
    .pr-md-0 {
        padding-right: 15px;
    }
    .blockquote blockquote {
        font-size: 1.5rem;
    }
}   
