
@font-face {
    font-family: 'Helve-Regular';
    src: url('../fonts/HelveLTStd-Roman.eot');
    src: url('../fonts/HelveLTStd-Roman.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveLTStd-Roman.woff2') format('woff2'),
         url('../fonts/HelveLTStd-Roman.woff') format('woff'),
         url('../fonts/HelveLTStd-Roman.ttf') format('truetype'),
         url('../fonts/HelveLTStd-Roman.svg#bryant_proregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Helve-Bold';
    src: url('../fonts/HelveLTStd-Bd.eot');
    src: url('../fonts/HelveLTStd-Bd.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveLTStd-Bd.woff2') format('woff2'),
         url('../fonts/HelveLTStd-Bd.woff') format('woff'),
         url('../fonts/HelveLTStd-Bd.ttf') format('truetype'),
         url('../fonts/HelveLTStd-Bd.svg#bryant_probold') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {min-height: 100dvh;}
h1,h2,h3,h4,h5 {text-wrap: balance;}
p {text-wrap: pretty; line-height: 1.4em; margin-top: 0px;}

* {box-sizing: border-box;}
:root {
    --color1: #212121;
    --color2: #F2F2F2;
    --color3: #FFFFFF;
}

body {margin: 0; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 400; color: var(--color1);}
html {scroll-behavior: smooth;}
h1,h2,h3,h4,h5 {margin: 0px;}
h2 {font-size: 23px; line-height: 28px; font-family: 'Helve-Bold'; font-weight: normal; text-transform: uppercase; margin: 0px; margin-bottom: 10px;}
.mobile {display: none;}
.cerrar {display: none !important;}
.w100{width: 100%;}
.radius4 {border-radius: 4px;}
section {padding: 70px 0px;}

.btn {margin-top: 5px; cursor: pointer; display: inline-flex; font-size: 15px; background-color: var(--color1); border: 1px solid var(--color1); color: var(--color3); text-decoration: none; font-weight: 400; border-radius: 4px; padding: 10px 20px; text-transform: uppercase;}
.btn-black {background-color: var(--color2); border: 1px solid var(--color2);}
.btn-white-border {background-color: transparent; border: 1px solid var(--color3);}
.btn-black-border {background-color: transparent; border: 1px solid var(--color2); color: var(--color2);}
.btn-with-icon {display: inline-flex; align-items: center;}
.btn-with-icon svg {height: 16px; margin-right: 5px;}
.btn-blue-border {background-color: transparent; color: var(--color1); border: 1px solid var(--color1);}
.cont-btn {text-align: center;}

.container {width: 100%; padding: 0px 30px; max-width: 1200px; margin: auto;}

.secintro {position: relative; display: flex; align-items: center; overflow: hidden; background-color: #541f25; padding: 0px; position: relative; height: 700px;}
.secintro .container {display: flex; gap: 40px; position: relative; z-index: 2; align-items: end;}
.secintro .module {flex: 50%; color: var(--color3);}
.secintro .logo {height: 46px; width: auto; margin-bottom: 10px;filter: brightness(1000);}
.secintro h1 {font-size: 50px; line-height: 52px; font-family: 'Helve-Bold';}
.secintro h1 span {display: block; }
.secintro .subtit  {margin-top: 10px; font-size: 36px; font-family: 'Helve-Regular';}
.secintro p {position: relative; margin-bottom: 15px; padding: 0px!important; width: 100%; font-size: 17px; font-weight: normal; line-height: 22px;}
.secintro p::before {content: ''; background-color: white; width: 30px; height: 1px; position: absolute; top: -15px; left: 0px;}
.secintro .bg {position: absolute; top: 50%; left: 50%; height: 100%; width: 100%; transform: translate(-50%, -50%); object-fit: cover; z-index: 2;}

.secintro .language-container {position: absolute !important; justify-content: end; z-index: 3; top: 15px; left: 50%; transform: translateX(-50%); }
.language-selector {
    position: relative; /* Para posicionar el dropdown */
    display: inline-block;
    font-family: Arial, sans-serif;
  }
  
  .language-button {
    background-color: transparent;
    color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px 10px;
    cursor: pointer;
    font-size: 14px; width: 120px;
  }
  .language-button {display: flex; align-items: center; justify-content: start;}
  .language-button span {margin-left: 5px; }
  .language-button svg {height: 14px;}
  .language-button svg:last-child {margin-left: auto;}
  
  .language-selector:hover .language-button{
    background-color: #212121;
  }
  
  .language-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 4px;
    list-style: none;
    padding: 0;
    margin: 5px 0 0;
    min-width: 120px;
    z-index: 1000;
    height: 0; /* Oculto inicialmente */
    overflow: hidden; /* Oculta el contenido fuera de la altura */
    opacity: 0; /* Oculto visualmente */
    transition: height 0.3s ease, opacity 0.3s ease; /* Transición de altura y opacidad */
    pointer-events: none; /* Desactiva clics mientras está oculto */
    font-size: 14px;
  }
  
  .language-dropdown li {
    padding: 10px;
    text-align: left;
  }
  
  .language-dropdown li a {
    text-decoration: none;
    color: #333;
  }
  
  .language-dropdown li:hover {
    background-color: #f0f0f0;
  }
  
  .language-selector.open .language-dropdown {
    height: auto; /* Restaura la altura al tamaño completo del contenido */
    opacity: 1; /* Hace visible el menú */
    pointer-events: auto; /* Habilita clics */
  }
  
  

.secinvite { background-color: #212121; color: #fff;}
.secinvite .container {display: flex; position: relative; z-index: 2; gap: 40px;}
.secinvite .module {flex: 50%; color: var(--color3);}
.secinvite .module img {margin-top: -100px;}

.sec-services {padding: 35px 0px; background-color: var(--color2)}
.sec-services .container {display: flex; justify-content: center; gap: 30px; font-family: 'Inter';}
.sec-services .module {display: flex; justify-content: center; align-items: center; gap: 25px; padding: 0px 15px; text-align: center;  width: 25%;}
.sec-services .module .tit {text-transform: uppercase; text-align: left; font-weight: 500;}
.sec-services .module .tit span {display: block;}
.sec-services .module p {margin: 0px; font-size: 14px;}
.sec-services .module img {height: 25px; margin-bottom: 0px;}
.sec-services .module a {display: table; margin: auto; color: #000; text-decoration: underline;}

.sec-artistas h2 {margin-bottom: 5px;}
.sec-artistas .subtit {font-size: 17px; max-width: 650px; margin-bottom: 25px;}
.artist-grid {display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas de igual tamaño */
    grid-template-rows: repeat(2, auto); /* 2 filas con altura automática */
    gap: 40px; row-gap: 40px;}
.artist figure {cursor: pointer; position: relative; border-radius: 4px; overflow: hidden; margin: 0px;}
.artist figure img {width: 100%; display: block;}
.artist figure .btplay {position: absolute; right: 10px; bottom: 10px; display: flex; background-color: var(--color1); padding: 10px 24px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .5);}
.artist figure .btplay svg {height: 18px; width: auto;}
.artist h3 {margin-top: 20px; font-size: 16px; margin-bottom: 10px; text-transform: uppercase;}
.artist p {font-size: 14px; line-height: 19px; margin-top: 0px;}
.artist .btn {padding: 10px 35px; font-size: 12px; font-weight: 500; border: 1px solid var(--color1); color: var(--color1); background-color: transparent;}

.secopenstudio {border-top: 1px solid #707070; position: relative; display: flex; align-items: center; position: relative;}
.secopenstudio .container {display: flex; gap: 40px; position: relative; z-index: 2; }
.secopenstudio .module {flex: 50%; max-width: 50%; color: var(--color1);}
.secopenstudio .cont-swiper {position: relative;}
.secopenstudio .cont-swiper .swiper-pagination {bottom: -30px;}
.secopenstudio .swiper {border-radius: 4px; overflow: hidden; }
.secopenstudio .swiper img {width: 100%; display: block;}

.swiper-pagination-bullet-active {background-color: var(--color1) !important;}

.secopenstudio .adress {display: flex; align-items: center; font-size: 14px; margin-top: 25px;}
.secopenstudio .adress img {width: 26px; margin-right: 15px;}
.secopenstudio .adress ul {font-weight: 600; line-height: 19px; list-style-type: none; padding: 0px; margin: 0px;}
.secopenstudio .adress .btn {margin-left: auto; padding: 10px 20px; font-size: 12px; font-weight: 500; border: 1px solid var(--color1); color: var(--color1); background-color: transparent;}

.secoaxaca {position: relative; display: flex; align-items: center; padding: 0px; position: relative; color: var(--color3); background-color: #A1584F;}
.secoaxaca .container {display: flex; gap: 0px; position: relative; z-index: 2; width: 100%; max-width: none; padding: 0px; align-items: center; }
.secoaxaca .module {flex: 50%;}
.secoaxaca .text {padding: 20px 55px;}
.secoaxaca .swiper img {width: 100%; display: block;}
.secoaxaca .btn {color: #fff; border: 1px solid #fff; background: transparent;}

.sec-experiencia {background-color: #F5F5F5;}
.sec-experiencia .container {display: flex; gap: 40px; align-items: center;}
.sec-experiencia .container .col {flex: 1;}
.sec-experiencia h2 span {display: block;}
.sec-experiencia p {margin-bottom: 0px;}
.grid-container {display: grid;grid-template-columns: 1fr 1fr;grid-template-rows: 1fr 1fr;gap: 10px; min-height: 350px;}
.grid-image {width: 100%;height: 100%;object-fit: cover;}
.grid-video {grid-column: 2;grid-row: 1 / span 2;width: 100%;height: 100%;object-fit: cover;}

.cont-swiper {position: relative;}
.swiper-button-next, .swiper-button-prev {color: var(--color2) !important;}
.swiper-button-next:after, .swiper-button-prev:after {font-size: 20px !important;}
.swiper-button-prev {left: -30px !important;}
.swiper-button-next {right: -30px !important;}

#optin-M5vtzffe .p-body {padding: 0px; margin-top: 30px; background-color: transparent !important;}
#optin-M5vtzffe .p-field {margin-bottom: 15px !important; width: 48%; margin-right: 1%; display: inline-table;}
#optin-M5vtzffe .p-inline .p-optin {width: 90%; margin: auto;}
#optin-M5vtzffe .p-optin .p-field input[type='text'] {display: table; font-size: 16px; padding: 12px 10px;}
#optin-M5vtzffe .p-interests {display: none;}
#optin-M5vtzffe .p-footer {text-align: left !important; font-size: 12px;}
#optin-M5vtzffe .p-submit {float: none;width: auto !important; background-color: #000 !important; text-align: center; display: table; font-size: 16px;}

#dialog-content {padding: 0px; width: 550px;}

/* About Diderot */
.about-diderot { padding: 60px 0px; }
.about-diderot > .container {display: flex; justify-content: center; gap: 50px;}
.about-diderot .info {width: 55%;}
.about-diderot .images {width: 45%;}
.about-diderot img {width: 100%; border-radius: 4px;}
.about-diderot .botones {margin-top: 40px;}

.cont-swiper {position: relative;}
.swiper_tecnicas {margin-top: 25px;}
.swiper_tecnicas .swiper-slide a {color: #000; text-decoration: none;}
.swiper_tecnicas img {width: 100%; border-radius: 4px;}
.swiper_tecnicas span {display: block; padding-top: 15px; font-weight: 400; text-align: center; font-size: 14px;}
.cont-swiper .swiper-button-prev, .swiper-button-next  {width:30px; height: 30px; }
.cont-swiper .swiper-button-prev {left: -30px; color: #212121; top: 53%;}
.cont-swiper .swiper-button-next {right: -30px; color: #212121; top: 53%;}
.cont-swiper .swiper-button-prev:after {font-size: 20px; }
.cont-swiper .swiper-button-next:after {font-size: 20px; }
.swiper_tecnicas {overflow: hidden; padding: 0px; padding-top: 20px;}

.sec-trustpilot_reviews {border-top:1px solid #DBDBDB !important;}
.cont-trustpilot_reviews {max-width: none; padding: 40px 30px;}

footer {border-top:1px solid #DBDBDB; padding-top: 50px; text-align: center;}
.logofooter { text-align: center; display: table; margin: auto; margin-bottom: 30px;}
.logofooter svg {height: 38px;}
.datosfooter {list-style-type: none; display: flex; align-items: center; justify-content: center; margin: 0px; padding: 0px; padding-left: 0px; font-weight: 400;}
.datosfooter li { display: flex; align-items: center; margin-left: 10px; margin-right: 10px;}
.datosfooter a {display: flex; align-items: center; padding-right: 5px; padding-left: 5px; margin-right: 5px; text-decoration: none; color: var(--color1);}
.datosfooter svg {height: 18px; margin-right: 5px;}
.datosfooter .facebook svg {height: 15px;}

.footer-legal {color: #808080; font-size: 11px; font-weight: 200; padding-top: 40px;}
.footer-legal .container {display: flex; justify-content: space-between;}
.footer-legal .copy {padding-top: 20px; text-align: left; }

/* Zurbrand */
.cont-logo-zurbrand {text-align: right;}
.link-zurbrand {padding-top: 20px; padding-bottom: 20px; display: inline-block; -moz-transition: all 0.3s ease-out;  /*FF3.7+*/ -o-transition: all 0.3s ease-out;  /*Opera 10.5*/ -webkit-transition: all 0.3s ease-out;  /*Saf3.2+, Chrome*/ transition: all 0.3s ease-out;}
.link-zurbrand:hover {opacity: 0.8;}
.logo-zurbrand {height: 12px;}

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

.desktop {display: none;}
.mobile {display: inherit;}

.container {width: 90%; padding: 0px; flex-wrap: wrap;}
h2 {font-size: 20px; line-height: 26px;}
section {padding: 40px 0px;}

.headintro div img {height: 34px; margin-top: 5px;}

.secintro {min-height: 700px;}
.secintro .module {width: 90%;}
.secintro .logo {height: 44px; width: auto; margin-bottom: 8px;}
.secintro h1 {font-size: 45px; line-height: 48px;}
.secintro .subtit {margin-top: 8px; font-size: 33px;}

.sec-services {padding: 20px 0px;}
.sec-services .container {gap: 0px; flex-direction: column; justify-content: start;}
.sec-services .module {width: auto; flex: 1; padding: 0px 5px; display: flex; text-align: left; gap: 15px; justify-content: start; align-items: flex-start;}
.sec-services .module:first-child {border: 0px;}
.sec-services .module img {width: 20px; height: auto;}
.sec-services .module .tit {font-size: 15px; margin: 0px;}
.sec-services .module .tit span {display: inline;}
.sec-services .module p {margin: 0px;}
.sec-services .module { padding: 20px 0px;
    border: 0px;
    border-top: 1px solid #E2E2E2;
    width: 100%;
}

.swiper-button-next, .swiper-button-prev {color: var(--color1) !important; background-color: var(--color3); border-radius: 4px;}
.swiper-button-next:after, .swiper-button-prev:after {font-size: 14px !important;}
.swiper-button-prev {left: -15px !important;}
.swiper-button-next {right: -15px !important;}

.artist-grid {grid-template-columns: repeat(2, 1fr); /* 3 columnas de igual tamaño */
    grid-template-rows: repeat(2, auto); /* 2 filas con altura automática */
    gap: 20px; row-gap: 40px;}
.artist h3 {font-size: 15px;}
.artist p {font-size: 13px;}

.secopenstudio .cont-swiper {order: -1; margin-bottom: 20px;}
.secopenstudio .module {flex: 100%; max-width: 100%;}
.secopenstudio .adress {margin-top: 35px;}
.secopenstudio .adress ul {font-size: 13px; line-height: 18px;}
.secopenstudio .adress img {width: 20px;}
.secopenstudio .adress .btn {padding: 10px 15px;}

.secoaxaca .module {flex: 100%;}
.secoaxaca .text {padding: 40px 25px;}

.sec-experiencia .container .col {flex: 100%;}

.about-diderot > .container {gap: 30px;}
.about-diderot .info {width: 100%;}
.about-diderot .images {width: 100%;}

#optin-TOcvUqMW .p-field {width: 48%; margin-right: 1%; margin-left: 1%;}
#optin-TOcvUqMW .p-submit {margin: auto;}
#optin-TOcvUqMW .p-footer {text-align: center !important;}

.datosfooter {flex-direction: column; gap: 15px;}

}