@charset "UTF-8";
/* ---------------------------------- */
/* ---------GLOBAL STYLE v4---------- */
/* ---------------------------------- */
/* --------FONT FAMILY-------- */
@font-face {
  font-family: "Span";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/Span_thin.woff2") format("woff2");
  unicode-range: U+0000-00FF;
}
@font-face {
  font-family: "Inter-Tight";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Inter-Tight_reg.woff2") format("woff2");
  unicode-range: U+0000-00FF;
}
/* --------COLOR DESIGN-------- */
:root {
  --xs: 20px;
  --sm: 40px;
  --xl: 80px;
  --ml: 249px;
  --white: #fff;
  --light: #f0f0ff;
  --g-200: #e9ecef;
  --g-300: #dee2e6;
  --g-400: #ced4da;
  --g-500: #adb5bd;
  --g-600: #9797A6;
  --g-700: #554957;
  --g-800: #343a40;
  --dark: #1b1b1b;
  --ray: #FBF6EB;
  --gold: #CEB888;
  --bronze: #634400;
  --brown: #191100;
  --sky: #DCE4FF;
  --azure: #3950A0;
  --blue: #031248;
  --black: #04091B;
}

/* --------RESET-------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-user-drag: none;
  user-select: none;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

*::-webkit-scrollbar {
  display: none;
}

a,
button,
input[type=button],
input[type=submit] {
  /* Disattiva l'effetto di highlight sugli eventi click nei touchscreen */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  color: var(--ray);
}

html,
body {
  overscroll-behavior: none;
  font-family: "Inter-Tight", Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--sky);
  background: var(--black);
}

body {
  min-height: 200vh;
}

main {
  clip-path: inset(0);
}

ul,
ol {
  list-style: none;
}

li {
  list-style-position: inside;
}

button,
select,
label,
a {
  cursor: pointer;
}

button:disabled {
  cursor: default;
}

a {
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
  outline: 0;
}

a:has(i) {
  display: inline-flex;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  max-width: 100%;
  outline: 0;
}

button,
iframe,
video,
select {
  border: 0;
  outline: none;
  background: transparent;
}

canvas {
  image-rendering: optimizeSpeed;
  /* Forza l'ottimizzazione della velocità */
}

form fieldset {
  border: none;
}

form input:not([type=checkbox]):not([type=radio]),
form textarea {
  background: none;
  border: none;
  border-bottom: 1px solid var(--light);
  border-radius: 0;
  color: var(--ray);
}

main img,
main video {
  object-fit: cover;
}

main video {
  height: 100%;
  width: 100%;
}

address {
  font-style: normal;
}

/* --------FONT SIZE-------- */
h2 {
  width: 220px;
  padding-right: var(--xl);
  margin-bottom: 20px;
}

h2,
strong {
  color: var(--azure);
  font-size: 18px;
  text-transform: uppercase;
}

h2,
strong,
b,
p {
  line-height: 160%;
  font-weight: 400;
}

h3,
h4,
h5,
#expect li p,
summary,
ol li {
  font-family: "Span", "Times New Roman", Times, serif;
  font-weight: 200;
}

h3 b,
h4 b,
h5 b {
  line-height: 0;
}

.h2 {
  font-size: 80px;
  letter-spacing: -2.4px;
  color: var(--gold);
  line-height: 100% !important;
}

h3,
h4,
ol li {
  font-size: 40px;
  letter-spacing: -1.2px;
}

summary,
#expect li p,
h5 {
  font-size: 24px;
}

/* --------ICON DESIGN-------- */
#hero i,
a i {
  margin-left: 10px;
}

i {
  display: inline-block;
  width: 12px;
  height: 12px;
}

i.xl {
  width: 40px;
  height: 40px;
}

.arrow:not(.xl),
.sx-arrow:not(.xl),
.v-arrow:not(.xl),
.d-arrow:not(.xl) {
  background: url("/wp-content/themes/chicmama/media//svg/icon_arrow.svg") bottom left no-repeat;
}

.arrow.xl,
.sx-arrow.xl,
.v-arrow.xl,
.d-arrow.xl {
  background: url("/wp-content/themes/chicmama/media//svg/icon_arrowx.svg") bottom left no-repeat;
}

.arrowb {
  background: url("/wp-content/themes/chicmama/media//svg/icon_arrowb.svg") bottom left no-repeat;
}

.bg-ray .d-arrow.xl {
  background: url("/wp-content/themes/chicmama/media//svg/icon_arrowbx.svg") bottom left no-repeat;
}

.sx-arrow {
  transform: scaleX(-1);
}

.v-arrow {
  transform: rotate(90deg);
}

.d-arrow {
  transform: rotate(-45deg);
}

.d-arrow.xl {
  margin: 3px 3px 0 0;
}

/* --------GENERAL CONTAINER--------- */
.b-pill {
  border-radius: 999px !important;
}

.bg-dark {
  background: var(--dark);
}

.bg-blue {
  background: var(--blue);
}

.bg-blue h3,
.bg-blue h4 {
  color: var(--gold);
}

.box-small,
.bg-ray {
  display: flex;
  justify-content: center;
}

.bg-ray.ray {
  background: url("/wp-content/themes/chicmama/media//svg/ray.svg") right top/cover no-repeat;
}

.bg-ray:not(.ray),
#gallery {
  background: var(--ray);
}

.box-small > *,
.bg-ray > * {
  max-width: 1200px;
}

.bg-ray p {
  color: var(--brown);
}

.bg-ghost {
  background: transparent;
}

/* -------------ANIMAZIONI------------- */
.wrapper {
  overflow: hidden;
}

header,
.from {
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  opacity: 1;
  z-index: 10;
}

.actived {
  opacity: 1 !important;
}

.from-left {
  transform: translateX(-40vw);
}

.from-right {
  transform: translateX(40vw);
}

.from-top {
  transform: translateY(-100%);
}

.from-bottom {
  transform: translateY(100%);
}

/*-------------- WORD REVEAL --------------*/
.d-block,
.tfx-block,
.tfx-block-h,
.nav__link:not(.active) {
  display: block;
}

.tfx-block *,
.tfx-block-h *,
.nav__link:not(.active) * {
  background-repeat: no-repeat;
}

/*---------- DOUBLE COLOR EFFECT ----------*/
.double,
.double * {
  display: inline !important;
  background-size: 0 100%;
  background-position: 0 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.double > * {
  background-image: linear-gradient(var(--bronze) 0%, var(--bronze) 100%);
  transition: background-size 0.8s linear 1.6s;
}

.double.actived > * {
  background-size: 100% 100%;
}

.double {
  background-image: linear-gradient(var(--gold) 0%, var(--gold) 100%);
}

.double.actived {
  animation: colorSize 3s forwards;
}

@keyframes colorSize {
  0%, 79% {
    color: transparent;
  }
  80% {
    background-size: 100% 100%;
    color: var(--light);
  }
  100% {
    background-size: 0 100%;
    color: var(--light);
  }
}
/*------------- UNDERLINE EFFECT ------------*/
.subline,
.subline-h {
  display: inline !important;
  background-size: 0 1px;
  background-position: 0 100%;
  transition: background-size 0.4s linear;
  background-image: linear-gradient(to right, currentColor 0%, currentColor 100%);
}

.subline.actived {
  background-size: 100% 1px;
}

/* --------HOVER STYLE--------- */
/* --------MOBILE QUERY--------- */
.d-none {
  display: none !important;
}

/* ---------------------- */
/* --------HEADER-------- */
/* ---------------------- */
#header,
nav ul {
  display: flex;
  align-items: center;
}

#logo {
  height: 96px;
  width: 91px;
  font-size: 0;
  line-height: 0;
}

.nav__link.active {
  position: relative;
}

.nav__link.active::after {
  content: "";
  position: absolute;
  top: 0;
  border-radius: 99px 99px 0 0;
  background: var(--gold);
}

.nav__link.active a {
  color: var(--gold);
}

#lang .actual {
  color: var(--azure);
}

#opener:checked ~ #hamburger::after {
  background: var(--white);
}

/* --------SUBCOMPONENTS--------- */
section:has(.waves) {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.waves {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: -1;
  opacity: 0.4;
  background: url("/wp-content/themes/chicmama/media//svg/waves.svg") no-repeat;
  background-size: 50vw;
  animation: waves 7s ease-in-out 2.6s infinite;
}

@keyframes waves {
  30%, 70% {
    transform: scaleX(1.05);
  }
  50% {
    transform: translateX(-2vw) scaleX(1) skewX(-5deg);
  }
}
/* ---------------------------- */
/* -------------CTA------------ */
/* ---------------------------- */
:root {
  --h-btn: 42px;
}

.cta {
  position: relative;
  display: grid;
  place-items: center;
  min-height: var(--h-btn);
  border: 1px solid transparent;
  z-index: 6;
  padding: 0 30px;
  min-width: fit-content;
  overflow: hidden;
}

.cta.blur {
  border-radius: 99px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  grid-auto-flow: column;
  grid-auto-columns: auto;
  grid-template-columns: repeat(N, auto);
  white-space: nowrap;
}

#hero .cta.blur {
  height: 52px;
}

.slider .cta.blur {
  padding: 34px;
}

button .cta {
  aspect-ratio: 1;
  padding: 0;
}

button.cta {
  max-width: fit-content;
}

.cta.border {
  color: var(--gold);
  border-color: var(--gold);
}

.cta:not(.border) {
  color: var(--black);
}

.cta,
.cta::after,
.cta::before {
  border-radius: 10px;
}

.cta::after,
.cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cta:not(.border)::after {
  background: var(--gold);
}

.cta.blur::after {
  background: var(--black);
  opacity: 0.3;
}

.cta::after {
  z-index: -2;
}

.cta:not(.border)::before,
.cta.border::before {
  background: var(--white);
}

.cta::before {
  z-index: -1;
  border-radius: 99px 99px 0 0;
  transform: scale(0);
  transform-origin: bottom;
  transition: transform 0.3s ease-out;
}

.cta.blur::before {
  display: none;
}

/* ---------------------------- */
/* ----------HAMBURGER--------- */
/* ---------------------------- */
#hamburger {
  padding: 13px;
}

#hamburger span,
#hamburger #x::after,
#hamburger #x::before {
  width: 14px;
  height: 2px;
  border-radius: 1px;
  background: var(--blue);
  transition: transform 0.3s linear;
}

#hamburger #x {
  background: transparent;
  position: relative;
}

#hamburger #x::after,
#hamburger #x::before {
  content: "";
  position: absolute;
}

#opener:checked ~ #hamburger span:nth-child(1) {
  transform: rotate(-45deg) translateY(300%) scaleX(0);
}

#opener:checked ~ #hamburger span:nth-child(3) {
  transform: rotate(-45deg) translateY(-300%) scaleX(0);
}

#opener:checked ~ #hamburger #x::after {
  transform: rotate(45deg);
}

#opener:checked ~ #hamburger #x::before {
  transform: rotate(-45deg);
}

/* --------------------------- */
/* ----------SLIDER----------- */
/* --------------------------- */
.slider {
  position: relative;
  overflow-y: visible;
  overflow-x: hidden;
}

.slider.infinite .slide-wrap {
  transform: translateX(-100%);
}

.slide-box,
.slide-wrap {
  position: relative;
  font-size: 0;
}

.slide-wrap {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  transition: transform 1s ease-out;
  height: auto;
  min-width: 100%;
}

.slide-box {
  min-height: 100%;
  display: flex;
  align-items: stretch;
}

.slider .slide {
  position: relative;
  overflow: hidden;
  display: flex;
  font-size: initial;
  justify-content: center;
  align-items: stretch;
  min-width: 100%;
  max-width: 100%;
}

.slider .slide .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: var(--black);
  opacity: 0.3;
}

.slide-txt {
  position: relative;
}

.slider .slide img,
.slider .slide video {
  transform: scale(1);
  transition: transform 1s ease-in-out;
}

.slider .slide.visible img,
.slider .slide.visible video {
  transform: scale(1.2);
}

.slide-box button {
  position: absolute;
  bottom: calc(50% - 41px);
}

.slide-box button:disabled {
  opacity: 0;
}

.prev {
  left: -110px;
}

.next {
  right: -110px;
}

/* ---------------------------- */
/* ------------DOTS------------ */
/* ---------------------------- */
.dots {
  position: absolute;
  bottom: var(--xl);
  left: var(--sm);
  font-size: 0;
  background: var(--blue);
  border-radius: 99px;
  padding: 12px 0;
  width: fit-content;
}

.dots span {
  display: inline-block;
  height: 12px;
  width: 12px;
  border: 2px solid var(--white);
  border-radius: 99px 99px 0 0;
  margin: 0 3px;
  transition: transform 0.3s linear, background-color 0.3s linear, border-radius 0.3s linear;
}

.dots span:first-child {
  margin-left: 24px;
}

.dots span:last-child {
  margin-right: 24px;
}

.dots span:not(.dot-active) {
  transform: scaleY(14%) scaleX(80%);
  background-color: var(--white);
  border-radius: 0;
}

.dot-active {
  border-color: var(--gold) !important;
}

/* ---------------------------- */
/* ----------DROPDOWN---------- */
/* ---------------------------- */
details {
  overflow: hidden;
  border-bottom: 1px solid var(--azure);
}

summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0 32px;
}

details a {
  color: var(--sky);
  text-decoration: underline;
}

details article {
  transform: translateY(100%);
  padding-bottom: 32px;
  opacity: 0;
  max-height: 0;
}

details[open] article {
  animation: open 0.6s linear forwards;
}

@keyframes open {
  60% {
    transform: translateY(100%);
    opacity: 0;
    max-height: 999px;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
    max-height: 999px;
  }
}
/* cancella l'icona di default */
summary::marker,
summary::-webkit-details-marker {
  display: none;
}

/* per inserire icona custom */
summary:not(.drop-plus)::after {
  content: url("data:image/svg+xml,%3Csvg fill='%23DCE4FF' height='15px' width='15px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M111.213,165.004L250.607,25.607c5.858-5.858,5.858-15.355,0-21.213c-5.858-5.858-15.355-5.858-21.213,0.001 l-150,150.004C76.58,157.211,75,161.026,75,165.004c0,3.979,1.581,7.794,4.394,10.607l150,149.996 C232.322,328.536,236.161,330,240,330s7.678-1.464,10.607-4.394c5.858-5.858,5.858-15.355,0-21.213L111.213,165.004z'/%3E%3C/svg%3E");
  transform: rotate(-90deg);
  transition: transform 0.3s ease-out;
}

details[open] > summary:not(.drop-plus)::after {
  transform: rotate(-270deg);
}

main > section > div:not(.slider),
main .entry-content > * > section > div:not(.slider),
#intro article,
#gallery .slide,
#footer {
  padding: var(--xl) var(--sm);
}

/* ----------COMPONENTS---------- */
#hero {
  position: relative;
  overflow: hidden;
  height: 100dvh;
}

@keyframes blurOut {
  100% {
    filter: none;
  }
}
#hero > img {
  filter: blur(20px) grayscale(50%);
  animation: blurOut 1.2s ease-out 0.2s forwards;
}

#hero h1 {
  bottom: 0;
  width: 100vw;
  height: auto;
  font-size: 0;
  line-height: 0;
  padding: 0 20px;
  transform: translateY(1px);
}

#hero h1,
#jump {
  position: absolute;
  right: 0;
}

#jump {
  bottom: -52px;
  color: var(--white);
}

@media screen and (max-width: 991px) and (hover: none) {
  #jump {
    bottom: 16vw;
    right: 50%;
    transform: translateX(50%);
  }
}
/* --------------------------- */
/* -----------INTRO----------- */
/* --------------------------- */
#intro article {
  display: flex;
}

#intro article > * {
  width: 50%;
}

#intro .tfx-block {
  padding-bottom: var(--xl);
}

#intro img {
  aspect-ratio: 0.8;
  padding-left: var(--xl);
  max-height: 700px;
}

/* --------------------------- */
/* -----------CARDS----------- */
/* --------------------------- */
.cards {
  overflow: hidden;
}

.cards .wrapper:has(.h2) {
  display: flex;
  justify-content: center;
  overflow: visible;
}

.cards .h2 {
  max-width: 900px;
}

.cards-intro {
  display: flex;
}

.cards-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 40px;
  margin-top: var(--xl);
  margin-left: calc(-1 * var(--xs));
  margin-right: calc(-1 * var(--xs));
}

.card {
  position: relative;
  width: 50%;
}

.card div {
  padding: 0 var(--xs);
}

.card img {
  max-height: min(45vh, 50vw);
  pointer-events: none;
}

.card h4 {
  color: var(--gold);
  margin-top: 20px;
}

.card p {
  padding: 20px 0;
}

.card a {
  color: var(--bronze);
  transition: filter 0.3s ease-out;
}

.hover .h2 {
  text-align: center;
}

.hover h4 {
  text-align: center;
  color: var(--brown);
}

.card img {
  aspect-ratio: 1.6;
  height: auto;
}

/* --------------------------- */
/* ----------WINDOW----------- */
/* --------------------------- */
.window {
  overflow: hidden;
}

.window div {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
}

.window article {
  display: flex;
}

.window figure {
  overflow: hidden;
  height: 80%;
  width: 60%;
  border-radius: 999px 999px 0 0;
}

.wind-txt {
  gap: 20px;
  align-items: center;
}

.wind-txt > * {
  max-width: 500px;
  width: 100%;
}

.wind-img {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1.1;
}

.window img {
  will-change: transform;
}

.wind-left {
  transform: scale(2);
}

.window p {
  margin-bottom: 20px;
}

/* --------------------------- */
/* ----------GALLERY---------- */
/* --------------------------- */
#gallery {
  position: relative;
  color: var(--white);
}

#gallery .slider,
#gallery .slide {
  z-index: 1;
}

#gallery .slide img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

#gallery .slide-txt {
  margin-top: 40vh;
  margin-bottom: 80px;
  width: 100%;
}

#gallery p {
  margin: 10px 0;
}

#gallery .slider > a.cta {
  position: absolute;
  bottom: var(--xl);
  right: var(--sm);
}

#gallery .slide .cta-inner {
  max-width: fit-content;
  margin-left: auto;
}

/* --------------------------- */
/* ----------FIND US---------- */
/* --------------------------- */
#find {
  overflow: hidden;
}

#find address {
  color: var(--black);
}

.find-wrap {
  display: flex;
  gap: var(--xl);
}

.find-wrap > * {
  width: 50%;
}

#find article {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#find img {
  aspect-ratio: 2;
}

#find address {
  margin-top: auto;
}

#find .cta {
  width: fit-content;
}

/* --------------------------- */
/* ---------TWO COLUMS-------- */
/* --------------------------- */
.cols-wrap {
  display: flex;
}

.cols-txt {
  padding-right: var(--xl);
  width: 100%;
  display: flex;
  flex-direction: column;
}

.cols-img {
  min-width: calc(50% - var(--xl));
  max-width: calc(50% - var(--xl));
}

.cols .slide-box {
  max-height: 100%;
}

.cols .h2 {
  max-width: 500px;
  margin-bottom: 20px;
}

.cols .h2 + p {
  padding-bottom: var(--xl);
}

.cols ul {
  display: flex;
  margin-top: auto;
}

.cols ul li:not(:first-child) {
  margin-left: -20px;
  background: var(--blue);
}

.cols ul li {
  min-width: calc(33.33% + 13px);
  max-width: calc(33.33% + 13px);
  aspect-ratio: 0.8;
  border-radius: 999px 999px 0 0;
  border: 1px solid var(--gold);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
}

.cols ul li p {
  text-align: center;
  line-height: 100%;
  max-width: 140px;
}

.cols ol {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.cols ol a {
  display: flex;
  white-space: wrap;
  justify-content: space-between;
  width: 100%;
  transition: filter 0.3s ease-out;
}

.bg-ray.cols ol a {
  color: var(--bronze);
}

.bg-blue.cols ol a {
  color: var(--sky);
}

.cols-img {
  overflow: hidden;
  position: relative;
  min-height: 50vh;
}

.cols-img:not(.slider) img {
  position: absolute;
  top: 0;
  left: 0;
}

.cols-img:not(.slider) img:not(:first-child) {
  transform: translateX(100%);
}

.cols img {
  aspect-ratio: 0.9;
  transition: transform 0.5s ease-out;
}

.cols .dots {
  left: 50%;
  transform: translateX(-50%);
}

/* ------------------------------ */
/* --------------FAQ------------- */
/* ------------------------------ */
#faq {
  overflow: hidden;
}

.faq-wrap {
  display: flex;
  align-items: center;
  gap: var(--xl);
}

.faq-wrap > * {
  width: 50%;
}

#faq section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#faq figure {
  position: relative;
  aspect-ratio: 0.8;
  max-height: max(500px, 50vw);
  border-radius: 999px 999px 0 0;
  overflow: hidden;
  display: grid;
  place-items: end;
  padding: 40px;
}

#faq figcaption {
  position: relative;
  text-align: center;
  display: grid;
  place-items: center;
  width: 100%;
}

#faq figcaption h4 {
  color: var(--white);
  margin: var(--sm) 0;
}

#faq figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0.7);
}

/* ------------------------------ */
/* ------------MEDIA------------- */
/* ------------------------------ */
.media {
  display: flex;
  overflow: hidden;
}

.media-card {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: end;
  min-width: 50%;
  flex: 1;
}

.media-card.video--playing .play-btn,
.media-card.video--playing h3,
.media-card.video--playing .cta {
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}
.media-card.video--playing .media__box::after {
  display: none;
}

.media-card .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 600px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(20px);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 120px;
  max-height: 120px;
  cursor: pointer;
}

.media-card .play-btn svg {
  position: relative;
  left: 3px;
}

.media__box,
.media__box::after {
  position: absolute;
  inset: 0;
}

.media__box::after {
  content: "";
  position: absolute;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  /* Sfuma dall'interno (nitido) verso l'esterno (sfocato) */
  mask-image: radial-gradient(ellipse at top, transparent 30%, var(--black) 100%);
  -webkit-mask-image: radial-gradient(ellipse at top, transparent 30%, var(--black) 100%);
}

.media h3 {
  position: relative;
  color: var(--white);
  max-width: 335px;
  margin-top: 40vh;
}

/* ---------------------- */
/* --------FOOTER-------- */
/* ---------------------- */
footer {
  background: var(--black);
}

#footer {
  display: flex;
  flex-wrap: wrap;
}

footer *:not(h5) {
  color: var(--white);
}

footer h5 {
  color: var(--gold);
  margin-bottom: 40px;
}

#footer > ul {
  width: 25%;
}

#footer > ul:not(:nth-child(4)) {
  padding-right: 10px;
}

#footer > ul li {
  margin-bottom: 20px;
}

footer img {
  margin-left: 10px;
}

#footer > div {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-top: var(--sm);
}

#footer > div p {
  white-space: nowrap;
  color: var(--gold);
}

#footer > div ul {
  display: flex;
  gap: 10px;
}

#footer div a {
  line-height: 150%;
}

footer img {
  transform: translateY(35%) rotate(-10deg);
}

footer aside {
  margin-top: 40px;
  color: var(--azure);
}

#footer .subline-h[href="#"] {
  pointer-events: none;
  background: none;
}

#footer .subline-h img {
  width: 12px;
  transform: none;
}

/* ---------------------------- */
/* --------MEDIA QUERY--------- */
/* ---------------------------- */
@media (hover: hover) {
  .card a:hover,
  .bg-ray.cols ol a:hover {
    filter: brightness(0);
  }
  .bg-blue.cols ol a:hover {
    filter: brightness(200%);
  }
  .nav__link:not(.active):hover .subline-h,
  .tfx-block-h:hover .subline-h {
    background-size: 100% 1px;
  }
  .d-hh-none {
    display: none !important;
  }
  .cta.border:not(:disabled):hover {
    color: var(--black);
  }
  .cta:not(:disabled):hover::before {
    transform: scale(1.3);
  }
  .cols:has(ol li:nth-child(2):hover) .cols-img img:nth-child(2),
  .cols:has(ol li:nth-child(3):hover) .cols-img img:nth-child(3),
  .cols:has(ol li:nth-child(4):hover) .cols-img img:nth-child(4),
  .cols:has(ol li:nth-child(5):hover) .cols-img img:nth-child(5),
  .cols:has(ol li:nth-child(6):hover) .cols-img img:nth-child(6),
  .cols:has(ol li:nth-child(7):hover) .cols-img img:nth-child(7) {
    transform: none;
  }
}
@media (hover: none) {
  .d-hn-none {
    display: none !important;
  }
}
@media screen and (min-width: 992px) {
  main > section:not(#hero),
  main .entry-content > *:not(.wp-block-lazyblock-hero),
  footer {
    padding-left: var(--ml);
  }
  .d-lg-none {
    display: none !important;
  }
  header {
    background: var(--blue);
    max-width: fit-content;
    padding: 0 63px;
    border-right: 1px solid var(--azure);
  }
  header:not(.from-top) {
    transform: none;
  }
  header.from-top {
    transform: translateX(-100%);
  }
  #header {
    height: 100vh;
    padding: 40px 0;
  }
  #header,
  nav ul {
    flex-direction: column;
  }
  nav {
    margin-top: auto;
    width: 100%;
  }
  nav ul {
    align-items: flex-start;
    gap: 32px;
  }
  .nav__link.active::after {
    left: -23px;
    height: 18px;
    width: 14px;
  }
  header .cta {
    margin-top: 40px;
    margin-bottom: auto;
  }
  header #lang {
    padding-top: 40px;
  }
  #hero h1 {
    width: calc(100vw - var(--ml));
  }
  .hover .card img {
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translateX(-50%) scale(0.5);
    height: 130%;
    width: auto;
    opacity: 0;
    z-index: 1;
    transition: transform 0.6s ease-out;
  }
  .hover .card:has(p:hover) img {
    transform: translateX(-50%) scale(1);
    opacity: 1;
  }
  #left-side,
  #right-side {
    position: absolute;
    top: 0;
    width: calc(50vw - 125px);
    height: 100%;
  }
  .cols #left-side,
  .cols #right-side {
    width: 50%;
  }
  #left-side {
    left: 0;
  }
  #right-side {
    right: 0;
  }
  #faq section {
    padding: 40px 0;
  }
}
@media screen and (max-width: 991px) {
  :root {
    --xs: 10px;
    --sm: 20px;
    --xl: 40px;
  }
  .d-md-none {
    display: none !important;
  }
  header {
    padding: var(--sm);
  }
  #logo {
    margin-right: auto;
  }
  nav {
    position: absolute;
    top: -100dvh;
    left: 0;
    height: 100dvh;
    width: 100%;
    z-index: -1;
    background: var(--blue);
    padding: 116px 20px 60px;
    transition: transform 1s ease-in-out;
  }
  nav ul {
    flex-direction: column;
    justify-content: flex-end;
    row-gap: 40px;
    height: 100%;
    padding: 0 40px;
  }
  .nav__link {
    font-size: 20px;
    width: 100%;
    opacity: 0;
    transform: translateY(50%);
    border-bottom: 1px solid var(--white);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .nav__link.active {
    border-bottom: 1px solid var(--gold);
  }
  .nav__link.active::after {
    left: -36px;
    height: 20px;
    width: 15px;
  }
  .nav__link a {
    width: 100%;
    display: inline-block !important;
    padding-bottom: 40px;
  }
  html:has(#opener:checked) {
    overflow: hidden !important;
  }
  #opener:checked ~ nav {
    transform: translateY(100%);
  }
  #opener:checked ~ nav li {
    transform: none;
    opacity: 1;
  }
  #opener:checked ~ nav > ul li:nth-child(1) {
    transition-delay: 1s;
  }
  #opener:checked ~ nav > ul li:nth-child(2) {
    transition-delay: 1.3s;
  }
  #opener:checked ~ nav > ul li:nth-child(3) {
    transition-delay: 1.6s;
  }
  #opener:checked ~ nav > ul li:nth-child(4) {
    transition-delay: 1.9s;
  }
  #opener:checked ~ nav > ul li:nth-child(5) {
    transition-delay: 2.2s;
  }
  #opener:checked ~ nav > ul li:nth-child(6) {
    transition-delay: 2.5s;
  }
  a.cta {
    transition: transform 0.3s ease-out;
  }
  #opener:checked ~ a.cta {
    transform: translateX(138%) scaleX(0);
  }
  #lang {
    margin-right: 0;
    font-size: 4px;
    opacity: 0;
    transition: opacity 0.3s ease-out, font-size 0.3s ease-out, margin-right 0.3s ease-out;
  }
  #opener:checked ~ #lang {
    margin-right: 28px;
    font-size: inherit;
    opacity: 1;
  }
  .cards-intro {
    flex-direction: column;
  }
  .waves {
    left: -10vw;
  }
  .media-card {
    flex-direction: column;
    align-items: start;
  }
  .media .cta {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  #gallery .slide-txt {
    display: flex;
    gap: var(--sm);
  }
  #gallery p {
    margin-top: auto;
  }
  #find article {
    padding: var(--xl) 0;
  }
  .intro-txt {
    position: sticky;
    top: 20px;
    align-self: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .d-sm-none {
    display: none !important;
  }
  h2,
  strong {
    font-size: 16px;
  }
  .h2 {
    font-size: 40px;
  }
  h3,
  h4,
  ol li {
    font-size: 32px;
  }
  summary,
  #expect li p,
  h5 {
    font-size: 20px;
  }
  .d-arrow.xl {
    width: 30px;
    height: 30px;
  }
  .find-wrap {
    flex-direction: column;
  }
  .find-wrap > * {
    width: 100%;
  }
  .faq-wrap {
    width: 100%;
    flex-direction: column;
  }
  .faq-wrap > * {
    width: 100%;
  }
  #faq figure {
    max-height: min(600px, 100vw);
  }
  #footer > ul {
    width: 50%;
  }
  #footer > ul:nth-child(2) {
    margin-bottom: 40px;
  }
  #footer > div p {
    margin-bottom: 40px;
    width: 100%;
  }
  #intro article {
    flex-direction: column;
  }
  #intro article > * {
    width: 100%;
  }
  #intro img {
    padding-left: 0;
  }
  .cols-wrap {
    flex-direction: column;
  }
  .cols-txt {
    padding-right: 0;
  }
  .cols-img {
    margin-top: 40px;
    min-width: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 576px) {
  .wind-txt {
    padding: 40px;
    width: calc(50% + 20px);
  }
  .wind-img {
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 575px) {
  .d-xs-none {
    display: none !important;
  }
  #logo {
    width: 32px;
    height: 46px;
  }
  .cards-wrap {
    flex-direction: column;
  }
  .card {
    width: 100%;
  }
  .window article {
    flex-direction: column;
  }
  .window article > * {
    width: 100%;
  }
  .wind-img:has(.wind-left) + .wind-txt h3 {
    margin-top: 20px;
  }
  .wind-img:has(.wind-left) + .wind-txt p {
    margin-bottom: 0;
  }
  .media {
    flex-direction: column;
  }
}

/*# sourceMappingURL=style.css.map */
