

/* LOCONATIVE */


html {
  scroll-behavior: initial;
}

html,
body {
  width: 100%;
  min-height: 100%;

}

/* LENIS Recommended CSS */


html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {scroll-behavior: auto; height: 100vh;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.lenis.lenis-scrolling iframe {pointer-events: none;}





/* ------------------------- Styled Image/Video -------------------------------------------------- */



.reveal-layer-animation figure {
  position: relative;
  transform-origin: center center;
  transform: scale(1.15);
  transition: transform 1.6s cubic-bezier(.6, 0, .1, 1);
  /* transition-delay: .3s; */
}
.is-inview .reveal-layer-animation figure{
  transform: scale(1);
}

.col-img{
  width: 50%;
}
.styled-content-img {
  border-radius: 24px;
  overflow: hidden;
}



.styled-content-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}



/* ------------------------- Split Words -------------------------------------------------- */

.c-hero-home .split-words .single-word,
.c-hero-home .c-heading_intro_content p{
  transition-delay: 1s;
}
.section-anim .split-words .single-word,
.section-anim .c-heading_intro_content p{
  transition-delay: .6s;
}

.split-words .single-word {
  /* overflow: hidden;
  padding: 0 0.125em;
  margin: -0.125em -0.125em -0.22em -0.125em; */
  transition: transform .9s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1), transform .9s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1), transform .9s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-delay: 0.3s;
        transform: translate3d(0, 100%, 0);
        -webkit-clip-path: polygon(-10% -100%, 110% -100%, 110% 0%, -10% 0%);
        clip-path: polygon(-10% -100%, 110% -100%, 110% 0%, -10% 0%);
}

.c-heading_intro_content p{
  transition: clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1), transform .9s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1), transform .9s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-clip-path .9s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0.3s;
  transform: translate3d(0, 100%, 0);
  -webkit-clip-path: polygon(-10% -100%, 110% -100%, 110% 0%, -10% 0%);
  clip-path: polygon(-10% -100%, 110% -100%, 110% 0%, -10% 0%);
}



.split-words .single-word-inner {
 position: relative;
 transform-origin: left bottom;
}


.is-loadHome .c-hero-home .split-words .single-word {
        -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
        clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
        transform: translate3d(0, 0, 0);
}

.is-loadHome .c-hero-home .c-heading_intro_content p{
  -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  transform: translate3d(0, 0, 0);
}

.loaded .section-anim .split-words .single-word {
  -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  transform: translate3d(0, 0, 0);
}

.loaded .section-anim .c-heading_intro_content p{
-webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
transform: translate3d(0, 0, 0);
}






.is-inview .split-words .single-word {
  -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  transform: translate3d(0, 0, 0);
}

.is-inview .c-heading_intro_content p{
  -webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
  transform: translate3d(0, 0, 0);
}





#text {
  text-align: center;
  background: #fff;
  /* background: radial-gradient(circle, rgb(255 255 255) 0%, rgb(191 191 191) 50%, rgb(255 255 255) 100%); */
  background: radial-gradient(circle, rgb(255 255 255) 0%, rgb(255 255 255 / 70%) 50%, rgb(255 255 255) 100%);
  background-size: 200%;
  font-family: sans-serif;
  color: transparent;
  background-clip: text;
  animation: animation 4.7s linear infinite;
}

@keyframes animation {
	to {
		background-position: 200% center;
	}
}






/* BOTON GLOW */





/*-------------------- TOP MENU --------------------*/


.c-header{
  z-index: 350;
  /* position: absolute; */
  position: fixed;
  top: 0;
  padding: 0 3.22rem;
  display: flex;
  align-items: center;
  width: 100%;
  transform-origin: 0 50%;
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  color: #fff;
  height: 90px;
  /* background: black; */
  transform: translateY(0%) rotate(0.001deg);
}

.single .c-header{
  background: var(--bg-primary);
}

[data-scrolling-started="true"][data-scrolling-direction="down"] .c-header {
  transform: translateY(calc(-100% + -2px)) rotate(0.001deg);
}

body:not(.home) .c-header{
color: #fff;
}

#noticias-index .c-header{
  color: #fff;
}

#servicios .c-header{
color: #fff;
}

:not(.home) header.header-general {
margin-top: 5.375rem;
}
/* 
.c-header:before{
content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: auto;
  height: 3.375rem;
  background-color: #fff;
  border-radius: 35px;
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 12%);
} */

/* @media (min-width: 1000px){
.c-header:before {
  z-index: 330;
  position: fixed;
  top: 1.15rem;
  right: calc(2.5rem - 0.4375rem);
  left: calc(2.5rem - 0.4375rem);
  height: 3.675rem;
  opacity: 0;
  transition: opacity .3s cubic-bezier(0.215, 0.61, 0.355, 1) .3s;
}

} */


.c-header-logo {
  padding-left: 0;
  width: 15%;
}
.c-header-logo a svg{
max-width: 100%;
width: 100%;
width: 100px;
transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* .fixed .c-header-logo a img {
max-width: 100px;
transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
} */


.c-header-inner {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
z-index: 350;
}


.c-header_right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  backdrop-filter: blur(12px);
  padding: 4px;
  background: rgb(247 247 247 / 10%);
  border-radius: 12px;
}

header.c-header.light .c-header_right{
  background: rgb(247 247 247 / 85%);
}

.c-header_right  .cb-btn_cta {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-radius: 8px;
}
.c-header_right  .cb-btn_cta-border {
  border: none;
  border-radius: 8px;
}

@media (max-width: 1024px){
  .c-header_right {
    display: none;
    visibility: hidden;
}
.wpml-language-switcher ul {
    color: #111;
}
}


.c-header_nav {
display: flex;
align-items: center;
}
.c-header_link {
font-weight: 500;
}
a.c-header_link {
/* color: #fff; */
transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
}
button {
display: inline-block;
overflow: visible;
margin: 0;
padding: 0;
outline: 0;
border: 0;
background: none transparent;
color: inherit;
vertical-align: middle;
text-align: center;
text-decoration: none;
text-transform: none;
font: inherit;
line-height: normal;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.c-header_link {
margin-right: 2rem;
}
button.c-header_link {

align-items: center;
}

.c-header_buttons .c-button {
color: #fff;
background: #18171d;
font-weight: 500;
}
button.c-header_link:after {
content: "";
top: 0.1em;
display: inline-block;
margin-left: 0.5em;
border-style: solid;
border-width: 4px 4px 0 4px;
border-color: currentColor transparent transparent transparent;
transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
button.c-header_link_eventos:after,
button.c-header_link_noticias:after,
button.c-header_link_contacto:after{
content: none;
}
.btn_line{
position: relative;
display: inline-block;
}
.btn_line:before {
content: "";
position: absolute;
bottom: -2px;
left: 0;
display: block;
width: 100%;
height: 1px;
background-color: rgb(17 17 17 / 35%);
transform: scale(0, 1);
transform-origin: 100% 50%;
will-change: transform;
transition: transform .45s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.btn_line_green:before{
  background-color: rgb(15 138 119 / 30%);
}
.btn_line_white:before{
  background-color: rgb(255 255 255 / 35%);
}
.c-menu .btn_line:before{
  background-color: rgb(15 139 119);
}

.btn_line:hover:before {
transform: scale(1);
transform-origin: 0 50%;
}

.styled-col-btn {
  margin-top: 18px;
}
.btn_line.styled-col-btn a {
  font-weight: 500;
  font-size: 20px;
  color: #0F8A77;
}
.styled-content h2 {
  margin-bottom: 24px;
}
/* .fixed .c-header {
color: #05012B !important;
transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
} */
/* .fixed  a.c-header_link {
color: #05012B !important;
transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1) !important;
} */

[data-scrolling-direction="up"] .c-header {
  /* color: #050c40 !important; */
  background: #fff;
  /* transition: background .3s cubic-bezier(0.215, 0.61, 0.355, 1), color .3s cubic-bezier(0.215, 0.61, 0.355, 1);  */
  transform: none;
  }
  [data-scrolling-direction="up"] .c-header .cb-btn_cta{
    color: var(--color-white);
  }

 .page-template-page-nosotros.fixed[data-scrolling-direction="up"] .c-header .cb-btn_cta{
  background: #f7f7f7;
  color: #052E28;
 }
 .home.fixed[data-scrolling-direction="up"] .c-header .cb-btn_cta{
  background: #f7f7f7;
  color: #052E28;
 }
  body:not(.fixed)[data-scrolling-direction="up"] .c-header{
    background: transparent;
    transition: background .3s cubic-bezier(0.215, 0.61, 0.355, 1), color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }


  .fixed[data-scrolling-direction="up"] .c-header svg path {
  fill: #111;
}

.fixed[data-scrolling-direction="up"] .c-header .o-burger_line{
  color: #111;
}
.fixed[data-scrolling-direction="up"] .wpml-language-switcher ul{
  color: #052E28;
}


.c-header_right_btn {
    display: flex;
    gap: 1rem;
}

header.c-header.light{
  background: #fff !important;
}

.light .c-header-logo a svg path {
  fill: #111;
}
.light .c-header-inner .cb-btn_cta {
  background: #f7f7f7;
  color: #052E28;
}
.light .cb-btn_cta {
  color: #052E28;
}
.light .o-text {
  color: #052E28;
}
.light .o-burger_line {
  color: #052E28;
}
.light .wpml-language-switcher ul{
  color: #052E28;
}



/* ------------------------- MEGA MENU ---------------------------------------- */


.c-submenu {
position: fixed;
top: 90px;
right: 0;
left: 0;
display: flex;
height: auto;
flex-direction: column;
border-radius: 18px;
background-color: #fff;
transition: transform .45s cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translate(0) scale(1,0);
transform-origin: 50% 0;

background-color: rgb(255 255 255 / 8%);
/* -webkit-backdrop-filter: blur(3em);
backdrop-filter: blur(.5em); */

}

@media (min-width: 1000px){
.c-submenu {
  z-index: 341;
  /* border-left: 1px solid #BBBFD8;
  box-shadow: 0 4px 12px 0 rgba(0,0,0,0.25); */
  bottom: auto;
}
}

.c-submenu[data-dropdown-status="active"]{
transform: translate(0) scale(1) !important;
}


.c-submenu[data-dropdown-status="active"] .c-submenu_inner {
opacity: 1;
transition: opacity .45s cubic-bezier(0.215, 0.61, 0.355, 1) .3s;
}

/* .submenu_open a.c-header_link {
color:#111;
} */

.c-submenu_inner {
/* padding:calc(0.2* 1.375rem + 4.75rem) 1.25rem 1.25rem; */

opacity: 0;
  transition: opacity .15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.has-menu-open .c-submenu_inner {
  padding-left: calc(2.5rem + 1.75rem);
}

.navigation-back{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgb(0 0 0 / 25%);
  transition: 0.3s cubic-bezier(.7, 0, .3, 1);
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}

[data-site-dropdown-status="active"] .navigation-back {
opacity: 1;
visibility: visible;
}

.c-header_link {
/* color: #fff !important; */
transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

[data-site-dropdown-status="active"] .btn_line:before {
  background-color: rgb(255 255 255 / 35%);
  }


.not_dropdown:before{
  background-color: rgb(255 255 255 / 35%);
}  

[data-site-dropdown-status="active"] .c-header:before {
box-shadow: none;
}

.c-submenu_list {
display: flex;
gap: 0;
display: grid;
grid-gap: 0;
/* grid-template-columns: repeat(4, minmax(0, 1fr)); */
width: 100%;
}

.submenu_empresa .c-submenu_list{
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.submenu_empresa .c-thumb-list_item a p{

}

h4.c-submenu_label {
margin-bottom: 1.5rem;
font-size: 1.2rem;
position: relative;
color: var(--bg-primary);
display: none;
margin-top: 0;
}

@media screen and (min-width: 1000px ) {
  h4.c-submenu_label{
  display:block;
  }
}

.c-thumb-list_item {
  background-color: rgb(255 255 255);
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  border-right: 1px solid #e6e6e6;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 64rem;
  padding: 4.4rem 6.4rem;
  transition: box-shadow .35s, border-color .45s cubic-bezier(.215,.61,.355,1), color .45s cubic-bezier(.215,.61,.355,1), opacity .45s cubic-bezier(.215,.61,.355,1), background-color .45s cubic-bezier(.215,.61,.355,1);
  display: flex;
}

.submenu_empresa .c-thumb-list_item{
  border-left: none;
}


.c-thumb-list_item a p {
margin: 0;
display: flex;
align-items: flex-end;
width: 100%;
height: 5em;
font-weight: 500;
z-index: 1;
line-height: 1.2;
}

.submenu_presupuestos .c-thumb-list_item a p{
  height: 6em;
  height: 3em;
  align-items: center;
  padding-right: 35px;
  }

  .submenu_servicios .c-thumb-list_item a p{
    height: 3em;
    align-items: center;
    padding-right: 35px;
    font-size: clamp(0.9375rem, 0.9087rem + 0.0769vw, 1rem);
    }

a.c-thumb-list_content {
display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem 1.2rem 1rem;
  transition: color .3s ease-out;
}

i.c-thumb-list_icon {
position: absolute;
top: 1.2rem;
right: 1.2rem;
padding-bottom: 0;
width: 42px;
height: 42px;
z-index: 1;
}
i.c-thumb-list_icon img {
  filter: grayscale(1);
}

.c-thumb-list_content:hover p{
/* color: #fff; */
}
.c-thumb-list_content:hover:before {
opacity: 1;
transform: scale(1);
}

.c-thumb-list_content:before {
content: "";
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background-color: var(--color-amarillo);
background-image: radial-gradient(circle at 100% 0, rgb(223 167 24), rgba(31, 44, 120, 0) 50%);
opacity: 0;
transform: scale(2);
transform-origin: 100% 0;
transition: opacity .3s ease-out, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-thumb_img {
position: absolute;
top: 0;
right: 0;
/* top: 0.8rem; */
/* right: 0.8rem; */
padding-bottom: 0;
width: 100%;
height: 8rem;
z-index: 1;
border-radius: 0% 0% 60% 60%;
overflow: hidden;
transition: transform 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
}


.c-thumb_img img {
object-fit: cover;
width: 100%;
height: 100%;
}

a.c-thumb-list_content:hover .c-thumb_img {
transform: translateY(-5px);
transform-origin: right bottom;
transition: transform 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
}

@media screen and (max-width: 800px){
.submenu_presupuestos .c-submenu_list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
}



/* ------------------------- MENU RESPONSIVE -------------------------------------------------- */



.c-menu {
  z-index: 340;
  position: fixed;
  top: var(--grid-gutter);
  display: flex;
  width: var(--menu-width);
  height: auto;
  flex-direction: column
}

.c-menu  .c-header_toggler {
  position: absolute;
  right: var(--grid-gutter);
  z-index: 99;
  top: var(--grid-gutter);
}
.c-menu .o-burger_line{
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-menu .o-burger_label{
  visibility: hidden;
}




html:not(.has-menu-open) .c-menu {
  right: -200vw;
  transition: right 0s .45s
}

@media (max-width: 999px) {
  .c-menu {
      top:calc(1.25rem + 3.5rem);
      right: 1.25rem;
      bottom: 1.25rem;
      left: auto;
  }
  .has-menu-open .c-menu {
    left: 1.25rem
  }
  
  .c-menu_nav.-secondary {
    margin-top: auto;
}
  header.c-header {
    z-index: 350;
    position: fixed;
    /* right: 1.25rem;
    top: 0.6rem;
    left: 1.25rem; */
    right: 0;
        top: 0;
        left: 0;
    display: flex;
    align-items: center;
    height: 4.5rem;
    width: auto;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    transition: opacity .3s cubic-bezier(0.215, 0.61, 0.355, 1), transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-header:before{
  border-radius: 18px;
  height: 4rem;
}
h4.c-submenu_label {
  font-weight: 300;
}


}

@media (min-width: 1000px) {
  .c-menu {
    bottom: var(--grid-gutter);
    right: calc(var(--grid-gutter) + 1rem);
  }
}


.c-menu_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: calc(8 * var(--vh, 1vh)) 3.5rem 1.5rem 2.5rem;
  transition: transform .45s cubic-bezier(0.215, 0.61, 0.355, 1)
}
.logo_menu img {
  max-width: 120px;
  width: 100%;
}
.c-menu_inner, .c-menu_bottom {
  background-color: #fff;
  border-radius: 18px;
  transform: translate(calc(125% - 1.25rem), 0);
}

.c-menu_nav.-primary button:after {
  content: "\002b";
  display: inline-block;
  width: .7em;
  margin-left: .1em;
  text-align: center;
  content: none;
}

.c-menu_nav.-primary button.is-active:after {
  content: "\2013"
}

.c-menu_nav.-secondary {
  margin-top: calc(15 * var(--vh, 1vh))
}
nav.c-menu_nav.-secondary .footer_col {
  max-width: 370px;
}
nav.c-menu_nav.-secondary .footer_col h5 {
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #737373;
}
.c-menu_nav li.c-list_item a {
  font-size: 16px;
}
.c-menu_nav button.o-link {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.03em;
}
.c-menu_bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem;
  border-top: 1px solid #BBBFD8;
  transition: transform .45s cubic-bezier(0.215, 0.61, 0.355, 1)
}

html.has-menu-open .c-menu_bottom {
  transition: transform .45s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s
}

.has-menu-open .c-header_right {
  opacity: 0;
}

html.has-menu-open .c-menu_inner, html.has-menu-open .c-menu_bottom {
  transform: translate(0);
}

html.has-menu-open .navigation-back{
  opacity: 1;
  visibility: visible;
}

html.has-menu-open  .c-submenu.is-active {
  transform: scale(1);
}
html.has-menu-open  .c-submenu.is-active .c-submenu_inner {
  opacity: 1;
  transition: opacity .45s cubic-bezier(0.215, 0.61, 0.355, 1) .3s;
}
html.has-menu-open .c-submenu:not(.is-active) {
  transition: left 0s .3s, transform .3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

@media (max-width: 999px) {
  .c-submenu {
    z-index: 341;
    bottom: auto;
    top: calc(1.25rem + 4rem);
    left: 1.2rem;
    width: auto;
    transform: scale(0, 1);
    transform-origin: 0 50%;
 
  }
  h4.c-submenu_label:before {
    content: "\2190";
    position: absolute;
    top: 0;
    left: -2.5rem;
    display: inline-block;
    color: #d81c27;
}


}


@media (max-width: 1170px) {
  .submenu_empresa .c-submenu_list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}



.has-menu-open .submenu_empresa .c-submenu_list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.has-menu-open .c-thumb_img{
  display: none;
}
.has-menu-open .c-thumb-list_item {
  border: none;
  background: transparent;
  border-radius: inherit;
}
.has-menu-open .submenu_empresa .c-thumb-list_item a p {
  height: auto;
}


.has-menu-open  .c-thumb-list_item{
  border: none;
}
.has-menu-open  .c-thumb-list_content {
  padding: 0.3rem 0 0.6rem;
}



.remover_activo[data-dropdown-status="active"] {
  transform: translate(0) scale(0) !important;
}


.has-menu-open  .c-submenu_list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-gap: 0.6rem;
}
.has-menu-open  .c-thumb-list_item a p {
  height: 1em;
}








ul.site-footer__socials li {
  /* border: 1px solid rgb(17 17 17 / 29%); */
  margin-right: 0px;
}

.social_header {
  margin-top: auto;
  border-top: 1px solid #eaeaea;
  margin-top: 24px;
}
.site-footer__socials {
  display: flex;
  list-style: none;
  margin-left: 0;
  margin-top: 0;
}
.site-footer__socials{
  visibility: hidden;
}

.button--circle {
  position: relative !important;
  height: 50px;
  width: 35px;
  z-index: 0;
  display: -webkit-box;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  border-radius: 50% !important;
  background-color: transparent !important;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-transition: border-color 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: border-color 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  padding: initial !important;
}

.svg {
  position: relative;
  display: inline-block;
}

.button--circle .svg {
  fill: #45444d;
  fill: #909094;
}

.button svg {
  -webkit-transition: fill 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: fill 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  height: 100%;
}

/* .button--circle:after {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  content: "";
  z-index: -1;
  opacity: 0;
  border-radius: 50%;
  background-color: #df2b5b;
  -webkit-transform: scale(0);
  transform: scale(0);
  

  -webkit-transition: -webkit-transform 0.45s
    cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transition: -webkit-transform 0.45s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transition: opacity 0.45s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transition: opacity 0.45s cubic-bezier(0.17, 0.67, 0.3, 1.33),
    -webkit-transform 0.45s cubic-bezier(0.17, 0.67, 0.3, 1.33);
}

.button--circle:hover {
  border-color: #00ddc1;
}

.button--circle:hover:after {
  opacity: 1;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
} */

.button--circle:hover .svg {
  fill: #111;
}






.c-header_toggler{
  /* display: none;
  visibility: hidden; */
}


.c-header_toggler {
  transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  color: #fff;
  width: auto;
  display: flex;
  justify-content: flex-end;
}
.c-header_idioma {
  transition: color .3s cubic-bezier(.215,.61,.355,1);
  color: #fff;
  width: 15%;
  display: flex;
  justify-content: flex-end;
}
.wpml-language-switcher ul {
  display: flex;
  gap: .5rem;
  margin-right: 2em;
}
.current-lang {
  opacity: .5;
}
html.has-menu-open .c-header_toggler {
  color: #fff;
}
.o-burger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5625rem;
  height: 1.5625rem;
  overflow: hidden;
}
.o-burger_icon {
  width: 100%;
  height: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: rotate(0deg) scale3d(1, 1, 1);
}
.o-text {
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.4;
}
.o-burger_line {
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: currentColor;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.o-burger_line:nth-child(1) {
  /* margin-bottom: .25rem; */
}
.o-burger_line:nth-child(2) {
  /* transform: scale(0.66, 1);
  transform-origin: 100% 50%; */
}
html.has-menu-open .o-burger_line:nth-child(1) {
  transform: rotate(45deg) translate(3.5px, 0px);
}
html.has-menu-open .o-burger_line:nth-child(2) {
  transform: rotate(-45deg) translate(3.5px, 0) scale(1);
  transform-origin: center center;
}
html.has-menu-open .o-burger_label {
  opacity: 0;
  transition: opacity .15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.is-desktop.has-menu-open .o-burger_line {
  background: #111; 
}


@media (max-width: 1024px) {
  .c-header_toggler {
    display: block;
    visibility: visible;
}

}

/*----------------------------------------------------*/



/* ------------------------- Marquee -------------------------------------------------- */

/* .marquee-group {
   position: relative;
} */

.marquee-group::before,
.marquee-group::after {
   content:"";
   position: absolute;
   pointer-events: none;
   left: 0;
   top: 0;
   height: 200%;
   transform: translateY(-50%);
   width: calc((var(--title-size) * 0.66) * 3);
   background: linear-gradient(90deg, rgba(var(--color-dark-rgb),1) 0%, rgba(var(--color-dark-rgb),0) 100%);
   z-index: 2;
   display: none;
}

.marquee-group::after {
   left: unset;
   right: 0;
   transform: translateY(-50%) scaleX(-1);
}

.marquee {
  position: relative;
  padding: 45px 3vw 60px;
}

.marquee .marquee-scroll {
   position: relative;
   display: flex;
   width: 140%;
   margin-left: -20%;
}

.marquee .marquee-content {
   position: relative;
   display: flex;
}

.marquee .marquee-content span {
   /* white-space: nowrap;
   line-height: 1; */
   margin-right: 0.5em;
   margin: 0 0.5em;
   /* color: #ccc;
   font-weight: 500;
   font-size: clamp(28px, 0.0385714286 * calc(100 * var(--vw, 1vw)), 40px); */
   line-height: 1.1;

}
.marquee .marquee-content .word {
  width: 225px;
}
.marquee .marquee-content .word img{
  object-fit: none;
  width: 100%;
  height: 100%;
}
.marquee .marquee-content span.divider {
   /* opacity: 0.25; */
   color: transparent !important;
   position: relative;
   display: none;
}

.marquee .marquee-content span.divider::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 0.75em;
   height: 0.25em;
   background-color: var(--color-secondary);
   border-radius: 2em;
}




.marquee:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20%;
  height: 100%;
  background: red;
  z-index: 2;
  background: linear-gradient(90deg, #ffffff 15%, rgb(255 255 255 / 0%) 100%);
  pointer-events: none;
}
.marquee:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 20%;
  height: 100%;
  background: red;
  z-index: 2;
  background: linear-gradient(270deg, #ffffff 15%, rgb(255 255 255 / 0%) 100%);
  pointer-events: none;
}



































/*----------------- BLOG ------------------------*/


.hero_noticias_bg{

padding: 200px 0 160px;
overflow: hidden;
/* border-radius: 0 0 35% 16% / 81% 24% 40% 66%; */
background: #18171d;
/* background: -webkit-radial-gradient(circle, #cf1828 0%, #a5131f 100%); */
background: -webkit-radial-gradient(circle, #25232e 0%, #18171d 100%);
position: relative;
}
section#hero:before {
content: "";
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 80px;
background: url(../../assets/images/home/curva_footer.svg) no-repeat;
z-index: 1;
transform: rotate(0deg);
}


.mask {
width: 100%;
height: 220px;
background-size: cover;
position: relative;
}
.mask:before {
content: "";
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 80px;
background: url(../../assets/images/home/curva_blanco.svg) no-repeat;
z-index: 1;
transform: rotate(0deg);
}
figure.cards-list-picture {
text-align: center;
margin-top: -75px;
z-index: 99;
position: relative;
border-radius: 12px 12px 0 0;
overflow: hidden;
}
figure.cards-list-picture img {
max-width: 100%;
object-fit: cover;
width: 100%;
height: 100%;
}
#ultimas_noticias figure.cards-list-picture{
  margin-top: 0;
  border-radius: 12px;
  height: 240px;
  margin-bottom: 12px;
  }
  #ultimas_noticias figure.cards-list-picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
  #ultimas_noticias .cards-category p {
    color: #fff;
}
#ultimas_noticias figure.cards-list-picture img {
max-width: 100%;
object-fit: cover;
width: 336px;
height: 255px;
}

#noticias-index .cards-list {
display: flex;
flex-wrap: wrap;
margin-right: -20px;
margin-bottom: -40px;
margin-left: -20px;
padding-bottom: 100px;
}
main#noticias-index {
background: #f1f1f1;
}
#noticias-index .cards-list-item {
height: auto;
width: calc(33.33% - 40px);
margin-right: 20px;
margin-bottom: 120px;
margin-left: 20px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
position: relative;
/* border-radius: 10px;
background-color: #fff;
box-shadow: 0 10px 10px rgb(0 0 0 / 5%); */
}

.archive-content {
background: #f9fbfe;
}
#noticias-index .cards-list-content {
display: flex;
flex: 1 1 auto;
flex-direction: column;
flex-wrap: wrap;
padding: 120px 35px 35px;
background: #fff;
margin-top: -100px;
border-radius: 12px;
box-shadow: 0 4px 12px 0 rgb(0 0 0 / 6%);
}

.cards-link a {
display: flex;
justify-content: space-between;
}

.cards-link a p {
margin: 0;
font-size: 14px;
}

.cards-link {
margin-top: auto;
}


.cards-category {
display: grid;
margin-bottom: 12px;
grid-template-columns: repeat(2, 1fr);
}
.cards-category p {
margin-bottom: 0;
text-transform: uppercase;
font-size: 12px;
margin-top: 0;
}
.cards-category p a {
opacity: .6;
text-decoration: none;
font-size: 12px;
}

h5.cards-title {
  margin-top: 0;
}
p.fecha {
margin-left: auto;
}

.cards {

}

/* BLOG CATEGORIAS */



.cards-filters {
position: relative;
height: auto;
width: 180px;
z-index: 2;
/* margin-bottom: 65px;
margin-left: auto; */
/* visibility: hidden; */
margin: 0 auto;
}

.is-open .filters-dropdown {
display: block;
}

.btn_filtros {
height: 45px;
width: 100%;
padding-right: 20px;
padding-left: 20px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
color: #fff;
transition: background-color 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border: 1px solid #ff8200;
background-color: transparent;
border-radius: 30px;
  height: 3.4rem;
  padding-right: 2.975rem;
  padding-left: 2.975rem;
/* display: none; */
}
button.btn_filtros:before {
content: "";
position: absolute;
z-index: 0;
top: 21px;
right: 24px;
border-right: 7px solid transparent;
border-top: 7px solid #fff;
border-left: 7px solid transparent;
}

button.btn_filtros span {
font-size: 14px;
line-height: 30px;
display: block;
font-weight: 500;
}
button.btn_filtros span a {
text-decoration: none;
color: #fff;
}

button.btn_filtros .svg {
margin-left: 10px;
vertical-align: middle;
fill: #2d506d;
margin-top: 0;
display: inline-block;
position: relative;
}
nav.navigation.posts-navigation {
width: 100%;
text-align: center;
}

.filters-dropdown {
position: fixed;
bottom: 45px;
right: 45px;
width: 285px;
padding-top: 18px;
display: none;
z-index: 999;
}

.filters-dropdown ul {
max-height: 340px;
padding: 20px 35px 10px;
overflow: auto;
border: 1px solid rgba(13, 28, 121, 0.1);
border-radius: 6px;
background-color: #fff;
box-shadow: 0 10px 10px rgb(5 12 64 / 5%);
}

.filters-dropdown ul li {
position: relative;
display: flex;
align-items: center;
color: rgba(5, 12, 64, 0.5);
font-weight: 400;
font-size: 12px;
text-align: left;
}

.filters-dropdown ul li:after {
position: absolute;
bottom: 0;
left: 0;
height: 2px;
width: 100%;
content: "";
background-image: url(./../../assets/images/dots.png);
background-repeat: repeat-x;
background-position: 0 100%;
background-size: 5px 2px;
}

.filters-dropdown ul li a {
height: auto;
width: 100%;
padding-top: 12px;
padding-bottom: 18px;
/* font-family: "Founders Grotesk"; */
font-style: normal;
color: #050c40;
font-size: 14px;
line-height: 1;
}

.filters-dropdown:before {
content: "";
position: absolute;
z-index: 0;
top: 12px;
right: 49px;
border-right: 7px solid transparent;
border-bottom: 7px solid #fff;
border-left: 7px solid transparent;
}

.filters-dropdown:after {
content: "";
position: absolute;
z-index: -1;
top: 11px;
right: 47px;
border-right: 9px solid transparent;
border-bottom: 9px solid rgba(13, 28, 121, 0.1);
border-left: 9px solid transparent;
}


/* ---------------- */

.hero_noticias-single_bg {
background: #000e3d;
background: -webkit-radial-gradient(circle, #cf1828 0%, #a5131f 100%);
padding: 260px 0 110px;
width: 100%;
  position: relative;
  z-index: 0;
}

section#hero .hero-contet {
display: flex;
flex-flow: column;
justify-content: center;
height: 100%;
/* padding-top: 100px; */
position: relative;
text-align: center;
z-index: 1;
}

section#hero .hero-contet h2{
  color: #fff;
  max-width: 900px;
  margin: 0 auto;
}
section#hero .hero-contet p {
    /* font-size: 26px; */
    color: #fff;
    /* font-weight: 400; */
    /* margin: 0;*/
}
.single-content-text {
max-width: 900px;
margin: 90px auto;
}


section#ultimas_noticias {
background: #000e3d;
padding: 100px 0;
    background: -webkit-radial-gradient(circle, #0a0e17 0%, #060606 100%);
}

section#ultimas_noticias .cards-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
}

header.related-header {
margin-bottom: 90px;
text-align: center;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
}
header.related-header h2 {
color: #fff;
margin-bottom: 24px;
}

#ultimas_noticias .cards-link a p {
color: var(--color-amarillo);
}

.related-header .btn_noticias {
margin-top: 0;
}


section#ultimas_noticias .cards-list-item {
display: flex;
margin: 0 15px;
flex-flow: wrap;
}

section#ultimas_noticias .cards-category {
flex-flow: column;
}

section#ultimas_noticias  h2.cards-title {
font-weight: 700;
font-size: 28px;
color: #fff;
}


.hero_servicios-detalle_bg{
background-repeat: no-repeat;
background-size: cover;
border-radius: 0 0 20% 22% / 64% 23% 27% 89%;
  overflow: hidden;
}


.s-destacados_list {
display: flex;
position: relative;
z-index: 2;
flex-wrap: wrap;
margin-right: -5px;
margin-left: -5px;
}

.s-destacados_list .comun {
position: relative;
height: auto;
width: calc(33.33% - 30px);
margin-right: 15px;
margin-left: 15px;
margin-bottom: 30px;
padding-top: 25px;
padding-bottom: 25px;
height: 232px;
overflow: hidden;
cursor: pointer;
}


section#s-destacados {
padding: 100px 0;
}

#servicios-agricola section#servicios_sectores,
#servicios-industrial section#servicios_sectores {
background: #ededed;
padding: 100px 0;
}

.s-destacados_imagen {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.s-destacados_imagen:before {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: rgb(0 26 114 / 50%);
width: 100%;
height: 100%;
}
.s-destacados_text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
align-items: center;
z-index: 9;
width: 100%;
height: 100%;
padding: 60px;
transition: all .3s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);
}
img.s-destacados_img {
object-fit: cover;
width: 100%;
height: 100%;
}
.s-destacados_text h4 {
margin: 0;
color: #fff;
font-weight: 600;
font-size: 18px;
line-height: initial;
padding-left: 12px;
}
p.numero {
font-size: 82px;
color: #fff;
margin: 0;
padding-right: 12px;
border-right: 1px solid rgb(255 255 255 / 30%);
}
.s-destacados_text {
margin: 0;
transform: translate(-50%, -50%);
opacity: 1;
}

.s-destacados_descripcion {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 45px;
}
.s-destacados_descripcion .descripcion_content {
margin: 0;
opacity: 0;
z-index: 1;
display: flex;
flex-flow: wrap;
}
.s-destacados_descripcion:after{
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 0;
transition: transform .45s cubic-bezier(.4,0,0,1),border-radius .45s cubic-bezier(.4,0,0,1);
transform: translateY(100%);
transform-origin: center bottom;
border-radius: 70%;
background: radial-gradient(circle, rgb(0 26 112 / 60%) 0%, #000e3d 100%);
}
.s-destacados_list .comun:hover .s-destacados_descripcion:after {
transform: translateY(0);
border-radius: 0;
}

.s-destacados_list .comun:hover .s-destacados_descripcion .descripcion_content{
opacity: 1;
transition: opacity .6s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);
color: #fff;

  font-size: 16px;
  line-height: 1.2;
}
.s-destacados_list .comun:hover .s-destacados_text {
transform: translate(-50%, -60%);
opacity: 0;
transition: all .3s cubic-bezier(.215,.61,.355,1),transform .6s cubic-bezier(.215,.61,.355,1);
}

.s-destacados_list .comun:hover .s-destacados_descripcion p.numero {
position: absolute;
bottom: -5px;
right: 10px;
font-weight: 300;
opacity: .1;
font-size: 133px;
line-height: initial;
padding: 0;
}


/*----------------------*/





/* ACORDEON */

section#ampliar {
  background-color: #f9fbfe;
  padding: 24px 0 12px;
}

.accordion-item[aria-expanded=true] .accordion-content {
	opacity: 1;
	max-height: 28em;
  max-height: 100%;
	transition: all .45s cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: opacity, max-height;
}
 .accordion-content {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 100ms cubic-bezier(0.215, 0.61, 0.355, 1), max-height 200ms cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: opacity, max-height;
  padding: 0 24px;
}
.accordion-item {
  pointer-events: none;
}
.accordion-btn {
    text-align: center;
    position: relative;
    pointer-events: auto;
}

.accordion-btn-content {
  justify-content: center;
  align-items: center;
  border-radius: 2.125em;
  color: #fff;
  text-shadow: 0px 1px 6px rgb(17 17 17 / 20%);
  padding: 14px 59px 15px 28px;
  background: var(--color-amarillo);
  display: inline-flex;
  position: relative;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.5, 0.95);
}
.accordion-btn-content:hover {
  padding-right: 75px;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.5, 0.95);
}
span.accordion-title {
  font-weight: 500;
}
.accordion-btn-content .icon {
  /*border: 1px solid #2a6e6b; */
  border-radius: 50%;
  background: #2a6e6b;
  transition: all .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  right: 3px;
  top: 3px;
  background: #fff;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.accordion-btn-content .icon::before {
  display: block;
  position: absolute;
  content: "";
  top: 20px;
  left: 13px;
  width: 18px;
  height: 2px;
  background: #646464;
}
.accordion-btn-content .icon::after {
  display: block;
  position: absolute;
  content: "";
  top: 12px;
  left: 21px;
  width: 2px;
  height: 18px;
  background: #646464;
}
.accordion-item[aria-expanded=true] .icon::before {
  background: #646464;
  transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.accordion-item[aria-expanded=true] .icon::after {
  width: 0;
}



/* CERTIFICADOS CARD POPUPS */


.certificados_lightbox{
  pointer-events: none;
  z-index: 900;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.lightbox_list .card{
  pointer-events: all;
    width: calc((99.99vw - (max(1.75em, 1.75vw) * 2)) / 3);
    position: absolute;
    right: 2vw;
    bottom: 2vw;
    border-radius: 12px;
    background-color: #f2b516;
    transform: translateY(4em) scale(1) rotate(0.001deg);
    transition: 0.6s cubic-bezier(.75, 0, .25, 1);
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    padding: 30px;
}

.close_card {
  position: absolute;
  top: 15px;
  right: 15px;
  cursor: pointer;
}

.lightbox_list .card[data-team-lightbox-status="active"] {
  transform: translateY(0) scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.certificados_list {
  display: grid;
  gap: 15px;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
  grid-template-columns: repeat(8, 1fr);
  max-width: 900px;
  margin: 0 auto;
}
.certificados_list .comun img:hover {
  transform: translateY(-6px);
  transition: 0.6s cubic-bezier(.75, 0, .25, 1);
}
.certificados_list .comun img {
  cursor: pointer;
  position: relative;
  z-index: 9;
  width: auto;
  max-width: 65%;
  transition: 0.6s cubic-bezier(.75, 0, .25, 1);
  margin: 0 auto;
}

.certificados_list .comun:nth-child(4) img{
  max-height: 70px;
}



.lightbox_list .card p {
  margin: 0;
  font-size: 15px;
  margin-top: 12px;
}



/* POPUP IMAGENES */




.modal {
  position: fixed;
  z-index: 99;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all .3s cubic-bezier(.4,0,.1,1);
}
.modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.modal-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgb(17 17 17 / 90%);
  padding-top: 60px;
}

.modal.open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: all .3s cubic-bezier(.4,0,.1,1);
}

.modal-content {
  vertical-align: middle;
  position: relative;
  z-index: 2;
  max-width: 1024px;
  box-sizing: border-box;
  width: 90%;
  background: #fff;
  padding: 0;
  text-align: left;
  border-radius: 17px;
  background-color: #FFFFFF;
  box-shadow: -2px 2px 22px 0 rgb(0 0 0 / 16%);
  transition-delay: 1s;
  opacity: 0;
  transition: all .4s cubic-bezier(.4,0,.1,1);
  transform: translateY(10px);

}

.modal.open .modal-content {
  opacity: 1;
  transition: all .3s ease;
  transition: all .4s cubic-bezier(.4,0,.1,1) .2s;
  transform: translateY(0);
}

.modal-header {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eaeaea;
}
button.modal-close {
  position: absolute;
  top: -18.5px;
  right: -17.5px;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: #f3b616;
  color: #fff;
  cursor: pointer;
  font-size: 22px;
  line-height: 22px;
}


.modal-content img {
  border-radius: 12px;
}



@media screen and (max-width: 900px) {
  .col-content-img figure {
    pointer-events: none;
}
}











/* ------------------------- Modal Container -------------------------------------------------- */

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  padding: var(--container-padding);
}

.modal-container .close {
  position: absolute;
  top: var(--container-padding);
  right: var(--container-padding);
  z-index: 600;
}

.modal-container .modal-box {
  background-color: var(--color-lightgray);
  border-radius: var(--border-radius);
  max-width: 40em;
  transform: translateY(2em) rotate(0.001deg);
  opacity: 0;
  transition: var(--animation-primary);
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  overflow: hidden;
  position: absolute;
  pointer-events: none;
  visibility: hidden;
}

.modal-container .modal-box[data-modal-card-status="active"]{
  transform: translateY(0em) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.modal-container .modal-box .modal-box-scroll {
  max-height: calc(100vh - (var(--section-padding) * 2));

  padding: calc(var(--section-padding) * 0.5) var(--container-padding);
}

.modal-container .overlay-dark {
  opacity: 0;
  visibility: hidden;
  transition: var(--animation-primary);
  background-color: rgba(var(--color-dark-rgb), 0.7);
  pointer-events: all;
  cursor: pointer;
}

[data-modal-status="active"] .modal-container .overlay-dark {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 1024px) {
  .modal-container .overlay-dark {
     background-color: rgba(var(--color-dark-rgb), 0.9);
  }
}

@media screen and (max-width: 720px) {
  .modal-container .modal-box {
     max-width: unset;
     width: calc(100% - (var(--container-padding) * 2));
  }
}

/* Modal Content Partner */

.modal-box-partner .modal-box-scroll {
  display: flex;
  flex-direction: column;
  gap: var(--row-gap);
}

.modal-box-partner .modal-box-scroll .boxed-logo {
  box-shadow: 0 0 0 0 transparent;
  background-color: transparent;
  width: calc(var(--title-size) * 2);
  justify-content: flex-start;
  height: unset;
}

/* ------------------------- Modal Container - Prelaunch -------------------------------------------------- */

[data-modal-prelaunch-status="active"] .modal-container-prelaunch .modal-box[data-modal-card-status="active"]{
  transform: translateY(0em) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

[data-modal-prelaunch-status="active"] .modal-container-prelaunch .overlay-dark {
  opacity: 1;
  visibility: visible;
}

/* ------------------------- Modal Container - Tickets -------------------------------------------------- */

[data-modal-tickets-status="active"] .modal-container-tickets .modal-box[data-modal-card-status="active"]{
  transform: translateY(0em) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

[data-modal-tickets-status="active"] .modal-container-tickets .overlay-dark {
  opacity: 1;
  visibility: visible;
}

.modal-container-tickets .overlay-dark {
  background-color: var(--color-dark);
  background: rgb(0 0 0 / 80%);
  transition: 0.3s cubic-bezier(.7, 0, .3, 1);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(3px);
}

.modal-container-tickets .modal-box {
  overflow: hidden;
  min-width: 66em;
  max-width: calc(100vw - (var(--container-padding) * 2));
  border-radius: calc(var(--border-radius) * 1.5);
  background-color: transparent;
  border-radius: 0;
  height: 66vh;
}

.modal-container-tickets .close {
  top: 0;
  right: 0;
}

.modal-container-tickets .modal-box .modal-box-scroll {
  padding: 0;
  max-height: calc(100vh - (var(--btn-height) + 3em));
  margin-top: calc(var(--btn-height) + 1em);
  border-radius: 7px;
  height: 100%;
}

@media screen and (max-width: 1200px) {
  .modal-container-tickets .modal-box {
     min-width: calc(100vw - (var(--container-padding) * 2));
  }
}



.close {
  display: flex;
  gap: 0.25em;
  width: calc(var(--btn-height) * 1);
  height: calc(var(--btn-height) * 1);
  border-radius: calc(var(--border-radius) * 1);
  position: relative;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.close .close-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: calc(var(--border-radius) * 1);
  background-color: var(--color-primary);
}

.close .bar {
  position: absolute;
  width: 35%;
  height: 1px;
  background-color: var(--color-dark);
  transform: translateY(0) rotate(45deg);
  transition: transform var(--animation-primary);
}

.close .bar-bottom {
  transform: translateY(0) rotate(-45deg);
}

.close:hover .bar {
  transform: translateY(0) rotate(-45deg);
}

.close:hover .bar-bottom {
  transform: translateY(0) rotate(-135deg);
}


.modal-box-scroll figure.card_espacios-figure{
  height: 100%;
}

.modal-box-scroll .row {

  height: 100%;
}


/* FLICKITY CARDS */

.s-soluciones {
  overflow: hidden;
}

.s-soluciones .styled-col-left{
  width: 100%;
  max-width: 636px;
}
.s-soluciones .styled-col-left .styled-content {
  max-width: 570px;
}


.styled-slider{
  /* position: absolute;
  left: 50%;
  width: 100%;
  z-index: 99;
  overflow: hidden; */

    width: 100%;
    overflow: hidden;
    margin-right: 32px;


}
:root{
  --gap-responsive: 2.5em;
}
.card-slider__slide{
  margin-right: var(--gap-responsive);
  /* width: calc(50% -(var(--gap-responsive))); */
  padding-left: 0;
  padding-right: 0;

  background: #F0F9D2;

  border-radius: 24px;
  width: 45%; 
  height: 330px;
  margin-right: 10px;
}
.card-slider__slide.is-selected {
  background: var(--color-secondary);
}
.card-slider {
  outline: 0;
  flex-flow: row;
  justify-content: flex-start;
  min-width: 100%;
  display: flex;
  position: relative;
}

.slider__col-btns {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.btn-arrow.is--flipped {
  transform: scaleX(-1);
}
.btn-arrow {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  color: var(--color-primary);
  cursor: pointer;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.5em;
  text-decoration: none;
  display: flex;
  position: relative;
}
.btn__wipe {
  transition: background-color var(--animation-fast) 0s, color var(--animation-fast) 0s, transform var(--animation-primary) 0s;
  transform: scaleX(0) rotate(0.001deg);
  transform-origin: right;
}
.btn__wipe {
  border-radius: 50%;
  opacity: .1;
  background-color: currentColor;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.btn__border {
  border-radius: 50%;
  opacity: .2;
  pointer-events: none;
  border: 1px solid;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.btn-arrow__arrow-box {
  color: var(--color-primary);
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  display: flex;
  position: relative;
}
[data-arrow="internal"] .arrow {
  transform: rotate(-90deg);
}
.arrow {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
.arrow-svg.duplicate {
  position: absolute;

  transform: translateY(-110%) rotate(0.001deg);
}
.arrow-svg {
  width: .75em;
  position: relative;
}
.arrow svg {
  transition: transform 0.4s cubic-bezier(.4, 0, .1, 1) 0s;
}
[data-hover]:hover .btn__wipe {
  transition: background-color var(--animation-fast) 0s, color var(--animation-fast) 0s, transform var(--animation-primary) 0s;
  transform: scaleX(1) rotate(0.001deg);
  transform-origin: left;
}
[data-hover]:hover .arrow-svg, .dropdown__group:hover > .link .arrow-svg, [data-grid-select-status="active"] .arrow-svg {
  transform: translateY(110%) rotate(0.001deg);
}
[data-hover]:hover .arrow-svg.duplicate, .dropdown__group:hover > .link .arrow-svg.duplicate, [data-grid-select-status="active"] .arrow-svg.duplicate {
  transform: translateY(0%) rotate(0.001deg);
}





/* position dots up a bit */
.flickity-page-dots {
  bottom: -22px;
}
/* dots are lines */
.flickity-page-dots {
  position: absolute;
  bottom: -80px;
  margin: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 0 0 0;
  width: 100%;

}
.flickity-page-dots .dot {
  height: 4px;
  background: #f4f4f4;
  width: 100%;
  margin: 0 6px;
  transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
li.dot.is-selected {
  background: #bababa;
  transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.flickity-controles {
  display: flex;
  justify-content: space-between;
  padding: 24px 1vw 0 0;
}



.card-slider-content {
  padding: 2rem;
  display: flex;
  flex-flow: column;
  height: 100%;
}

.card-slider-content .card-title {
  margin-top: auto;
}

.card-slider-content .card-title p {
  margin: 0;
  font-size: 21px;
  color: var(--color-black);
  font-weight: 500;
}











/* ------------------------- Testimonial Slider -------------------------------------------------- */
*:focus{
  outline:none;
  } 
.flickity-enabled:focus {
  outline: none;
}

.grab-slider {
  padding-top: var(--section-padding-medium);
}

.grab-slider .single-flickity-slider {
  position: relative;
}

.grab-slider .flickity-slider {
  display: flex;
}

.grab-slider .flickity-carousel {
  --columns: 3.25;
}

.grab-slider .btn-row {
  width: 100%;
  padding-top: var(--section-padding-medium);
  display: none;
}

.grab-slider .btn {
  width: 100%;
}

/* Parallax effect */
.has-scroll-smooth .grab-slider .single-flickity-slider {
  position: relative;
  /* transform: translateX(calc(var(--container-padding) * -1));
  width: calc(100% + (var(--container-padding) * 1)); */
}

/* Drag effect */

@media (hover: hover) { 
  .grab-slider .flickity-viewport.is-pointer-down .flickity-slide-item{
     transform: scale(0.9) rotate(0.001deg);
     transition: transform 0.7s cubic-bezier(0.5, 0.5, 0, 1) 0.1s;
  }
}

@media screen and (max-width: 1200px) {
  .grab-slider .single-flickity-slider .flickity-carousel {
     --columns: 2.5;
  }
}

@media screen and (max-width: 1024px) {
  .grab-slider .single-flickity-slider .flickity-carousel {
     --columns: 2.1;
  }

  .grab-slider .btn-row {
     display: block;
  }
}

@media screen and (max-width: 800px) {
  .grab-slider .single-flickity-slider .flickity-carousel {
     --columns: 1.5;
  }
}

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

  .grab-slider .single-flickity-slider .flickity-carousel {
     --columns: 1.11;
  }
}

 

.single-flickity-slider .flickity-carousel {
  display: flex;
  width: 100%;
  position: relative;
  --gap:1.2rem;
  --columns: 3;
  cursor:grab;
}

.single-flickity-slider .flickity-carousel .flickity-slide {
  width: calc((99.999% / 2.5) - var(--gap) * ((2.5 - 1) / 2.5));
  margin-right: var(--gap);
  flex-shrink: 0;
  max-width: 376px;
 
}

.single-flickity-slider .flickity-carousel .flickity-slide:last-child {
  margin-right: 0;
}

.single-flickity-slider .flickity-carousel .flickity-viewport {
  overflow: visible;
}

/* Turn Flickity ON */
.single-flickity-slider .flickity-carousel::after {
  content: "flickity";
  display: none;
}

/* Remove Flex from .row for Flickity */
.single-flickity-slider .flickity-carousel {
  display: block;
}

.flickity-slide-item{
  width: 100%;
  transform: scale(1) rotate(0.001deg);
  transition: transform 0.7s cubic-bezier(0.5, 0.5, 0, 1) 0s;
  border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    background: #fff;
    display: flex;
    flex-flow: column;
    overflow: hidden;

}





/*---------------------*/


/* ------------------------------- CURSOR -------------------------------*/

.custom-cursor {
  position: fixed;
  z-index: 100;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(0.001deg);
  display: none;
  opacity: 0;
  visibility: hidden;
  display: flex;
  pointer-events: none;
}
.custom-cursor .cursor-bubble{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0) rotate(-0.001deg);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.4em;
  transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0.1s;
  /* overflow: hidden; */
  border-radius: 50%;
}
.custom-cursor .cursor-bubble .cursor-before {
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.custom-cursor .cursor-bubble .cursor-background {
  position: absolute;
  left: 50%;
  width: 100%;
  height: 100%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0.001deg);
  background: var(--bg-primary);
  background: var(--bg-secondary);
  border-radius: 50%;
  transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0.1s;
}
.custom-cursor .cursor-bubble .cursor-text {
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0.001deg);
  color: #111;
  color: #fff;
  font-size: 0.85em;
  font-weight: 500;
  padding: 0.5em;
  transition: all 0.4s cubic-bezier(0.5, 0, .25, 1) 0.2s;
  opacity: 0;
}

.custom-cursor .cursor-bubble:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--color-secondary);
  border-radius: 50%;
  width: 0.5em;
  height: 0.5em;
  transform: translate(-50%, -100%) scale(0) rotate(0.001deg);
    transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0.1s;
}
.custom-cursor .cursor-bubble:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--color-secondary);
  border-radius: 50%;
  width: 0.5em;
  height: 0.5em;
  transform: translate(-50%, -100%) scale(0) rotate(0.001deg);
    transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0.1s;
}

.custom-cursor[data-cursor-bubble="active"] .cursor-bubble {
  transform: translate(-50%, -70%) scale(1) rotate(-0.001deg);
  transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0s;
}
.custom-cursor[data-cursor-bubble="active"] .cursor-bubble .cursor-background {
  transform: translate(-50%, -50%) rotate(0.001deg);
  transition: transform 0.4s cubic-bezier(0.5, 0, .25, 1) 0s;
}

.custom-cursor[data-cursor-bubble="active"] .cursor-bubble .cursor-text {
  transform: translate(-50%, -50%) rotate(0.001deg);
  transition: all 0.4s cubic-bezier(0.5, 0, .25, 1) 0s;
  opacity: 1;
}


.custom-cursor[data-cursor-bubble="active"] .cursor-bubble:before{
  transform: translate(-770%, -50%) scale(1) rotate(0.001deg);
}

.custom-cursor[data-cursor-bubble="active"] .cursor-bubble:after{
  transform: translate(770%, -50%) scale(1) rotate(0.001deg);
}





/* Remove on Tablet/Mobile */

@media screen {
  @media (min-width: 1024px) {
     @media (hover: hover) {
        .has-scroll-smooth .custom-cursor[data-cursor-init="true"] {
           display: flex;
           opacity: 1;
           visibility: visible;
        }
        .lenis .custom-cursor[data-cursor-init="true"] {
          display: flex;
          opacity: 1;
          visibility: visible;
      }
     }
  }
}






/* ------------------------- Filter Grid --------------------------------- */



[data-filter-section] .row-filter {
  padding-top: var(--row-gap);
  align-items: center;
}

[data-filter-grid] [data-filter-status="not-active"] {
  display: none;
}

[data-filter-grid] {
 transform: translateY(0em) rotate(0.001deg);
  transition: opacity .2s ease-out, transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-filter-grid].toggle-fade-out {
 opacity: 0;
 transform: translateY(0.5em) rotate(0.001deg);
 transition: opacity .2s ease-in, transform 0.2s cubic-bezier(0.7, 0, 0.84, 0);
}

[data-filter-grid].toggle-fade-in {
 opacity: 0;
 transform: translateY(2rem) rotate(0.001deg);
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-top: 112px;
  width: 100%;
}
.row-list {
   flex-direction: column;
}


