/*
Theme Name: Aspor 
Description: This is a child theme Aspor
Author: UNANIME
Template: flatsome
Version: 1.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@font-face {
    font-family: 'Nohemi';
    src: url('./fonts/Nohemi-Light.woff2') format('woff2'),
        url('./fonts/Nohemi-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nohemi';
    src: url('./fonts/Nohemi-Medium.woff2') format('woff2'),
        url('./fonts/Nohemi-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nohemi';
    src: url('./fonts/Nohemi-Bold.woff2') format('woff2'),
         url('./fonts/Nohemi-Bold.woff') format('woff');
    font-weight: 700; 
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nohemi';
    src: url('./fonts/Nohemi-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: swap;
}

@font-face {
    font-family: 'Nohemi';
    src: url('./fonts/Nohemi-ExtraLight.woff2') format('woff2'),
         url('./fonts/Nohemi-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}


:root {
    --colorprimary:#004F71;
    --colorsecondary:#855C78;
}

body {
	font-family:"Nohemi", sans-serif;
	font-weight: 300;
	letter-spacing: .021em;
}

.txt-m-0 * {
    margin:0!important;
}

.txt-mb-0 * {
    margin-bottom:0;
}

.button-m-0 {
    margin:0!important;
}

.ls-negative {
    letter-spacing: -.012em;
}

h1, .banner h1, h2, .banner h2, h3, .banner h3, h4,  .banner h4, h5,  .banner h5, h6,  .banner h6 {
    font-size: 1em;
    line-height:inherit;
    font-weight: 300;
}

strong {
    font-weight: 700;
}

h2 strong {
    font-weight: 500;
}

.strong-500 strong {
    font-weight: 500;
}

.banner {
    background:none;
}

.banner a.fill {
    z-index: 2;
}

.banner:has(a.fill) .text-box {
    z-index: 1;
}

.banner-height-fit {
	height:100%;
}

.balance {
    text-wrap: balance;
}

.pretty {
    text-wrap: pretty;
}

.uppercase {
	letter-spacing: 0;
}

.fw-200, .fw-200 > * {
    font-weight:200!important;
}

.fw-300, .fw-300 > * {
    font-weight:300!important;
}

.fw-400, .fw-400 > * {
    font-weight:400!important;
}

.fw-500, .fw-500 > * {
    font-weight:500!important;
}

.fw-600, .fw-600 > * {
    font-weight:600!important;
}

.fw-700, .fw-700 > * {
    font-weight:700!important;
}

.fw-900, .fw-900 > * {
    font-weight:900!important;
}

.doubled-font > * {
    font-size:2em!important;
}

.image-bg-darken {
    background: rgb(245, 245, 245);
}
.image-bg-darken img {
    mix-blend-mode: darken;
}

.image-height-fit .col-inner, .image-height-fit .img:not(.logo), .image-height-fit .img:not(.logo) > div, .image-height-fit .img:not(.logo) .img-inner {
    height:100%;
}

.image-height-fit .img:not(.logo) .img-inner > img {
    height:100%;
    object-fit:cover;
    object-position:center center;
}

.image-height-fit .img.logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
} 

.image-height-fit .img.logo img {
    margin:0 auto;
}

.logo.centered-image img {
	margin:0 auto;
}

.ux-logo .ux-logo-link {
    padding: 0!important;
}

.z-index-2 {
    z-index: 2;
}

.pad-left-col>.col-inner {
    padding-left: max(15px,calc((100vw - 1800px)/2))!important
}

.pad-right-col>.col-inner {
    padding-right: max(15px,calc((100vw - 1800px)/2))!important
}

/* HEADER AND MENU */
.header .header-nav > li > a {
    font-size:1rem;
    font-weight: 300;
    letter-spacing: 1.92px;
}

.header .header-inner {
    border-bottom:1px solid #fff;
} 
.header .header-nav li {
    margin:0 clamp(7px,2vw,28px);
}
.nav > li > a, .html_topbar_left {
    font-size: 1rem;
    letter-spacing: 1.92px;
}

.header-wrapper.stuck .header-bg-container {
    box-shadow: 1px 1px 10px rgba(0, 0, 0, .15);
}

.header-wrapper.stuck .header-nav > li > a,.header:not(.transparent) .header-wrapper .header-nav > li > a {
    color:var(--colorprimary);
    opacity: 1;
    transition: .2s opacity linear;
}
.header-wrapper.stuck .header-nav > li > a:hover {
    opacity: .75;
}

.megamenu-menu .ux-menu-link__link {
    font-size: 1.5rem;
    color:var(--colorprimary)!important;
    padding:0;
    font-weight: 300;
    opacity: 1;
}

.megamenu-menu .ux-menu-link__link:hover {
    opacity: .75;
}

.section.megamenu-section {
    padding:0;
    max-width: 1550px;
    margin:0 auto;
}
.megamenu-image-col .button {
    position: absolute;
    bottom:40px;
    right:40px;
    padding-left:40px;
    padding-right:40px;
}

.megamenu-image-col .button span {
    color:#fff;
}

.megamenu-image-col .button i {
    color:#fff;
}


.menu-list p {
    margin-bottom: 24px;
}

/* ############### */
.button {
    font-size: unset;
    line-height: 1 !important;
    min-height: unset;
    letter-spacing: 0;
    position: relative;
    padding:16px 22px 14px 22px;
    z-index: 1;
    border-radius:3px;
}

.button i {
    top: -1px;
    margin-left: 10px;
}
.button span {
    display: inline-block;
    line-height: 1;
	letter-spacing: 1.68px;
	font-size: 16px;
    font-weight: 300;
}

.button.white.is-outline {
    border:1px solid #fff;
    padding-top: 13px;
    padding-bottom: 13px;
    background:transparent;
    background-color:unset!important;
}

.button.white.is-outline:hover {
    background: rgba(255, 255, 255, 0.20)!important;
    backdrop-filter: blur(17px);
}

.button.white.is-outline span {
    color:#fff;
}

.button.white.is-outline i {
    color:#fff;
}

.button .icon-angle-right {
    font-size: 20px;
}

.button-blur-white {
	border: 1px solid rgba(255, 255, 255, 0.21);
	background: rgba(255, 255, 255, 0.30);
	backdrop-filter: blur(17px);
	display: inline-flex;
	padding: 13px 22px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	
}

/* CONTENEDOR GENERAL */
.servicios-acordeon {
    position: relative;
    width: 100%;
    font-family: inherit;
    color: #fff;
    background-color: #004262;
}

/* CADA FILA */
.servicio-item {
    position: relative;
    overflow: hidden;
    background-color: #004262;
    border-bottom: 1px solid rgba(255, 255, 255, 0.75);
    height: 72px; /* altura cerrada por defecto, se ajusta vía JS */
    transition: height 0.4s ease, background-color 0.3s ease;
}

/* Fila activa: altura fija 620px (según requisito) */
.servicio-item.is-active {
    height: 620px;
    background-color: #000; /* se verá el vídeo por encima */
}

/* VIDEO OCUPANDO TODA LA FILA */
.servicio-video-wrapper {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.servicio-item.is-active .servicio-video-wrapper {
    opacity: 1;
}

.servicio-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.servicio-content .button.primary {
    max-width: fit-content;
}


/* Oscurecemos ligeramente para legibilidad del texto */
.servicio-video-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 79, 113, 0.55);
    mix-blend-mode: multiply;
}

/* CABECERA (USADA PARA ABRIR/CERRAR) */
.servicio-header {
    width: 100%;
    border: 0;
    background: rgba(0, 66, 98, 0.95);
    color: #fff;
    padding: 0.6rem 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: left;
    cursor: pointer;
    position: relative;
    z-index: 3; /* por encima del vídeo */
}

/* En activo, la cabecera se coloca abajo y sin fondo (se ve el vídeo) */
.servicio-item.is-active .servicio-header {
    position: absolute;
    left: 0;
    bottom: 0rem;
    right: 50%;
    background: transparent;
    padding-right: 2.5rem;
    margin: 0;
}

.servicio-item.is-active h3.servicio-title {
    opacity: 1;
}

/* Hover filas cerradas */
.servicio-item:not(.is-active):hover .servicio-header {
    background: rgba(0, 93, 136, 1);
}

/* ICONO + / - */
.servicio-toggle-icon {
    width: 18px;
    height: 18px;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.servicio-toggle-icon::before,
.servicio-toggle-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2px;
    background: #fff;
    transform: translate(-50%, -50%);
}

.servicio-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* Fila activa: cruz girada 45º */
.servicio-item.is-active .servicio-toggle-icon {
    transform: rotate(45deg);
}

/* Hover en filas cerradas: el + gira */
.servicio-item:not(.is-active):hover .servicio-toggle-icon {
    transform: rotate(90deg);
}

/* TÍTULO */
.servicio-title {
    font-size: 3.625rem;
    padding: 32px;
    text-transform: uppercase;
    margin: 0;
    color:#FFF;
    opacity: .6;
}

/* BLOQUE DE TEXTO Y BOTÓN (ABAJO A LA DERECHA) */
.servicio-body {
    position: absolute;
    bottom: 0rem;
    right: 0;
    left: 60%;
    z-index: 3;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.35s ease, transform 0.35s ease;
    pointer-events: none; /* no clickable cuando está cerrado */
}

/* Solo visible cuando está activo */
.servicio-item.is-active .servicio-body {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.servicio-content {
    padding: 1.8rem 3rem;
    background: none; /* sin fondo, se ve el vídeo */
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    font-size: 1.125rem;
}

.servicio-text {
    font-size: inherit;
    line-height: 1.6;
    font-size: 1.125rem;
}
.proyectos-home-slider {
    position: relative;
    z-index: 2;
}
.ellipse-shadow:after {
   content: "";
    left: 40px;
    right: 40px;
    height: 100%;
    position: absolute;
    top: 100%;
    opacity: 0.35;
    background: #000;
    mix-blend-mode: multiply;
    filter: blur(50px);
    border-radius: 100%;
    z-index: 0;
    transform: rotateX(75deg) translateY(-205%)
}

.ellipse-shadow > * {
    z-index: 2;
}

#content .logos-gallery .gallery-col {
    min-height: 100%;
    display: flex;
    align-items: center;
}

/*Post Item Blog*/
.post-item .col-inner {
    padding:0 10px;
}
.post-item .box-image {
    margin-bottom:30px;
}
.post-item .box-text {
    padding:0;
}

.post-item .post-title {
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    line-height: 1.2; /* 24.16px */
    letter-spacing: 0.4px;
}
.post-item .button.primary {
    padding:0;
    border: 0;
}
.post-item .button.primary {
    padding:0;
    margin-top: 10px;
} 
.post-item .button.primary span {
    color:#fff;
} 

.post-item .button.primary i {
    color:#fff;
} 

 .post-item .post-title a {
    color:#fff;
 }

 .post-item:has(a:hover) img {
    transform:scale(1.05);
 }

/* SUB-SERVICIOS */

.subservice-list {  }

.subservice-list h2 a {
    letter-spacing: 0;
    text-shadow: none;
    transition: all 0.3s ease;
    display: block;
}
.subservice-list h2:hover a { 
    margin-left: 25px;
    letter-spacing: 0.02em;
    text-shadow: 0 0 0.8px currentColor; 
}


.subservices-tabs ul {
    margin-bottom: 20px;
}

.subservices-tabs .nav-pills > li > a {
    border-radius: 3px;
    padding: 3px 22px;
    margin-right: 15px;
}

.subservices-tabs .nav-pills > li > a:after {
    content: "\f105";
    speak: none !important;
    display: inline-block;
    font-display: block;
    font-family: fl-icons !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-weight: 300 !important;
    line-height: 1;
    margin: 0 0 0 10px;
    padding: 0;
    position: relative;
    text-transform: none !important;
}

.subservices-tabs .nav-pills > li.active > a:after {
    content: "\f107";
}

.subservices-tabs .nav-pills > li > a {
    border: 1px solid rgba(0, 79, 113, 0.25);
    background: #FFF;
    color:var(--colorprimary);
    backdrop-filter: blur(17px);
}

.subservices-tabs .nav-pills > li.active > a {
    border: 1px solid rgba(0, 79, 113, 0.25);
    background: var(--colorprimary);
    color: #FFF;
    backdrop-filter: blur(17px);
}

.caso-exito-video-banner .text-box, .caso-exito-video-banner .text-box-content,  .caso-exito-video-banner .text-inner, .caso-exito-video-banner .video-button-wrapper, .caso-exito-video-banner .video-button-wrapper a {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none !important;
}
.caso-exito-video-banner .video-button-wrapper a {
    background:transparent!important;
    border:none;
}

.caso-exito-video-banner .video-button-wrapper a:before{
    content:"";
    position: absolute;
     width:96px;
    height: 96px;
    background:url(/wp-content/uploads/2026/01/video-play-button.svg) 35px center no-repeat,rgba(255, 255, 255, 0.22);
    background-size:35px;
    backdrop-filter: blur(17px);
    left: 50%;
    top: 50%;
    transform:translate(-50%,-50%);
    border-radius:99px;
}
.caso-exito-video-banner .video-button-wrapper a i {
    display: none;
}

/*.caso-exito-video-banner .text-box-content {
   
}*/

.campos-estudio {}

.campos-estudio > .col {
    padding-bottom: 0;       
}

.campos-estudio > .col:not(:last-of-type)::after {
    content: ' ';
    width: 1px;
    height: 80%;
    top: 10%;
    right: 0;
    background-color: var(--colorprimary);
    position: absolute;
}

/* NOSOTROS */
.mision-vision-valores .accordion-title {
    padding-left:0;
    transition:.3s padding-left linear;
}

.mision-vision-valores .accordion-title.active {
    background-color: var(--colorprimary);
    font-weight: 500;
    padding-left:30px;
}

.mision-vision-valores.accordion .toggle {
    color: #FFF !important;
    left: 95% !important;
}

.mision-vision-valores .accordion-title {
    font-size: 1.45rem;
    letter-spacing: 1.5px;
    padding: 1em 0em;
}

.mision-vision-valores .accordion-title span {
    color: #fff;
}

.mision-vision-valores .accordion-inner {
    padding: 40px 0 0 0;
    max-width: 760px;
}

.mision-vision-valores .accordion-title {
    border-top: 0;
    border-bottom: 1px solid #fff;
}

.mision-vision-valores .accordion-title button {
    display: none;
}

.mision-vision-valores > .accordion-item {
    margin-top: 30px;
}

.bg-nosotros-empleo {
    background-image: 
        linear-gradient(rgba(0, 79, 113, 0.45), rgba(0, 79, 113, 0.45)),
        url('/wp-content/uploads/2026/04/TRABAJA-EN-ASPOR-ENGINEERING-2-1.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* TRABAJA CON NOSOTROS */

.valores h3 {
    margin: 0 0 48px 0;
    line-height: 1.2;
    color: #ffffff;
    font-family: inherit;
    letter-spacing: .5px;
}

.valores span {
    margin-right: 2px;
}

.comprometidos-text ul li {
    list-style-type:none;
    margin:0 0 30px 0;
}

.comprometidos-text strong {
    font-size:1.8181em;
}

/* .and-font{
    font-family: sans-serif;
    font-weight: 600;
} */
.col-principios{
    min-height: 590px;
}
/* OFERTAS EMPLEO */

.oe-wrap{display:flex;flex-direction:column;gap:22px}
  .oe-card{
    position:relative;
    border-radius:0;
    overflow:hidden;
    background:#0b4d6a;

  }
  .oe-inner{
    display:grid;
    grid-template-columns: 1.05fr 2fr;
    gap:26px;
    align-items:center;
    padding:40px 42px;
    min-height:260px;
  }
  .oe-media{display:flex;align-items:center;justify-content:center}
  .oe-media img{max-width:100%;height:auto;display:block}
  .oe-content{color:#fff}
  .oe-content .button{
    margin-bottom: 0;
  }
  .oe-title{
    margin:0 0 12px 0;
    font-weight:300;
    font-size:42px;
    line-height:1.2;
    text-transform:uppercase;
    color: #FFF;
  }
  
  .oe-desc{
    margin:0 0 18px 0;
    font-weight:300;
    font-size:1.125rem;
    line-height:1.2;
    opacity:1;
    max-width:560px;
    margin-bottom:40px;
  }
  
  .oe-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:4px;
    text-decoration:none;
    background:rgba(255,255,255,0.15);
    border:1px solid rgba(255,255,255,0.18);
    color:#fff;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    transition: all .2s ease;
  }
  
  .oe-btn:hover{background:rgba(255,255,255,0.22); color: #FFF; }
  .oe-btn .oe-arrow{font-size:18px;line-height:1;opacity:.9}
  
  .contacto-map {
    position:relative;
    height: calc(100% - 90px);
  }

.contacto-map iframe {
    position: absolute;
    width:100%;
    height: 100%;
    top: 0;
    left:0;
    filter: grayscale(1);
}

.contacto-card {
    position: absolute;
    max-width: 430px!important;
    top:100px;
    left:10px;
    z-index: 3;
}

  @media (max-width: 991px){
    .oe-inner{grid-template-columns:1fr;padding:26px 22px}
    .oe-title{font-size:32px}
  }


/* FORMULARIO */

.form-contacto-aspor input[type=text],
.form-contacto-aspor input[type=password],
.form-contacto-aspor input[type=email],
.form-contacto-aspor input[type=number],
.form-contacto-aspor input[type=url],
.form-contacto-aspor input[type=tel],
.form-contacto-aspor input[type=search],
.form-contacto-aspor select,
.form-contacto-aspor textarea,
.form-contacto-aspor .frm-card-element.StripeElement,
.form-contacto-aspor input[type=text]:focus,
.form-contacto-aspor input[type=password]:focus,
.form-contacto-aspor input[type=email]:focus,
.form-contacto-aspor input[type=number]:focus,
.form-contacto-aspor input[type=url]:focus,
.form-contacto-aspor input[type=tel]:focus,
.form-contacto-aspor input[type=search]:focus,
.form-contacto-aspor select:focus,
.form-contacto-aspor textarea:focus,
.form-contacto-aspor .frm-card-element.StripeElement:focus,
.form-contacto-aspor input[type=text]:active,
.form-contacto-aspor input[type=password]:active,
.form-contacto-aspor input[type=email]:active,
.form-contacto-aspor input[type=number]:active,
.form-contacto-aspor input[type=url]:active,
.form-contacto-aspor input[type=tel]:active,
.form-contacto-aspor input[type=search]:active,
.form-contacto-aspor select:active,
.form-contacto-aspor textarea:active,
.form-contacto-aspor .frm-card-element.StripeElement:active{
    display: flex;
    padding: 13px 22px;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 3px;
    border: 1px solid rgba(255, 255, 255, 0.21) !important;
    background: rgba(255, 255, 255, 0.30) !important;
    backdrop-filter: blur(5px);
    font-size: 16px;
    letter-spacing: 0.32px;
    color: #FFF!important;
    height: auto;
    font-weight: 300;
}

.form-contacto-aspor .rgpd label,
.form-contacto-aspor .rgpd label a {
    color: #FFF;
}

.form-contacto-aspor .frm_submit {
    text-align: right;
}

.form-contacto-aspor .frm_submit button.frm_button_submit {
    margin: 0;
    letter-spacing: 1.68px;
    color: var(--colorprimary);
    border-radius: 3px;
    padding: 13px 22px;
    border: 1px solid rgba(255, 255, 255, 0.21);
    background: #FFF;
    backdrop-filter: blur(17px);
    box-shadow: none;
    border-color: rgba(0, 93, 136, 1) !important;
}

.form-contacto-aspor .frm_submit button.frm_button_submit:hover {
    background: #855C78;
}

.form-contacto-aspor .frm_submit button.frm_button_submit i {
    font-size:20px;
    margin-left:10px;
}

.form-contacto-aspor ::placeholder {
   color: #FFF !important; 
   opacity: .6;
   font-size: 1rem!important;
}
#content .form-contacto-aspor .rgpd {
    margin-top: 15px;
}
 #content .form-contacto-aspor .rgpd label {
      padding-left:30px;
      position: relative;  
}

#content .form-contacto-aspor .rgpd label input {
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    border: 1px solid rgba(255, 255, 255, 0.21);
    background: rgba(255, 255, 255, 0.30);
    backdrop-filter: blur(17px);
}


/* PÁGINA SERVICIOS */

section.section-servicios {
    min-height: calc(100vh - 90px)!important;
}

.section-servicios .section-content, 
.section-servicios .row,
.section-servicios .col-inner  {
    min-height: calc(100vh - 90px);
}
.section-servicios .change-text > .col {
    padding-bottom: 0;
}
.section-servicios .change-text > .col > .col-inner {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    padding-bottom: 0;
}

.section-servicios .row.change-text {
    opacity: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-left:0;
    margin-right: 0;
    padding-left:30px;
    padding-right: 30px;
    pointer-events: none;
}

.section-servicios .change-text.active {
    opacity: 1;
    transition: .5s opacity ease-in;
    transition-delay: .2s;
    pointer-events: auto;
}

.index-column > .col-inner {
    display: flex;
    justify-content: center;
    flex-flow: column;
}

.index-column h2 {
    opacity: .3;
    cursor: pointer;
    transition: .4s opacity linear;
}
.change-text {
    display: none;
}

.image-change {
    background-image:url(/wp-content/uploads/2025/12/aspor-placeholder-servicios.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
/* Single Proyecto */

.proyecto-template-default .blog-wrapper {
    padding:0;
}

.proyecto-template-default .project-category {
    color: rgba(0, 79, 113, 0.25);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.1; /* 16.632px */
    letter-spacing: 1.12px;
    text-transform: uppercase;
    padding:15px 25px 14px 25px;
    border-radius:20px;
    border:1px solid rgba(0, 79, 113, 0.25);
    max-width: fit-content;
    margin-bottom:30px;
}

.proyecto-template-default .project-title h1 {
    font-size: 3.375rem;
    font-weight: 300;
    line-height: 1.2; /* 60.379px */
    text-transform: uppercase;
    margin-bottom:0;
}

.project-info-row {
    display: flex;
    flex-flow:row wrap; 
    padding:32px 0;
    border-top: 1px solid rgba(0, 79, 113, 0.30);
}

.project-info-row > .project-info-item {
    width: 33.33333333%;
}

.project-info-row > .project-info-item > * {
    display:block;
    font-size: 1rem;
}

.project-info-row > .project-info-item > strong {
    font-weight: 500;
}

.proyecto-evolucion h2 {
    border-bottom:1px solid #fff;
    padding-bottom:25px;
    max-width: fit-content;
}

.project-evolution-slider .flickity-page-dots {
    bottom:-50px;
    display: flex;
    flex-flow: row nowrap;
    left:24%;
    right: 24%;
}

.project-evolution-slider .flickity-page-dots .dot {
    width:100%;
    height: 1px;
    border:0;
    border-radius:0;
    background:#fff;
    opacity: .6;
    margin:0 5px;
}

.project-evolution-slider .flickity-prev-next-button {
    opacity: 1;
    width: 30px;
    height: 30px;
    bottom: -66px;
    min-height: unset;
    top: unset;
    transform:unset;
    border: 1px solid rgba(255, 255, 255, 0.21);
    border-radius:99px;
    transition:.3s background-color linear;
}

.project-evolution-slider .project-challenge {
    font-size: 1.125rem;
    line-height: 1.5;
}

.project-evolution-slider .project-solution {
    font-size: 1.125rem;
    line-height: 1.5;
}



.project-evolution-slider .flickity-prev-next-button.previous {
    left:20%;
    background: url(/wp-content/uploads/2026/01/image-slider-prev.svg) center center no-repeat,rgba(255, 255, 255, 0.30);
    background-size:14px;
}

.project-evolution-slider .flickity-prev-next-button.previous:hover {
    background: url(/wp-content/uploads/2026/01/image-slider-prev.svg) center center no-repeat,rgba(255, 255, 255, 0.50);
    background-size:14px;
}

.project-evolution-slider .flickity-prev-next-button.next {
    left:unset;
    right:20%;
    background: url(/wp-content/uploads/2026/01/image-slider-next.svg) center center no-repeat,rgba(255, 255, 255, 0.30);
    background-size:14px;
}
.project-evolution-slider .flickity-prev-next-button.next:hover {
    background: url(/wp-content/uploads/2026/01/image-slider-next.svg) center center no-repeat,rgba(255, 255, 255, 0.50);
    background-size:14px;
}

.project-evolution-slider .flickity-prev-next-button svg {
   display: none;
}

.project-evolution-slider .proyect-evolution-image  {
    padding-top:50%!important;
}

.project-evolution-slider .proyect-evolution-image > img  {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-video {
    box-shadow: 0 376px 105px 0 rgba(0, 0, 0, 0.00), 0 240px 96px 0 rgba(0, 0, 0, 0.01), 0 135px 81px 0 rgba(0, 0, 0, 0.04), 0 60px 60px 0 rgba(0, 0, 0, 0.07), 0 15px 33px 0 rgba(0, 0, 0, 0.09);
    position: relative;
    padding-top:56.21%;
}

.project-video > video {
    position: absolute;
    width: 100%;
    height:100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center center;
}

.project-colaboradores-row {
    display: flex;
    flex-flow:row wrap;
    align-items: stretch;
    justify-content: space-between;
}
.project-colaboradores-row > .project-colaborador {
    width:33.3333333%;
    max-width: 310px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
}

.project-colaboradores-row .project-colaborador-logo {
    margin-bottom: 20px;
}

.project-colaboradores-row .project-colaborador-participacion {
    font-size: 1.125rem;
}

.proyecto-prensa .nota-prensa-row {
    padding:clamp(50px,5vw,120px) clamp(20px,2.5vw,60px) clamp(40px,4vw,80px)!important;
    color:#fff;
}

.proyecto-prensa .nota-prensa-row h3 {
    font-size: 2.9375rem;
    font-weight: 300;
    line-height: 1.2;
    text-transform: uppercase;
    color:#fff;
    margin-bottom:40px;
}
.proyecto-prensa .nota-prensa-row .col-description {
    font-size: 1.125rem;
    line-height: 1.3;
} 

.proyecto-prensa .nota-prensa-row + .nota-prensa-row {
    margin-top:40px;
}
.net-bg .col-inner:before {
    content:"";
    position: absolute;
    width: 100%;
    height: 100%;
    background:url(/wp-content/uploads/2026/01/empresas-bg.svg) center center no-repeat;
    background-size:contain;
    opacity: .15;
}


/*Footer Oculto*/

#footer {
    display: none!important;
}

.custom-footer .ux-menu .ux-menu-link__link {
    min-height: 0;
    padding:0;
    line-height: 1.1;
    font-size: 1rem;
    color:#fff;
    opacity: 1;
    padding:5px 0;
}
.custom-footer .ux-menu-link:hover .ux-menu-link__link  {
    color:#fff;
}

.custom-footer .ux-menu .ux-menu-link__link:hover {
    opacity: .85;
}

.custom-footer .footer-primary-menu .ux-menu-link__link {
    letter-spacing: 1.92px;
    margin-bottom:20px;
}
.custom-footer .footer-secondary-menu  .ux-menu-link__link {
    letter-spacing: .16px;
}

.custom-footer .text a {
    color:#fff;
}

.legal-links a {
color:#fff;
margin:0 5px;
transition: .2s opacity linear;
}

.legal-links span {
color:#fff;
opacity: .65;
}

.legal-links a:hover {
    opacity: .85;
}

/*single post*/
.single-post .entry-title {
    color: #004F71;
    font-size: 2.9357rem;
    font-weight: 300;
    line-height: 120%;
    text-transform: uppercase;
    margin-bottom: 0;
}

.single-post .gap-large {
    padding-top: 5vh;
}

.single-post .col:has(.entry-title) {
    padding: 0px !important;
}

.single-post .info-single-post>div:first-child {
    padding: 40px;
    background-color: rgba(0, 79, 113, 1);
}

.single-post .info-single-post>div:last-child {
    padding: 40px;
    background-color: rgba(245, 245, 245, 1);
}

.single-post .info-single-post .avatar {
    width: 165px;
    border-radius: 200px;
}

.single-post .info-single-post .name-autor {
    color: #FFF;
    font-size: 24px;
    font-weight: 500;
    line-height: 120%;
    text-transform: uppercase;
}
.single-post .info-single-post .cargo, .single-post .info-single-post .empresa, .single-post .info-single-post .departamento {
    color: #FFF;
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    text-transform: inherit;
    margin-top: 8px;
}

.single-post .info-single-post .icons-redes {
    display: block;
    align-content: center;
    text-align: center;
}

.single-post .info-single-post .social-icons {
    margin-top: 34px;
}

.single-post .info-single-post .icons-redes a {
    padding: 14px 40px 12px 22px;
    background-color: #004F71;
    color: white;
    align-content: center;
    display: inline-block;
}

.single-post .info-single-post .icons-redes a:first-child {
    margin-right: 16px;
}

.single-post .info-single-post .icons-redes a img {
    margin-right: 5px;
}

.single-post .info-single-post .icons-redes span {
    height: fit-content;
    color: #004F71;
    text-align: center;
    font-size: 22px;
    font-weight: 300;
    line-height: 120%;
    text-transform: uppercase;
}

.single-post .title-relacionados {
    color: #004F71;
    text-align: center;
    font-size: 2.9357rem;
    font-weight: 300;
    line-height: 120%;
}

.single-post .article a {
    color: #004F71;
    font-size: 20px;
    font-weight: 500;
    line-height: 120.8%;
    letter-spacing: 0.4px;
}

.single-post .article a.button-leer-mas {
    color: #004F71;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1.68px;
    text-transform: uppercase;
    margin-top: 32px;
}

.single-post .article a.button-leer-mas::after {
    content:"";
    position: absolute;
    width: 16px;
    height: 16px;
    background:url('/wp-content/uploads/2026/01/arrow.svg') center center no-repeat;
    background-size:contain;
    bottom: 5px;
    left: 85px;
}

#content .logos-clientes .img {
    width: calc(20% - 20px)!important;
    min-width:200px;
    max-width: 200px!important;
    margin:0 10px;
}

.proyecto-item {
    position: relative;
    width: 100%;
    aspect-ratio: 1231 / 499;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
}

.proyecto-overlay-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;

    max-height: 200px; /* estado inicial */
    overflow: hidden;

    background: rgba(0, 79, 113, 0.53);
    padding: 30px 37px;

    transition: max-height 0.4s ease, background 0.3s ease;
}

.proyecto-overlay-content {
    width: 100%;
    display: flex;
}

/* Hacemos que el <a> ocupe todo el proyecto-item */
.proyecto-link {
    display: block;
    text-decoration: none; /* quita subrayado */
    color: inherit;        /* hereda color */
}

/* Opcional: hover */
.proyecto-link:hover .proyecto-overlay-bottom {
    background: rgba(0, 79, 113, 0.65); /* más oscuro al hover */
    transition: background 0.3s;
}
.project-name{
    text-transform: uppercase;
    color: #FFF;
    font-size: 18px;
    font-weight: 500;
    line-height: 118.8%; /* 21.384px */
    letter-spacing: 0.36px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgb(255, 255, 255);
}
.items-project span:first-child{
    white-space: nowrap;
}
.items-project{
    display: flex;
    color: white;
    gap: 50px;
    padding-bottom: 28px;
    padding-top: 28px;
    border-bottom: 1px solid rgb(255, 255, 255);
    color: #FFF;
    font-size: 18px;
    font-weight: 300;
    line-height: 118.8%; /* 21.384px */
    letter-spacing: 0.36px;
}
.empresas-colaboradoras {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-top: 20px;
    margin-left: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.empresa-logo-item {
    display: flex;
    align-items: center;
}

.empresa-logo {
    display: block;
    max-height: 36px;
    width: auto;
    object-fit: contain;
}

.proyecto-hover-cta-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;

    opacity: 0;
    visibility: hidden;
    transform: translateX(15px);
    transition: all 0.3s ease;
}

.proyecto-hover-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
border-radius: 3px;
border: 1px solid rgba(255, 255, 255, 0.21);
background: rgba(255, 255, 255, 0.30);
backdrop-filter: blur(17px);
}

/* Mostrar logos y botón al hover */
.proyecto-item:hover .empresas-colaboradoras,
.proyecto-item:hover .proyecto-hover-cta-wrap {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
}
.proyecto-item:hover .proyecto-overlay-bottom {
    max-height: 400px; /* ajusta según lo que necesites */
}
.proyecto-overlay-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* 👈 esto es lo importante */
    height: 100%;
}
.proyecto-overlay-content > .medium-8 {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.empresas-colaboradoras-row {
    margin-top: 20px;
}

/* logos */
.empresas-colaboradoras {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

/* botón */
.proyecto-hover-cta-wrap {
    opacity: 0;
    visibility: hidden;
    transform: translateX(15px);
    transition: all 0.3s ease;
}

/* hover */
.proyecto-item:hover .empresas-colaboradoras,
.proyecto-item:hover .proyecto-hover-cta-wrap {
    opacity: 1;
    visibility: visible;
    transform: translate(0,0);
}
.proyecto-overlay-content > .medium-4 {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.filter-proyectos-cabecera img{
    width: 18px;
    height: 18px;
    margin-right: 12px;
}
.filter-proyectos-cabecera{
    color: #004F71;
    font-size: 16px;
    font-weight: 400;
    line-height: 118.8%; /* 19.008px */
    letter-spacing: 0.32px;
    opacity: 0.5;
    margin-bottom: 30px;
}

.filters {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 16px; /* espacio entre filtros */
}

.filters .filter-item{
    padding: 14px 30px;
    border-radius: 40px;
    border: 1px solid rgba(0, 79, 113, 0.25);
    color: #004F71;
    font-size: 16px;
    font-weight: 400;
    line-height: 118.8%; /* 19.008px */
    letter-spacing: 1.28px;
    max-width: 350px;
}
.filters .filter-item.active{
    font-weight: 500;
    border: 1px solid #004F71;;
}
.filters .filter-item:hover{
    cursor: pointer;
    font-weight: 500;
    border: 1px solid #004F71;;
}
.mb-50{
    margin-bottom: 50px;
}


/* RESPONSIVE */
@media (max-width: 991px) {

    .servicio-item.is-active .servicio-header {
        right: 0;
        bottom: 7.5rem;
    }

    .servicio-body {
        left: 0;
        right: 0;
        bottom: 1.5rem;
    }

    .servicio-content {
        padding: 1.4rem 1.8rem;
    }
}

@media (max-width: 850px) {
    .button { 
        padding: 13px 18px 11px 18px;    
    }
    .servicio-item .servicio-header .servicio-title {
        font-size: 3rem;
        padding: 20px 32px;
    }
    .servicio-item .servicio-body {
        left:0;
        bottom: 50%;
        transform:translateY(30%);
    }
    .servicio-item.is-active .servicio-body {
        left:0;
        bottom: 50%;
        transform:translateY(50%);
    }
    #content .logos-gallery .gallery-col {
        padding-bottom:0;
    }
    #content .logos-gallery .gallery-col img {
        max-height: 70px;
    }

    #content .logos-gallery .flickity-prev-next-button {
        background:transparent;
    }

    .post-item .post-title {
        font-size: 18px;
    }

  .contacto-map {
        min-height: 720px;
        height: unset;
    }

    .contacto-card {
        top: 10px!important;
        max-width: 320px!important;
    }
    .section-servicios .change-text > .col {
        padding-top: 120px;
    }

    .section-servicios .row.change-text {
        padding:0 20px;
        display: flex;
        & > .col {
            padding-top: 0;
            & > .col-inner {
            display: flex;
            flex-flow: column wrap;
            justify-content: center;
            & .button {
                max-width: fit-content;
                min-width: 300px;
                }
            }
        }
    }
 
    .image-change > .col-inner > .row {
        height: 100%;
        & > .col {
            height: 100%;

            & > .col-inner {
                height: 100%;
            }
        }
    }
    .desc-column > .col-inner {
        display: flex;
        flex-flow:row wrap;
        height: 100%;
    }
    /*section.section-servicios {
        height: calc(100vh - 90px) !important;
        max-height: calc(100vh - 90px) !important;
        min-height: calc(100vh - 90px) !important;
    }*/

    .subservice-list > .col-inner > .text  {
        padding-left:15px;
    }

    .subservices-tabs {
        margin-top: 60px;
    }
}


@media (max-width: 767px) {
    .servicio-item.is-active {
        height: 520px; /* algo más bajo en móvil si quieres */
    }

    .servicio-title {
        font-size: 1rem;
    }

    .servicio-content {
        padding: 1.2rem 1.4rem;
    }
}

@media (max-width: 550px) {
    .servicio-text {
        font-size: 1rem;
    }
    .servicio-item .servicio-header {
        padding-left:20px;
    }

    .servicio-item .servicio-header .servicio-title {
        padding: 15px 20px;
        font-size: 2rem;
    }
    .button {
        padding: 11px 14px 10px 14px;
    }
    .button span  {
        font-size: .875rem;
    }

    .contacto-map {
        min-height: 480px;
    }

    .contacto-card {
        position: relative!important;
        width: 100%;
        max-width: unset!important;
        top: 0;
        left: 0;
    }
    .servicio-item.is-active .servicio-header {
        right: 0;
        bottom: 7.5rem;
        position: relative;
        left: auto;
        bottom: auto;
        right: auto;
    }
    .project-info-row > .project-info-item {
        width: 100%;
    }
    .project-info-row .project-info-item:nth-child(1),
    .project-info-row .project-info-item:nth-child(2) {
        padding-bottom: 22px;
        border-bottom: 1px solid rgba(0, 79, 113, 0.2);
    }
    .project-info-row .project-info-item:nth-child(2),
    .project-info-row .project-info-item:nth-child(3) {
        padding-top: 22px;
    }
    .project-colaboradores-row > .project-colaborador {
    width: 100%;
    }
    .project-colaboradores-row{
        justify-content: center;
    }
    .project-colaboradores-row .project-colaborador:nth-child(2),
    .project-colaboradores-row .project-colaborador:nth-child(3) {
        margin-top: 66px;
    }
    .project-evolution-slider .flickity-page-dots {
        left: 15%;
        right: 15%;
    }
    .project-evolution-slider .flickity-prev-next-button.next{
        right: 0;
    }
    .project-evolution-slider .flickity-prev-next-button.previous{
        left: 0;
    }
    .project-evolution-slider .flickity-page-dots .dot{
        margin: 0 10px;
    }
    .filters{
        flex-direction: row;
    }
    .filters .filter-item{
       font-size: 13px;
       padding: 10px 16px; 
           letter-spacing: 1px;
    }
    .resp-proyecto{
        padding-bottom: 240px;
    }
    .proyecto-item{
        overflow: visible;
    }
    .proyecto-overlay-bottom{
        transform: translateY(100%);
        background: rgb(0, 79, 113);
    }

    .section-servicios .index-column .col-inner {
        min-height: 0;
        padding:60px 0;
    }
    .section-servicios .row.change-text {
        padding:0;
    }

    .section-servicios .row.change-text .text {
        width: 100%;
    } 
    .image-change > .col-inner > .row > .desc-column > .col-inner {
        min-height: 850px;
    }
    .image-change > .col-inner .change-text > .col > .col-inner {
        min-height: 850px;
        justify-content: flex-start;
        padding-top: 50px;
    }
}

.u-aspor-medios .row {
  max-width: 100%;
}

.u-aspor-medios .uam-link {
  display: block;
  text-decoration: none;
}

.u-aspor-medios .uam-card {
  width: 100%;
}

.u-aspor-medios .uam-top {
  margin-bottom: 28px;
}

.u-aspor-medios .uam-side-col:first-child {
  padding-bottom: 10px;
}

.u-aspor-medios .uam-side-col:last-child {
  padding-top: 10px;
}

/* CONTENEDOR DE IMAGEN CON RECORTE */
.u-aspor-medios .uam-media-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #e9ecef;
}

/* ASPECT RATIOS */
.u-aspor-medios .uam-ratio-main {
  aspect-ratio: 16 / 9;
}

.u-aspor-medios .uam-ratio-side {
  aspect-ratio: 16 / 9;
}

.u-aspor-medios .uam-ratio-bottom {
  aspect-ratio: 16 / 9;
}

/* IMAGEN ABSOLUTA DENTRO, SIN DESBORDAR */
.u-aspor-medios .uam-media-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1);
}

/* FALLBACK SI NO HAY IMAGEN */
.u-aspor-medios .uam-media-wrap.no-thumb {
  background: linear-gradient(135deg, #dfe3e8 0%, #cfd6dd 100%);
}

/* SOLO LAS TARJETAS CON TEXTO ENCIMA */
.u-aspor-medios .uam-card-main .uam-media-wrap,
.u-aspor-medios .uam-card-side .uam-media-wrap {
  position: relative;
}

.u-aspor-medios .uam-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.58) 0%, rgba(0,0,0,.18) 45%, rgba(0,0,0,0) 100%);
  z-index: 2;
}

.u-aspor-medios .uam-content-overlay {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 3;
}

.u-aspor-medios .uam-card-main .uam-title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 2rem;
  line-height: 1.12;
  font-weight: 400;
  max-width: 78%;
}

.u-aspor-medios .uam-card-side .uam-title {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 400;
}

/* 4 DE ABAJO: TEXTO FUERA DE IMAGEN */
.u-aspor-medios .uam-bottom {
  margin-left: -12px;
  margin-right: -12px;
}

.u-aspor-medios .uam-bottom > .col {
  padding-left: 12px;
  padding-right: 12px;
}

.u-aspor-medios .uam-content-below {
  padding-top: 14px;
}

.u-aspor-medios .uam-card-bottom .uam-title {
  margin: 0 0 12px;
  color: #1f3b64;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 400;
}

/* LEER MÁS */
.u-aspor-medios .uam-more {
  display: inline-block;
  position: relative;
  padding-right: 14px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
}

.u-aspor-medios .uam-more::after {
  content: ">";
  position: absolute;
  right: 0;
  top: 0;
}

.u-aspor-medios .uam-more-dark {
  color: #7d8693;
}

/* RESPONSIVE */
@media (max-width: 849px) {
  .u-aspor-medios .uam-side-col:first-child,
  .u-aspor-medios .uam-side-col:last-child {
    padding-top: 0;
    padding-bottom: 0;
  }

  .u-aspor-medios .uam-side-col {
    margin-top: 20px;
  }

  .u-aspor-medios .uam-card-main .uam-title {
    max-width: 100%;
    font-size: 1.7rem;
  }
}

@media (max-width: 549px) {
  .u-aspor-medios .uam-content-overlay {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }

  .u-aspor-medios .uam-card-main .uam-title {
    font-size: 1.4rem;
  }

  .u-aspor-medios .uam-card-side .uam-title {
    font-size: 1rem;
  }
}

.u-aspor-tecnicos{
	width:100%;
	padding:40px 24px;
}

.u-aspor-tecnicos__head{ 
	display:flex;
    padding-top: 20px;
	align-items:center;
	justify-content:space-between;
	gap:20px; 
	padding-bottom:18px;
	margin-bottom:8px;
	border-top:1px solid #cfd6df;
}
.uam-side-grid{
    height: 100%;
}
.uam-side-grid .uam-side-col:nth-child(2) {
    display: flex;
    align-items: flex-end;
}
.u-aspor-tecnicos__title{
	margin:14px 0 0;
	font-size:38px;
    padding-top: 20px;
color: #004F71;
font-size: 42px;
font-weight: 300;
line-height: 111.814%; /* 46.962px */
text-transform: uppercase;
}

.u-aspor-tecnicos__filter{
	margin-top:14px;
	font-size:14px;
	color:#143b67;
	white-space:nowrap;
}

.u-aspor-tecnicos__list{
	display:flex;
	flex-direction:column;
}

.u-aspor-tecnicos__item{
	padding:28px 0 18px;
border-bottom: 1px solid rgba(0, 79, 113, 0.2);
}

.u-aspor-tecnicos__item-title{
	margin:0 0 16px;
	font-size:20px;
	line-height:1.35;
	font-weight:400;
}

.u-aspor-tecnicos__item-title a{
	color: #004F71;
font-size: 20px;
font-weight: 500;
line-height: 120.8%; /* 24.16px */
letter-spacing: 0.4px;
	text-decoration:none;
}

.u-aspor-tecnicos__item-title a:hover{
	text-decoration:underline;
}

.u-aspor-tecnicos__more{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:12px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:#143b67;
	text-decoration:none;
}

.u-aspor-tecnicos__arrow{
	font-size:16px;
	line-height:1;
}

.u-aspor-tecnicos__empty{
	margin:20px 0 0;
	color:#143b67;
}

@media (max-width: 768px){
	.u-aspor-tecnicos{
		padding:28px 16px;
	}

	.u-aspor-tecnicos__head{
		flex-direction:column;
		align-items:flex-start;
	}

	.u-aspor-tecnicos__title{
		font-size:28px;
	}

	.u-aspor-tecnicos__item-title{
		font-size:18px;
	}
}
@media (max-width: 550px){
	.u-aspor-tecnicos__item-title a{
        font-size: 16px;
    }
}


.html.custom.html_topbar_left .wpml-ls-item{
    margin: 0;
}

.wpml-ls ul li:first-child {
  border-right: 1px solid rgb(0, 79, 113);
}
.nav-dark .wpml-ls ul li:first-child {
          border-right: 1px solid #fff;
}
.nav-dark .wpml-ls ul li span{
        color: #fff;
}
ul.nav.nav-pills.nav-uppercase.nav-size-normal li:nth-child(2) {
  display: none;
}

.bg-blue{
    background: rgb(0, 79, 113) !important;
}
.frm_form_field:not(.frm_compact) .frm_dropzone{
    max-width: 100%;
}
.dz-message{
    background: rgba(255, 255, 255, 0.30) !important;
    border: 1px solid rgba(255, 255, 255, 0.21) !important;
            border-radius: 3px !important;
}
.with_frm_style .frm_dropzone{
    background-color: unset;
}
.frm_dropzone .frm_small_text{
    color: #fff !important;
}
.frm_upload_text button, .frm_compact_text button{
        color: #fff !important;

}

.cod-iso{
    margin-top: 30px;
} 
.txt-m-0 .cod-iso{
    margin-top: 30px !important;
}
.cod-iso .col-inner{
    display: flex;
    align-items: center;
    gap: 15px;
}
.cod-iso .col-inner p{
    color: white;
    margin-bottom: 0;
}
.mas-informacion-link {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: right center;

    z-index: 9999;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 12px 20px;
}
.mas-informacion-link-mobile {
    position: fixed;
    right: 0;
    bottom: 0;
    transform-origin: right center;

    z-index: 9999;

    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 12px 20px;
}
.h0{
    height: 0;
}
.map-popup {
    font-size: 14px;
    line-height: 1.5;
    min-width: 160px;
}

.map-popup strong {
    display: block;
    margin-bottom: 4px;
    font-size: 17px;
}

/* Que el mapa no quede cortado en móvil */
#proyectos-map {
    z-index: 1;
    width:100%;
    height:700px; 
    margin-bottom:40px; 
    overflow:hidden;
}
.leaflet-container{
    margin-bottom: 80px;
}
.leaflet-container .white {
    color: white !important;
}

.leaflet-control-attribution.leaflet-control{
    display: none;
}
.button-flotante{
    position: relative;
}
.button-flotante .button.secondary{
    position: absolute;
    bottom: 25px;
}

#tab-acceso-tpf a{
border: 1px solid rgba(0, 79, 113, 0.25);
    background: #004f71;
    color: #FFF;
    backdrop-filter: blur(17px);
}

.project-evolution-slider:not(:has(.flickity-viewport)) {
  display: flex;
}
.theme-white .thumbs {
    background-color: rgb(245, 245, 245) !important;
}
.cat-post.noticias{
    display: none;
}

.d-none-empresas.empresas-colaboradoras{
    display: none;
}



/* ── Paginación proyectos ───────────────────────────────────────────── */
.proyectos-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 40px 0 20px;
}

.pag-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all .2s ease;
}

.pag-link:hover {
    background: #f5f5f5;
    border-color: #bbb;
    color: #333;
    text-decoration: none;
}

.pag-link.pag-active {
    background: rgba(0, 79, 113, 0.8);
    border-color: rgba(0, 79, 113, 0.8);
    color: #fff;
    pointer-events: none;
}

.pag-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    color: #999;
    font-size: 14px;
}

/* ── Loading state ─────────────────────────────────────────────────── */
#proyectos-list-wrapper.is-loading #proyectos-list {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity .2s ease;
}


.pt-preview {
    max-height: 12em;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
}
.pt-open .pt-preview {
    max-height: none;
    -webkit-mask-image: none;
    mask-image: none;
}
.pt-open .pt-toggle { display: none; }
.pt-toggle {
    background: none;
    border: none;
    color: #004f71;
    cursor: pointer;
    font-weight: 600;
    padding: 0;
    text-decoration: underline;
}
.pt-toggle:hover { opacity: .7; }