/*

Theme Name: Silvia Di Raimondo

Theme URI: https://silviadiraimondo.it/

Author: Silvia Di Raimondo

Author URI: https://silviadiraimondo.it/

Description: Tema esclusivo Silvia Di Raimondo.

Version: 1.0

Text Domain: raimondo

*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: "Noctis";
  font-weight: 400;
  src: url("./fonts/Noctis-Regular.woff2") format("woff2");
  ascent-override: 95%;
}
@font-face {
  font-family: "Noctis";
  font-weight: 700;
  src: url("./fonts/Noctis-Bold.woff2") format("woff2");
  ascent-override: 95%;
}
* {
  margin: 0;
  padding: 0;
}

:root {
  --min-margin: 5vw;
  --wide-gap: max(1.667vw, 1rem);
  --wide: 85rem;
  --full-wide: min(calc(100% - (var(--min-margin) * 2)), var(--wide));
  --margin-full-wide: calc((100% - var(--full-wide)) / 2);
  --color-1: hsl(27, 87%, 53%);
  --color-2: hsl(194, 91%, 49%);
  --color-3: hsl(202, 100%, 29%);
  --color-4: hsl(0, 1%, 15%);
  --color-5: hsl(0, 0%, 92%);
  --to-black: invert(0.85) sepia(10%);
  --to-white: invert(1) brightness(2);
  --rgb-1: 239, 125, 31;
  --rgb-2: 11, 186, 239;
  --rgb-3: 0, 94, 148;
  --rgb-4: 39, 38, 38;
  --diff-wide: min(calc(100vw - (var(--min-margin) * 2)), var(--wide));
  --noctis: "Noctis", system-ui, sans-serif;
  --manrope: "Manrope", system-ui, sans-serif;
  --size-72: max(calc(var(--diff-wide) * 0.053), 3rem);
  --size-56: max(calc(var(--diff-wide) * 0.041), 2.5rem);
  --size-40: max(calc(var(--diff-wide) * 0.0295), 2rem);
  --size-32: 2rem;
  --size-24: clamp(1.125rem, 2vw, 1.5rem);
  --size-20: clamp(1.125rem, 1.5vw, 1.25rem);
  --size-18: 1.125rem;
  --margin-24: 1.5rem;
  --margin-48: 3rem;
  --margin-64: max(calc(var(--diff-wide) * 0.059), 3rem);
  --margin-80: max(calc(var(--diff-wide) * 0.059), 3rem);
  --margin-160: max(calc(var(--diff-wide) * 0.118), 5rem);
  --margin-208: calc(var(--margin-160) * 1.3);
  --border-2: max(2px, round(0.125rem, 1px));
}

@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
}
::view-transition-group(*) {
  animation-duration: 1.6s;
  animation-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
}

@keyframes move-o {
  0% {
    opacity: 1;
    filter: blur(0px);
  }
  10% {
    translate: 0 0;
  }
  50% {
    opacity: 0;
    translate: 0 -5%;
    filter: blur(2rem);
  }
  100% {
    opacity: 0;
    translate: 0 -5%;
    filter: blur(2rem);
  }
}
@keyframes move-i {
  0% {
    opacity: 0;
    translate: 0 -5%;
    filter: blur(2rem);
  }
  50% {
    opacity: 0;
    translate: 0 -5%;
    filter: blur(2rem);
  }
  100% {
    opacity: 1;
    translate: 0 0;
    filter: blur(0rem);
  }
}
::view-transition-old(root) {
  animation-name: move-o;
}

::view-transition-new(root) {
  animation-name: move-i;
}

.has-orange-theme-color {
  color: var(--color-1);
}

.has-azure-theme-color {
  color: var(--color-2);
}

.has-blue-theme-color {
  color: var(--color-3);
}

.has-black-theme-color {
  color: var(--color-4);
}

.noctis {
  font-family: "Noctis", system-ui, sans-serif;
  font-weight: 700;
}

.bold {
  font-weight: 700;
}

.regular {
  font-weight: 400;
}

.light {
  font-weight: 300;
}

.size-72 {
  font-size: var(--size-72);
  line-height: 125%;
}

.size-56 {
  font-size: var(--size-56);
  line-height: 130%;
}

.size-40 {
  font-size: var(--size-40);
  line-height: 140%;
}

.size-32 {
  font-size: var(--size-32);
  line-height: 125%;
}

.size-24 {
  font-size: var(--size-24);
  line-height: 167%;
}

.size-20 {
  font-size: var(--size-20);
  line-height: 160%;
}

.size-18 {
  font-size: var(--size-18);
  line-height: 150%;
}

.size-16 {
  font-size: 1rem;
  line-height: 150%;
}

html {
  font-size: max(14px, round(0.833333vw, 1px));
  font-family: "Manrope", system-ui, sans-serif;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  color: var(--color-4);
}

header {
  padding-top: var(--margin-24);
}
header .container {
  width: 100%;
  display: flex;
  margin-inline: auto;
  align-items: center;
  justify-content: space-between;
}
header .container > div:first-child,
header .container > div:last-child {
  min-width: var(--margin-full-wide);
  padding-inline: min(2rem, var(--min-margin));
  box-sizing: border-box;
}
header .container > div:nth-child(2) {
  flex: 1;
}
header .logo a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
header .logo img {
  height: 3.75rem;
  display: block;
}
header .hamburger button {
  width: round(3rem, 1px);
  height: round(1.75rem, 1px);
  padding-block: 0.5rem;
  border: none;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
header .hamburger button::before, header .hamburger button::after,
header .hamburger button span {
  content: "";
  background-color: var(--color-4);
  width: 100%;
  height: round(16.6666666667%, 1px);
  transition: transform 0.3s;
}
header .hamburger button span {
  transform: scaleX(0);
}
@media not all and (pointer: coarse) {
  header .hamburger button:hover::before {
    transform: translateY(-0.4rem);
  }
  header .hamburger button:hover::after {
    transform: translateY(0.4rem);
  }
  header .hamburger button:hover span {
    transform: scaleX(1);
  }
}
header .menu {
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  overflow: hidden;
  height: 0;
  transition: height 0s;
  transition-delay: 1.5s;
}
@media not all and (pointer: coarse) {
  header .menu:hover a span,
  header .menu:hover .expand span {
    transition-property: translate;
    transition-duration: 0.3s;
  }
  header .menu:hover #menu-primario a:hover span,
  header .menu:hover #menu-primario .expand:hover span,
  header .menu:hover #menu-trattamenti a:hover span,
  header .menu:hover #menu-trattamenti .expand:hover span,
  header .menu:hover #menu-corsi a:hover span,
  header .menu:hover #menu-corsi .expand:hover span {
    translate: 0.3em 0;
  }
  header .menu:hover #menu-primario .expand:hover::after,
  header .menu:hover #menu-trattamenti .expand:hover::after,
  header .menu:hover #menu-corsi .expand:hover::after {
    left: 0.2em;
  }
  header .menu:hover #menu-secondario a:hover span,
  header .menu:hover #menu-secondario .expand:hover span {
    translate: 0 -0.2em;
  }
}
header .menu a {
  display: inline-block;
}
header .menu::before {
  --blur: 5rem;
  --easing: cubic-bezier(0.65, 0, 0.35, 1);
  content: "";
  display: block;
  position: absolute;
  inset: calc(var(--blur) * -1.5) calc(var(--blur) * -1.5) calc(var(--blur) * -1.5) 100%;
  background-color: var(--color-3);
  background: linear-gradient(60deg, var(--color-1) 0%, var(--color-3) 40%, var(--color-2) 100%);
  transform: translate3d(0, 0, 0);
  border-radius: 50% 0 0 50%;
  filter: blur(var(--blur));
  opacity: 0;
  transition: opacity 0.8s ease-in, inset 1.2s var(--easing), border-radius 0.5s var(--easing), filter 0.7s var(--easing);
  transition-delay: 0.7s, 0.2s, 1s, 0.2s;
}
header .menu > div {
  height: 100svh;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  scrollbar-width: none;
}
header .menu nav {
  transition: opacity 0.5s;
  transition-delay: 0s;
  opacity: 0;
}
header .menu.open {
  height: 100%;
  transition-delay: 0s;
}
header .menu.open:before {
  inset: calc(var(--blur) * -1.5) calc(var(--blur) * -1.5) calc(var(--blur) * -1.5) 0;
  border-radius: 0;
  filter: blur(0);
  opacity: 1;
  transition: opacity 0.1s, inset 1s cubic-bezier(0.33, 1, 0.68, 1), border-radius 0.5s ease-out, filter 0.5s ease-out;
  transition-delay: 0s, 0s, 0.5s, 0.5s;
}
header .menu.open nav {
  transition-delay: 1s;
  opacity: 1;
}
header nav {
  --duration: 0.5s;
  box-sizing: border-box;
  color: hsla(0, 0%, 100%, 0.5);
  max-width: calc(var(--full-wide) / 3 * 2);
  min-width: min(28rem, var(--full-wide));
  margin-inline: auto;
  padding-block: 4rem;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
header nav > div {
  display: flex;
}
header nav div > span {
  margin-bottom: 0.7em;
  display: block;
  font-weight: 700;
}
header nav button {
  background-color: transparent;
  border: none;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
header nav a,
header nav button {
  color: inherit;
  text-decoration: none;
}
header nav .main {
  margin-bottom: calc(var(--margin-80) * 1.2);
}
header nav .main > div {
  opacity: 0;
  visibility: visible;
  transition: transform var(--duration) ease-out, opacity var(--duration), visibility 0s var(--duration);
  visibility: hidden;
}
header nav .main > div.show {
  opacity: 1;
  visibility: visible;
  transition: transform var(--duration) ease-out, opacity var(--duration), visibility 0s 0s;
  visibility: visible;
}
header nav div.primario {
  width: 100%;
  flex-shrink: 0;
  font-weight: 700;
  transform: translateX(-50%);
}
header nav div.primario.show {
  transform: translateX(0%);
}
header nav div.primario ul {
  display: flex;
  flex-direction: column;
  gap: max(0.55em, 10px);
  margin-top: 0.2em;
  line-height: 100%;
  font-size: var(--size-56);
}
header nav div.primario li > button {
  line-height: inherit;
}
header nav div.trattamenti,
header nav div.corsi {
  width: 100%;
  flex-shrink: 0;
  transform: translate(50%);
  position: relative;
}
header nav div.trattamenti.show,
header nav div.corsi.show {
  transform: translate(0%);
}
header nav div.trattamenti ul,
header nav div.corsi ul {
  font-size: max(24px, var(--size-32));
  display: flex;
  flex-direction: column;
  gap: max(0.85em, 10px);
}
header nav div.trattamenti {
  left: -100%;
}
header nav div.corsi {
  left: -200%;
}
header nav #menu-secondario {
  display: none !important;
  display: flex;
  align-items: center;
  margin-right: auto;
  gap: 0.9em 1.5em;
  line-height: 100%;
  font-size: var(--size-32);
}
header nav #menu-social {
  display: flex;
  gap: min(5vw, 2rem);
  align-items: center;
}
header nav #menu-social a {
  display: block;
  width: max(2rem, 30px);
  height: max(2rem, 30px);
  opacity: 0.5;
}
header nav a span,
header nav .expand span {
  display: inline-block;
}
header nav .expand {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding-right: 0.2em;
}
header nav .expand::after {
  content: "";
  display: block;
  width: 1em;
  height: 0.7em;
  margin-top: 0.08em;
  margin-left: 0.5em;
  background: url("./images/arrow-white.svg") no-repeat center;
  background-size: contain;
  position: relative;
  left: 0;
  opacity: 0.5;
  transition-property: left, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
header nav .back {
  cursor: pointer;
  transform: scaleX(-1);
  margin-bottom: 3rem;
}
header nav .back span {
  padding: 0 !important;
}
header nav .back img {
  display: block;
}
header nav .close {
  --size: 3rem;
  width: var(--size);
  height: var(--size);
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin-bottom: 3rem;
  border-radius: 50%;
  position: relative;
}
header nav .close::before, header nav .close::after {
  content: "";
  display: block;
  width: 100%;
  height: var(--border-2);
  background-color: #fff;
  z-index: 3;
  transition-property: transform, background-color;
  transition-duration: 0.4s;
}
header nav .close::before {
  transform: rotate(45deg) scaleX(1);
  translate: 0 50%;
}
header nav .close::after {
  transform: rotate(-45deg) scaleX(1);
  translate: 0 -50%;
}
header nav .close span {
  display: block;
  position: absolute;
  inset: -0.5rem;
  z-index: 0;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  scale: 0;
  transition-property: scale, opacity;
  transition-duration: 0.4s;
}
@media not all and (pointer: coarse) {
  header nav .close:hover::before {
    transform: rotate(45deg) scaleX(0.8);
    background-color: var(--color-4);
  }
  header nav .close:hover::after {
    transform: rotate(-45deg) scaleX(0.8);
    background-color: var(--color-4);
  }
  header nav .close:hover span {
    opacity: 1;
    scale: 1;
  }
}
header nav ul > li.current_page_item {
  color: hsl(0, 0%, 100%);
}
header nav:has(.trattamenti .current_page_item) .primario li:has(button[data-target=trattamenti]) {
  color: hsl(0, 0%, 100%);
}
header nav:has(.trattamenti .current_page_item) .primario li:has(button[data-target=trattamenti]) button::after {
  opacity: 1;
}
header nav:has(.corsi .current_page_item) .primario li:has(button[data-target=corsi]) {
  color: hsl(0, 0%, 100%);
}
header nav:has(.corsi .current_page_item) .primario li:has(button[data-target=corsi]) button::after {
  opacity: 1;
}
header nav[data-type=event] li.event {
  color: #fff;
}
header nav > div:last-child {
  flex-wrap: wrap;
  gap: 3rem;
}
@media screen and (width < 1200px) {
  header nav .main {
    position: relative;
    margin-bottom: 0;
  }
  header nav .main #menu-primario {
    margin-bottom: max(0.5em, 10px);
  }
  header nav div.trattamenti,
  header nav div.corsi {
    position: absolute;
    left: 0;
  }
  header nav #menu-secondario {
    font-size: var(--size-56);
    flex-direction: column;
    align-items: normal;
    gap: max(0.2em, 10px);
  }
  header nav > div:last-child {
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%);
    transition: transform var(--duration) ease-out, opacity var(--duration), visibility 0s var(--duration);
  }
  header nav:has(div.primario.show) > div:last-child {
    transform: translateX(0%);
    opacity: 1;
    visibility: visible;
    transition: transform var(--duration) ease-out, opacity var(--duration), visibility 0s 0s;
  }
  header nav > div:last-child {
    gap: max(2rem, 6svh);
  }
  header nav #menu-social {
    margin-top: 10svh;
  }
}
@media screen and (width < 480px) {
  header nav #menu-primario,
  header nav #menu-secondario {
    font-size: clamp(28px, 10vw, 35px);
  }
  header nav div.primario,
  header nav > div:last-child {
    transform: translateX(-80%);
  }
  header nav div.trattamenti,
  header nav div.corsi {
    transform: translateX(80%);
  }
}

a.facebook,
a.instagram,
a.youtube,
a.whatsapp,
a.telegram {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

a.facebook {
  background-image: url("./images/facebook.svg");
}

a.instagram {
  background-image: url("./images/instagram.svg");
}

a.youtube {
  background-image: url("./images/youtube.svg");
}

a.whatsapp {
  background-image: url("./images/whatsapp.svg");
}

a.telegram {
  background-image: url("./images/telegram.svg");
}

footer {
  background-color: var(--color-4);
  padding-bottom: calc(var(--margin-80) * 1.125);
  color: #fff;
}
footer .container {
  display: grid;
  width: var(--full-wide);
  -moz-column-gap: var(--wide-gap);
       column-gap: var(--wide-gap);
  grid-template-columns: repeat(12, 1fr);
  margin-inline: auto;
  align-items: center;
  container: layout/inline-size;
}
footer .logo {
  grid-column: span 3;
  grid-row: 1/span 10;
  align-self: start;
}
footer .logo img {
  filter: invert(1);
  display: block;
  width: min(100%, 7.75rem);
  min-width: 4rem;
}
footer .title {
  grid-column: span 9;
  font-size: max(20px, var(--size-24));
  box-sizing: border-box;
  padding-right: 3rem;
  position: relative;
}
footer .title a {
  display: block;
  color: #fff;
  font-size: max(14px, 0.875rem);
  text-transform: uppercase;
  position: absolute;
  top: calc(var(--size-24) * 0.5);
  left: 100%;
  display: flex;
  text-wrap: nowrap;
  text-decoration: none;
  font-weight: 700;
  transform-origin: left top;
  transform: rotate(90deg);
}
footer .title a::before {
  content: "";
  width: 2.6rem;
  height: 0.875rem;
  display: block;
  align-self: center;
  margin-right: 1rem;
  background: url("./images/arrow-white.svg") no-repeat center;
  background-size: contain;
  scale: -1 1;
  translate: 0 0;
  transition: translate 0.2s ease;
}
@media not all and (pointer: coarse) {
  footer .title a:hover::before {
    translate: -0.5rem 0;
  }
}
footer .sx {
  grid-column: span 4;
  display: flex;
}
footer .sx div:first-child {
  width: 3.25em;
}
footer .dx {
  grid-column: span 5;
  box-sizing: border-box;
  padding-right: 3rem;
}
footer .row-1 {
  margin-top: calc(var(--margin-24) * 1.33);
}
footer .row-2 {
  margin-top: var(--margin-48);
}
footer h2 {
  color: var(--color-1);
}
footer h3 {
  font-weight: 700;
  margin-bottom: 0.2em;
}
footer .pin {
  width: 2em;
  filter: var(--to-white);
}
footer .clock {
  width: 2em;
  filter: var(--to-white);
}
footer .socials {
  align-self: end;
  font-size: var(--size-40);
}
footer .socials ul {
  width: 100%;
  display: flex;
  gap: min(5vw, 0.8em);
}
footer .socials a {
  display: block;
  width: max(30px, 1em);
  height: max(30px, 1em);
}
footer .block:has(.clock) {
  align-items: center;
}
footer .block:last-child {
  margin-top: calc(var(--margin-80) * 1.25);
  grid-column: span 9;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap-reverse;
  gap: 1rem 2rem;
  color: #7E7D7D;
}
footer .block:last-child ul {
  display: flex;
  -moz-column-gap: 2em;
       column-gap: 2em;
  row-gap: 1em;
  flex-wrap: wrap;
}
@container layout (width < 50rem) {
  footer h2 {
    text-wrap: balance;
  }
  footer .block.logo {
    grid-column: 1/-1;
    grid-row: 1;
    margin-bottom: var(--margin-80);
    padding-block: 2svh;
  }
  footer .block.logo img {
    margin-inline: auto;
    width: 100%;
    max-width: 10rem;
    min-width: 0;
  }
  footer .block.title {
    grid-column: 1/-1;
    line-height: 150%;
  }
  footer .block.sx {
    grid-column: 1/span 6;
    margin-top: 2rem;
  }
  footer .block.dx {
    grid-column: span 6;
    margin-top: 2rem;
  }
  footer .block:last-child {
    grid-column: 1/-1;
  }
}
@container layout (width < 40rem) {
  footer .block.sx,
  footer .block.dx {
    grid-column: 1/-1;
  }
  footer .block.dx.row-1 {
    padding-left: 3.25em;
  }
  footer .socials {
    padding-top: 1rem;
    padding-left: 3.25rem;
  }
  footer .block:last-child ul {
    -moz-column-gap: max(10px, 5vw);
         column-gap: max(10px, 5vw);
  }
}
@container layout (width < 30rem) {
  footer .block.sx div:first-child,
  footer .block.dx div:first-child {
    display: none;
  }
  footer .block.dx {
    padding-left: 0 !important;
  }
}
footer .gdpr a {
  color: inherit;
}
@media not all and (pointer: coarse) {
  footer .gdpr a:hover {
    color: #ccc;
  }
}

footer[data-page=home] {
  padding-top: var(--margin-80);
  background: linear-gradient(to bottom, var(--color-3) 0%, var(--color-4) 65%);
  margin-top: var(--margin-208);
}

footer[data-page=eventi],
footer[data-page=contatti],
footer[data-type=event],
.sec:has(.error-404) + footer {
  padding-top: var(--margin-80);
  background: linear-gradient(to bottom, var(--color-3) 0%, var(--color-4) 65%);
}

.curves {
  height: 2.25rem;
}

button.link,
a.link {
  --color-link: var(--color-4);
  --duration: 0.35s;
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  min-height: 2.5em;
  padding-inline: 1.5em;
  border: round(0.125rem, 1px) solid var(--color-link);
  border-radius: 2.25em;
  color: var(--color-link);
  position: relative;
  background-color: transparent;
  overflow: hidden;
  transition: background-color 0s 0s;
  box-sizing: border-box;
}
@media not all and (pointer: coarse) {
  button.link:hover,
  a.link:hover {
    background-color: var(--color-link);
    transition: background-color 0s var(--duration);
  }
  button.link:hover span:first-of-type,
  a.link:hover span:first-of-type {
    color: #fff;
  }
  button.link:hover span:last-of-type,
  a.link:hover span:last-of-type {
    opacity: 1;
    transform: scale(1) translate(-50%, -50%);
    transition: opacity var(--duration) linear, transform var(--duration) cubic-bezier(0.12, 0, 0.39, 0);
  }
  button.link:hover img,
  a.link:hover img {
    filter: invert(1);
  }
}
button.link span:first-of-type,
a.link span:first-of-type {
  color: inherit;
  transition: color var(--duration) linear;
  z-index: 2;
  position: relative;
  margin-block: 0.5em;
}
button.link span:last-of-type,
a.link span:last-of-type {
  content: "";
  position: absolute;
  background-color: var(--color-link);
  width: 205%;
  aspect-ratio: 1;
  top: 0;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity var(--duration) linear, transform var(--duration) cubic-bezier(0.61, 1, 0.88, 1);
  transform: scale(0) translate(-50%, -50%);
  transform-origin: left top;
  opacity: 0;
  z-index: 1;
}
button.link img,
a.link img {
  position: relative;
  z-index: 2;
  filter: invert(0);
  transition: filter var(--duration) linear;
}

button.link.white,
a.link.white {
  --color-link: #fff;
}
@media not all and (pointer: coarse) {
  button.link.white:hover span:first-child,
  a.link.white:hover span:first-child {
    color: var(--color-4);
  }
}

button.link {
  cursor: pointer;
}
button.link span:first-of-type {
  padding-top: 0.1em;
}

p a:not(.link) {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.1em;
  color: var(--color-3);
  transition: color 0.2s;
}
p a:not(.link):hover {
  color: var(--color-2) !important;
}

.sec p strong {
  font-weight: 700;
}

.sec .layout {
  display: grid;
  width: var(--full-wide);
  -moz-column-gap: var(--wide-gap);
       column-gap: var(--wide-gap);
  grid-template-columns: repeat(12, 1fr);
  margin-inline: auto;
  align-items: center;
  container: layout/inline-size;
}
@container layout (width < 28rem) {
  .sec .layout > div {
    --size-56: 30px;
  }
}

.sec-1.home {
  padding-block: calc(var(--margin-80) * 0.9) calc(var(--margin-80) * 1.5);
  box-sizing: border-box;
  min-height: 80svh;
  min-height: calc(100svh - var(--margin-160) - 6rem);
  align-content: center;
}
.sec-1.home .block-1 {
  grid-column: span 7;
}
.sec-1.home .block-2 {
  grid-column: span 5;
  position: relative;
}
.sec-1.home .bg {
  --duration: 8s;
  --easing: linear;
  position: absolute;
  z-index: -1;
  inset: 0;
  filter: url(#smooth) blur(3rem);
}
.sec-1.home .bg > * {
  position: absolute;
  border-radius: 50%;
  mix-blend-mode: hard-light;
}
@keyframes d1 {
  0% {
    scale: 1;
  }
  25% {
    scale: 1.5;
  }
  50% {
    scale: 1;
  }
}
@keyframes d2 {
  50% {
    scale: 1;
  }
  75% {
    scale: 1.5;
  }
  100% {
    scale: 1;
  }
}
.sec-1.home .bg .c1 {
  z-index: 2;
  top: -15%;
  left: 5%;
  width: 60%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-1), 1);
  filter: blur(4rem);
  animation: d1 var(--duration) var(--easing) infinite;
}
.sec-1.home .bg .c2 {
  top: -12%;
  left: 50%;
  width: 70%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-2), 0.5);
  filter: blur(4rem);
  animation: d2 var(--duration) var(--easing) infinite;
}
.sec-1.home .bg .c3 {
  top: 5%;
  left: -30%;
  width: 82%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-2), 0.8);
  filter: blur(7rem);
  animation: d2 var(--duration) var(--easing) infinite;
}
.sec-1.home .bg .c4 {
  top: 14%;
  left: -4%;
  width: 110%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-2), 0.7);
  filter: blur(7rem);
}
.sec-1.home .bg .c5 {
  z-index: 2;
  top: 66%;
  left: 38%;
  width: 60%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-3), 1);
  filter: blur(6rem);
  animation: d1 var(--duration) var(--easing) infinite;
}
.sec-1.home h1 {
  line-height: 135%;
  margin-bottom: calc(var(--margin-80) * 1.25);
  font-weight: 400;
  text-wrap: balance;
}
.sec-1.home h1 strong {
  font-size: var(--size-72);
  font-weight: 700;
  line-height: 110%;
  padding-block: 0.25em 0.45em;
  display: block;
}
.sec-1.home .pic {
  width: 79%;
  aspect-ratio: 0.65;
  background-color: #fff;
  border-radius: 50%/32.5%;
  position: relative;
  margin-inline: auto;
}
.sec-1.home .pic .cover {
  width: 100%;
  height: 100%;
  display: flex;
  border-radius: 100vw;
  overflow: hidden;
}
.sec-1.home .pic .border {
  position: absolute;
  inset: calc(var(--wide-gap) / 2 * -1);
  box-sizing: border-box;
  border: 0.25rem solid #fff;
  border-radius: inherit;
}
@media screen and (width < 900px) {
  .sec-1.home {
    padding-block: var(--margin-160);
  }
}
@container layout (width < 50rem) {
  .sec-1.home .block-1 {
    grid-column: 1/span 6;
  }
  .sec-1.home .block-2 {
    grid-column: 8/span 5;
  }
  .sec-1.home .pic {
    width: 95%;
  }
}
@container layout (width < 40rem) {
  .sec-1.home .block-1 {
    grid-column: 1/-1;
  }
  .sec-1.home .block-2 {
    grid-column: 1/-1;
    margin-top: var(--margin-208);
  }
  .sec-1.home .pic {
    width: 95%;
    max-width: 27rem;
  }
}

.sec-2.home {
  padding-bottom: max(var(--margin-160) * 1.9, 10rem);
}
.sec-2.home .block-1,
.sec-2.home .block-2 {
  grid-column: 3/span 8;
  margin-block: var(--margin-160);
}
.sec-2.home h2 {
  margin-bottom: var(--margin-80);
  width: 100%;
  max-width: 15em;
  text-align: center;
  margin-inline: auto;
}
.sec-2.home p:not(:first-child) {
  margin-top: var(--margin-48);
}
.sec-2.home .trains {
  width: 100%;
  grid-column: 1/span 12;
  font-size: clamp(1.5rem, 2.5vw, 3rem);
  font-weight: 300;
}
.sec-2.home .trains ul:first-child {
  margin-bottom: 3rem;
}
.sec-2.home .trains ul {
  --time: 100s;
  --distance: calc(-50% - 0.33em);
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  will-change: transform;
  -moz-column-gap: 0.66em;
       column-gap: 0.66em;
}
.sec-2.home .trains ul li {
  border: 1px solid var(--color-4);
  height: 1.66em;
  white-space: nowrap;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border-radius: 0.83em;
  overflow: hidden;
  box-sizing: border-box;
}
.sec-2.home .trains ul li:not(.pic) {
  padding-inline: 0.8em;
}
.sec-2.home .trains ul .pic {
  width: 4.16em;
  border: none;
}
.sec-2.home .trains ul .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-2.home .trains .go-left {
  animation: trains var(--time) linear infinite both;
}
.sec-2.home .trains .go-right {
  animation: trains var(--time) linear infinite reverse both;
}
@keyframes trains {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--distance));
  }
}
@media screen and (width < 700px) {
  .sec-2.home .trains ul:first-child {
    margin-bottom: 1.5rem;
  }
}
.sec-2.home .block-3 {
  grid-column: span 12;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec-2.home .color-link {
  position: relative;
}
.sec-2.home .color-link > div:last-child {
  position: relative;
  z-index: 2;
}
.sec-2.home .mask {
  position: absolute;
  padding: 0.5rem;
  top: -4.5rem;
  left: -5.5rem;
  background-color: #333;
  filter: blur(0.5rem);
  transform: translate3d(0, 0, 0);
  background: url("./images/color-wave-2.svg") no-repeat;
  background-position: center bottom;
  background-size: 120%;
  background-clip: content-box;
  animation: colorlink 8s ease-in-out 0s infinite alternate both;
}
.sec-2.home .mask img {
  display: block;
  width: 21.875rem;
}
@keyframes colorlink {
  0% {
    background-position: center bottom;
  }
  100% {
    background-position: center top;
  }
}
@container layout (width < 60rem) {
  .sec-2.home .block-1,
  .sec-2.home .block-2 {
    grid-column: 2/span 10;
  }
}
@container layout (width < 45rem) {
  .sec-2.home .block-1,
  .sec-2.home .block-2 {
    grid-column: 1/-1;
  }
  .sec-2.home .block-3 {
    margin-top: 2rem;
  }
}
@container layout (width < 28rem) {}

.sec-3.home .buttons {
  height: 0px;
  width: var(--full-wide);
  position: absolute;
  display: flex;
  justify-content: space-between;
  top: 50%;
  right: var(--margin-full-wide);
  z-index: 3;
}
.sec-3.home .next {
  border: none;
  translate: calc(50% + var(--wide-gap) / 2) -50%;
}
.sec-3.home .prev {
  border: none;
  translate: 0 -50%;
  translate: calc(-50% - var(--wide-gap) / 2) -50%;
}
.sec-3.home .buttons > div {
  opacity: 1;
  visibility: visible;
  transition-property: opacity, visibility;
  transition-duration: 0.3s, 0s;
  transition-delay: 0s, 0s;
}
.sec-3.home .buttons > div:has(button.swiper-button-disabled) {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0s, 0.3s;
}
.sec-3.home .swiper-prev img {
  transform: scaleX(-1);
}
.sec-3.home .container-swiper {
  position: relative;
}
.sec-3.home .swiper {
  margin-top: var(--margin-80);
}
.sec-3.home .swiper-wrapper {
  margin-inline: var(--margin-full-wide);
}
.sec-3.home .swiper-slide {
  min-width: 20rem;
  width: calc((var(--full-wide) - var(--wide-gap) * 2) / 3);
  margin-right: var(--wide-gap);
  aspect-ratio: 2/3;
  border-radius: 2rem;
  background-color: #eee;
  overflow: hidden;
}
.sec-3.home .swiper-slide:last-child {
  margin-right: calc(var(--margin-full-wide) * 2);
}
.sec-3.home .bg {
  position: absolute;
  inset: 0;
  scale: 1;
  transition: scale 1s cubic-bezier(0.5, 1, 0.89, 1);
  z-index: 1;
}
.sec-3.home .bg picture {
  display: flex;
  width: 100%;
  height: 100%;
}
.sec-3.home .bg picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-3.home .content {
  position: absolute;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  justify-content: flex-end;
  color: #fff;
  background: linear-gradient(to bottom, rgba(var(--rgb-2), 0) 0%, rgba(var(--rgb-2), 1) 75%);
  z-index: 2;
}
.sec-3.home .content.special {
  background: linear-gradient(to bottom, rgba(var(--rgb-1), 0) 0%, rgba(var(--rgb-1), 1) 75%);
}
.sec-3.home .extra {
  display: flex;
  align-items: center;
  margin-bottom: auto;
}
.sec-3.home .extra div {
  line-height: 80%;
  font-weight: 700;
  font-size: max(0.7rem, 11px);
  background-color: #fff;
  color: var(--color-1);
  padding-block: 0.4em;
  padding-inline: 0.8em 0.5em;
  border-radius: 2em;
  display: flex;
  align-items: center;
  margin-left: auto;
}
.sec-3.home .extra div::after {
  content: "";
  background-color: var(--color-1);
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: block;
  margin-left: 0.5em;
}
.sec-3.home .icon {
  display: block;
  width: 2.15rem;
  filter: var(--to-white);
}
.sec-3.home h3 {
  max-width: 10em;
  padding-inline: 0.5rem;
  margin-bottom: 0.75em;
  transform: translateY(0);
  transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.sec-3.home p {
  width: 100%;
  padding-inline: 0.5rem;
  text-wrap: balance;
  min-height: 3.2em;
}
.sec-3.home a {
  margin-top: 3rem;
  margin-left: auto;
}
.sec-3.home a img {
  width: 2.6rem;
}
.sec-3.home .swiper-slide:has(.content a:hover) h3 {
  transform: translateY(-0.5em);
}
.sec-3.home .swiper-slide:has(.content a:hover) .bg {
  scale: 1.1;
  transition: scale 3s cubic-bezier(0.38, -0.003, 0.22, 1);
}
@media screen and (width < 900px) {
  .sec-3.home .buttons {
    width: 100%;
    right: 0;
    padding-inline: min(5vw, 2rem);
    box-sizing: border-box;
  }
  .sec-3.home .prev {
    translate: 0 -50%;
  }
  .sec-3.home .next {
    translate: 0 -50%;
  }
}
@media screen and (width < 480px) {
  .sec-3.home .buttons {
    top: calc(var(--margin-80) * -1);
    justify-content: end;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .sec-3.home .prev {
    translate: 0 -90%;
  }
  .sec-3.home .next {
    translate: 0 -90%;
  }
  .sec-3.home .swiper-slide {
    width: calc(95% - var(--min-margin) * 2);
    min-width: 0;
    margin-right: var(--min-margin);
    min-height: 60svh;
  }
  .sec-3.home h3 {
    font-size: max(7.5vw, 1.5rem);
  }
  .sec-3.home a {
    margin-top: max(10%, 1rem);
  }
}
@container layout (width < 40rem) {
  .sec-3.home .block-1 {
    grid-column: 1/span 7;
    min-width: -moz-min-content;
    min-width: min-content;
  }
  .sec-3.home .block-2 {
    grid-column: 8/span 5;
    justify-content: end;
    min-width: -moz-min-content;
    min-width: min-content;
  }
}
@container layout (width < 28rem) {}

.sec-4.home {
  padding-block: calc(var(--margin-160) * 1.3);
}
.sec-4.home > div:nth-child(4) {
  display: none !important;
}
.sec-4.home .block-1 {
  grid-column: span 12;
}
.sec-4.home h2 {
  max-width: 14em;
  margin-bottom: calc(var(--margin-24) * 1.5);
}
.sec-4.home h3 {
  margin-bottom: var(--margin-24);
}
.sec-4.home .block.icon {
  align-self: self-start;
  grid-column: 1/span 1;
  grid-row: span 2;
}
.sec-4.home .block.icon img {
  width: min(100%, 4rem);
  min-width: 3rem;
}
.sec-4.home .block.title {
  grid-column: 2/span 5;
  grid-row: 1;
}
.sec-4.home .block.text {
  align-self: self-start;
  grid-column: 2/span 5;
  grid-row: 2;
}
.sec-4.home .block.pic {
  --height: 13.5rem;
  grid-column: 8/span 4;
  grid-row: span 2;
}
.sec-4.home .block.pic > div {
  max-width: 30rem;
  width: 100%;
  max-height: var(--height);
  aspect-ratio: 1.66;
  background-color: #eee;
  border-radius: 50vw;
  overflow: hidden;
}
.sec-4.home .block a {
  margin-top: var(--margin-48);
}
.sec-4.home .group {
  padding-block: calc(var(--margin-80) * 1.25);
  border-bottom: max(2px, round(0.125rem, 1px)) solid #CCC7C7;
}
@container layout (width < 70rem) {
  .sec-4.home .block.pic {
    grid-column-end: span 5;
  }
}
@container layout (width < 50rem) {
  .sec-4.home .block.icon {
    grid-row: 2;
  }
  .sec-4.home .block.title {
    grid-column: 2/-1;
    grid-row: 2;
  }
  .sec-4.home .block.text {
    grid-column: 1/-1;
    grid-row: 3;
  }
  .sec-4.home .block.pic {
    grid-column: 1/-1;
    grid-row: 1;
    margin-bottom: 2.5rem;
  }
  .sec-4.home .block.pic > div {
    translate: -5vw 0;
    width: 90%;
    border-radius: 0 50vw 50vw 0;
  }
}
@container layout (width < 28rem) {}

.sec-5.home {
  position: relative;
}
.sec-5.home #aaa {
  filter: blur(2rem);
  transform: translateX(-30%);
}
.sec-5.home .bg {
  position: absolute;
  z-index: -1;
  width: 100%;
}
.sec-5.home .bg > div {
  position: absolute;
  top: 0;
  width: 26.5vw;
  aspect-ratio: 505/805;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  translate: 0 -20%;
}
.sec-5.home .bg > div:first-child {
  left: 0;
  background-image: url("./images/backgrounds/sfondo-frase-sx.png");
}
.sec-5.home .bg > div:last-child {
  right: 0;
  background-image: url("./images/backgrounds/sfondo-frase-dx.png");
}
.sec-5.home .block-1 {
  grid-column: span 12;
}
.sec-5.home .block-2 {
  grid-column: 3/span 8;
}
.sec-5.home .block-3 {
  grid-column: span 12;
}
.sec-5.home .block-4 {
  grid-column: span 12;
}
.sec-5.home .block-4 .ti-widget.ti-goog .ti-reviews-container .ti-reviews-container-wrapper {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)) !important;
}
.sec-5.home .block-4 .ti-widget.ti-goog .ti-review-item {
  max-width: none !important;
}
.sec-5.home .block-4 .ti-widget.ti-goog .ti-review-item:nth-last-child(-n+3) {
  display: none;
}
.sec-5.home .block-4 .ti-widget.ti-goog .ti-review-content {
  font-family: var(--manrope);
  font-size: 1rem;
  line-height: 140%;
  height: 5.6em !important;
}
.sec-5.home .block-4 > div {
  padding-block: 1px;
  margin-inline: auto;
  margin-block: calc(var(--margin-80) - 16px);
  display: block;
}
.sec-5.home .block-5 {
  grid-column: span 12;
  text-align: center;
}
.sec-5.home h2 {
  text-align: center;
  margin-bottom: var(--margin-80);
  text-wrap: balance;
}
.sec-5.home .segment {
  margin-block: calc(var(--margin-160) * 1.25) var(--margin-80);
  height: calc(var(--margin-80) * 1.4);
  width: max(2px, round(0.125rem, 1px));
  background-color: var(--color-4);
  margin-inline: auto;
}
.sec-5.home h3 {
  text-align: center;
}
@container layout (width < 60rem) {
  .sec-5.home .block-2 {
    grid-column: 2/span 10;
  }
}
@container layout (width < 35rem) {
  .sec-5.home .block-2 {
    grid-column: 1/-1;
  }
}
@container layout (width < 28rem) {}

.sec-6.home {
  display: none !important;
  margin-top: calc(var(--margin-160) * 1.3);
  padding-top: calc(var(--margin-160) * 1.25);
  padding-bottom: calc(var(--margin-160) * 1.25 + var(--margin-80));
  background: linear-gradient(0deg, var(--color-4) 0%, var(--color-3) 100%);
  color: #fff;
}
.sec-6.home .block-1 {
  grid-column: span 5;
}
.sec-6.home .block-2 {
  grid-column: 7/span 6;
}
.sec-6.home h2 {
  margin-bottom: var(--margin-48);
}
.sec-6.home a {
  margin-top: var(--margin-48);
}
.sec-6.home .group {
  width: 100%;
  aspect-ratio: 1.1;
  position: relative;
}
.sec-6.home .bg {
  position: absolute;
  inset: 0;
  filter: url("#smooth") blur(3rem);
}
.sec-6.home .bg > div {
  position: absolute;
  filter: blur(3rem);
  border-radius: 50%;
  mix-blend-mode: hard-light;
  animation: lights-1 4s infinite linear;
}
.sec-6.home .bg div:nth-child(1) {
  top: 0%;
  left: 28%;
  width: 29%;
  aspect-ratio: 1;
  background-color: var(--color-2);
  animation-delay: 0;
}
.sec-6.home .bg div:nth-child(2) {
  top: 8%;
  left: 50%;
  width: 48%;
  aspect-ratio: 1;
  background-color: rgba(255, 255, 255, 0.5);
  animation-delay: 0.5s;
}
.sec-6.home .bg div:nth-child(3) {
  top: 48%;
  left: 55%;
  width: 33%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-1), 0.8);
  animation-delay: 1s;
}
.sec-6.home .bg div:nth-child(4) {
  top: 76%;
  left: 38%;
  width: 26%;
  aspect-ratio: 1;
  background-color: rgba(var(--rgb-2), 0.8);
  animation-delay: 1.5s;
}
@keyframes lights-1 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
.sec-6.home .rope {
  position: absolute;
  top: 53%;
  left: 58%;
  transform: translate(-50%, -50%);
  width: 76%;
  display: block;
}
.sec-6.home .pic {
  z-index: 5;
  position: absolute;
  width: min(26%, 10.5rem);
  aspect-ratio: 0.75;
  background-color: red;
  border-radius: 10.5%/7.9%;
  border: max(2px, 0.25rem) solid #fff;
}
.sec-6.home .pic-1 {
  top: 0;
  left: 52.5%;
}
.sec-6.home .pic-2 {
  top: 37%;
  left: 17.5%;
}
.sec-6.home .pic-3 {
  bottom: 0;
  right: 12.5%;
}
@container layout (width < 50rem) {
  .sec-6.home .block-1 {
    grid-column: 1/-1;
  }
  .sec-6.home .block-2 {
    grid-column: 1/-1;
  }
  .sec-6.home .group {
    margin-top: 3rem;
    width: 90%;
    max-width: 34rem;
    margin-inline: auto 10%;
  }
}
@container layout (width < 40rem) {
  .sec-6.home .group {
    display: none;
  }
}
@media screen and (width < 778px) {
  .sec-6.home {
    padding-bottom: calc(var(--margin-160) * 1.25);
  }
}

details {
  --size-plus: 0.8em;
}
details summary {
  position: relative;
  padding-right: calc(var(--size-plus) * 2);
}
details summary::marker {
  display: none;
  content: "";
}
details summary::before {
  content: "";
  display: block;
  width: var(--size-plus);
  height: var(--border-2);
  background-color: var(--color-4);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
details summary::after {
  content: "";
  display: block;
  height: var(--size-plus);
  width: var(--border-2);
  background-color: var(--color-4);
  position: absolute;
  top: 50%;
  right: calc(var(--size-plus) / 2);
  opacity: 1;
  transform: translate(50%, -50%);
  transition-property: transform, opacity;
  transition-duration: 0.4s;
}
details summary .plus {
  display: block;
  width: calc(var(--size-plus) * 1.5);
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: calc(var(--size-plus) * -0.25);
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
}
details::details-content {
  content-visibility: visible;
  display: block;
}
details > div {
  content-visibility: visible;
  display: block;
}
details > div > div {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s;
}
details p {
  font-size: var(--size-18);
  line-height: 150%;
  overflow: hidden;
  box-sizing: border-box;
  padding-bottom: 0em;
  padding-right: 1em;
  transition: padding-bottom 0.5s, opacity 0.5s;
  opacity: 0;
}
details:has(.open) summary::after {
  transform: translate(50%, -50%) rotate(270deg);
}
details:has(.open) div > div {
  grid-template-rows: 1fr;
}
details:has(.open) p {
  padding-bottom: 1em;
  opacity: 1;
}

.cover img {
  --x: 50%;
  --y: 50%;
  --s: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -o-object-position: var(--x) var(--y);
     object-position: var(--x) var(--y);
  scale: var(--s);
}
.cover img.x5 {
  --x: 5%;
}
.cover img.x10 {
  --x: 10%;
}
.cover img.x15 {
  --x: 15%;
}
.cover img.x20 {
  --x: 20%;
}
.cover img.x25 {
  --x: 25%;
}
.cover img.x30 {
  --x: 30%;
}
.cover img.x35 {
  --x: 35%;
}
.cover img.x40 {
  --x: 40%;
}
.cover img.x45 {
  --x: 45%;
}
.cover img.x50 {
  --x: 50%;
}
.cover img.x55 {
  --x: 55%;
}
.cover img.x60 {
  --x: 60%;
}
.cover img.x65 {
  --x: 65%;
}
.cover img.x70 {
  --x: 70%;
}
.cover img.x75 {
  --x: 75%;
}
.cover img.x80 {
  --x: 80%;
}
.cover img.x85 {
  --x: 85%;
}
.cover img.x90 {
  --x: 90%;
}
.cover img.x95 {
  --x: 95%;
}
.cover img.x100 {
  --x: 100%;
}
.cover img.y5 {
  --y: 5%;
}
.cover img.y10 {
  --y: 10%;
}
.cover img.y15 {
  --y: 15%;
}
.cover img.y20 {
  --y: 20%;
}
.cover img.y25 {
  --y: 25%;
}
.cover img.y30 {
  --y: 30%;
}
.cover img.y35 {
  --y: 35%;
}
.cover img.y40 {
  --y: 40%;
}
.cover img.y45 {
  --y: 45%;
}
.cover img.y50 {
  --y: 50%;
}
.cover img.y55 {
  --y: 55%;
}
.cover img.y60 {
  --y: 60%;
}
.cover img.y65 {
  --y: 65%;
}
.cover img.y70 {
  --y: 70%;
}
.cover img.y75 {
  --y: 75%;
}
.cover img.y80 {
  --y: 80%;
}
.cover img.y85 {
  --y: 85%;
}
.cover img.y90 {
  --y: 90%;
}
.cover img.y95 {
  --y: 95%;
}
.cover img.y100 {
  --y: 100%;
}
.cover img.s11 {
  --s: 1.1;
}
.cover img.s12 {
  --s: 1.2;
}
.cover img.s13 {
  --s: 1.3;
}
.cover img.s14 {
  --s: 1.4;
}
.cover img.s15 {
  --s: 1.5;
}
.cover img.s16 {
  --s: 1.6;
}
.cover img.s17 {
  --s: 1.7;
}
.cover img.s18 {
  --s: 1.8;
}
.cover img.s19 {
  --s: 1.9;
}

.testata {
  box-sizing: border-box;
  padding-block: var(--margin-160) var(--margin-208);
  min-height: max(49vw - 5.25rem, 60svh);
}
.testata .layout {
  row-gap: var(--margin-160);
}
.testata .content {
  grid-column: 1/span 5;
  align-self: start;
}
.testata .mini {
  display: flex;
  font-weight: 700;
  text-transform: uppercase;
  align-items: center;
  margin-block: 2.5rem 1.75rem;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: var(--margin-80);
}
.testata .mini img {
  width: 2.125rem;
  display: block;
}
.testata h1 {
  margin-bottom: 1em;
}
.testata p {
  max-width: 24em;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.testata p img {
  width: 1.25rem;
  display: block;
  margin-top: 0.2rem;
}
.testata .pic {
  grid-column: 6/span 7;
  align-self: start;
}
.testata .pic div {
  width: 93.5%;
  margin-left: auto;
}
.testata .pic picture {
  border-radius: 100vw;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1.68;
  margin-left: auto;
}
.testata p + a {
  margin-left: 2rem;
}
.testata a span {
  vertical-align: middle;
}
.testata a img {
  height: round(1.6rem, 1px);
  display: block;
  margin-right: 0.7rem;
}
@container layout (width < 60rem) {
  .testata .content {
    grid-column: 1/-1;
  }
  .testata .pic {
    grid-column: 1/-1;
  }
  .testata .pic div {
    width: auto;
    max-width: 50rem;
    margin-inline: auto;
  }
}
@container layout (width < 35rem) {
  .testata p + a {
    margin-left: 0;
  }
}
.testata.trattamento::before {
  content: "";
  position: absolute;
  top: -35vw;
  left: 0;
  right: 0;
  height: 69vw;
  z-index: -1;
  background: radial-gradient(closest-side, var(--color-3) 0%, var(--color-2) 45%, transparent 100%);
}
.testata.allineamento-spirituale::before, .testata.guarigione-spirituale-filippina::before {
  background: radial-gradient(closest-side, var(--color-1) 10%, transparent 100%);
}
@media screen and (width < 500px) {
  .testata.trattamento {
    overflow: hidden;
  }
  .testata.trattamento::before {
    content: "";
    top: 0;
    left: 0;
    right: 0;
    height: 200vw;
    background: radial-gradient(circle at top right, var(--color-3) 0%, var(--color-2) 22%, transparent 50%);
  }
  .testata.allineamento-spirituale::before, .testata.guarigione-spirituale-filippina::before {
    background: radial-gradient(circle at top right, var(--color-1) 5%, transparent 50%);
  }
}
.testata.eventi div.cover, .testata.contatti div.cover {
  position: relative;
}
.testata.eventi div.cover::before, .testata.contatti div.cover::before {
  content: "";
  aspect-ratio: 1.74;
  width: 200%;
  background-image: var(--bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  z-index: -1;
  display: block;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.testata.eventi {
  --bg: url("./images/backgrounds/Eventi.png");
}
.testata.contatti {
  --bg: url("./images/backgrounds/Contatti.png");
}

main:has(.intro-trattamento) .cover img {
  border-radius: 0.5rem;
}

.intro-trattamento .title {
  grid-column: 1/-1;
}
.intro-trattamento .title h2 {
  max-width: 16.5em;
  text-wrap: balance;
}
.intro-trattamento .content {
  grid-column: 1/-1;
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: max(var(--wide-gap), 2rem);
       column-gap: max(var(--wide-gap), 2rem);
  margin-top: 1.5em;
  -moz-column-fill: balance;
       column-fill: balance;
}
.intro-trattamento p {
  max-width: 33.66em;
}
.intro-trattamento p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
@container layout (width < 50rem) {
  .intro-trattamento .content {
    -moz-columns: 1;
         columns: 1;
  }
  .intro-trattamento p {
    max-width: none;
  }
}

.video-trattamento {
  margin-top: var(--margin-208);
}
.video-trattamento .title {
  grid-column: 1/-1;
}
.video-trattamento .pic,
.video-trattamento button {
  grid-column: 1/-1;
  aspect-ratio: 2.48;
  grid-row: 2;
  border-radius: 1.5rem;
}
.video-trattamento .pic {
  overflow: hidden;
}
.video-trattamento img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.video-trattamento button {
  z-index: 2;
  border: 0;
  outline: none;
  background: hsla(0, 1%, 15%, 0.5);
}
.video-trattamento:has(h2) {
  margin-top: calc(var(--margin-160) * 0.9);
}
.video-trattamento:has(h2) h2 {
  margin-bottom: var(--margin-80);
  text-align: center;
}
@container layout (width < 50rem) {
  .video-trattamento .pic,
  .video-trattamento button {
    width: 100%;
    aspect-ratio: 2.2;
  }
}
@container layout (width < 40rem) {
  .video-trattamento .pic,
  .video-trattamento button {
    aspect-ratio: 2;
  }
}
@container layout (width < 30rem) {
  .video-trattamento .pic,
  .video-trattamento button {
    aspect-ratio: 1.78;
    border-radius: 1rem;
  }
}

.play-video {
  cursor: pointer;
}
.play-video::before {
  content: "";
  display: block;
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
  background-color: hsla(0, 0%, 100%, 0.2);
  background-image: url("./images/triangle.svg");
  background-position: 57% center;
  background-repeat: no-repeat;
  background-size: 30%;
  width: min(9rem, 20vw);
  aspect-ratio: 1;
  border-radius: 50%;
  margin-inline: auto;
  will-change: transform;
  transition-property: transform, outline, outline-offset;
  transition-duration: 0.4s;
  outline: 1px solid hsla(0, 0%, 100%, 0);
  outline-offset: 0rem;
}
@media not all and (pointer: coarse) {
  .play-video:hover::before {
    transform: scale(1.1);
    outline-offset: 1rem;
    outline-color: hsl(0, 0%, 100%);
  }
}

.benefici {
  margin-top: var(--margin-208);
}
.benefici .title {
  grid-column: 1/-1;
  margin-bottom: var(--margin-80);
}
.benefici .swiper {
  --widthslide: calc((var(--full-wide) - var(--wide-gap) * 2) / 3);
  width: 100%;
  overflow: hidden;
  position: relative;
}
.benefici .swiper-wrapper {
  align-items: stretch;
}
.benefici .swiper-slide {
  width: var(--widthslide);
  min-width: 10.5em;
  margin-inline: calc(var(--wide-gap) / 2);
  display: flex;
  height: unset;
  box-sizing: border-box;
  font-size: var(--size-40);
  font-family: var(--noctis);
  font-weight: 700;
  line-height: 140%;
  border-radius: 0.5em;
  background: linear-gradient(to bottom, var(--color-2) 5%, var(--color-1) 95%);
  color: var(--color-4);
  transition-property: filter, opacity, color;
  transition-duration: 0.5s;
}
.benefici .swiper-slide > div {
  border-radius: 0.5em;
  box-sizing: border-box;
  width: 100%;
  min-height: 11.5em;
  padding-bottom: 1.4em;
  padding-inline: 0.675em;
  background-color: white;
  border: 0.375rem solid transparent;
  background-clip: padding-box;
}
.benefici .swiper-slide:not(.swiper-slide-active) {
  filter: grayscale(1);
  opacity: 0.35;
  color: hsla(0, 0%, 0%, 0.5);
}
.benefici .swiper-slide img {
  display: block;
  width: 0.8em;
  margin-block: 1em 1.2em;
}
.benefici .swiper-slide p {
  text-wrap: balance;
}
.benefici .swiper-slide p.mini {
  font-size: max(0.9em, 2rem);
  line-height: 140%;
}
.benefici .prev,
.benefici .next {
  --offset: calc((var(--widthslide) + var(--wide-gap)) * 1.5);
  position: absolute;
  z-index: 3;
  top: calc(50% - var(--size) / 2);
}
.benefici .prev {
  left: calc(50% - var(--offset) - var(--size) / 2);
}
.benefici .prev::before {
  transform: scaleX(-1);
}
.benefici .next {
  left: calc(50% + var(--offset) - var(--size) / 2);
}
@media screen and (width < 990px) {
  .benefici .prev {
    left: 3vw;
  }
  .benefici .next {
    left: auto;
    right: 3vw;
  }
}
@media screen and (width < 400px) {
  .benefici .swiper {
    padding-bottom: 4.5rem;
  }
  .benefici .prev,
  .benefici .next {
    top: auto;
    bottom: 0.2rem;
    font-size: 2rem;
    background-color: hsla(0, 1%, 15%, 0.5);
  }
  .benefici .prev {
    left: auto;
    right: calc(50% + 0.5rem);
  }
  .benefici .next {
    right: auto;
    left: calc(50% + 0.5rem);
  }
  .benefici .swiper-slide {
    width: 90%;
    max-width: 10.5em;
    min-width: 0;
  }
}

.prev,
.next,
.close-window {
  --size: 4rem;
  width: var(--size);
  height: var(--size);
  display: flex;
  background-color: hsla(0, 1%, 15%, 0.75);
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  mix-blend-mode: multiply;
  cursor: pointer;
  transform: scale(1);
  transition: transform 0.3s;
}
.prev:hover,
.next:hover,
.close-window:hover {
  transform: scale(1.1);
}

.prev::before,
.next::before {
  content: "";
  width: 1.5rem;
  height: 0.875rem;
  height: 1rem;
  background-image: url("./images/arrow-white.svg");
  background-size: cover;
  background-position: right center;
}

.prev::before {
  transform: scaleX(-1);
}

.close-window {
  --color: var(--color-4);
  flex-wrap: wrap;
  flex-direction: column;
}
.close-window::before, .close-window::after {
  content: "";
  display: block;
  width: 60%;
  height: var(--border-2);
  background-color: #fff;
  mix-blend-mode: normal;
}
.close-window::before {
  transform: translateY(50%) rotate(-45deg);
}
.close-window::after {
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (width < 540px) {
  .prev,
  .next,
  .close-window {
    --size: 3rem;
  }
}
.caratteristiche {
  margin-top: var(--margin-208);
  --icon-height: round(max(1.6em, 40px), 1px);
}
.caratteristiche .title {
  grid-column: 1/-1;
  margin-bottom: var(--margin-48);
}
.caratteristiche .content {
  grid-column: 1/-1;
}
.caratteristiche li {
  font-size: var(--size-40);
  border-bottom: var(--border-2) solid hsl(0, 5%, 79%);
  padding-block: 0.4em;
}
.caratteristiche .icon {
  display: block;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.caratteristiche .icon img {
  display: block;
  width: auto;
  height: var(--icon-height);
}
.caratteristiche li .noctis {
  line-height: 140%;
  padding-block: 0.65em 0.65em;
  padding-left: calc(var(--icon-height) + 1.3em);
}
.caratteristiche li > p {
  position: relative;
}
.caratteristiche details summary {
  display: flex;
}
.caratteristiche details summary::before, .caratteristiche details summary::after {
  top: 1.35em;
}
.caratteristiche details > div {
  padding-left: calc(var(--icon-height) + 1.3em);
}
.caratteristiche details:has(.open) p {
  padding-bottom: 1.5em;
}
@container layout (width < 40rem) {
  .caratteristiche .title {
    margin-bottom: 1rem;
  }
  .caratteristiche li {
    font-size: 1.5rem;
  }
}

.contenuto-trattamento {
  margin-top: calc(var(--margin-208) * 1.5);
}
.contenuto-trattamento .layout {
  align-items: start;
  grid-template-rows: auto 1fr;
}
.contenuto-trattamento .title {
  grid-column: 1/span 6;
  margin-bottom: 0.75rem;
}
.contenuto-trattamento .content {
  grid-column: 1/span 5;
  height: 100%;
}
.contenuto-trattamento .content h3 {
  font-family: var(--noctis);
  font-weight: 700;
  font-size: var(--size-32);
  margin-block: 1.625em 1.24em;
}
.contenuto-trattamento .content p {
  margin-top: 1.5em;
}
.contenuto-trattamento .content > .link {
  margin-top: var(--size-40);
}
.contenuto-trattamento .pic {
  grid-column: 8/span 5;
  grid-row: 1/span 2;
}
.contenuto-trattamento .pic .img {
  aspect-ratio: 0.78;
  position: relative;
}
.contenuto-trattamento .pic .img::before {
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  width: 190%;
  max-width: 190%;
  max-height: 190%;
  aspect-ratio: 1;
  background-image: var(--svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  mix-blend-mode: multiply;
  animation: aaa 4s ease-in-out infinite alternate;
}
@keyframes aaa {
  0% {
    transform: skew(15deg, -15deg) scale(1);
  }
  100% {
    transform: skew(-15deg, 15deg) scale(0.8);
  }
}
.contenuto-trattamento .pic.special-1 .img::before {
  animation: bbb 4s ease-in-out infinite alternate;
}
@keyframes bbb {
  0% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
.contenuto-trattamento .pic.special-2 .img {
  aspect-ratio: 1;
}
.contenuto-trattamento .pic.special-2 .img::before {
  width: 150%;
  max-width: 150%;
  max-height: 150%;
  animation: ccc 8s ease-in-out infinite alternate;
}
@keyframes ccc {
  0% {
    transform: skew(6deg, 3deg) scale(1) rotate(-5deg);
  }
  50% {
    transform: skew(0deg, 0deg) scale(0.8) rotate(0deg);
  }
  100% {
    transform: skew(-1deg, -1deg) scale(1) rotate(10deg);
  }
}
.contenuto-trattamento .gallery {
  grid-column: 8/span 5;
  grid-row: 1/span 2;
}
.contenuto-trattamento .gallery .swiper {
  margin-left: calc(var(--wide-gap) / 2 * -1);
  width: 200%;
}
.contenuto-trattamento .gallery .swiper-slide {
  width: calc((var(--diff-wide) - var(--wide-gap) - 10px) / 3);
  aspect-ratio: 0.66;
  margin-inline: calc(var(--wide-gap) / 2);
}
.contenuto-trattamento .gallery .next {
  position: absolute;
  z-index: 3;
  top: calc(50% - var(--size) / 2);
  left: calc((var(--diff-wide) - var(--wide-gap) - 10px) / 3);
}
@container layout (width < 70rem) {
  .contenuto-trattamento .content {
    grid-column: 1/span 6;
  }
}
@container layout (width < 60rem) {
  .contenuto-trattamento .pic {
    grid-row: 2;
    margin-top: 1.75em;
  }
  .contenuto-trattamento .gallery {
    grid-row: 2;
    margin-top: 1.75em;
  }
}
@container layout (width < 50rem) {
  .contenuto-trattamento .title {
    grid-column: 1/-1 !important;
  }
  .contenuto-trattamento .content {
    grid-column: 1/-1 !important;
  }
  .contenuto-trattamento .pic {
    grid-column: 1/-1;
    grid-row: auto;
    margin-top: var(--margin-160);
  }
  .contenuto-trattamento .pic div {
    width: 100%;
    max-height: 50svh;
    margin-inline: auto;
  }
  .contenuto-trattamento .pic .img::before {
    width: 155%;
    max-width: 155%;
    max-height: 155%;
    aspect-ratio: 1;
  }
  .contenuto-trattamento .gallery {
    grid-column: 1/-1;
    grid-row: auto;
    margin-top: var(--margin-160);
  }
  .contenuto-trattamento .gallery .swiper {
    width: calc(100% + 5vw + var(--wide-gap) / 2);
  }
  .contenuto-trattamento .gallery .swiper-slide {
    width: 50vw;
    min-width: 250px;
  }
  .contenuto-trattamento .gallery .next {
    left: auto;
    right: 5vw;
    mix-blend-mode: normal;
  }
}
@media screen and (width < 776px) {
  .contenuto-trattamento {
    margin-top: var(--margin-208);
  }
}
@media screen and (width < 310px) {
  .contenuto-trattamento .gallery .swiper-slide {
    width: 80vw;
    min-width: 0;
  }
}

.contenuto-trattamento.invertito .title {
  grid-column-start: 7;
}
.contenuto-trattamento.invertito .content {
  grid-column-start: 7;
}
.contenuto-trattamento.invertito .pic {
  grid-column-start: 1;
}

.infografica {
  margin-top: calc(var(--margin-80) * 0.8);
  display: flex;
  align-items: center;
  -moz-column-gap: 6%;
       column-gap: 6%;
}
.infografica .arrow {
  height: 1rem;
  height: max(round(0.9rem, 1px), 12px);
  width: 2rem;
  filter: var(--to-black);
  overflow: hidden;
}
.infografica .arrow img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
  display: block;
}
.infografica .block {
  --img: max(round(calc(var(--diff-wide) * 0.047), 1px), 3.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  width: max(40%, var(--img) + 4rem);
  padding-block: 0.625rem;
  background-color: var(--color-5);
  border-radius: calc(var(--img) / 2 + 0.625rem);
  -moz-column-gap: max(8%, 10px);
       column-gap: max(8%, 10px);
}
.infografica .block span {
  display: block;
  font-size: 1rem;
  font-weight: 700;
}
.infografica .block img {
  width: var(--img);
}

.foto-trattamento {
  --rows: auto auto auto;
  --ratio-1: 1.66;
  --ratio-2: 1.66;
  --pos-1: 6 / span 7;
  --pos-2: 1 / span 7;
  margin-top: var(--margin-208);
}
.foto-trattamento .layout {
  grid-template-rows: var(--rows);
}
.foto-trattamento .pic {
  overflow: hidden;
}
.foto-trattamento .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 0.5rem;
}
.foto-trattamento .pic:nth-child(1) {
  aspect-ratio: var(--ratio-1);
  grid-column: var(--pos-1);
  grid-row: 1/span 2;
}
.foto-trattamento .pic:nth-child(2) {
  aspect-ratio: var(--ratio-2);
  grid-column: var(--pos-2);
  grid-row: 2/span 2;
}
@media screen and (width < 40rem) {
  .foto-trattamento .pic {
    min-height: 21rem;
    width: 100%;
  }
}

.foto-trattamento.size-6-8 {
  --rows: auto calc(var(--margin-80) * 1.1) auto;
  --ratio-1: 1.66;
  --ratio-2: 1.66;
  --pos-1: -7 / span 6;
  --pos-2: 1 / span 8;
}
@media screen and (width < 60rem) {
  .foto-trattamento.size-6-8 {
    --pos-1: -8 / span 7;
    --pos-2: 1 / span 9;
  }
}
@media screen and (width < 40rem) {
  .foto-trattamento.size-6-8 {
    --rows: auto 5vw auto;
    --pos-1: -11 / span 10;
    --pos-2: 1 / span 10;
  }
}

.foto-trattamento.size-8-7 {
  --rows: auto calc(var(--margin-208) * 0.5) auto;
  --ratio-1: 1.64;
  --ratio-2: 1.64;
  --pos-1: 1 / span 8;
  --pos-2: -8 / span 7;
}
@media screen and (width < 60rem) {
  .foto-trattamento.size-8-7 {
    --pos-1: 1 / span 9;
    --pos-2: -9 / span 8;
  }
}
@media screen and (width < 40rem) {
  .foto-trattamento.size-8-7 {
    --rows: auto 5vw auto;
    --pos-1: 1 / span 10;
    --pos-2: -11 / span 10;
  }
}

.foto-trattamento.size-8-5 {
  --rows: var(--margin-208) auto var(--margin-208);
  --ratio-1: 1.64;
  --ratio-2: 1;
  --pos-1: 1 / span 8;
  --pos-2: -6 / span 5;
}
@media screen and (width < 50rem) {
  .foto-trattamento.size-8-5 {
    --rows: auto var(--margin-160) auto;
    --pos-1: 1 / span 9;
    --pos-2: -7 / span 6;
  }
}
@media screen and (width < 40rem) {
  .foto-trattamento.size-8-5 {
    --rows: auto 5vw auto;
    --ratio-2: 1.6;
    --pos-1: 1 / span 10;
    --pos-2: -11 / span 10;
  }
}

.faq {
  position: relative;
  margin-top: var(--margin-208);
  padding-block: calc(var(--margin-160) * 0.8) var(--margin-208);
  background-color: var(--color-5);
}
.faq .title {
  margin-bottom: calc(var(--margin-80) * 0.8);
  grid-column: 1/-1;
}
.faq .content {
  grid-column: 1/-1;
}
.faq details {
  border-bottom: var(--border-2) solid #fff;
  padding-block: 0.2em;
}
.faq summary {
  font-family: var(--noctis);
  font-weight: 700;
  padding-block: 0.5em;
  display: flex;
  line-height: 135%;
}
.faq summary::before, .faq summary::after {
  top: 1.125em;
}
.faq details:has(.open) p {
  padding-bottom: 1.75em;
}
.sec .duallayout {
  width: var(--full-wide);
  margin-inline: auto;
  font-size: var(--size-18);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 50%));
  justify-content: space-between;
  row-gap: var(--margin-80);
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  container: layout/inline-size;
}
.sec .duallayout .sx {
  grid-column-start: 1;
  max-width: 33.66em;
}
.sec .duallayout .dx {
  max-width: 33.66em;
  margin-left: auto;
}
@container layout (width < 50rem) {
  .sec .duallayout .sx,
  .sec .duallayout .dx {
    max-width: none;
    margin-left: 0;
    grid-column: 1/-1;
  }
}

.cta {
  padding-block: calc(var(--margin-160) * 0.8) var(--margin-160);
  color: #fff;
  background: linear-gradient(0deg, var(--color-4) 0%, var(--color-3) 100%);
}
.cta .title {
  grid-column: 1/-1;
}
.cta .title h2 {
  max-width: 16em;
}
.cta h3 {
  font-family: var(--noctis);
  font-weight: 700;
  font-size: var(--size-32);
  margin-bottom: 1.25em;
}
.cta .sx h3 {
  color: var(--color-1);
}
.cta .dx h3 {
  color: var(--color-2);
}
.cta p {
  line-height: 150%;
  z-index: 2;
  position: relative;
}
.cta p + p {
  margin-top: 1.5em;
}
.cta .sx:not(.noctis) p:not(.flash-price) strong {
  color: var(--color-1);
}
.cta .dx:not(.noctis) p:not(.flash-price) strong {
  color: var(--color-2);
}
.cta .link {
  margin-top: 2.25rem;
}
.cta .size-32 strong {
  font-size: var(--size-40);
  margin-left: 0.5em;
  position: relative;
  z-index: 2;
  text-shadow: 0 0 0.5rem var(--color-3);
}
.cta .size-32 strong::before {
  content: "";
  display: block;
  z-index: -1;
  width: 6.25em;
  height: 6.25em;
  position: absolute;
  top: 50%;
  left: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("./images/backgrounds/prezzo-trattamento.png");
  translate: -50% -50%;
}
.cta .sconto {
  font-size: var(--size-20);
  font-family: var(--manrope);
  font-weight: 400;
  margin-top: 1em;
}
.cta .flash-price {
  z-index: 1;
  padding-top: 1em;
}
.cta .flash-price strong {
  font-weight: 700;
  font-family: var(--noctis);
  font-size: var(--size-32);
  color: #fff;
  margin-left: 1rem;
  position: relative;
  text-shadow: 0 0 0.5rem var(--color-3);
}
.cta .flash-price strong::before {
  content: "";
  display: block;
  z-index: -1;
  width: 6.25em;
  height: 6.25em;
  position: absolute;
  top: 50%;
  left: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("./images/backgrounds/prezzo-trattamento.png");
  translate: -50% -50%;
}

.uso-carte {
  margin-top: var(--margin-208);
}
.uso-carte .sx:not(.title),
.uso-carte .dx {
  border-top: var(--border-2) solid var(--color-4);
}
.uso-carte h3 {
  font-size: var(--size-40);
  font-family: var(--noctis);
  font-weight: 700;
  line-height: 140%;
  color: var(--color-2);
  margin-block: 0.8em 0.7em;
}
.uso-carte h3::before {
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: inline-block;
  background-image: url("./images/asterisco.svg");
  background-size: cover;
  margin-right: 1rem;
  vertical-align: top;
}
.uso-carte p {
  font-size: var(--size-18);
  line-height: 150%;
}
.uso-carte ul {
  padding-block: 0.25em;
}
.uso-carte li {
  list-style-type: disc;
  margin-left: 1.15em;
  line-height: 150%;
}

@media screen and (width < 800px) {
  :root {
    --size-32: 1.5rem;
  }
}
.chi-sono.testata .layout {
  row-gap: 0;
}
.chi-sono.testata .title,
.chi-sono.testata .pic {
  grid-column: 1/-1;
  text-align: center;
}
.chi-sono.testata .cover {
  position: relative;
}
.chi-sono.testata .cover::before {
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  width: 80%;
  max-width: 80%;
  aspect-ratio: 1;
  background-image: url("./images/backgrounds/chi-sono.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  mix-blend-mode: multiply;
  animation: chi 6s ease-in-out infinite alternate;
}
@keyframes chi {
  0% {
    transform: skew(0deg, 0deg) scale(1);
  }
  100% {
    transform: skew(50deg, 0deg) scale(0.9);
  }
}
.chi-sono.testata picture {
  aspect-ratio: 3.15;
  min-height: 25svh;
}
.chi-sono.descrizione {
  margin-bottom: var(--margin-208);
}
.chi-sono.descrizione .title {
  grid-column: 1/-1;
  margin-bottom: var(--margin-80);
}
.chi-sono.descrizione h2 {
  max-width: 12em;
  text-align: center;
  margin-inline: auto;
}
.chi-sono.descrizione .content {
  grid-column: 1/span 5;
  padding-top: var(--margin-64);
  align-self: self-start;
}
.chi-sono.descrizione .content p + p {
  margin-top: 1.5em;
}
.chi-sono.descrizione .content p:last-of-type {
  margin-top: var(--margin-80);
}
.chi-sono.descrizione .content a.link {
  margin-top: 1.5rem;
}
.chi-sono.descrizione .pic {
  grid-column: 8/span 4;
}
.chi-sono.descrizione .pic .cover {
  aspect-ratio: 0.56;
  overflow: hidden;
  border-radius: 1.5rem;
  position: relative;
}
.chi-sono.descrizione .pic button {
  z-index: 2;
  border: 0;
  outline: none;
  background: hsla(0, 1%, 15%, 0.5);
  position: absolute;
  inset: 0;
}
.chi-sono.descrizione .pic button span {
  position: absolute;
  left: 0;
  bottom: 1em;
  font-weight: 700;
  font-family: var(--noctis);
  font-size: var(--size-32);
  line-height: 125%;
  color: #fff;
  text-align: center;
  width: 100%;
  padding-inline: 1rem;
  box-sizing: border-box;
}
.chi-sono.storia {
  padding-block: var(--margin-208) calc(var(--margin-208) + 6rem);
  background-color: var(--color-3);
  color: #fff;
}
.chi-sono.storia .title,
.chi-sono.storia .content {
  grid-column: 1/-1;
  text-align: center;
}
.chi-sono.storia .title img {
  width: 2rem;
  margin-block: 1.5rem 3rem;
  display: inline-block;
}
.chi-sono.storia h2 {
  max-width: 20em;
  margin-inline: auto;
}
.chi-sono.storia h3 {
  text-transform: uppercase;
  font-weight: 700;
  text-wrap: balance;
}
.chi-sono.storia .content {
  position: relative;
  z-index: 1;
}
.chi-sono.storia .content::before {
  content: "";
  position: absolute;
  width: 31.25rem;
  height: 18.75rem;
  z-index: -1;
  top: 82%;
  left: 50%;
  translate: -50% -50%;
  background: url("./images/backgrounds/CTA-chi-sono.png") no-repeat;
  background-size: contain;
}
.chi-sono.storia .steps {
  height: 400svh;
  min-height: 90rem;
}
.chi-sono.storia .steps .icon {
  grid-column: 2/span 2;
}
.chi-sono.storia .steps .icon img {
  width: 100%;
  background-color: var(--color-3);
  display: block;
}
.chi-sono.storia .steps .text {
  grid-column: 5/-2;
}
.chi-sono.storia .steps .wrapper {
  width: 100%;
  height: 70svh;
  position: relative;
}
.chi-sono.storia .steps .band {
  z-index: 2;
  height: 100%;
  position: absolute;
  top: 0;
  left: var(--margin-full-wide);
  opacity: 0;
  translate: 0 50%;
  transition-property: opacity, translate, margin-top;
  transition-duration: 0.75s, 0.75s, 0.5s;
  transition-delay: 0s, 0s, 0s;
  z-index: 1;
}
.chi-sono.storia .steps .band .icon {
  scale: 0.5;
  transition: scale 0.75s;
}
.chi-sono.storia .steps .band.a-1 {
  opacity: 1;
  translate: 0 0;
  z-index: 2;
}
.chi-sono.storia .steps .band.a-1 .icon {
  scale: 1;
}
.chi-sono.storia .steps .band a {
  color: var(--color-1);
}
.chi-sono.storia .steps.pro-20 .band.a-1, .chi-sono.storia .steps.pro-40 .band.a-2, .chi-sono.storia .steps.pro-60 .band.a-3, .chi-sono.storia .steps.pro-80 .band.a-4 {
  opacity: 0 !important;
  translate: 0 -50% !important;
  z-index: 1;
}
.chi-sono.storia .steps.pro-20 .band.a-1 .icon, .chi-sono.storia .steps.pro-40 .band.a-2 .icon, .chi-sono.storia .steps.pro-60 .band.a-3 .icon, .chi-sono.storia .steps.pro-80 .band.a-4 .icon {
  scale: 0.5 !important;
}
.chi-sono.storia .steps.pro-20 .band.a-2, .chi-sono.storia .steps.pro-40 .band.a-3, .chi-sono.storia .steps.pro-60 .band.a-4, .chi-sono.storia .steps.pro-80 .band.a-5 {
  opacity: 1;
  translate: 0 0;
  z-index: 2;
}
.chi-sono.storia .steps.pro-20 .band.a-2 .icon, .chi-sono.storia .steps.pro-40 .band.a-3 .icon, .chi-sono.storia .steps.pro-60 .band.a-4 .icon, .chi-sono.storia .steps.pro-80 .band.a-5 .icon {
  scale: 1;
}
.chi-sono.storia .steps .bg {
  --w: calc(var(--full-wide) * 0.33);
  --h: calc(var(--diff-wide) * 0.33 / 0.55);
  width: var(--w);
  height: var(--h);
  position: absolute;
  top: calc(50% - var(--h) / 2);
  z-index: 5;
  opacity: 0;
  scale: 0.75;
  transition-property: scale, opacity;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  border-radius: 100vw;
  filter: blur(2rem);
}
.chi-sono.storia .steps .bg.sx {
  left: 0;
  background: radial-gradient(ellipse at left, var(--color-2) 0%, hsla(194, 91%, 49%, 0) 50%);
  transform-origin: left center;
}
.chi-sono.storia .steps .bg.dx {
  right: 0;
  background: radial-gradient(ellipse at right, var(--color-2) 0%, hsla(194, 91%, 49%, 0) 50%);
  transform-origin: right center;
}
.chi-sono.storia .steps.on .bg {
  scale: 1;
  opacity: 1;
}
.chi-sono.storia .steps .line {
  margin-left: var(--margin-full-wide);
  height: 60%;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 20%;
  transition: margin-top 0.5s;
}
.chi-sono.storia .steps .line > div {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
}
.chi-sono.storia .steps .line .up,
.chi-sono.storia .steps .line .down {
  height: 50%;
  width: 0.25rem;
  background: linear-gradient(to bottom, hsla(100, 100%, 100%, 0), #fff 75%);
  transform-origin: bottom;
  transition: scale 0.75s;
  scale: 1 1;
}
.chi-sono.storia .steps .line .down {
  background: linear-gradient(to top, hsla(100, 100%, 100%, 0), #fff 75%);
  transform-origin: top;
}
.chi-sono.storia .steps:not(.pro-20) .up {
  scale: 1 0;
}
.chi-sono.storia .steps.pro-80 .down {
  scale: 1 0;
}
.chi-sono.storia a.link {
  margin-top: 1.5rem;
}
@media screen and (width < 700px) {
  .chi-sono.storia .steps {
    height: auto;
  }
  .chi-sono.storia .steps .wrapper {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    row-gap: var(--margin-80);
    padding-block: var(--margin-208);
  }
  .chi-sono.storia .steps .wrapper > div {
    margin-top: 0 !important;
  }
  .chi-sono.storia .steps .line {
    display: none;
  }
  .chi-sono.storia .steps .band.layout.step-story {
    height: auto;
    position: static;
    opacity: 1 !important;
    translate: 0 0 !important;
  }
  .chi-sono.storia .steps .band.layout.step-story .icon {
    scale: 1 !important;
  }
  .chi-sono.storia .steps .icon {
    grid-column: 1/span 3;
    align-self: self-start;
  }
  .chi-sono.storia .steps .icon img {
    max-width: 8rem;
    margin-inline: auto;
  }
  .chi-sono.storia .steps .text {
    grid-column: 5/-1;
  }
}
.chi-sono.formazione {
  padding-block: var(--margin-208);
}
.chi-sono.formazione .title {
  grid-column: 1/-1;
  margin-bottom: calc(var(--size-18) * 1.5 + 0.75rem);
}
.chi-sono.formazione .content.sx {
  grid-column: 1/span 7;
}
.chi-sono.formazione .pic {
  grid-column: 1/span 5;
  margin-block: max(3rem, var(--margin-208) / 2);
}
.chi-sono.formazione .pic .cover {
  width: 100%;
  aspect-ratio: 1;
}
.chi-sono.formazione .content.dx {
  grid-column: 8/-1;
  margin-block: calc(var(--size-18) * 1.5);
}
.chi-sono.formazione .list {
  grid-column: 1/-1;
  margin-top: calc(var(--size-18) * 1.5 + 0.75rem);
  font-size: var(--size-32);
  font-weight: 700;
  font-family: "Noctis";
  line-height: 120%;
}
.chi-sono.formazione .list li {
  display: flex;
  align-items: center;
  padding-block: 0.75em;
  border-bottom: var(--border-2) solid #b8b8b8;
}
.chi-sono.formazione .list img {
  display: block;
  width: 1em;
  margin-right: 1em;
}
.chi-sono.formazione .list.asterisco li::before {
  content: "";
  width: 0.75em;
  height: 0.75em;
  min-width: 0.75em;
  min-height: 0.75em;
  display: block;
  background: url("./images/asterisco.svg") no-repeat center;
  background-size: contain;
  margin-right: 1.125em;
  filter: brightness(0.2) saturate(0);
}
.chi-sono.cta {
  padding-bottom: var(--margin-208);
}
.chi-sono.cta .title h2 {
  max-width: 19em;
}
.chi-sono.cta .sx {
  translate: 0 -1rem;
}
@container layout (width < 70rem) {
  .chi-sono.descrizione .content {
    grid-column: 1/span 6;
  }
}
@container layout (width < 60rem) {
  .chi-sono.descrizione .pic {
    grid-column: 8/-1;
  }
}
@container layout (width < 50rem) {
  .chi-sono.descrizione .content,
  .chi-sono.descrizione .pic {
    grid-column: 1/-1;
    padding: 0;
  }
  .chi-sono.descrizione .content .cover,
  .chi-sono.descrizione .pic .cover {
    margin-top: var(--margin-160);
    width: 100%;
    min-height: 220px;
    aspect-ratio: 1.9;
  }
  .chi-sono.formazione .content.sx,
  .chi-sono.formazione .content.dx,
  .chi-sono.formazione .pic {
    grid-column: 1/-1;
    padding: 0;
  }
  .chi-sono.formazione .content.sx .cover,
  .chi-sono.formazione .content.dx .cover,
  .chi-sono.formazione .pic .cover {
    aspect-ratio: 1.6;
  }
}
@container layout (width < 40rem) {
  .chi-sono.storia .steps .icon,
  .chi-sono.storia .steps .text {
    grid-column: 1/-1;
  }
  .chi-sono.storia .steps .text {
    padding-block: 2em;
  }
  .chi-sono.formazione .pic {
    display: none;
  }
  .chi-sono.formazione .content.dx {
    margin-top: var(--margin-208);
  }
}

.dashboard {
  margin-inline: auto;
  width: var(--full-wide);
}

.controls {
  display: flex;
  align-items: center;
  margin-block: 1.75rem;
}

.filter {
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  color: var(--color-4);
  position: relative;
  width: 22em;
}
.filter > div:first-child .active {
  line-height: 100%;
  display: flex;
  align-items: center;
  height: 2.25em;
  padding-inline: 1.5em;
  border-radius: 2.25em;
  background-color: #fff;
  transition: background-color 0.3s, color 0.3s;
  border: var(--border-2) solid var(--color-4);
  color: inherit;
  cursor: pointer;
  position: relative;
  z-index: 5;
}
.filter > div:first-child .active::after {
  content: "";
  position: absolute;
  width: 0.75em;
  height: 0.75em;
  border-right-width: var(--border-2);
  border-bottom-width: var(--border-2);
  border-top-width: 0;
  border-left-width: 0;
  border-style: solid;
  border-color: var(--color-4);
  top: 0.45em;
  right: 1.25em;
  transform: rotate(45deg);
  z-index: 6;
}
@media not all and (pointer: coarse) {
  .filter > div:first-child .active:hover {
    color: #fff;
    background-color: var(--color-4);
  }
  .filter > div:first-child .active:hover::after {
    border-color: #fff;
  }
}
.filter > div:first-child :not(.active) {
  display: none;
}
.filter > div:last-child {
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  top: 50%;
  border: var(--border-2) solid var(--color-4);
  border-radius: 0 0 1.12em 1.12em;
  position: absolute;
  z-index: 4;
  display: grid;
  background-color: #fff;
  padding-block: 0;
  height: 0;
}
.filter > div:last-child .active {
  display: none;
}
.filter > div:last-child :not(.active) {
  line-height: 100%;
  font-family: inherit;
  font-size: inherit;
  text-transform: inherit;
  background-color: transparent;
  border: none;
  font-weight: 700;
  color: inherit;
  text-align: left;
  padding-inline: 1.5em;
}
@media not all and (pointer: coarse) {
  .filter > div:last-child :not(.active):hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
  }
}
.filter > div > * {
  --color-cat: #bbb;
  display: flex;
  align-items: center;
}
.filter > div > *::before {
  content: "";
  width: max(0.5em, 6px);
  height: max(0.5em, 6px);
  display: inline-block;
  vertical-align: middle;
  border-radius: 50%;
  margin-right: 0.5em;
  background-color: var(--color-cat);
}
.filter.open > div:last-child {
  height: 8em;
  padding-block: 1.8em 1em;
  transition: height 0.3s ease-out, padding-block 0.3s ease-out;
}

.search {
  margin-left: max(8%, 1rem);
  width: max(30%, 15rem);
}
.search form {
  border-bottom: var(--border-2) solid var(--color-4);
  align-items: center;
  display: flex;
  position: relative;
}
.search form::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  background-color: transparent;
  right: 0;
  top: calc(50% - 0.8rem);
  width: 1.6rem;
  height: 1.6rem;
  border: var(--border-2) solid var(--color-4);
  border-bottom-color: transparent;
  border-radius: 50%;
  transform-origin: center center;
  translate: 0 100%;
  opacity: 0;
  animation: roll 0.8s linear infinite;
  transition-property: translate, opacity;
  transition-duration: 0.3s, 0.2s;
  transition-timing-function: ease-out;
}
@keyframes roll {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.search input {
  flex: 1;
  border: none;
  font-family: inherit;
  font-size: var(--size-18);
  margin-block: 0.4rem 0.5rem;
}
.search input:focus {
  outline: none;
}
.search button {
  width: 1.625rem;
  height: 1.625rem;
  border: none;
  background-color: transparent;
  background-image: url("./images/lens.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  translate: 0 0;
  opacity: 1;
  transition-property: translate, opacity;
  transition-duration: 0.3s, 0.2s;
  transition-timing-function: ease-out;
}
.search.searching form::after {
  translate: 0 0;
  opacity: 1;
}
.search.searching button {
  translate: 0 -100%;
  opacity: 0;
}

.switcher {
  margin-left: auto;
  overflow: hidden;
  width: 10rem;
  height: 2.5rem;
  border-radius: 2.5rem;
  display: grid;
  grid-template-columns: 4.75rem 4.75rem;
  justify-content: space-between;
}
.switcher * {
  grid-row: 1;
  grid-column: 1/-1;
}
.switcher input {
  z-index: 1;
}
.switcher .bg {
  border-radius: 2.5rem;
  background-color: var(--color-5);
  z-index: 2;
  box-shadow: 0 0.25em 0.5em hsla(0, 0%, 0%, 0.1) inset;
}
.switcher .marker {
  grid-column: 1;
  background-color: #fff;
  box-shadow: 0 2px 0.25rem hsla(0, 0%, 0%, 0.15);
  border-radius: 2.25rem;
  margin: 0.25rem;
  z-index: 3;
  transition: transform 0.3s ease-out;
}
.switcher input:checked + .marker {
  transform: translateX(calc(10rem - 100% - 0.5rem));
}
.switcher .icon-1 {
  grid-column: 1;
  align-self: center;
  z-index: 4;
}
.switcher .icon-1 img {
  height: 1.125rem;
  margin-inline: auto;
  display: block;
}
.switcher .icon-2 {
  grid-column: 2;
  align-self: center;
  z-index: 4;
}
.switcher .icon-2 img {
  height: 1.325rem;
  display: block;
  margin-inline: auto;
}
.switcher label {
  cursor: pointer;
  z-index: 5;
}

.calendar {
  --b-color: #B8B8B8;
  width: var(--full-wide);
  margin-inline: auto;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  max-height: 9999vh;
  transition: opacity, visibility, max-height;
  transition-duration: 0.5s, 0s, 0s;
  transition-delay: 0.5s, 0.5s, 0.5s;
}
.calendar.off {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition-delay: 0s, 0.5s, 0.5s;
}
.calendar::before {
  content: "";
  width: 100%;
  height: 1.25rem;
  display: block;
}
.calendar .container {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  background-color: var(--b-color);
  border: 1px solid var(--b-color);
  border-radius: 0.5rem;
  overflow: hidden;
}
.calendar .prev,
.calendar .next {
  --size: 2.75rem;
  background-color: var(--color-5);
  border: none;
}
.calendar .prev::before,
.calendar .next::before {
  filter: var(--to-black);
  transition: opacity 0.3s;
}
.calendar .prev.off {
  cursor: auto;
  transform: scale(1);
}
.calendar .prev.off::before {
  opacity: 0.2;
}
.calendar .month {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.75rem;
}
.calendar .month p {
  text-transform: capitalize;
  width: 10em;
  text-align: center;
}
.calendar .week {
  font-size: 13px;
  line-height: 130%;
  text-align: center;
  text-transform: uppercase;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}
.calendar .week div {
  background-color: #fff;
  padding-block: 0.5rem;
}
.calendar .days {
  font-size: max(0.875rem, 13px);
  line-height: 130%;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(7, 1fr);
}
.calendar .days .d1 {
  grid-column-start: 1;
}
.calendar .days .d2 {
  grid-column-start: 2;
}
.calendar .days .d3 {
  grid-column-start: 3;
}
.calendar .days .d4 {
  grid-column-start: 4;
}
.calendar .days .d5 {
  grid-column-start: 5;
}
.calendar .days .d6 {
  grid-column-start: 6;
}
.calendar .days .d7 {
  grid-column-start: 7;
}
.calendar .days div {
  background-color: #fff;
  padding: 0.375rem 0.5rem 0.5rem;
  min-width: 0;
  min-height: 10.5em;
}
.calendar .days div .number {
  text-align: center;
  display: block;
  margin-bottom: 0.75rem;
  line-height: 100%;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  border-radius: 50%;
}
.calendar .days div .number.today {
  background-color: var(--color-4);
  color: #fff;
}
.calendar .days div a {
  --color-cat: #ddd;
  padding: 0.4rem 0.6rem 0.5rem;
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 0.5rem;
  background-color: transparent;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 1;
  max-height: 4.5rem;
  transition-property: opacity, max-height, margin-bottom, padding-block, background-color;
  transition-duration: 0.5s, 0.5s, 0.5s, 0.5s, 0.3s;
}
.calendar .days div a::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  background-color: var(--color-cat);
  border-radius: 50%;
  margin-top: 0.35rem;
  transition: background-color 0.3s;
}
@media not all and (pointer: coarse) {
  .calendar .days div a:hover {
    background-color: var(--color-cat);
  }
  .calendar .days div a:hover::before {
    background-color: #fff;
  }
}
.calendar .days div a strong {
  font-weight: 700;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  margin-bottom: 0.25rem;
  grid-column: 2;
}
.calendar .days div a span {
  font-size: max(0.75rem, 12px);
  line-height: 130%;
  display: block;
  grid-column: 2;
}
.calendar .days div.off {
  background-color: var(--color-5);
}
.calendar .days div:has(a + a) a span:not(:last-child) {
  display: none;
}
.calendar .days div:has(a + a) a:not(:last-child) {
  margin-bottom: 0.5rem;
}

.list-event {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  max-height: 9999vh;
  transition: opacity, visibility, max-height;
  transition-duration: 0.5s, 0s, 0s;
  transition-delay: 0.5s, 0.5s, 0.5s;
}
.list-event > .layout > p {
  grid-column: 1/-1;
  font-weight: 700;
  font-size: var(--size-18);
  line-height: 140%;
  font-style: oblique;
}
.list-event.off {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition-delay: 0s, 0.5s, 0.5s;
}
.list-event::before {
  content: "";
  width: 100%;
  height: calc(max(3rem, var(--margin-208) / 2) - 1.75rem);
  display: block;
}
.list-event article.event {
  grid-template-rows: 1fr;
  overflow: hidden;
  transition-property: grid-template-rows, opacity;
  transition-duration: 0.6s;
}
.list-event article.event:last-of-type .container {
  border-bottom: var(--border-2) solid var(--color-5);
}
.list-event .container {
  overflow: hidden;
  grid-column: 1/-1;
  width: 100%;
}
.list-event .wrapper {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  -moz-column-gap: var(--wide-gap);
       column-gap: var(--wide-gap);
  border-top: var(--border-2) solid var(--color-5);
  align-items: start;
  box-sizing: border-box;
  padding-block: max(24px, var(--size-32));
}
.list-event .date {
  text-align: center;
  font-size: max(0.875rem, 13px);
  padding-top: 1em;
}
.list-event .date span {
  display: block;
  margin-block: max(8px, 0.25em) 0.1em;
}
.list-event .content {
  grid-column: 2/span 8;
}
.list-event .categoria {
  color: var(--color-cat);
  font-size: max(0.875rem, 13px);
  min-height: max(0.875rem, 13px);
  font-weight: 700;
  line-height: 100%;
  display: block;
}
.list-event h1 {
  margin-block: max(8px, 0.25em) max(10px, 0.5em);
}
.list-event .more {
  grid-column: span 3;
  padding-top: calc(max(0.875rem, 13px) + max(8px, 0.5rem));
  text-align: right;
}
@container layout (width<55rem) {
  .list-event .content {
    grid-column: 2/span 7;
  }
  .list-event .more {
    grid-column: span 4;
  }
}
@container layout (width<45rem) {
  .list-event .date {
    grid-column: span 2;
  }
  .list-event .content {
    grid-column: 3/span 10;
  }
  .list-event .more {
    grid-column: 3/span 10;
    padding-top: 1rem;
    text-align: left;
  }
}

@media screen and (max-width: 760px) {
  .switcher {
    display: none;
  }
  .list-event {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 9999vh !important;
  }
  .calendar {
    opacity: 0 !important;
    visibility: hidden !important;
    max-height: 0 !important;
  }
}
@media screen and (max-width: 560px) {
  .dashboard > div:first-child {
    display: none;
  }
  .controls {
    flex-wrap: wrap;
  }
  .search {
    margin-left: 0;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 0.25rem;
    padding-block: 0 1.25rem;
    order: 0;
  }
  .filter {
    order: 1;
    width: 100%;
  }
}
.eventi.all {
  margin-bottom: var(--margin-208);
  min-height: 60svh;
}

.newsletter.eventi {
  padding-block: calc(var(--margin-160) * 0.8) var(--margin-160);
  background-color: var(--color-5);
}
.newsletter.eventi .title {
  grid-column: span 8;
  margin-bottom: var(--size-56);
}
.newsletter.eventi .modulo {
  grid-column: span 8;
}
.newsletter.eventi .modulo p:has(.warn) {
  margin-top: 0;
}
.newsletter.eventi .pic {
  grid-column: 9/span 4;
  grid-row: 1/span 2;
}
.newsletter.eventi .pic img {
  display: block;
  max-width: 20rem;
  margin-left: auto;
  opacity: 0.6;
  width: 90%;
}
@container layout (width < 50rem) {
  .newsletter.eventi .title,
  .newsletter.eventi .modulo {
    grid-column: 1/-1;
  }
  .newsletter.eventi .pic {
    display: none;
  }
}

.sec.single-event.testata {
  min-height: 0;
  padding-top: var(--margin-208);
}
.sec.single-event.testata .content {
  grid-column: span 12;
  position: relative;
}
.sec.single-event.testata .content::before {
  content: "";
  display: block;
  width: 60%;
  max-width: 37.5rem;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("./images/backgrounds/evento-singolo.png");
  position: absolute;
  top: 50%;
  left: 56%;
  translate: 0 -58%;
  z-index: -1;
}
.sec.single-event.testata a {
  text-transform: uppercase;
  font-family: inherit;
  color: inherit;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  margin: 0;
}
.sec.single-event.testata a::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 0.875em;
  background-image: url("./images/arrow-small.svg");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  margin-right: 1rem;
  transform: scaleX(-1) translateX(0);
  transition: transform 0.2s;
}
@media not all and (pointer: coarse) {
  .sec.single-event.testata a:hover::before {
    transform: scaleX(-1) translateX(0.5em);
  }
}
.sec.single-event.testata h1 {
  margin-top: calc(var(--margin-208) / 2);
  margin-bottom: 0;
  max-width: 14em;
}
@container layout (width < 50rem) {
  .sec.single-event.testata .content::before {
    width: 66%;
    max-width: 18rem;
    top: 0;
    translate: 25% -50%;
    left: auto;
    right: -5vw;
  }
}
@container layout (width < 35rem) {
  .sec.single-event.testata h1 {
    font-size: var(--size-56);
  }
}

.sec.single-event.corpo {
  margin-bottom: var(--margin-208);
}
.sec.single-event.corpo .layout {
  align-items: first baseline;
}
.sec.single-event.corpo .content {
  grid-column: span 8;
  padding-right: 10px;
}
.sec.single-event.corpo .content h2 {
  font-size: var(--size-40);
  font-family: var(--noctis);
  font-weight: 700;
  line-height: 140%;
  margin-bottom: max(1rem, 0.6em);
}
.sec.single-event.corpo .content h2:not(:first-child) {
  margin-top: calc(var(--margin-208) / 2);
}
.sec.single-event.corpo .content h3,
.sec.single-event.corpo .content h4,
.sec.single-event.corpo .content h5,
.sec.single-event.corpo .content h6 {
  font-size: var(--size-24);
  font-family: var(--noctis);
  font-weight: 700;
  line-height: 140%;
  margin-bottom: max(1rem, 0.6em);
}
.sec.single-event.corpo .content h3:not(:first-child),
.sec.single-event.corpo .content h4:not(:first-child),
.sec.single-event.corpo .content h5:not(:first-child),
.sec.single-event.corpo .content h6:not(:first-child) {
  margin-top: max(1rem, 0.6em);
}
.sec.single-event.corpo .content p,
.sec.single-event.corpo .content ul {
  font-size: var(--size-18);
  line-height: 150%;
}
.sec.single-event.corpo .content ul {
  display: flex;
  flex-direction: column;
  row-gap: 0.25em;
}
.sec.single-event.corpo .content li {
  list-style-type: disc;
  margin-left: 2.7em;
}
.sec.single-event.corpo .content strong {
  font-weight: 700;
}
.sec.single-event.corpo .content p + p,
.sec.single-event.corpo .content ul + p {
  margin-top: 1.5em;
}
.sec.single-event.corpo .content p + ul {
  margin-top: 0.8em;
}
.sec.single-event.corpo .content a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.1em;
  color: var(--color-3);
}
.sec.single-event.corpo .content .single-img {
  margin-block: 3rem;
}
.sec.single-event.corpo .content .single-img picture {
  display: block;
}
.sec.single-event.corpo .content .single-img img {
  display: block;
}
.sec.single-event.corpo .content .single-img .horizontal {
  width: 100%;
  max-width: 40rem;
}
.sec.single-event.corpo .content .single-img .vertical {
  width: 100%;
  max-width: 21rem;
}
.sec.single-event.corpo .info {
  grid-column: span 4;
}
.sec.single-event.corpo .info .widgets {
  max-width: 19.75rem;
  margin-left: auto;
}
.sec.single-event.corpo .gallery {
  margin-top: calc(var(--margin-208) / 2);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: var(--wide-gap);
}
.sec.single-event.corpo .gallery .pic {
  aspect-ratio: 1;
  position: relative;
}
@media not all and (pointer: coarse) {
  .sec.single-event.corpo .gallery .pic:hover .zoom {
    opacity: 1;
  }
}
.sec.single-event.corpo .gallery .zoom {
  --offset: calc(max(0.25rem, 3px) + 0.5rem);
  --offset-negative: calc((max(0.25rem, 3px) + 0.5rem) * -1);
  z-index: 2;
  border: none;
  position: absolute;
  top: calc(50% - 1rem);
  left: calc(50% - 1rem);
  width: 2rem;
  height: 2rem;
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: var(--offset) var(--offset) 0 -0.5rem #fff, var(--offset) var(--offset-negative) 0 -0.5rem #fff, var(--offset-negative) var(--offset-negative) 0 -0.5rem #fff, var(--offset-negative) var(--offset) 0 -0.5rem #fff, 0 0 0 0.75rem rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition-property: transform, opacity;
  transition-duration: 0.25s;
  will-change: transform;
  opacity: 0;
}
.sec.single-event.corpo .gallery .zoom::after {
  content: "";
  position: absolute;
  inset: -1rem;
}
@media not all and (pointer: coarse) {
  .sec.single-event.corpo .gallery .zoom:hover {
    transform: scale(1.2);
  }
}
.sec.single-event.corpo .modulo {
  grid-column: span 8;
  margin-top: calc(var(--margin-208) / 2);
}
.sec.single-event.corpo .modulo h2 {
  margin-bottom: var(--size-56);
}
@container layout (width < 50rem) {
  .sec.single-event.corpo .content {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .sec.single-event.corpo .info {
    grid-column: 1/-1;
    grid-row: 1;
    padding-bottom: var(--margin-160);
  }
  .sec.single-event.corpo .info .widgets {
    max-width: none;
    margin-inline: auto;
  }
  .sec.single-event.corpo .modulo {
    grid-column: 1/-1;
  }
}

.widgets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(19.75rem, 100%), 1fr));
  row-gap: calc(var(--size-32) * 2);
  -moz-column-gap: max(var(--wide-gap), 2rem);
       column-gap: max(var(--wide-gap), 2rem);
  font-size: var(--size-18);
  line-height: 150%;
}
.widgets > div {
  border-top: var(--border-2) solid var(--color-4);
}
.widgets > div:last-child {
  border: none;
}
.widgets h2 {
  font-weight: 700;
  margin-block: 0.8em;
}
.widgets p span {
  display: block;
}
.widgets p + p {
  margin-top: 1.5em;
}
.widgets a:not(.link) {
  text-decoration: underline;
  text-underline-offset: 0.1em;
  font-weight: 700;
  color: inherit;
}

.wpcf7 {
  container: form/inline-size;
}
.wpcf7 form {
  --color: #B8B8B8;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: var(--wide-gap);
       column-gap: var(--wide-gap);
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel] {
  box-sizing: border-box;
  line-height: 100%;
  font-size: var(--size-18);
  font-family: inherit;
  color: var(--color-4);
  outline: none;
  border: none;
  border-bottom: var(--border-2) solid var(--color);
  padding-bottom: 0.5em;
  width: 100%;
  background-color: transparent !important;
}
.wpcf7 input[type=text]::-moz-placeholder, .wpcf7 input[type=email]::-moz-placeholder, .wpcf7 input[type=tel]::-moz-placeholder {
  color: var(--color);
}
.wpcf7 input[type=text]::placeholder,
.wpcf7 input[type=email]::placeholder,
.wpcf7 input[type=tel]::placeholder {
  color: var(--color);
}
.wpcf7 input[type=text]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=tel]:focus {
  border-color: var(--color-4);
}
.wpcf7 textarea {
  box-sizing: border-box;
  line-height: 135%;
  font-size: var(--size-18);
  font-family: inherit;
  color: var(--color-4);
  outline: none;
  border: var(--border-2) solid var(--color);
  width: 100%;
  height: 12em;
  resize: vertical;
  margin-top: 0.5em;
  padding: 0.5em;
  border-radius: 0.5rem;
}
.wpcf7 textarea:focus {
  border-color: var(--color-4);
}
.wpcf7 p:has(textarea) {
  line-height: 100%;
  font-size: var(--size-18);
  font-family: inherit;
}
.wpcf7 p:has(textarea) label {
  color: var(--color);
}
.wpcf7 span[data-name=user-message] {
  display: block;
}
.wpcf7 p:has(.warn),
.wpcf7 p:has(input[type=checkbox]) {
  font-size: max(0.9rem, 12px);
  line-height: 120%;
}
.wpcf7 p:has(textarea),
.wpcf7 p:has(.warn),
.wpcf7 p:has(input[name=privacy]),
.wpcf7 p:has(input[name=your-consent]),
.wpcf7 p:has(button) {
  grid-column: 1/-1;
}
.wpcf7 p:has(input[type=text]),
.wpcf7 p:has(input[type=email]),
.wpcf7 p:has(input[type=tel]) {
  margin-bottom: var(--size-56);
}
.wpcf7 p:has(.warn),
.wpcf7 p:has(input[type=checkbox]) {
  margin-top: 1.25rem;
}
.wpcf7 .wpcf7-response-output {
  grid-column: 1/-1;
}
.wpcf7 p:has(button) {
  display: flex;
  align-items: center;
  margin-top: var(--size-56);
}
.wpcf7 .wpcf7-list-item:has(input[type=checkbox]) {
  margin-left: 0;
}
.wpcf7 .wpcf7-list-item:has(input[type=checkbox]) label {
  display: flex;
}
.wpcf7 .wpcf7-list-item:has(input[type=checkbox]) input {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.75em;
}
.wpcf7 .wpcf7-form-control-wrap {
  position: relative;
  display: block;
  padding-bottom: 0;
  transition: padding-bottom 0.3s;
}
.wpcf7 .wpcf7-form-control-wrap:has(input[type=checkbox]) .wpcf7-not-valid-tip {
  padding-left: 1.75em;
}
.wpcf7 .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) {
  padding-bottom: 1.2rem;
}
.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  font-size: max(0.9rem, 12px);
  position: absolute;
  left: 0;
  top: calc(100% - 1em);
  animation: show 0.3s both;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.wpcf7 .wpcf7-spinner {
  width: 1rem;
  height: 1rem;
  background-color: var(--color-4);
  opacity: 1;
}
.wpcf7 .wpcf7-spinner::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  background-color: transparent;
  top: -0.5rem;
  left: -0.5rem;
  width: 2rem;
  height: 2rem;
  border: var(--border-2) solid var(--color-4);
  border-bottom-color: transparent;
  border-radius: 50%;
  transform-origin: center center;
}
.wpcf7 form .wpcf7-response-output {
  margin-inline: 0;
  font-size: var(--size-18);
  line-height: 140%;
  padding: 0.75em 1.25em;
  border-radius: 2rem;
}
.wpcf7 form.sent .wpcf7-response-output {
  display: flex;
  align-items: center;
}
.wpcf7 form.sent .wpcf7-response-output::before {
  content: "";
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  display: block;
  margin-right: 1em;
  background-image: url("./images/ok.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
@container form (width < 35rem) {
  .wpcf7 form {
    grid-template-columns: 1fr;
  }
}

.fancybox {
  background-color: var(--color-4);
  position: fixed;
  inset: 0;
  z-index: 99;
  box-sizing: border-box;
  padding: 3vh 3vw;
  opacity: 0;
  display: none;
  transition-property: opacity display;
  transition-duration: 0.5s;
  transition-behavior: allow-discrete;
}
.fancybox.open {
  opacity: 1;
  transition-delay: 0.1s;
  display: block;
}
@starting-style {
  .fancybox.open {
    opacity: 0;
  }
}
.fancybox .prev,
.fancybox .next,
.fancybox .close-window {
  position: absolute;
  z-index: 5;
  background-color: hsla(0, 0%, 100%, 0.5);
  mix-blend-mode: normal;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
}
.fancybox .prev::before, .fancybox .prev::after,
.fancybox .next::before,
.fancybox .next::after,
.fancybox .close-window::before,
.fancybox .close-window::after {
  filter: invert(1);
}
.fancybox .close-window {
  top: 1rem;
  right: 1rem;
}
.fancybox .prev {
  top: calc(50% - var(--size) / 2);
  left: 1rem;
}
.fancybox .next {
  top: calc(50% - var(--size) / 2);
  right: 1rem;
}
.fancybox .swiper-gallery {
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.fancybox .swiper-slide img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.sec.contatti {
  padding-bottom: var(--margin-208);
}
.sec.contatti .layout {
  align-items: first baseline;
}
.sec.contatti .info {
  grid-column: span 4;
}
.sec.contatti .info .widgets {
  max-width: 19.75rem;
  box-sizing: border-box;
}
.sec.contatti .info .widgets > div {
  padding-left: 3rem;
  position: relative;
}
.sec.contatti .info .widgets > div.a::before, .sec.contatti .info .widgets > div.b::before, .sec.contatti .info .widgets > div.c::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2.5rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.sec.contatti .info .widgets > div.a::before {
  background-image: url("./images/icons/pin-map.svg");
}
.sec.contatti .info .widgets > div.b::before {
  background-image: url("./images/icons/orari.svg");
}
.sec.contatti .info .widgets > div.c::before {
  background-image: url("./images/icons/utente.svg");
}
.sec.contatti .info .widgets > div span {
  color: var(--color-1);
}
.sec.contatti .modulo {
  grid-column: span 8;
}
.sec.contatti .modulo h2 {
  margin-bottom: var(--size-56);
}
.sec.contatti div:has(> .social) {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: max(10%, 1rem);
       column-gap: max(10%, 1rem);
  row-gap: 1rem;
}
.sec.contatti .social {
  display: inline-block;
  font-size: var(--size-40);
  width: 1em;
  height: 1em;
  filter: var(--to-black);
}
@container layout (width < 50rem) {
  .sec.contatti .info {
    grid-column: 1/-1;
    padding-bottom: var(--margin-160);
  }
  .sec.contatti .info .widgets {
    max-width: none;
  }
  .sec.contatti .modulo {
    grid-column: 1/-1;
  }
}

.videobox {
  background-color: var(--color-4);
  position: fixed;
  inset: 0;
  z-index: 99;
  box-sizing: border-box;
  padding: 3vh 3vw;
  opacity: 0;
  display: none;
  transition-property: opacity display;
  transition-duration: 0.5s;
  transition-behavior: allow-discrete;
}
.videobox.open {
  opacity: 1;
  transition-delay: 0.1s;
  display: block;
}
@starting-style {
  .videobox.open {
    opacity: 0;
  }
}
.videobox .close-window {
  position: absolute;
  z-index: 5;
  background-color: hsla(0, 0%, 100%, 0.5);
  mix-blend-mode: normal;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
  top: 1rem;
  right: 1rem;
}
.videobox .close-window::before, .videobox .close-window::after {
  filter: invert(1);
}
.videobox .container {
  width: 100%;
  height: 100%;
  container: videocontainer/size;
  align-items: center;
  justify-content: center;
  display: flex;
  max-width: var(--wide);
  margin-inline: auto;
}
@container videocontainer (aspect-ratio > 16/9) {
  .videobox iframe {
    height: 100%;
    aspect-ratio: 16/9;
  }
}
@container videocontainer (aspect-ratio <=16/9) {
  .videobox iframe {
    width: 100%;
    aspect-ratio: 16/9;
  }
}

.error-404 {
  grid-column: 1/-1;
  color: var(--color-4);
  color: #fff;
  min-height: calc(100svh - 3.73rem - var(--margin-24));
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding-block: 2rem calc(3.73rem + var(--margin-24));
}
.error-404 h1 {
  font-family: var(--noctis);
  font-weight: 700;
  font-size: var(--size-72);
  color: var(--color-1);
  margin-block: 0.75em 0.35em;
  text-shadow: 0 0.05em 0.1em hsla(0, 0%, 0%, 0.25);
}
.error-404 p {
  font-size: var(--size-32);
  margin-block: 0 2.5em;
}
.error-404 > div {
  position: relative;
}
.error-404 > div::before {
  content: "";
  display: block;
  width: 300%;
  aspect-ratio: 1;
  position: absolute;
  background-image: url("./images/backgrounds/evento-singolo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1;
  top: 33%;
  left: 50%;
  translate: -50% -50%;
}

.grecaptcha-badge {
  visibility: hidden;
}/*# sourceMappingURL=style.css.map */