@font-face {
  font-family: 'SuisseMono';
  src:  url(../fonts/SuisseIntlMono-Regular-WebS.woff2),
        url(../fonts/SuisseIntlMono-Regular-WebS.woff);
}
@font-face {
  font-family: 'Suisse';
  src:  url(../fonts/SuisseIntl-Medium-WebS.woff2),
        url(../fonts/SuisseIntl-Medium-WebS.woff);
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  outline: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body { background-color: white; font-family: 'Suisse'}
body.themeInWhite { background-color: white; color: black; }
body.themeInDark { background-color: black; color: white; }
body.themeInWhite .logoWhite { display: flex; }
body.themeInWhite .logoDark{ display: none; }
body.themeInDark .logoWhite { display: none; }
body.themeInDark .logoDark{ display: flex; }


a {
  color: inherit;
}

small,
input,
textarea,
select,
button {
  padding: 0;
  color: inherit;
  background-color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}

li {
  text-indent: 42px;
  position: relative;
}
li::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: white;
  position: absolute;
  top: 10px;
  left: 0;
  mix-blend-mode: difference;
}
.without-mixblendmode li::before {
  mix-blend-mode: unset !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  font: inherit;
}

.mono {
  font-size: 12px;
  line-height: 19px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
  font-family: 'SuisseMono';
}
.module-text {
  font-size: 25px;
  line-height: 26px;
  font-weight: 500;
  font-family: 'Suisse';
  letter-spacing: -0.5px;
}
.module-text-little {
  font-size: 17px;
  line-height: 19px;
  font-weight: 500;
  letter-spacing: -0.34px;
  font-family: 'Suisse';
}

.module-text-var {
  font-size: 17px;
  line-height: 19px;
  font-weight: 500;
  letter-spacing: -0.34px;
  font-family: 'Suisse';
}
@media(min-width: 768px) {
  .module-text-var {
    font-size: 25px;
    line-height: 26px;
    font-weight: 500;
    font-family: 'Suisse';
    letter-spacing: -0.5px;
  }
}

.slide-Center-First img { width: 100% !important; height: 100% !important; object-fit: cover; }
.slide-Center { display: flex; align-items: center; justify-content: center; }
.slide-Center img { height: 100%; object-fit: cover; }
.slide-Left { display: flex; align-items: flex-end; justify-content: flex-start; }
.slide-Left img { height: 70%; object-fit: cover; }
.slide-Right { display: flex; align-items: flex-end; justify-content: flex-end; }
.slide-Right img { height: 90%; object-fit: cover; }

@media(max-width: 767px) {
  .lg-without-bar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
  
  .lg-without-bar::-webkit-scrollbar {
    display: none;  /* Chrome, Safari, Opera */
  }
}


.without-bar::-webkit-scrollbar {
  display: none;  /* Chrome, Safari, Opera */
}


@media(min-width: 768px) {
  header:hover:not(:has(.country-selector:hover)) {
    transition: all 0.3s ease-in-out;
    background-color: white;
    mix-blend-mode: unset;
    color: black;
  }
  header:hover:not(:has(.country-selector:hover)) svg path {
    fill: black;
  }
  body.home  .footer-mobile-home { display: none; }
  body.home  .footer-home { display: block; }
}
@media(max-width: 767px) {
  body.home .footer-mobile-home { display: block; }
  body.home .footer-home { display: none; }
  body.home footer {
    margin-top: 0;
  }
  body.home footer { display: none; }
  body.home main footer { display: block; }
  
}


/* Animacion Swup -------------------*/
html.is-changing body:not(.post-type-archive-blog) main,
html.is-changing body:not(.tax-work_cat) main {
  transition: opacity 350ms ease-in-out;
  opacity: 1;
}
html.is-animating body:not(.post-type-archive-blog) main,
html.is-animating body:not(.tax-work_cat) main {
  opacity: 0;
}

/*Studio*/
.section-studio { height: 100%; overflow: hidden; scroll-snap-align: center; }
.page-template-page-studio footer { display: none; }
.section-studio-4 { overflow: unset; height: fit-content; }
.section-studio-5 footer { display: block; }
@media(max-width: 767px) { .section-studio { padding-top: 97px; } } 
@media(min-width: 768px) { .section-studio { padding-top: 158px; } } 

/*Service*/
@media(min-width: 768px) {
  .services-images-Left { justify-content: flex-start; }
  .services-images-Center { justify-content: center; }
  .services-images-Right { justify-content: flex-end; }
  
  .image-span-2 { width: 66.666%; }
  .image-span-1 { width: 33.333%; }
}

.services a { text-decoration: underline; }

.contact-section > * { border-color: black; }
.contact-section:hover > * { border-color:white; color: white; }

/*Contact*/
.page-template-contact input { font-family: 'SuisseMono'; font-size: 12px; line-height: 2; letter-spacing: -0.24px; text-transform: uppercase; border-bottom: 1px solid black; width: 100%;}
body.themeInDark.page-template-contact input { border-bottom: 1px solid white; }
.page-template-contact textarea { width: 100%; resize: none; height: 27px; min-height: unset !important; border-bottom: 1px solid black;}
body.themeInDark.page-template-contact textarea { border-bottom: 1px solid white; }
.page-template-contact textarea::placeholder { font-family: 'SuisseMono'; font-size: 12px; line-height: 2; letter-spacing: -0.24px; text-transform: uppercase; height: 25px; min-height: unset !important;}
.page-template-contact textarea:not(:placeholder-shown) { min-height: 140px !important;
  font-size: 17px;
  line-height: 19px;
  letter-spacing: -0.34px;
  font-family: 'Suisse'; }

.page-template-contact button { font-family: 'SuisseMono'; font-size: 12px; line-height: 2; letter-spacing: -0.24px; text-transform: uppercase; text-decoration: underline; width: 100%; display: flex; justify-content: end; padding-top: 5px; }
.page-template-contact .forminator-row { margin-bottom: 10px !important; }
.page-template-contact .forminator-ui { display: block !important; }

html.is-changing  .wrapper-containers-works { transition: opacity 350ms ease-in-out; }
html.is-animating .wrapper-containers-works { opacity: 0; }

.works-cat li { list-style-type: none; padding-left: 16px; position: relative; text-indent: 0px !important;  }
.works-cat li::before { content: ''; width: 8px; height: 8px; border-radius: 100%; border: 1px solid white; position: absolute; left: 0px; top: 50%; transform: translateY(-50%); background: none; }
.works-cat li.active::before { background: white; }

.work-image-Center { justify-content: center; margin: auto; }
.work-image-Center:has(+ .textBlock) { padding-bottom: 0 !important; }
.textBlock:has(+ .work-image-Center) { padding-bottom: 0 !important; }
@media(min-width: 768px) { body.single .work-image-Center { padding: 5rem; }  }
@media(max-width: 767px) { body.single .work-image-Center { padding: 3.5rem; }  }
.work-image-Left { justify-content: flex-start; }
.work-image-Right { justify-content: flex-end; }

.page .work-image-Center,
.page .work-image-Right,
.page .work-image-Left {
  padding: 40px 0px;
}

/*Policy*/
.page-template-page-policy h2 {
  font-size: 17px;
  line-height: 19px;
  font-weight: 500;
  letter-spacing: -0.34px;
  font-family: 'Suisse';
}
.page-template-page-policy h3 {
  font-size: 12px;
  line-height: 19px;
  letter-spacing: -0.24px;
  text-transform: uppercase;
  font-family: 'SuisseMono';
}

/*Player*/
.plyr__progress__container { width: 70%; }
.plyr video { height: 100vh; object-fit: cover; }
.plyr { font-family: 'SuisseMono' !important; font-size: 14px !important; --plyr-font-size-time: 14px }
.plyr .plyr__controls { padding: 20px 40px; }
.plyr .plyr__control--overlaid { opacity: 0; }
.plyr input { color: white !important; }

/*Blog*/
.mySwiperBlog .swiper-slide-active { color: black }
body.themeInDark .mySwiperBlog .swiper-slide-active { color: white }
.mySwiperArticle { top: calc(100vh - var(--imgHeight)); }

@media(max-width: 1023px) {
  .elementWork {
    margin-top: 0px !important;
  }
}

/*Footer*/
.pages-footer p a {
  display: inline-block;
  width: fit-content;
  text-decoration: underline;
}

.data-footer p a {
  display: inline-block;
  width: fit-content;
  text-decoration: underline;
}


/*Cookies*/
.cky-btn-revisit-wrapper { display: none !important; }
.cky-consent-container { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; bottom: unset !important; right: unset !important; width: 90% !important; max-width: 580px !important; }
.cky-consent-container .cky-consent-bar { border-radius: 0 !important; }
.cky-banner-btn-close { margin: 10px 5px !important; }
.cky-notice-btn-wrapper { flex-direction: row-reverse !important; }
.cky-consent-container .cky-notice-des p { font-size: 17px !important; line-height: 19px !important; font-weight: 500 !important; letter-spacing: -0.34px !important; font-family: 'Suisse' !important; padding-bottom: 50px !important; padding-right: 50px !important; }
.cky-consent-container button:not(.cky-banner-btn-close) { border-top: 1px solid black !important; border-bottom: 1px solid black !important; border-left: none !important; border-right: none !important; background-color: transparent !important; color: black !important; font-size: 12px !important; line-height: 19px !important; letter-spacing: -0.24px !important; text-transform: uppercase !important; font-family: 'SuisseMono' !important; }
[data-cky-tag="detail-powered-by"] { display: none !important; }


.cky-preference-content-wrapper p,
.cky-accordion-header-wrapper button,
.cky-accordion-header-wrapper p { font-size: 17px !important; line-height: 19px !important; font-weight: 500 !important; letter-spacing: -0.34px !important; font-family: 'Suisse' !important; padding-right: 50px !important; }
.cky-btn-reject,
.cky-modal.cky-modal-open button.cky-btn-preferences,
.cky-modal.cky-modal-open button.cky-btn-accept { border-top: 1px solid black !important; border-bottom: 1px solid black !important; border-left: none !important; border-right: none !important; background-color: transparent !important; color: black !important; font-size: 12px !important; line-height: 19px !important; letter-spacing: -0.24px !important; text-transform: uppercase !important; font-family: 'SuisseMono' !important; }
.cky-accordion { border: none !important; }
.cky-preference-body-wrapper .cky-horizontal-separator { border: none !important; }
.cky-preference-header, .cky-preference-body-wrapper, .cky-accordion-wrapper, .cky-accordion, .cky-accordion-wrapper, .cky-footer-wrapper, .cky-prefrence-btn-wrapper { border: transparent !important; }
.cky-accordion .cky-accordion-chevron i::before { width: 8px !important; height: 8px !important; border: 1px solid black !important; border-radius: 100% !important; }
.cky-accordion-item:has(.cky-accordion-header-wrapper:has(.cky-accordion-header:has([aria-expanded="true"]))) .cky-accordion .cky-accordion-chevron i::before { background-color: black !important; }

/*Weglot*/
header.open .country-selector { display: none !important; }
.country-selector { position: relative; mix-blend-mode: difference; color: white !important; }
.country-selector label::before { content: 'LANG:'; }
.country-selector label span { max-width: 23px; display: inline-flex; overflow: hidden; }
.country-selector ul { display: none !important; gap: 13px; position: absolute; top: 100%; right: -0.75rem; color: white !important; width: fit-content; padding: 0 0.75rem; margin-top: -1.5px;  }
.country-selector:hover ul { display: flex !important; }
.country-selector li { width: fit-content; text-indent: 0; position: relative; }
.country-selector li:first-child::before { display: none; }
.country-selector li::before { content: '/'; background-color: transparent; width: unset; height: unset; position: absolute; left: -10px; top: 50%; transform: translateY(-50%); }
.country-selector li a { color: white; padding: 0; width: fit-content; display: block;}
.country-selector li a:hover { color: white !important; }

@media(max-width: 768px){
  .country-selector label { cursor: pointer }
  .country-selector.closed ul { display: flex !important; }
}


