/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.7.1774610384
Updated: 2026-03-27 12:19:44

*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
	--font-nav: clamp(1.5rem, 5vw, 2.5rem);
	--font-lh-nav: clamp(3.5rem, 5vw, 3.5rem);
	--font-s-h1: clamp(1.9rem, 2vw + 1rem, 3rem);
	--font-lh-h1: 1.2;
	--font-s-h2: clamp(1.75rem, 5vw, 2.5rem);
	--font-lh-h2: clamp(1.2em, 5vw, 1.2em);
	--font-s-h3: clamp(1.5rem, 5vw, 2rem);
	--font-lh-h3: clamp(2rem, 5vw, 3.3rem);
	--font-sm-h3: clamp(1.5rem, 5vw, 1.5rem);
	--font-s-h4: clamp(1.3rem, 0.8vw + 0.6rem, 1.5rem);
	--font-s-marquee: clamp(4rem, 5vw, 5rem);
	--font-s-destacado: clamp(1.75rem, 5vw, 2.5rem);
	--font-lh-destacado: clamp(1em, 5vw, 1em);
	--font-s-destacado-2: clamp(1.8rem, 2vw, 3.5rem);
	--font-lh-destacado-2: clamp(1em, 2vw, 1em);
	--font-s-p: clamp(1rem, 0.8vw + 0.6rem, 1.2rem);
	--font-s-news-p: clamp(1rem, 5vw, 1rem);
	--font-lh-p: clamp(1.5em, 5vw, 1.5em);
	--font-s-text-h: clamp(1rem, 0.8vw + 0.6rem, 1.2rem);
	--font-s-list-normal: clamp(.7rem, 5vw, 1.2rem);
	--font-s-list-big: clamp(1.2rem, 5vw, 2rem);
	--color-deg-azul: linear-gradient(45deg, #3F5E6B 20%, #88A3B3 70%);
	--color-azul-corporativo: #3f5e6b;
	--color-azul-bam: #88A3B3;
	--color-azul-lab: #1f8199;
	--color-black: #000;
}
@media (max-width: 481px) {
	:root {
		--font-s-p: clamp(1.1rem, 0.8vw + 0.6rem, 1.2rem);
	}
}
* {
  transition: all 0.3s ease-in-out;
}

body {
	overflow-x: hidden!important;
	font-family: "Dm sans Variable", Arial, sans-serif;
}
body.error404 header,
body.error404 footer {
    display: none !important;
}
a {
	color:#0fb6cc;
}
/* HEADER */

.hero {
	width:100vw;
	height: auto;
	margin:0;
	padding:0;
	z-index: -1;
}
.hero .heading.hero-heading {
    max-width: 66.38rem;
    color: var(--white);
    text-align: center;
}
.hero h1 {
	font-family: 'Dm sans Variable', sans-serif!important;
	font-size: 4.5rem!important;
    max-width: 66.35rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width:1024px) {
	.hero h1 {
		font-size: 3.5rem!important;
		max-width: 46.35rem;
	}
}
@media (max-width:480px) {
	.hero h1 {
		font-size: 2.5rem!important;
		width: 100%;
	}
}
.menu-principal {
    position: fixed!important;
	display: flex!important;
	width: 100%!important;
	background-color: rgba(255, 255, 255,.95);
	z-index: 10!important;
	backdrop-filter:blur(5px);
	border-bottom: .5px solid #6d898c!important;
}
header nav a {
	font-family: 'Barlow', sans-serif;
	font-size: var(--font-nav);
	line-height: var(--font-lh-nav);
	color: #000;
}
header .menu-idiomas nav a {
	font-size: 17px!important;
	line-height: auto!importan;
	padding: 13px 7px!important;
	font-weight: 300;
}
header .menu-idiomas nav .current-lang a {
	font-weight: 500!important;
}
header nav a:hover::after {
	display:none!important;
	height: 0!important;
}
header .menu-idiomas span.sub-arrow {
	display: none;
}
header .menu-idiomas li.lang-item a:hover {
	background-color: #0FB6CC!important;
	color: #FFF!important;
}
header #tel a {
	display: inline-block;
	content: "";
	width:100%;
	max-width: 38px;
	height: 42px;
	background-image: url('/wp-content/uploads/2026/06/icono-phone.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 18px;
}
header #tel a {
	background-color: transparent!important;
	padding: 12px 12px!important;
}
header #tel a span {
	display: none;
}
.elementor-menu-toggle {
	background-color: transparent!important;
	justify-content: end!important;
}
header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	display:flex;
	top: -25px!important;
	margin-top:0!important;
	padding-top: 0;
	align-items: center!important;
	justify-content: center;
	font-weight: 200;
	z-index: -1!important;
	background-color: rgba(255,255,255,.9)!important;
}
header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul {
	width: 100%;
}
header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul li a {
	padding: 1em 0;
}
header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul li a:hover {
	background-color: #0fb6cc;
	color: #FFF!important;
}
header .elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container {
	height: 100vh;
}
header .menu-idiomas .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	display: none;
}
header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul li {
	text-align: center;
}
@media(min-width: 678px) {
	header ul.sub-menu {
		min-width: auto!important;
		max-width:inherit!important;
	}
	header ul.sub-menu a {
		padding-left: 13px!important;
	}
}
header ul.sub-menu li.current-lang a {
	color: #b7b7b7!important;
}
a.elementor-item-active[aria-current="location"] {
	color: #0fb6cc;
	font-weight:600;
}
a.elementor-item-active[aria-current="location"]::after {
	display: none;
	background-color: #0fb6cc;
}
h1,h2,h3,h4,h5,h6 {
	letter-spacing: 0rem;
}
.right {
	display: flex;
	justify-content: flex-end;
}
.left {
	display: flex;
	justify-content: flex-start;
}
.elementor-menu-toggle svg {
	margin-top: 5px;
	width: 1.3em;
}
.rotate {
	transform: rotate(-45deg);
}
.blur {
	backdrop-filter: blur(20px);
}
.fuente-noticia {
	display: block;
	padding: 1em 0;
	border-top:1px solid #c9c9c9;
	border-bottom: 1px solid #c9c9c9;
	color: #828282;
}
.fuente-noticia a {
	color: #0FB6CC;
}
@media(max-width:767px) {
	header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul li a {
		font-weight: 300;
	}
	.rombo {
		max-width: 20%;
		margin-top: 1em;
	}
	.rombo img {
		width: 100%!important;
	}
}
@media(max-width:480px) {
	.rombo {
		max-width: 25%;
		margin-top: 1em;
	}
	.rombo img {
		width: 100%!important;
	}
}

.contenedor {
	width: 100%!important;
    max-width: 90rem;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}


/* TABS */

.tabs .e-n-tabs-heading {
	display: flex!important;
}
.tabs button.e-n-tab-title {
	display: flex;
	padding-left: 0;
	flex: 1; /* grow: 1, shrink: 0, basis: 100% */
	justify-content: flex-start;
  	box-sizing: border-box; /* Evita que el padding sume al ancho */
}
.tabs .e-n-tab-title[aria-selected="false"]:not( :hover ) {
	color: #bcbebe!important;
}
.tabs .e-n-tab-title[aria-selected="true"],
.tabs .e-n-tab-title[aria-selected="false"]:hover {
	color: #0FB6CC!important;
}

/* BOXES */

.box-gris {
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 460.31 316.03" style="enable-background:new 0 0 460.31 316.03;opacity:0.15;fill:%2389A3B3;" xml:space="preserve"><polygon points="460.31,296.97 460.31,0 0,0 0,316.03 441.25,316.03 "/></svg>')!important;
	background-position: right bottom;
	background-size: 100%;
	transition: .5s all ease-in-out;
	
}
.box-gris:hover {
	background-image: url('/wp-content/uploads/2026/06/box-gis-hover.png')!important;
	background-position: right bottom;
	background-size: 100%;
}
.box-gris:hover .text {
	color: #FFFFFF!important;
}

.box {
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 230.47 204.03" style="enable-background:new 0 0 230.47 204.03;fill:%23ffffff;opacity:0.09" xml:space="preserve"><polygon class="st0" points="230.47,194.97 230.47,0 0,0 0,204.03 221.41,204.03 "/></svg>');
	background-repeat: no-repeat;
	background-size:100%;
	background-position: right bottom;
	cursor: pointer;
}
.box h3 {
	color: #74858E !important;
    font-weight: 500 !important;
    font-size: 1.7rem !important;
}
.box .text {
	color: #74858E!important;
	font-size: 1.3rem!important;
	font-weight:400;
}
.box:hover {
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 230.47 204.03" style="enable-background:new 0 0 230.47 204.03;fill:%2301323D;opacity:1" xml:space="preserve"><polygon class="st0" points="230.47,194.97 230.47,0 0,0 0,204.03 221.41,204.03 "/></svg>');
	background-repeat: no-repeat;
	cursor: pointer;
}

.boxes-buttons {
  display: flex;
  gap: 20px;
}

.box {
  cursor: pointer;
  transition: all .25s ease;
}

.box-active {
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 230.47 204.03" style="enable-background:new 0 0 230.47 204.03;fill:%23ffffff;" xml:space="preserve"><polygon points="230.47,194.97 230.47,0 0,0 0,204.03 221.41,204.03 "/></svg>')!important;
	background-repeat: no-repeat;
	background-size:100%;
	background-position: right bottom;
	cursor: pointer;
}
.box-active h3 {
	color: #0FB6CC !important;
    font-size: 1.7rem !important;
}
.box-active .text {
	color: #32383E!important;
	font-size: 1.3rem!important;
}

/* Box DARK */

.box-dark {
	clip-path: polygon(100% 0%, 100% 74%, 96% 100%, 0% 100%, 0% 0%);
	background-color: #cad0d3;
	cursor: pointer;
}
.box-dark h3 {
	color: #74858E !important;
    font-weight: 500 !important;
    font-size: 1.7rem !important;
}
.box-dark h3 span {
	display: block;
	margin-bottom: 2rem;
	font-size:4rem;
	font-weight: 400;
}
.box-dark .text {
	display:none;
	color: #74858E!important;
	font-size: 1.1rem!important;
	font-weight:500;
	transition: .5s all ease-in-out;
}
.box-dark:hover {
	clip-path: polygon(100% 0%, 100% 74%, 96% 100%, 0% 100%, 0% 0%);
	background-color: #FFF;
	cursor: pointer;
}

.box-dark-active,.box-dark-active:hover {
	clip-path: polygon(100% 0%, 100% 85%, 96% 100%, 0% 100%, 0% 0%);
	background-color: #FFF;
	cursor: pointer;
}
.box-dark-active h3 {
	color: #0FB6CC !important;
    font-weight: 500 !important;
    font-size: 1.7rem !important;
}
.box-dark-active h3 span {
	display: block;
	margin-bottom: 2rem;
	font-size:4rem;
	font-weight: 400;
	color: #126176;
}
.box-dark-active .text {
	display: block;
	color: #32383E!important;
	font-size: 1.1rem!important;
	font-weight:500;
}
@media (max-width:1024px) {
	.box-dark h3,.box-dark-active h3 {
		font-size: 1.5rem!important;
	}
}

/* ==================================================
   IMÁGENES MÓVIL
   ================================================== */

.box-mobile-image {
    display: none !important;
}


/* ==================================================
   IMÁGENES DESKTOP - SISTEMA CLARO
   ================================================== */

.box-desktop-images {
    display: grid!important;
}

.box-desktop-images .box-image {
    grid-area: 1 / 1;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .5s ease,
        visibility .5s ease;

    pointer-events: none;
}

.box-desktop-images .box-image.box-image-active {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}


/* ==================================================
   IMÁGENES DESKTOP - SISTEMA OSCURO
   ================================================== */

.box-dark-desktop-images {
    display: grid!important;
}

.box-dark-desktop-images .box-dark-image {
    grid-area: 1 / 1;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .5s ease,
        visibility .5s ease;

    pointer-events: none;
}

.box-dark-desktop-images .box-dark-image.box-dark-image-active {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}


/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 767px) {

    /* Ocultar imágenes desktop */

    .box-desktop-images {
        display: none !important;
    }

    /* Sistema claro */

    .box-active + .box-mobile-image {
        display: flex !important;
    }

    /* Sistema oscuro */

    .box-dark-active + .box-mobile-image {
        display: flex !important;
    }
}

@media (max-width:1024px) {
	.box h3,.box-active h3  {
    	font-size: 1.7rem !important;
	}
	.box .text,.box-active .text {
    	font-size: 1.5rem !important;
	}
}
@media (max-width:480px) {
	.box h3,.box-active h3 {
    	font-size: 1.5rem !important;
	}
	.box .text,.box-active .text {
    	font-size: 1.3rem !important;
	}
	.box-dark,.box-dark:hover {
		clip-path: polygon(100% 0%, 100% 74%, 94% 100%, 0% 100%, 0% 0%);
	}
	.box-dark-active,.box-dark-active:hover {
		clip-path: polygon(100% 0%, 100% 84%, 94% 100%, 0% 100%, 0% 0%);
	}
}

/* BOTONES */

.boton a {
	clip-path: polygon(0 0, 100% 0, 100% 70%, 94% 100%, 0 100%);
	background-color: #14B7CC!important;
	padding: .7rem 2.5rem!important;
	border-radius:0;
}
.boton a:hover {
	background-color: #32383E!important;
	color: #FFF!important;
}
.boton-flotante a {
	position: fixed;
	display: inline-block;
	right:0;
	top: calc(0% + 80px);
	width: 50px;
	height: 55px;
	clip-path: polygon(0% 20.56%, 0.04% 77.44%, 19.43% 100%, 100% 98.75%, 100% 19.56%);
	background-color: #14B7CC!important;
	background-image: url('/wp-content/uploads/2026/06/icon-mail.svg');
	background-size: 30px;
	background-repeat:no-repeat;
	background-position: 10px 20px;
	color: #FFF!important;
	border-radius:0;
	z-index:999;
}
.boton-flotante a:hover {
	background-color: #32383E!important;
}
@media (max-width:1366px) {
	.boton-flotante a {
		top:calc(0% + 75px);
	}
}
@media (max-width:1024px) {
	.boton-flotante a {
		top:calc(0% + 59px);
		width: 43px;
		height: 46px;
		background-size: 23px;
		background-position: 10px 17px;
	}
}

/* SECTORES */


.sectores {
	clip-path: polygon(0 0, 100% 0, 100% 94%, 94% 100%, 0 100%);
}
@media (max-width:1024px) {
	.sectores {
		clip-path: polygon(0 0, 100% 0, 100% 90%, 94% 100%, 0 100%);
	}
}
.sectores {
    position: relative;
    overflow: hidden;
    transition: background-size .45s ease;
    background-size: 130% !important;
    background-position: center center !important;
}

.sectores:hover {
    background-size: 155% !important;
}


/* ACCORDION */

.accordion .e-n-accordion-item-title {
	padding-left:0!important;
}
.accordion .e-n-accordion-item[open]>.e-n-accordion-item-title {
	border-color: #0fb6cc!important;
}
.accordion .e-n-accordion-item-title-text {
	font-size: 20px!important;
}
.arrow summary.e-n-accordion-item-title[aria-expanded="false"]::after {
	content:url("/wp-content/uploads/2026/04/arrow-down.svg")!important;
	position: absolute;
	right: 10px;
	top: 17px;
	color: #FFF;
	width: 1.5rem;
	height: auto;
  	justify-content:center;
  	align-items:center;
	-webkit-transform: rotate(0deg); 
	transform: rotate(0deg);
	transition: .5s ease-in-out;
}
.arrow summary.e-n-accordion-item-title[aria-expanded="true"]::after {
	content:url("/wp-content/uploads/2026/04/arrow-up.svg")!important;
	fill: #0fb6cc;
	position: absolute;
	right: 10px;
	top: 17px;
	color: #FFF;
	width: 1.5rem;
	height: auto;
	-webkit-transform: rotate(-180deg); 
    transform:rotate(-180deg);
	transition: .5s ease-in-out;
}
.accordion-flex {
  display: flex!important;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
}

.accordion-flex .e-n-accordion {
  width: 50%!important;
}

.accordion-flex .accordion-dynamic-image-column {
  width: 50%!important;
}

.accordion-flex .accordion-dynamic-image {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.4s ease;
  opacity: 1;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon span>svg {
	height: 25px!important;
	margin-top: -3px;
}
.accordion-flex .accordion-dynamic-image.is-hidden {
  opacity: 0;
}

@media (max-width: 767px) {
  .accordion-flex {
	display: grid!important;
	grid-template-columns: 1fr!important;
  }

  .accordion-flex .e-n-accordion,
  .accordion-flex .accordion-dynamic-image-column {
    width: 100%!important;
  }
  .accordion-flex .accordion-dynamic-image-column {
	order: 1;
  }
  .accordion-flex .e-n-accordion {
	order: 2;
  }
}

.bg-animated-blobs {
    position: relative;
}

.bg-animated-blobs::before {
    content: ""!important;
    position: absolute!important;
    /* En vez de top/left + 200%, usamos inset */
    inset: -50%;

    z-index: 0;

    background: 
        radial-gradient(circle at 30% 30%, #0fb6cc 0%, transparent 40%),
        radial-gradient(circle at 70% 40%, #b9f141 0%, transparent 40%),
        radial-gradient(circle at 50% 70%, #d52ed9 0%, transparent 50%);

    filter: blur(120px);

    /* 🔥 CLAVE: evitamos problemas de layout */
    transform-origin: center;
    will-change: transform;

    animation: rotateBlobs 40s linear infinite;
}

.bg-animated-blobs > * {
    position: relative;
    z-index: 1;
}

@keyframes rotateBlobs {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/* EMPRESAS */

.empresas .swiper-slide-image {
	max-width:250px;
	height: auto;
}
.empresas .swiper-wrapper,
selector .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}
.empresas .swiper-slide {
	width: 25% !important;
    flex-shrink: 0;
}
.empresas .swiper-slide .ame-marquee__image img {
	width: 50%!important;
}
@media(max-width:970px) {
	.empresas .swiper-slide .ame-marquee__image img {
		width: 70%!important;
	}
	.empresas .swiper-slide {
		width: 50% !important;
		flex-shrink: 0;
	}
}
@media(max-width:480px) {
	.empresas .swiper-slide .ame-marquee__image img {
		width: 100%!important;
	}
}


/* BOTÓN FLOTANTE */

.floating-mail-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  background: #FFF;
  border: 1px solid #111827;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  z-index: 9999;
  transition: all 0.3s ease;
}
.floating-mail-btn svg {
	max-width: 20px;
}

.floating-mail-btn:hover {
  transform: scale(1.08);
  background: #14B7CC;
  border: 1px solid #14B7CC
}
.floating-mail-btn:hover svg {
	fill: #FFF!important;
}
@media (max-width: 768px) {
  .floating-mail-btn {
    width: 54px;
    height: 54px;
    font-size: 24px;
    bottom: 18px;
    right: 18px;
  }
}

/* FORMULARIO DE CONTACTO */

.bg-formulario {
	clip-path: polygon(100% 0%, 100% 96%, 96% 100%, 0% 100%, 0% 0%);
	background-color: rgba(62, 63, 64, 0.87);
}

/* FORM WRAPPER */
.fluent_form_1 .ff-el-group,.fluent_form_3 .ff-el-group {
  position: relative;
  margin-bottom: 28px;
}

/* INPUTS Y TEXTAREA */
.fluent_form_1 input,
.fluent_form_3 input,
.fluent_form_1 textarea,
.fluent_form_3 textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #0fb6cc;
  background: transparent;
  padding: 18px 0 10px;
  font-size: 16px;
  outline: none;
  box-shadow: none !important;
  transition: border-color .3s ease;
}

/* TEXTAREA */
.fluent_form_1 textarea,.fluent_form_3 textarea {
  min-height: 120px;
  resize: none;
}

/* LABEL */
.fluent_form_1 .ff-el-input--label label,.fluent_form_3 .ff-el-input--label label {
  position: absolute;
  left: 0;
  top: 18px;
  font-size: 16px;
  color: #888;
  pointer-events: none;
  transition: all .25s ease;
}

/* LINEA ANIMADA */
.fluent_form_1 .ff-el-group::after,
.fluent_form_3 .ff-el-group::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #fff;
  transition: width .35s ease;
}

/* FOCUS */
.fluent_form_1 .ff-el-group:not(.ff-el-is-error) input:focus,.fluent_form_3 .ff-el-group:not(.ff-el-is-error) input:focus,
.fluent_form_1 .ff-el-group:not(.ff-el-is-error) textarea:focus,.fluent_form_3 .ff-el-group:not(.ff-el-is-error) textarea:focus {
  border-bottom-color: transparent;
}

/* LABEL ANIMADO */
.fluent_form_1 input:focus + .ff-el-input--label label,
.fluent_form_1 input:not(:placeholder-shown) + .ff-el-input--label label,
.fluent_form_1 textarea:focus + .ff-el-input--label label,
.fluent_form_1 textarea:not(:placeholder-shown) + .ff-el-input--label label,
.fluent_form_3 input:focus + .ff-el-input--label label,
.fluent_form_3 input:not(:placeholder-shown) + .ff-el-input--label label,
.fluent_form_3 textarea:focus + .ff-el-input--label label,
.fluent_form_3 textarea:not(:placeholder-shown) + .ff-el-input--label label {
  top: -8px;
  font-size: 12px;
  color: #111;
}

/* LINEA EN FOCUS */
.fluent_form_1 .ff-el-group:focus-within::after,
.fluent_form_3 .ff-el-group:focus-within::after {
  width: 100%;
}

/* BOTON */
.fluent_form_1 .ff-btn-submit,
.fluent_form_3 .ff-btn-submit {
  background: #111;
  border: none;
  padding: 14px 30px;
  color: white;
  font-size: 15px;
  cursor: pointer;
  transition: opacity .25s ease;
}

.fluent_form_1 .ff-btn-submit:hover,
.fluent_form_3 .ff-btn-submit:hover {
  opacity: .85;
}
.ff-default .ff-el-form-control {
    background-clip: padding-box;
    background-image: none;
    background-color: transparent;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid #0fb6cc;
    border-radius: 0;
    color: #FFF;
    font-family: "Barlow", "system-ui", Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
    line-height: 1;
    margin-bottom: 0;
    max-width: 100%;
    padding: 11px 15px;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.ff-default .ff-el-form-control:focus {
    background-color: transparent;
    border-color: #000;
    color: #f1f1f1;
    outline: none;
}
input[area-required="true"] {
    background-color: transparent!important;
}
.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style),
.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style) {
    text-transform: uppercase;
    border-radius:0;
    background-color: #0fb6cc!important;
    color: #ffffff;
}
/* Evita que la línea animada negra aparezca bajo campos con error */
/*.fluent_form_1 .ff-el-group.ff-el-is-error::after {
  background: #d63638;
}*/

/* Mantiene el borde inferior rojo también al hacer focus */
.fluent_form_1 .ff-el-group.ff-el-is-error input:focus,
.fluent_form_1 .ff-el-group.ff-el-is-error textarea:focus,
.fluent_form_3 .ff-el-group.ff-el-is-error input:focus,
.fluent_form_3 .ff-el-group.ff-el-is-error textarea:focus{
  border-bottom-color: #d63638 !important;
}

/* Evita líneas extra debajo del mensaje de error */
.fluent_form_1 .ff-el-group.ff-el-is-error .error,
.fluent_form_1 .ff-el-group.ff-el-is-error .text-danger,
.fluent_form_1 .ff-el-group.ff-el-is-error .ff-el-help-message,
.fluent_form_3 .ff-el-group.ff-el-is-error .error,
.fluent_form_3 .ff-el-group.ff-el-is-error .text-danger,
.fluent_form_3 .ff-el-group.ff-el-is-error .ff-el-help-message {
  border: none !important;
  box-shadow: none !important;
}

/* Coloca el mensaje de error sin interferir con la línea */
.fluent_form_1 .ff-el-group .ff-el-help-message,
.fluent_form_3 .ff-el-group .ff-el-help-message {
  margin-top: 6px;
  padding-bottom: 0;
}
/* Línea base */
.fluent_form_1 input,
.fluent_form_1 textarea,
.fluent_form_3 input,
.fluent_form_3 textarea {
  border-bottom: 1px solid #0fb6cc !important;
}

/* Quita la línea animada negra en campos con error */
.fluent_form_1 .ff-el-group.ff-el-is-error::after,
.fluent_form_3 .ff-el-group.ff-el-is-error::after {
  display: none !important;
}

/* Error: una sola línea roja */
.fluent_form_1 .ff-el-group.ff-el-is-error input,
.fluent_form_1 .ff-el-group.ff-el-is-error textarea,
.fluent_form_1 .ff-el-group.ff-el-is-error input:focus,
.fluent_form_1 .ff-el-group.ff-el-is-error textarea:focus,
.fluent_form_3 .ff-el-group.ff-el-is-error input,
.fluent_form_3 .ff-el-group.ff-el-is-error textarea,
.fluent_form_3 .ff-el-group.ff-el-is-error input:focus,
.fluent_form_3 .ff-el-group.ff-el-is-error textarea:focus {
  border-bottom: 1px solid #ff5b66 !important;
  box-shadow: none !important;
}

/* Mensaje de error sin línea debajo */
.fluent_form_1 .ff-el-group.ff-el-is-error .error,
.fluent_form_1 .ff-el-group.ff-el-is-error .text-danger,
.fluent_form_1 .ff-el-group.ff-el-is-error .ff-el-help-message,
.fluent_form_3 .ff-el-group.ff-el-is-error .error,
.fluent_form_3 .ff-el-group.ff-el-is-error .text-danger,
.fluent_form_3 .ff-el-group.ff-el-is-error .ff-el-help-message {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Evita que el mensaje genere una pseudo-línea */
.fluent_form_1 .ff-el-group.ff-el-is-error .error::after,
.fluent_form_1 .ff-el-group.ff-el-is-error .text-danger::after,
.fluent_form_1 .ff-el-group.ff-el-is-error .ff-el-help-message::after,
.fluent_form_1 .ff-el-group.ff-text-left.ff_submit_btn_wrapper::after,
.fluent_form_3 .ff-el-group.ff-el-is-error .error::after,
.fluent_form_3 .ff-el-group.ff-el-is-error .text-danger::after,
.fluent_form_3 .ff-el-group.ff-el-is-error .ff-el-help-message::after,
.fluent_form_3 .ff-el-group.ff-text-left.ff_submit_btn_wrapper::after {
  display: none !important;
}
.fluentform .ff_t_c p {
    color: #808889;
    font-size: 14px!important;
}
.fluentform .ff_t_c p a {
    color:#31d6e6;
}
.fluentform .ff-el-form-check.ff-el-tc label.ff-el-form-check-label.ff_tc_label>span {
    padding-top:0!important;
    width:0;
}

/* CHECKBOX*/

/* WRAPPER CHECKBOX */
.fluent_form_1 .ff-el-form-check,
.fluent_form_3 .ff-el-form-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 10px;
}

/* OCULTA CHECKBOX ORIGINAL */
.fluent_form_1 .ff-el-form-check input[type="checkbox"],
.fluent_form_3 .ff-el-form-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* LABEL */
.fluent_form_1 .ff-el-form-check label,
.fluent_form_3 .ff-el-form-check label {
  position: relative;
  padding-left: 34px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  color: #d8d8d8;
}

/* CAJA */
.fluent_form_1 .ff-el-form-check label::before,
.fluent_form_3 .ff-el-form-check label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #0fb6cc;
  border-radius: 0;
  background: transparent;
  transition: all .25s ease;
}

/* CHECK */

.fluent_form_1 .ff-el-form-check label::after,
.fluent_form_3 .ff-el-form-check label::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 2px;
    width: 8px;
    height: 13px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) scale(0);
    transition: transform .2s ease;
    z-index: 20;
}
html.is-safari .fluent_form_1 .ff-el-form-check label::before,html.is-safari .fluent_form_3 .ff-el-form-check label::before {
	top: 10px !important;
}
html.is-safari .fluent_form_1 .ff-el-form-check.ff_item_selected label::after,html.is-safari .fluent_form_3 .ff-el-form-check.ff_item_selected label::after {
	top: 14px;
}

/* ACTIVO */
.fluent_form_1 .ff-el-form-check input[type="checkbox"]:checked + label::before,.fluent_form_3 .ff-el-form-check input[type="checkbox"]:checked + label::before {
  background: #0fb6cc;
  border-color: #0fb6cc;
}

.fluent_form_1 .ff-el-form-check input[type="checkbox"]:checked + label::after,.fluent_form_3 .ff-el-form-check input[type="checkbox"]:checked + label::after {
  transform: rotate(45deg) scale(1);
}

/* HOVER */
.fluent_form_1 .ff-el-form-check label:hover::before,.fluent_form_3 .ff-el-form-check label:hover::before {
  border-color: #fff;
}

/* ERROR */
.fluent_form_1 .ff-el-is-error .ff-el-form-check label::before,.fluent_form_3 .ff-el-is-error .ff-el-form-check label::before {
  border-color: #ff5b66;
}

/* Caja activa */
.fluent_form_1 .ff-el-form-check.ff_item_selected label::before,.fluent_form_3 .ff-el-form-check.ff_item_selected label::before {
  background: #0fb6cc;
  border-color: #0fb6cc;
}

/* Tick visible */
.fluent_form_1 .ff-el-form-check.ff_item_selected label::after,.fluent_form_3 .ff-el-form-check.ff_item_selected label::after {
  content: '';
  position: absolute;
  left: 8px;
  top: 5px;
  width: 6px;
  height: 10px;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(45deg) scale(1);
  opacity: 1;
}

/* ERROR */
.fluent_form_1 .ff-el-is-error .ff-el-form-check label::before,.fluent_form_3 .ff-el-is-error .ff-el-form-check label::before {
  border-color: #ff5b66;
}
.fluent_form_1 .ff-el-group.check-box::after,.fluent_form_3 .ff-el-group.check-box::after {
    height: 0;
}

/* SUCCESS */

.ff-message-success {
    border: 1px solid #0fb6cc;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
    margin-top: 10px;
    padding: 15px;
    position: relative;
}
.ff-message-success p {
	color: #f1f1f1;
}
.fluentform_1_errors,.fluentform_3_errors {
    border: 1px solid red;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
    margin-top: 10px;
    padding: 15px;
    position: relative;
}
.fluentform_1_errors p {
	color: red;
}


@media(max-width: 580px) {
	.fluent_form_1 .ff-el-form-check label::before {
	  top: 2px;
	  width: 17px;
	  height: 17px;
	}
	.fluent_form_1 .ff-el-form-check.ff_item_selected label::after {
	  left: 6px;
	}
	.fluent_form_1 .ff-el-form-check label {
		padding-left:27px;
	}
}
@media (max-width: 768px) {
    html.is-safari .fluent_form_1 .ff-el-form-check label::before,
	html.is-safari .fluent_form_3 .ff-el-form-check label::before {
        top: 12px !important;
    }
	html.is-safari .fluent_form_1 .ff-el-form-check.ff_item_selected label::after,
	html.is-safari .fluent_form_3 .ff-el-form-check.ff_item_selected label::after {
		top: 16px;
		left: 8px;
	}
	.fluent_form_1 .ff-el-form-check.ff_item_selected label::after,
	.fluent_form_3 .ff-el-form-check.ff_item_selected label::after {
		left: 6px;
	}
}
@media (max-width: 430px) {
	html.is-safari .fluent_form_1 .ff-el-form-check.ff_item_selected label::after,
	html.is-safari .fluent_form_3 .ff-el-form-check.ff_item_selected label::after {
		top: 14px!important;
		left: 6px!important;
	}
}
.ff-message-success {
	background-color: #FFF;
}
.ff-message-success p {
	color: #000;
}


/* FOOTER */

footer .menu-legal nav.elementor-nav-menu--main li a {
	border-bottom: 1px solid #bdbebe!important;
	padding: 10px 0;
}
@media (min-width: 768px) {
	footer .menu-legal li a {
		justify-content: left!important;
		padding-left:0!important;
	}
}
footer .menu-legal nav.elementor-nav-menu--main li a:hover {
	padding: 10px 0;
	color: #000!important;
}
footer .menu-legal nav.elementor-nav-menu--main li a::after {
	content:'';
	position: absolute;
	width: 0;
	height: 1px;
	bottom:-1px;
	left:0;
	transition: .3s ease-in-out;
}
footer .menu-legal nav.elementor-nav-menu--main li a:hover::after {
	width: 100%;
	color: #000;
}
#cmplz-manage-consent button {
	display: none;
}
#cmplz-manage-consent .cmplz-manage-consent {
    display: none!important;
}
.cmplz-cookiebanner .cmplz-header {
    grid-template-columns: 1fr 1fr!important;
    align-items: baseline!important;
    justify-content: space-between;
}
.cmplz-cookiebanner .cmplz-close {
	display: none;
}
.cmplz-cookiebanner .cmplz-title {
    justify-self: end!important;
}
.cmplz-cookiebanner .cmplz-logo img {
    max-height: 50px!important;
}


