@charset "UTF-8";


/*!
 * LAYOUT - GLOBAL
 */


  /* 1- COMUNES */    
  /* 2- MENU */
  /* 3- SELECTOR DE IDIOMA */
  /* 4- FOOTER */ 
  /* 5- ADMIN */ 
  /* 6- CABECERAS */
  /* 7. COOKIES POPUP 







/* Fonts */

@font-face {
  font-family: 'PP Neue Montreal';
  src: url('../../fonts/PPNeueMontreal-Medium.woff2') format('woff2'),
       url('../../fontsPPNeueMontreal-Medium.woff') format('woff'),
       url('../../fontsPPNeueMontreal-Medium.ttf') format('truetype'),
       url('../../fontsglobal/PPNeueMontreal-Medium.otf') format('opentype');
  font-weight: 500; /* Medium */
  font-style: normal;
  font-display: swap; 
}




/* 1.- COMUNES */


.gin--horizontal-toolbar nav.navbar  {
	margin-top: 113px;
}

body {
	color:#000;
	font-family: 'PP Neue Montreal', sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 30px; 
}

::selection {
  background: #000000;
  color: #FFFFFF;
}

#block-ah-content {
	overflow-x: hidden;
	overflow: hidden;
}

a {
	color:#000;
}

.region-content {
    padding: 0;
    /* margin-top: -140px; */
}

h2 {
    color: #000;
    font-family: "PP Neue Montreal";
    font-size: 22px;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 24px;
}


.path-arquitectura .views-field-edit-node,
.path-urbanismo .views-field-edit-node  {
	text-align: center;
}

.views-field-edit-node a {
	background-color: #000;
	color: #FFF;
	text-decoration: none;
	font-size: 18px;
	padding: 5px 15px;
	border-radius: 8px;
	z-index: 99;
	position: relative;
}



.page-node-type-page #contenido {
    padding-top: 200px;
	padding-bottom: 100px;
}

/* Mostrar logo e idioma en negro */
.page-node-type-page .navbar-brand img,
.path-user .navbar-brand img {
    filter: brightness(0);
}
.page-node-type-page .block-language ul[data-block="nav_additional"] li a,
.path-user .block-language ul[data-block="nav_additional"] li a {
    color: #000;
}

a.scrollup {
    background-color: rgb(226, 226, 226);
    border-radius: 8px 0 0 8px;
    height: 80px;
    left: auto !important;
    right: 0;
}

/* 2.- MENÚ */
.navbar {
  position: fixed;
  top: 0;             
  left: 50%;       
  transform: translateX(-50%); /* corrección para centrar */
  width: 100%;       
  padding: 40px 0 40px 0;
  padding-left: calc(1.5rem * 0.5);
  padding-right: calc(1.5rem * 0.5);
  z-index: 9;
  transition: all 0.4s ease;
}

/*Oculatar item de menú "Inicio" y mostrarlo solo sin ha hecho scroll */
.navbar .nav-item:first-child a[data-drupal-link-system-path="<front>"] {
    width: 0;
    overflow: hidden;
    padding: 8px 0 !important;
	transition: all 0.4s ease;
    filter: invert(1);
    background-size: 30px;
    background-position-x: center;
    background-position-y: 5px;
    text-indent: -999999px;
}
.navbar.scroll .nav-item:first-child a[data-drupal-link-system-path="<front>"] {
    width: auto;
    overflow: visible;
    padding: 8px 15px 8px 15px  !important;
    margin-left: 15px;
    margin-right: 10px;
    transition: all 0.4s ease;
    background-image: url("../../logo.svg");
    background-repeat: no-repeat;
    filter: invert(1);
    background-size: 30px;
    background-position-x: center;
    background-position-y: 0px;
    text-indent: -999999px;
}


@media (min-width: 992px) {
	.navbar.scroll {
	  padding: 10px 0 40px 0;
	  padding-left: calc(1.5rem * 0.5);
	  padding-right: calc(1.5rem * 0.5);
	  transition: all 0.4s ease;
	}
}

.navbar-brand img {
	height: 50px;
 }

.navbar-nav {
	padding: 5px 9px;
}

.navbar-nav li a {
    color: #000;
    font-family: "PP Neue Montreal";
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.navbar-nav li a:hover,
.navbar-nav li a.is-active,
.navbar-nav li a.active {
    color: #808080 !important;
}

.region-nav-main {
	margin: auto;
}

#block-ah-main-navigation {
    border-radius: 50px;
    background: rgb(247 248 242 / 70%);
    height: 50px;
	transition: all 0.4s ease;
}


/* Cambiar color al LOGOTIPO */
.path-urbanismo .navbar-brand img,
.path-arquitectura .navbar-brand img {
     filter: invert(1);
}

/* Cambiar color al fondo MENU */
.path-urbanismo #block-ah-main-navigation, 
.path-arquitectura #block-ah-main-navigation  {
	/* background: rgba(0, 0, 0, 0.03); */
	background-color: #f7f7f7;
}

/* Cambiar color al selector IDIOMA */
.path-urbanismo .block-language ul[data-block="nav_additional"] li a,
.path-arquitectura .block-language ul[data-block="nav_additional"] li a {
	color:#000;
}





/* Ocultar logo e Idiomas al hacer scroll, salvo en móviles */

/* Efecto general para logo y language-switcher */
#block-ah-branding,
#block-ah-alternadordeidiomacontenido {
  transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 1;
  transform: translateY(0);
}

/* Cuando hacemos scroll */
.hide-on-scroll {
  opacity: 0 !important;
  transform: translateY(-10px);
  pointer-events: none;
}

/* Excepción para móviles (<992px) */
@media (max-width: 991px) {
  #block-ah-branding.hide-on-scroll,
  #block-ah-alternadordeidiomacontenido.hide-on-scroll {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }
}







/* 3- SELECTOR DE IDIOMA */


.block-language {
    padding-top: 18px; 
}

.block-language ul[data-block="nav_additional"] li {
	padding: 0;
    list-style: none;
    text-transform: uppercase;
}

.block-language ul[data-block="nav_additional"] li a {
	color:#FFF;
	text-decoration: none;
}

.block-language ul[data-block="nav_additional"] li.is-active {
	display: none;
}


.path-arquitectura main,
.path-urbanismo main {
    padding-top: 190px;
} 



/* 4- FOOTER */

footer a.site-logo img {
 	filter: invert(1);
}

footer .menu {
    padding-top: 15px;
}

footer .menu ul.navbar-nav {
 	padding: 0;
}

footer .menu ul.navbar-nav li a {
	font-size: 22px;
	font-weight: 500;
	line-height: 30px; 
	padding: 0 !important;
}

footer .label {
	font-size: 18px;
	font-weight: 500;
	line-height: 30px; 
}






/* 5- ADMIN */

.user-logged-in .dialog-off-canvas-main-canvas {
	/* margin: 0 min(5vw, var(--gin-spacing-xxl)); */
}

.path-user .region.region-content {
    margin: 110px auto 80px auto !important;
    padding: 30px 30px !important;
    background-color: #f9faf6;
    border-radius: 20px;
    max-width: 600px;
}

body.toolbar-fixed nav.tabs {
	background: #f5f5f2;
	position: fixed;
	left: 0;
	border-radius: 0;
	bottom: 0;
	z-index: 999999;
	font-size: 16px;
}

.tabs-primary {
    margin: 0.5rem 0;
}


/* 6- CABECERAS */

.block-block-content58ea5bbc-6a74-4445-a999-e608213244d0,
.block-block-contenteb775cb9-d22b-4eff-b61f-acdcb05bb199 {
    position: relative;
}

.block-block-content58ea5bbc-6a74-4445-a999-e608213244d0 .titulo,
.block-block-contenteb775cb9-d22b-4eff-b61f-acdcb05bb199 .titulo {
	position: absolute;
	bottom: 20px;
	color: #FFF;
	font-family: "PP Neue Montreal";
	font-size: 42px;
	font-weight: 500;
	line-height: 50px;
	left: 50%;
	transform: translateX(-50%);
}

/* Imagen Cabecera Consultoría */
.block-block-contenteb775cb9-d22b-4eff-b61f-acdcb05bb199 img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	filter: brightness(0.6);
	border-radius: 0 0 16px 16px;
	min-height: 600px;
}

/* Imagen Cabecera Nosotros */
.block-block-content58ea5bbc-6a74-4445-a999-e608213244d0 img {
	height: 100vh;
    filter: brightness(0.6);
    border-radius: 0 0 16px 16px;
    min-height: 600px;
    width: 100%;
    object-fit: cover;
    object-position: bottom right;
}


@media (max-width: 660px) { /* Desplazar la imagen a la derecha 240px*/

	.block-block-content58ea5bbc-6a74-4445-a999-e608213244d0 img {
		object-position: calc(50% + -240px) bottom;
	}
	
}





/* 7. COOKIES POPUP
------------------------*/

#popup-text h2 {
    text-transform: none;
    border: 0px solid;
    padding: 5px 0;
}

div#sliding-popup, 
div#sliding-popup .eu-cookie-withdraw-banner, 
.eu-cookie-withdraw-tab {
    z-index: 8;
}



#sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-withdraw-tab {
    color: #ffffff;
    max-width: 95%;
    padding-top: 3px;
}

#sliding-popup {
    height: auto;
    width: 25% !important;
	bottom: 0px;
}

#popup-buttons{
    margin-top: 15px;
}

div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {
    background: #000;
}

#sliding-popup .eu-cookie-compliance-banner {
    padding-top: 30px;
    border-radius: 0;
    letter-spacing: 0.05em;
    padding-bottom: 20px;
    border-left: 0;
}

#sliding-popup .eu-cookie-withdraw-tab {
    position: absolute;
    top: 1px;
    transform: translate(0,-100%);
    left: -3px;
    padding: 5px 15px 0px 10px;
    letter-spacing: 0.08rem;
    border-top: 1px solid #c3c3c3;
    border-right: 1px solid #c3c3c3;
    border-bottom: 0;
    border-left: 0;
    text-indent: -9999px;
    border-radius: 0 20px 0 0;
    border: 0;
    width: 38px;
    height: 35px;
}

#sliding-popup .eu-cookie-withdraw-tab::after {
    content: "";
    background-image: url(../../images/cookie-icon.png);
    border: none;
    width: 22px;
    height: 40px;
    display: block;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 7px;
    left: 7px;
}

.sliding-popup-bottom .eu-cookie-withdraw-tab {
    border-width: 0;
    border-radius: 0 5px 0 0;
}

#sliding-popup .eu-cookie-compliance-content {
    padding: 0px 3% 0 3%;
    max-width: none;
	display: flex;
    flex-direction: column;
}

.eu-cookie-compliance-category {
    padding-bottom: 15px;
    font-size: 16px;
}

.eu-cookie-compliance-message p {
    font-size: 14px;
    display: inline;
    font-weight: 100;
}

.eu-cookie-compliance-categories label {
    padding-left: 5px;
}

.eu-cookie-compliance-categories {
    height: 90px;
    overflow-y: scroll;
    background-color: #000;
    padding: 15px 0;
}

.eu-cookie-compliance-category-description {
		font-size: 14px;
}

.disagree-button.eu-cookie-compliance-more-button,
.eu-cookie-compliance-agree-button,
.eu-cookie-compliance-default-button,
.eu-cookie-compliance-hide-button,
.eu-cookie-compliance-more-button-thank-you,
.eu-cookie-withdraw-button,
.eu-cookie-compliance-save-preferences-button {
    -moz-box-shadow: inset 0 0px 0 0 #ffffff;
    -webkit-box-shadow: inset 0 0px 0 0 #ffffff;
    box-shadow: inset 0 0px 0 0 #ffffff;
    background-color: #fff;
    background-image: none;
    border-radius: 0px;
    border: 1px solid #dcdcdc;
    color: #000;
    font-weight: 400;
    padding: 4px 8px;
    text-decoration: none;
    text-shadow: 0;
    letter-spacing: 0.05rem;
}

.disagree-button.eu-cookie-compliance-more-button:hover,
.eu-cookie-compliance-agree-button:hover,
.eu-cookie-compliance-default-button:hover,
.eu-cookie-compliance-hide-button:hover,
.eu-cookie-compliance-more-button-thank-you:hover,
.eu-cookie-withdraw-button:hover {
  background-color: #000000 !important;
  background-image: -moz-linear-gradient(top, #000000 5%, #000000 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #000000), color-stop(100%, #000000));
  background-image: -webkit-linear-gradient(top, #000000 5%, #000000 100%);
  background-image: -o-linear-gradient(top, #000000 5%, #000000 100%);
  background-image: -ms-linear-gradient(top, #000000 5%, #000000 100%);
  background-image: linear-gradient(to bottom, #000000 5%, #000000 100%);
		border: 1px solid #FFF !important;
    -moz-box-shadow: inset 0 0px 0 0 #ffffff;
    -webkit-box-shadow: inset 0 0px 0 0 #ffffff;
    box-shadow: inset 0 0px 0 0 #ffffff;
	    font-weight: 400;
}

