/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 5.0.1.1772966620
Updated: 2026-03-08 11:43:40

*/

/** CAMBIO THUMBNAIL **/
.et_grid_module>.et_pb_post .et_pb_image_container img, .et_pb_blog_grid .et_pb_post .et_pb_image_container img {
    height: 412px !important;
    width: auto !important;
    object-fit: cover;
}


/** MEGA MENÚ **/
.et_pb_sticky.sombrix {
	box-shadow: 0px 12px 27px -20px rgba(0, 0, 0, 0.3);
	
}
h4.mega-block-title,
.mega-block-title {
    line-height: 1.4em;
	font-weight: 600;
	color: #121212;
}

h4.mega-block-titlesup,
.mega-block-titlesup {
    line-height: 1.4em;
    font-weight: 600;
    color: #121212;
    /* border-bottom: 1px solid #dbdbdb; */
    text-transform: uppercase;
    /* padding-top: 10px; */
    background-color: #f2f2f2;
    padding: 10px !important;
}

.mega-sub-menu ul a {
	color: #121212!important;
	transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1)!important;
}
.mega-sub-menu ul a:hover {
	color: #121212!important;
}
.mega-sub-menu ul li {
    position: relative;
    list-style-type: none;
    line-height: 1.2em!important;
	padding-bottom: 12px!important;
}
.mega-sub-menu ul li:after {
    font-family: ETmodules!important;
    font-style: normal!important;
    font-weight: 400!important;
    font-variant: normal!important;
    text-transform: none!important;
    line-height: 1!important;
    vertical-align: baseline!important;
    -webkit-font-smoothing: antialiased!important;
    content: "\45";
    position: absolute;
    left: -18px;
    top: 8px;
    color: #121212;
}

.mega-sub-menu ul li:hover::after {
    color: #121212;
}


div.menutop {
    padding-top: 115px;
}
ul.mxmnu2 {
    padding: 10px 0px 0px 1em;
    border-top: 1px dotted #afafaf;
    border-bottom: 1px dotted #afafaf;
	margin-bottom: 15px;
}


#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
	padding: 5px 20px!important;
}

#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
    background-color: #121212;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
    transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1)!important;
    font-weight: 400!important;	
}



#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
    height: 2px;
    border-radius: 0;
    color: #121212 !important;
}


/** BREADCUMBS **/
nav.rank-math-breadcrumb {
    font-size: 12px!important;
}

/** ESTILO BOTONES **/
.et_button_no_icon.et_button_icon_visible.et_button_left .et_pb_button, 
body #page-container div.et_pb_section a.et_pb_button, 
body #page-container div.et_pb_section a.et_pb_button:hover, 
.et_button_no_icon.et_button_left .et_pb_button:hover, 
.et_button_no_icon .et_pb_button, 
.et_button_no_icon .et_pb_button:hover {
    padding: 10px 20px !important;
	transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease, box-shadow 0.5s ease !important;	
}

/** ESTILO LINKS AMARILLO **/
.linkx a,
a.linkx,
.linkx .et_pb_icon_list_text {
  	position: relative;
	padding: 0px 0px 16px 0px;
}
.linkx a::after,
a.linkx::after {
	content: '';
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 13px;
	width: 0; /* Ancho inicial de 0 */
	height: 1px; /* Grosor de la línea */
	background-color: #d8ae0f; /* Color de la línea */    
    z-index: -1;
	transition: width 0.5s ease; /* Transición suave para el ancho */
}

.linkx a:hover::after,
a.linkx:hover::after {
  	width: 100%; /* Ancho del 100% al pasar el cursor */
}

/** ESTILO LINKS NEGRO **/
.linkxbl a,
a.linkxbl,
.linkxbl .et_pb_icon_list_text {
  	position: relative;
	padding: 0px 0px 16px 0px;
	line-height: 1.8em;
    color: #121212 !important;
}
.linkxbl a::after,
a.linkxbl::after {
	content: '';
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 13px;
	width: 0; /* Ancho inicial de 0 */
	height: 1px; /* Grosor de la línea */
	background-color: #121212; /* Color de la línea */    
    z-index: -1;
	transition: width 0.5s ease; /* Transición suave para el ancho */
}

.linkxbl a:hover::after,
a.linkxbl:hover::after {
  	width: 100%; /* Ancho del 100% al pasar el cursor */
}


/** ESTILO LINKS AZUL **/
.linkxblue a,
a.linkxblue,
.linkxblue .et_pb_icon_list_text {
  	position: relative;
	padding: 0px 0px 16px 0px;
	color: #1a428a!important;
}
.linkxblue a::after,
a.linkxblue::after {
	content: '';
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 13px;
	width: 0; /* Ancho inicial de 0 */
	height: 1px; /* Grosor de la línea */
	background-color: #1a428a; /* Color de la línea */    
    z-index: -1;
	transition: width 0.5s ease; /* Transición suave para el ancho */
}

.linkxblue a:hover::after,
a.linkxblue:hover::after {
  	width: 100%; /* Ancho del 100% al pasar el cursor */
}


/** EFECTO CABECERA**/
.header-efecto-bw {
    position: relative;
    transition: all 0.5s ease-in-out; 
}

.header-efecto-bw:hover {
    filter: grayscale(100%) brightness(90%) contrast(1.1); 
}


/** EFECTO CABECERA SOLO PARA EL FONDO CON DEGRADADO SUAVE **/
.header-home-efecto-bw {
    position: relative;
    overflow: hidden; /* Asegura que los efectos no se desborden */
}

/* 1. Capa base para la imagen y el filtro de blanco y negro */
.header-home-efecto-bw::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    background-size: cover;
    background-position: center;
    z-index: 0; 
    transition: all 0.5s ease-in-out;
}

/* 2. Capa independiente para el degradado que se anima mediante la opacidad */
.header-home-efecto-bw::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	/*background-color: rgb(122 28 45 / 50%);
	background: linear-gradient(to top, rgba(62, 155, 148, 0.95) 0%, rgba(62, 155, 148, 0.7) 30%, rgba(62, 155, 148, 0) 60%);
	*/
	background: linear-gradient(to top, rgba(122, 28, 45, 0.95) 0%, rgba(122, 28, 45, 0.7) 30%, rgba(122, 28, 45, 0) 60%);
	
	/*
    background: linear-gradient(to top, rgba(62, 155, 148, 0.9) 0%, rgba(62, 155, 148, 0.6) 25%, rgba(62, 155, 148, 0) 50%, rgba(62, 155, 148, 0) 100%);
     */
	z-index: 1; /* Se sitúa encima de la imagen pero debajo del contenido */
    
    /* Inicialmente está oculto (opacidad 0) y preparado para hacer transición */
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

/* Aseguramos que el contenido real de la columna esté por encima de todo */
.header-home-efecto-bw > * {
    position: relative;
    z-index: 2;
}

/* AL PASAR EL RATÓN (HOVER) */
.header-home-efecto-bw:hover::before {
    /*filter: grayscale(100%) brightness(90%) contrast(1.1);*/
	filter: brightness(85%) contrast(1.1);
}

/* Al hacer hover, hacemos visible la capa del degradado suavemente */
.header-home-efecto-bw:hover::after {
    opacity: 1;
}



/** TEXTOS **/

p.cabecerax {
    /*font-size: 100px;*/
	font-size: clamp(48px, 8vw, 120px)!important;
    text-transform: uppercase;
    font-weight: 900;
	line-height: 1.2em;
    padding-bottom: 0px;
}

p.frasex {
    /*font-size: 28px;*/
	font-size: clamp(16px, 4vw, 28px)!important;
    text-transform: uppercase;
    font-weight: 400;
}

.sectionx {
    position: relative;
    font-size: clamp(34px, 7vw, 70px);
    font-weight: 900;
	line-height: 1.2em;
    text-transform: uppercase;
    /*color: #121212;*/
    cursor: pointer;
    margin-bottom: 40px;
	line-height: 1.2em;
}

.sectionx::before {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 0;
    width: 100px;
    height: 10px;
    background-color: #121212;
}
.sectionx::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #121212;
    transition: width 0.5s ease-in-out;
}
.sectionx:hover::after {
  width: 100px; 
}

.sectionx.whitex,
.sectionx.whitex::before,
.sectionx.whitex::after {
    color: #ffffff !important;
}

.sectionx.whitex::before,
.sectionx.whitex::after {
    background-color: #ffffff !important;
}

h1.titlex,
.titlex h1,
h2.titlex,
.titlex h2,
h3.titlex,
.titlex h3 {
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.2em;
	font-weight: 700;
	padding-bottom: 5px;
	padding-right: 20px;
}

h1.cabecerax {
    /*font-size: 100px;*/
	font-size: clamp(48px, 8vw, 120px)!important;
    text-transform: uppercase;
    font-weight: 900;
	line-height: 1.2em;
    padding-bottom: 0px;
}

h1.blogix,
.blogix h1 {
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.2em;
	font-weight: 700;
	padding-bottom: 5px;
	padding-right: 20px;
}

h2.blogix,
.blogix h2  {
	font-size: clamp(20px, 2vw, 24px);
    line-height: 1.2em;
    font-weight: 700;
    padding-bottom: 10px;
    padding-right: 20px;
    border-bottom: 1px solid #121212;
    margin-bottom: 15px;
    padding-top: 10px;
}

h3.blogix,
.blogix h3 {
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.2em;
	font-weight: 700;
	padding-top: 10px;
	padding-bottom: 5px;
	padding-right: 20px;
}

h3.blogix::before, .blogix h3::before {
    content: "\55";
    font-family: 'ETModules' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    display: inline-block;
    margin-right: 8px;
}

p.subtitlex {
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.2em;
	font-weight: 600;
	color: grey;
	padding-right: 20px;
}




blockquote {
    font-size: 20px;
    font-weight: 600;
	padding-top: 10px;
	padding-bottom: 10px;
}


/** ELEMENTOS DE LISTA **/
ul.ucheck {
	padding-top: 10px!important;
}
.ucheck li {
    list-style: none;
    position: relative;
    padding-bottom: 0px;
    padding-left: 8px;
    margin-left: 10px;
    margin-bottom: 5px;
}
.ucheck li::after {
    position: absolute;
    font-family: ETmodules !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
	top: 6px;
	left: -17px;
    content: "\52";
}
.ucheck.tick li::after {
    content: "\4e";
}
.ucheck.star li::after {
    content: "\e033";
}
.ucheck.radio li::after {
    content: "\5c";
}
.ucheck.minus li::after {
    content: "\4b";
}
.ucheck.box li::after {
    content: "\57";
}
.ucheck.arrow li::after {
    content: "\24";
}
.ucheck.arrow2 li::after {
    content: "\39";
}
.ucheck.arrow3 li::after {
    content: "\45";
}
.ucheck.warn li::after {
	content: "\73";
	/*color:#e4a800;*/
}

/** CABECERA HOME**/
/* ===== Cabecera UB Legal & Risk (hero comparador) =====
   Pega este bloque al final del style.css del tema hijo de Divi.
   Todas las reglas empiezan por .hero-ub, asi que no afectan al resto de la web.
   La fuente Outfit se carga aparte (ver instrucciones). */

.hero-ub{--pos:50%;--azul:#124389;position:relative;height:560px;overflow:hidden;background:#fff;
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.hero-ub .capa{position:absolute;inset:0}

.capa-clara{color:#1B2A41}
.capa-clara .eti{color:var(--azul)}
.capa-clara .btn{color:var(--azul);border-color:var(--azul)}
.capa-clara .btn:hover{background:var(--azul);color:#fff}
.capa-clara .disco{background:#fff;border:1px solid #E3EAF6;box-shadow:0 8px 28px rgba(18,67,137,.2)}

.capa-oscura{background:var(--azul);color:#fff;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.capa-oscura .eti{color:#BFD4F6}
.capa-oscura .btn{color:#fff;border-color:#fff}
.capa-oscura .btn:hover{background:#fff;color:var(--azul)}
.capa-oscura .disco{background:var(--azul);border:2px solid #fff}
.capa-oscura .disco img{filter:brightness(0) invert(1)}

.hero-ub p{margin:0;font-size:clamp(16px,1.7vw,21px);line-height:1.45;font-weight:400}
.hero-ub .eti{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;margin-bottom:10px}
.hero-ub .txt-izq{position:absolute;left:3%;top:30%;width:min(26%,340px);text-align:center}
.hero-ub .txt-der{position:absolute;right:3%;top:30%;width:min(26%,340px);text-align:center}
.hero-ub .btn{display:inline-block;margin-top:20px;padding:12px 26px;border:1.5px solid;
  border-radius:0;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.06em;
  transition:background .2s,color .2s}

.hero-ub .medallon,.hero-ub .caja-puntos{position:absolute;left:50%;top:50%;width:min(34%,380px);
  aspect-ratio:1/1;transform:translate(-50%,-50%);pointer-events:none}
.hero-ub .caja-puntos{z-index:3}
.hero-ub .disco,.hero-ub .puntos{width:100%;height:100%;animation:flotar 6s ease-in-out infinite}
.hero-ub .disco{border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.hero-ub .disco img{width:74%;height:auto;display:block}
.hero-ub .puntos{position:absolute;inset:0}

.hero-ub .punto{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;
  cursor:pointer;pointer-events:auto;color:var(--azul);font:inherit}
.hero-ub .punto.sobre-azul{color:#fff}
.hero-ub .punto span{display:block;box-sizing:border-box;width:var(--d,18px);height:var(--d,18px);
  border:2px solid currentColor;border-radius:50%;
  animation:respirar var(--t,2.6s) ease-in-out var(--r,0s) infinite}
.hero-ub .punto:focus-visible{outline:3px solid #F2B632;outline-offset:-4px;border-radius:50%}

.hero-ub .tip{position:absolute;z-index:6;max-width:240px;background:#fff;color:#1B2A41;padding:12px 14px;
  border:1px solid #D5E0F3;border-left:3px solid var(--azul);box-shadow:0 10px 28px rgba(10,30,70,.22);
  text-align:left;visibility:hidden;opacity:0;transition:opacity .15s;pointer-events:none}
.hero-ub .tip.on{visibility:visible;opacity:1}
.hero-ub .tip b{display:block;font-size:14px;font-weight:600;color:var(--azul);margin-bottom:4px}
.hero-ub .tip span{display:block;font-size:13px;line-height:1.45}

.hero-ub .tirador{position:absolute;top:86%;left:var(--pos);width:40px;height:40px;
  margin:-20px 0 0 -20px;border-radius:50%;background:var(--azul);border:3px solid #fff;
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;
  z-index:4;cursor:ew-resize;box-sizing:border-box}
.hero-ub .tirador:focus-visible{outline:3px solid #F2B632;outline-offset:3px}

@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes respirar{0%,100%{transform:scale(1)}50%{transform:scale(var(--k,1.7))}}
@media (prefers-reduced-motion:reduce){
  .hero-ub .disco,.hero-ub .puntos,.hero-ub .punto span{animation:none}
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  .hero-ub{height:620px}
  .hero-ub .txt-izq,.hero-ub .txt-der{width:28%;top:28%}
  .hero-ub p{font-size:16px}
  .hero-ub .eti{font-size:11px;letter-spacing:.12em}
  .hero-ub .btn{padding:11px 16px;font-size:12px}
  .hero-ub .medallon,.hero-ub .caja-puntos{width:30%}
  .hero-ub .tip{max-width:210px}
}

/* Móvil */
@media (max-width:767px){
  .hero-ub{height:740px}
  .hero-ub .txt-izq{left:4%;top:5%;width:44%}
  .hero-ub .txt-der{right:4%;top:5%;width:44%}
  .hero-ub p{font-size:14px}
  .hero-ub .eti{font-size:11px;letter-spacing:.1em}
  .hero-ub .btn{padding:10px 12px;font-size:11px;letter-spacing:.03em}
  .hero-ub .medallon,.hero-ub .caja-puntos{top:auto;bottom:5%;left:50%;width:min(62%,260px);
    transform:translateX(-50%)}
  .hero-ub .tirador{top:52%;width:44px;height:44px;margin:-22px 0 0 -22px}
  .hero-ub .tip{max-width:200px}
}


.homex {
    /* padding-left: clamp(1.5rem, 5vw, 120px) !important; */
    padding-left: 10%;
	padding-right: 10%;
}
.et_pb_column.homex {
    padding-top: 25%;
    padding-bottom: 10%;
}

/* 1. Altura fluida con clamp */
.fila-home {
  height: clamp(350px, 50vw, 750px) !important; 
  max-height: clamp(350px, 50vw, 750px) !important;
  overflow: hidden;
}

/* 2. Forzamos la altura en las columnas */
.fila-home .et_pb_column {
  height: 100% !important;
  max-height: 100% !important;
}

/* 3. Transición más suave y elegante usando cubic-bezier */
.fila-home .homex {
  /* Aumentamos ligeramente el tiempo a 0.6s y usamos una curva más suave */
  transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1), flex-basis 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  height: 100% !important;
}

/* 4. Expansión a 2/3 al pasar el ratón */
.fila-home .homex:hover {
  width: 66.66% !important;
  /*flex-basis: 66.66% !important;*/
}

/* 5. DESACTIVAR EFECTO EN MÓVILES Y TABLETS (Menos de 981px) */
@media screen and (max-width: 981px) {
  .fila-home {
    height: auto !important; /* Permitimos que la altura sea automática en móvil según el contenido */
    max-height: none !important;
  }
  
  .fila-home .homex,
  .fila-home .homex:hover {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}

p.homex_title {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
}


/** ELEMENTOS HOME **/
.barrix span.et_pb_counter_title {
    text-transform: uppercase;
    color: #121212;
}

.barrix p {
    font-weight: 800;
	font-size: 20px;
}
/* Bloque servicios home*/
h3.servix,
.servix h3 {
	font-size: 18px;
	line-height: 1.2em;
	font-weight: 600;
}

.servix .et_pb_icon.et_flex_module {
	align-self: end;
}
.servix ul.et_pb_icon_list {
	transition: padding-right 0.5s ease !important;
}
.servix ul.et_pb_icon_list:hover {
	padding-right: 0px!important;
} 
/*.servix .et_pb_icon_list_text {
	transition: color 0.5s ease!important;
}
.servix .et_pb_icon_list_text:hover {
	color: #d8ae0f!important;
}
.servix .et_pb_icon_list .et-pb-icon {
	transition: color 0.5s ease!important;
}
.servix .et_pb_icon_list .et-pb-icon:hover {
	color: #d8ae0f!important;
}*/
.servix .et_pb_group_carousel_slide,
.servix .et_pb_column {
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow 0.5s ease-in-out;
}
.servix .et_pb_group_carousel_slide:hover,
.servix .et_pb_column:hover {
    box-shadow: 0 20px 10px -18px rgba(0, 0, 0, 0.25);
}

.servix .et_pb_blurb,
.servixbl .et_pb_blurb {
    min-height: 175px;
}

/* Bloque perfiles home */
h3.servixbl,
.servixbl h3 {
	font-size: 18px;
	line-height: 1.2em;
	font-weight: 600;
}
p.servixtit {
    font-size: 20px;
    font-weight: 600;
    /*text-transform: uppercase;*/
}
.servixbl .et_pb_icon.et_flex_module {
	align-self: end;
}
.servixbl ul.et_pb_icon_list {
	transition: padding-right 0.5s ease !important;
}
.servixbl ul.et_pb_icon_list:hover {
	padding-right: 0px!important;
} 
.servixbl .et_pb_icon_list_text {
	color: #ffffff!important;
}
/*.servixbl .et_pb_icon_list_text:hover {
	color: #ffffff!important;
}
.servixbl .et_pb_icon_list .et-pb-icon {
	transition: color 0.5s ease!important;
}
.servixbl .et_pb_icon_list .et-pb-icon:hover {
	color: #ffffff!important;
}*/
.servixbl .et_pb_group_carousel_slide,
.servixbl .et_pb_column {
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow 0.5s ease-in-out;
}
.servixbl .et_pb_group_carousel_slide:hover,
.servixbl .et_pb_column:hover {
    box-shadow: 0 20px 10px -18px rgba(0, 0, 0, 0.75);
}


/* Flechas del carrusel Divi */
.et_pb_group_carousel {
    position: relative !important;
}
.et_pb_group_carousel .et_pb_group_carousel_arrow {
    position: absolute !important;
    top: auto !important;
    bottom: -55px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 999 !important;
}
.et_pb_group_carousel .et_pb_group_carousel_arrow_prev {
    left: auto !important;
    right: 50px !important;
}
.et_pb_group_carousel .et_pb_group_carousel_arrow_next {
    left: auto !important;
    right: 8px !important;
}

/*Bloque artistas*/
div.artistix {
    padding: 0 20px 20px 20px;
}

/** ELEMENTOS PÁGINA SERVICIOS **/
.espacex {
    /* padding-left: clamp(1.5rem, 5vw, 120px) !important; */
    padding-left: 10%;
}
.et_pb_column_1.espacex {
    padding-top: 120px;
    padding-bottom: 120px;
}



/* Índice de la guía */
.index a,
a.index {
    color: #121212!important;
	transition: color 0.5s ease-in-out;
}
.index a:hover,
a.index:hover {
    color: #d8ae0f!important;
}
.parrafix {
    padding: 20px!important;
    border: 2px solid #121212!important;
	margin-bottom: 20px !important;
}
.togglex h3.et_pb_toggle_title {
    color: #121212;
    font-size: 16px;
    font-weight: 500;
	line-height: 1.2em;
}
.togglex h4 {
    font-size: 16px;
    text-decoration: underline;
    position: relative;
    display: inline-block;
	padding-top: 10px;
	padding-left: 5px;
	background-color: #f2f2f2;
	margin: 10px 0 5px 0;
}
.togglex h4::before {
    content: "\45"; 
    font-family: 'ETmodules';
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    margin-right: 4px; 
    display: inline-block;
    vertical-align: middle;
}
.togglex .et_pb_toggle {
	padding: 20px!important;
	transition: background-color 0.5s ease-in-out;	
}
.togglex .et_pb_column,
.togglex .et_pb_column .et_pb_accordion {
    --vertical-gap: 0px!important;
}
.togglex .et_pb_toggle:hover {
	background-color: #f2f2f2!important;	
}
.togglex .et_pb_accordion .et_pb_toggle {
	padding: 20px!important;
}



/** ELEMENTOS PÁGINA ARTISTAS **/
/* 1. Contenedor principal */
.carrusel-infinito {
  overflow: hidden !important;
  width: 100% !important;
  position: relative !important;
}
/* ==========================================
   VERSION ESCRITORIO (Ordenadores)
   - 3 columnas visibles (33.3333% cada una)
   ================================---------- */
.carrusel-infinito .et_pb_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  animation: bucleInfinito 28s linear infinite !important;
  will-change: transform !important;
}
.carrusel-infinito .et_pb_column {
  flex: 0 0 33.3333% !important;
  max-width: 33.3333% !important;
  margin-right: 0px !important;
  box-sizing: border-box !important;
}
/* ==========================================
   VERSION TABLET (Pantallas medianas)
   - 2 columnas visibles (50% cada una)
   ================================---------- */
@media (max-width: 980px) {
  .carrusel-infinito .et_pb_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    max-width: none !important;
    animation: bucleInfinito 15s linear infinite !important;
    will-change: transform !important;
  }
  .carrusel-infinito .et_pb_column {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin-right: 0px !important;
    box-sizing: border-box !important;
  }
}
/* ==========================================
   VERSION MOVIL (Pantallas pequeñas)
   - 2 columnas visibles (50% cada una)
   ================================---------- */
@media (max-width: 767px) {
  .carrusel-infinito .et_pb_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    max-width: none !important;
    animation: bucleInfinito 12s linear infinite !important;
    will-change: transform !important;
  }
  .carrusel-infinito .et_pb_column {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 50% !important;
    margin-right: 0px !important;
    box-sizing: border-box !important;
  }
}
/* 4. Animación de desplazamiento continuo */
@keyframes bucleInfinito {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
/* 5. Pausa la animación al pasar el cursor encima 
.carrusel-infinito:hover .et_pb_row {
  animation-play-state: paused !important;
}
*/


/** PÁGINA BLOG **/
.categorix li.cat-item {
    display: inline-block !important;
    padding: 10px !important;
    background-color: #f8f8f8;
    margin-right: 4px;
    font-size: 12px;
    text-transform: uppercase;
}

.categorix .fwidget.et_pb_widget.widget_categories {
    width: 100%;
	margin-bottom: 20px;
}
h4.widgettitle {
    display: none;
}

/** ENTRADAS BLOG **/
.blogix .et_pb_section > .et_pb_row {
    max-width: 100%!important;
    width: 100%!important;
}

.blogix .et_pb_section,
.blogix .et_pb_section .et_pb_row {
	padding-top: 0!important;
}

.blogix blockquote {
    margin: 10px 0 0 0;
}

/* Firma autor */
.autorix a.ppma-author-user_email-profile-data.ppma-author-field-meta.ppma-author-field-type-email {
    padding: 0 !important;
}
p.newindex {
    padding-bottom: 8px;
	font-weight: 600;
}


.indexblog p,
p.indexblog {
    padding-top: 8px;
    padding-bottom: 8px;
    border-top: 1px dotted #a2a2a2;
	font-size: 14px;
	line-height: 1.4em;
}

.indexblog a,
a.indexblog {
    color: #121212 !important;
    transition: color 0.5s ease-in-out;
    display: inline-block;
}
.indexblog a:hover,
a.indexblog:hover {
    color: #d8ae0f!important;
}
/*.autorix .pp-multiple-authors-boxes-wrapper.pp-multiple-authors-layout-boxed.multiple-authors-target-shortcode .ppma-author-user_email-profile-data {
    background-color: #1a428a !important;
}*/





/*  ********* FORMS *********** */
/*  ********* FORMS *********** */

.divForm {
    text-align: left;
    color: #313851;
    display: table;
    width: 100%;
	padding-bottom: 15px;
}

.divForm-row {
    display: table-row;
}
.divForm-row .divForm-col:first-child {
    padding-right: 10px;
}
.divForm-col {
    display: table-cell;
    width: 50%;
}
.divForm-col2 {
    display: table-cell;
    width: 100%;
}


.divForm-col2b {
    display: table-cell;
    width: 100%;
	border: 1px solid #bababa;
	padding: 20px 0 20px 0;
	background-color: #ffffff;
}

.divForm-col2b:hover {
	border: 1px solid #121212;
	background-color: #f8f8f8!important;
}

.divForm-col2c {
    display: table-cell;
    width: 100%;
	padding-left: 0px;
}
.divForm input {
    margin-bottom: 0;
    padding: 20px 10px 10px;
    font-weight: 300;
    font-size: 16px;
    border: 0;
    border: 1px solid #bababa;
    border-radius: 0;
    color: #121212;
    background-color: #ffffff;
    width: 100%;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
.divForm input[type="email"]:focus,
.divForm input[type="tel"]:focus,
.divForm input[type="text"]:focus,
.divForm textarea:focus {
    background-color: #f8f8f8 !important;
    color: #121212;
    border: 1px solid #121212 !important;
}

.divForm input[type="email"]:hover,
.divForm input[type="tel"]:hover,
.divForm input[type="text"]:hover,
.divForm textarea:hover {
    background-color: #f8f8f8 !important;
    color: #121212;
    border: 1px solid #121212 !important;
}

.divForm input[type="checkbox"] {
    padding: 0;
    margin: 0;
    color: #fff;
    width: auto;
    height: auto;
    vertical-align: middle;
    margin-bottom: 2px;
}
div.wpcf7 .ajax-loader {
    display: none !important;
}
.divForm textarea {
    margin-bottom: 0;
    padding: 20px 10px;
    font-weight: 300;
    font-size: 16px;
    border: 0;
    border-radius: 0;
    border: 1px solid #bababa;
    color: #121212;
    background-color: #ffffff;
    width: 100%;
    max-height: 150px;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
.divForm textarea:focus {
	background-color:#ffffff !important;;
	color: #121212;
	border: 1px solid #121212 !important;
}
.divForm .wpcf7-acceptance {
    padding: 0;
    width: 18px;
    height: 18px;
}

.divForm-span {
    padding-left: 10px;
	font-size: 16px!important;
	display: inline-block;
	padding-bottom: 0px;
}

.divForm-span2 {
    padding-left: 14px;
	padding-bottom: 10px;
	font-size: 14px!important;
	font-style: italic;
	display: inline-block;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0px 0 0px 1em;
}
span.wpcf7-list-item-label {
    font-size: 14px;
}


.divForm .wpcf7-submit {
	font-size: 14px;
	font-weight: 500;
	padding: 15px 30px 15px 30px!important;
    margin-top: 20px!important;
	line-height: 1.7em !important;
	background-color: #d8ae0f;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	border: 2px solid #d8ae0f;
	border-radius: 0px;
	font-weight: normal;
	font-style: normal;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff!important;
    cursor: pointer; 
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; 
	max-width: 160px;
    margin: 20px 0 20px;
}
.divForm .wpcf7-submit:hover {
	background:  #1a428a!important;
	border: 2px solid #1a428a!important;
	padding: 15px 30px 15px 30px!important;
	border-radius: 0px;
	color: #ffffff;
}

.divForm span.wpcf7-not-valid-tip {
    color: #fff;
    font-size: 1em;
    font-weight: 400;
	padding-left: 5px;
    display: block;
    background-color: #d8ae0f;
    margin: 0 auto;
    width: 100%;
}
.divForm .wpcf7-not-valid {
    border: 1px solid #d8ae0f;
}
.wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 1em 1.5em;
    color: #222;
    border: 2px solid red;
}
div.wpcf7-acceptance-missing,
div.wpcf7-validation-errors {
    border: 3px solid #f7e700;
    background-color: #f7e700;
}
.wpcf7-mail-sent-ok {
    background-color: #c7ffae;
    border: 3px solid #c7ffae;
}

.divForm-checkboxes span.wpcf7-list-item {
    margin: 0 !important;
}

p.formmm {
	font-size: 14px!important;
	padding-left: 0px!important;
	padding-bottom: 8px!important;
}

p.prote1 {
    font-size: 14px;
    line-height: 1.5em;
    /* padding: 0 !important; */
    margin: 0 0 0 0 !important;
    padding-bottom: 5px;
}

/*  *********  fin FORMS *********** */
/** FOOTER **/
.social-container {
	display: flex;
	gap: 8px; /* Espacio entre los íconos */
	align-items: center;
}
.social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background-color: #121212; /* Fondo general oscuro */
	color: #ffffff;            /* Color del ícono SVG */
	border-radius: 50%;        /* Diseño circular */
	text-decoration: none;
	transition: all 0.3s ease;
}
/* Efecto al pasar el ratón */
.social-icon:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
/* Colores oficiales al hacer hover */
.social-icon.instagram:hover {
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.social-icon.linkedin:hover {
	background-color: #0a66c2;
}
.social-icon.facebook:hover {
	background-color: #1877f2;
}
.social-icon.twitter:hover {
	background-color: #000000;
}

.fcheck {
    list-style: none;
    margin-top: 0px;
}
.fcheck li {
    list-style: none;
    position: relative;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-left: 0px;
    color: #121212;
}
.fcheck li a {
	color: #121212;
}
.fcheck li::after {
    position: absolute;
    font-family: 'ETmodules' !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    top: 8px;
    left: -20px;
    color: #121212;
    content: "\45";
    font-size: 14px;
}
.fcheck li.tlfn1::after {
    content: "\e00b";
}
.fcheck li.tlfn2::after {
    content: "\e090";
}
.fcheck li.whtp::after {
    content: "\e066";
}
.fcheck li.frcn::after {
    content: "\6c";
}
.fcheck li.dire::after {
    content: "\e081";
}
.fcheck li.mail::after {
    content: "\e076";
}

a {
	transition: all 100ms ease 0ms;
}


.et_pb_section > .et_pb_row {
	max-width: 80%!important;
	width: 80%!important;
}
/*html {
  scroll-behavior: smooth;
}*/


.et_pb_section > .frow.et_pb_row {
	max-width: 100%!important;
	width: 100%!important;
}

/* ***************************** */
/* ******      MEDIAS     ****** */
/* ***************************** */



@media only screen and (min-width: 981px) {



}

@media only screen and (min-width: 1601px) {

}

@media only screen and (max-width: 1600px) {
	.et_pb_section > .et_pb_row {
		max-width: 90%!important;
		width: 90%!important;
	}
	.espacex {
    	padding-left: clamp(1.5rem, 5vw, 120px) !important; 
	}
	.homex {
    	padding-left: clamp(1.5rem, 5vw, 120px) !important; 
		padding-right: clamp(1.5rem, 5vw, 120px) !important; 
	}
}

@media only screen and (max-width: 1400px) {

}

@media only screen and (max-width: 1280px) {


}

@media only screen and (max-width: 1180px) {

}

@media only screen and (max-width: 980px) {
	#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    	padding: 5px 10px;
	}
	.et_pb_section > .et_pb_row {
		max-width: 90%!important;
		width: 90%!important;
	}
	.single .et_pb_row .et_pb_row {
		width: 100% !important;
	}
	.et_pb_column_1.espacex {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	/*.et_pb_column.homex {
		padding-top: 80px;
		padding-bottom: 80px;
	}*/
	div.menutop {
		padding-top: 0px;
	}


}

@media only screen and (max-width: 769px) {
	.sectionx::before {
		bottom: -28px;
		height: 8px;
	}
	p.homex_title {
		font-size: 16px;
		line-height: 1.2em;
	}	
	p.homex_text {
		font-size: 14px;
		line-height: 1.2em;
	}

}


@media (max-width: 400px) {

}







