/*
 * GW Slider - stili del front office (goticoweb.it)
 * Le misure riproducono la hero originale (griglie 1240/1024/778/480 px).
 * --gw-s e' un fattore di scala (oggi sempre 1: i livelli originali non riducono le misure).
 */
.gw-slider-wrap {
  position: relative;
  width: 100%;
  height: 100vh;
}
.gw-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #adadab;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 30px;
  color: #fff;
  visibility: hidden;
  --gw-s: 1;
  --gw-t-size: 100px;
  --gw-t-lh: 80px;
  --gw-t-ls: -7px;
  --gw-m-size: 60px;
  --gw-m-lh: 60px;
  --gw-m-ls: -4px;
  --gw-m-w: 800px;
  --gw-m-padx: 20px;
  --gw-m-gap: 100px;
  --gw-m-top: 150px;
  --gw-row-mb: 80px;
  --gw-menu-off: 80px;
  --gw-in-x: 80px;
  --gw-in-y: 80px;
  --gw-fb-x: 118px;
  --gw-fb-y: 80px;
  --gw-col-pad: 0px;
}
.gw-slider.is-ready { visibility: visible; }
.gw-slider.gw-level-n { --gw-t-size: 80px; --gw-t-lh: 65px; --gw-t-ls: -6px; --gw-m-w: 700px; --gw-m-padx: 0px; --gw-fb-x: 230px; }
.gw-slider.gw-level-t { --gw-t-size: 60px; --gw-t-lh: 50px; --gw-t-ls: -4px; --gw-m-size: 50px; --gw-m-lh: 50px; --gw-m-ls: -3px; --gw-m-w: 480px; --gw-m-padx: 0px; --gw-m-gap: 90px; --gw-m-top: 150px; --gw-row-mb: 30px; --gw-menu-off: 30px; --gw-in-x: 30px; --gw-in-y: 30px; --gw-fb-x: 180px; --gw-fb-y: 30px; }
.gw-slider.gw-level-m { --gw-t-size: 50px; --gw-t-lh: 40px; --gw-t-ls: -3px; --gw-m-size: 40px; --gw-m-lh: 40px; --gw-m-ls: -2px; --gw-m-w: 360px; --gw-m-padx: 0px; --gw-m-gap: 80px; --gw-m-top: 120px; --gw-row-mb: 30px; --gw-menu-off: 30px; --gw-in-x: 25px; --gw-in-y: 30px; --gw-fb-x: 25px; --gw-fb-y: 150px; --gw-col-pad: 30px; }

.gw-slider *, .gw-slider *::before, .gw-slider *::after { box-sizing: border-box; }
.gw-slider .gw-ico { width: 1em; height: 1em; vertical-align: -0.15em; }
.gw-slider .gw-ico-arrow { width: 1.15em; margin-left: 10px; }
.gw-slider .gw-ico-plus { width: 0.8em; height: 0.8em; margin-left: 10px; vertical-align: -0.05em; }

/* ---------- slide e sfondo */
.gw-slides { position: absolute; inset: 0; }
.gw-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: opacity 0.3s linear, visibility 0s linear 0.3s;
}
.gw-slide.is-current { opacity: 1; visibility: visible; z-index: 2; transition: opacity 0.3s linear, visibility 0s; }
.gw-bg { position: absolute; inset: 0; overflow: hidden; }
.gw-bg picture, .gw-bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.gw-bg img {
  object-fit: cover;
  object-position: center center;
  transform: scale(1.1);
  filter: blur(20px);
  will-change: transform, filter;
}
.gw-slide.is-zoomed .gw-bg img {
  transform: scale(1);
  filter: blur(0);
  transition: transform 2s cubic-bezier(0.77, 0, 0.175, 1), filter 2s cubic-bezier(0.77, 0, 0.175, 1);
}

/* ---------- zone, righe, colonne */
.gw-zone { position: absolute; left: 0; right: 0; z-index: 11; }
.gw-zone-middle { top: 50%; transform: translateY(-50%); }
.gw-zone-bottom { bottom: 0; }
.gw-row { display: flex; width: 100%; }
.gw-zone-bottom .gw-row { margin-bottom: calc(var(--gw-row-mb) * var(--gw-s)); }
.gw-col { flex: 0 0 50%; max-width: 50%; min-width: 0; }
.gw-col-left { text-align: right; }
.gw-zone-middle .gw-col-left { padding-left: calc(var(--gw-col-pad) * var(--gw-s)); }
.gw-level-m .gw-row { flex-direction: column; }
.gw-level-m .gw-col { flex: 0 0 auto; max-width: 100%; }
.gw-level-m .gw-col-left { text-align: left; }

/* ---------- livelli e animazioni di entrata/uscita */
.gw-layer, .gw-static {
  display: inline-block;
  vertical-align: top;
  will-change: clip-path, opacity;
}
.gw-layer[data-anim="ltr"], .gw-static[data-anim="ltr"] { clip-path: inset(0 100% 0 0); }
.gw-layer[data-anim="rtl"], .gw-static[data-anim="rtl"] { clip-path: inset(0 0 0 100%); }
.gw-layer[data-anim="ttb"] { clip-path: inset(0 0 100% 0); }
.gw-layer[data-anim="btt"] { clip-path: inset(100% 0 0 0); }
.gw-layer.is-in, .gw-static.is-in {
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.gw-static.is-in { transition-duration: 1s; transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); }
.gw-layer.is-out { opacity: 0; transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
.gw-layer.gw-title.is-out { transition-duration: 0.1s; }

/* ---------- categoria, titolo, bottone */
.gw-category span {
  display: inline-block;
  padding: 0 calc(5px * var(--gw-s));
  font-size: calc(15px * var(--gw-s));
  line-height: calc(30px * var(--gw-s));
  color: #2d2d2d;
}
.gw-title { width: 100%; }
.gw-title-text {
  display: block;
  margin: calc(30px * var(--gw-s)) 0 calc(70px * var(--gw-s));
  padding: 0;
  font-family: 'Limelight', cursive;
  font-weight: 400;
  font-size: calc(var(--gw-t-size) * var(--gw-s));
  line-height: calc(var(--gw-t-lh) * var(--gw-s));
  letter-spacing: calc(var(--gw-t-ls) * var(--gw-s));
  color: #2d2d2d;
  text-transform: uppercase;
  text-align: inherit;
  overflow: visible;
}
.gw-char {
  display: inline-block;
  white-space: pre;
  opacity: 0;
  transform: translateX(50px);
  filter: blur(10px);
  will-change: opacity, transform, filter;
}
.gw-layer.is-in .gw-char {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1), filter 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.gw-btn {
  display: inline-block;
  padding: 0 calc(10px * var(--gw-s)) 0 calc(30px * var(--gw-s));
  font-size: calc(15px * var(--gw-s));
  line-height: calc(30px * var(--gw-s));
  color: #2d2d2d;
  border: 1px solid #2d2d2d;
  border-radius: 2px;
  text-decoration: none;
  cursor: crosshair;
  white-space: nowrap;
}
.gw-slider a.gw-btn:link, .gw-slider a.gw-btn:visited { color: #2d2d2d; text-decoration: none; }
.gw-slider a.gw-btn:hover, .gw-slider a.gw-btn:focus { color: #fff; border-color: #fff; text-decoration: line-through; }
.gw-level-m .gw-btn, .gw-slider.gw-level-m a.gw-btn:link, .gw-slider.gw-level-m a.gw-btn:visited { color: #fff; }

/* ---------- numero e frecce */
.gw-number span {
  display: inline-block;
  margin-right: calc(30px * var(--gw-s));
  padding: 0 calc(5px * var(--gw-s));
  font-size: calc(12px * var(--gw-s));
  line-height: calc(30px * var(--gw-s));
  color: #fff;
}
.gw-number b { font-weight: 800; font-size: calc(20px * var(--gw-s)); }
.gw-level-m .gw-number span { margin: 0 calc(10px * var(--gw-s)) 0 calc(30px * var(--gw-s)); }
.gw-arrow {
  display: block;
  width: calc(30px * var(--gw-s));
  height: calc(30px * var(--gw-s));
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.5);
  font-size: calc(15px * var(--gw-s));
  line-height: calc(30px * var(--gw-s));
  text-align: center;
  cursor: crosshair;
}
.gw-nav-prev { margin-right: calc(5px * var(--gw-s)); }
.gw-slider .gw-arrow:hover { color: #fff; }

/* ---------- menu a comparsa */
.gw-menu-btn {
  position: absolute;
  top: calc(var(--gw-menu-off) * var(--gw-s));
  right: calc(var(--gw-menu-off) * var(--gw-s));
  z-index: 33;
}
.gw-menu-toggle {
  display: inline-block;
  padding: 0 5px;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 15px;
  line-height: 30px;
  color: #2d2d2d;
  cursor: crosshair;
  white-space: nowrap;
}
.gw-level-n .gw-menu-toggle, .gw-level-t .gw-menu-toggle, .gw-level-m .gw-menu-toggle { color: #fff; }
.gw-slider .gw-menu-toggle:hover { color: #fff; text-decoration: line-through; }
.gw-menu-open { display: none; }
.is-menu-open .gw-menu-open { display: inline; }
.is-menu-open .gw-menu-closed { display: none; }
.gw-cover {
  position: absolute;
  inset: 0;
  z-index: 30;
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  cursor: crosshair;
  transition: opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), visibility 0s linear 0.6s;
}
.is-menu-open .gw-cover { opacity: 1; visibility: visible; transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), visibility 0s; }
.gw-menu { position: absolute; inset: 0; z-index: 39; pointer-events: none; }
.gw-menu-item {
  position: absolute;
  left: 50%;
  top: calc(50% + (var(--gw-mi) - var(--gw-mc)) * var(--gw-m-gap) * var(--gw-s));
  width: calc(var(--gw-m-w) * var(--gw-s));
  padding: calc(20px * var(--gw-s)) calc(var(--gw-m-padx) * var(--gw-s));
  font-family: 'Limelight', cursive;
  font-weight: 400;
  font-size: calc(var(--gw-m-size) * var(--gw-s));
  line-height: calc(var(--gw-m-lh) * var(--gw-s));
  letter-spacing: calc(var(--gw-m-ls) * var(--gw-s));
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: grayscale(100%);
  cursor: crosshair;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, -50%) translateY(-100px) scale(1.2);
  transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), filter 0.3s;
}
.gw-level-t .gw-menu-item, .gw-level-m .gw-menu-item {
  top: calc((var(--gw-m-top) + var(--gw-mi) * var(--gw-m-gap)) * var(--gw-s));
  transform: translate(-50%, 0) translateY(-100px) scale(1.2);
  white-space: normal;
}
.is-menu-open .gw-menu { pointer-events: auto; }
.is-menu-open .gw-menu-item {
  opacity: 1;
  transform: translate(-50%, -50%);
  transition: opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), transform 0.6s cubic-bezier(0.23, 1, 0.32, 1), filter 0.3s;
}
.is-menu-open.gw-level-t .gw-menu-item, .is-menu-open.gw-level-m .gw-menu-item { transform: translate(-50%, 0); }
.gw-menu-item.is-leaving { opacity: 0; transform: translate(-50%, -50%) translateY(100px); }
.gw-level-t .gw-menu-item.is-leaving, .gw-level-m .gw-menu-item.is-leaving { transform: translate(-50%, 0) translateY(100px); }
.gw-slider a.gw-menu-item:link, .gw-slider a.gw-menu-item:visited { color: #fff; text-decoration: none; }
.gw-slider a.gw-menu-item:hover { filter: grayscale(0); color: #fff; }

/* ---------- social */
.gw-social {
  position: absolute;
  width: 30px;
  z-index: 35;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  cursor: crosshair;
}
.gw-social-in { right: calc(var(--gw-in-x) * var(--gw-s)); bottom: calc(var(--gw-in-y) * var(--gw-s)); }
.gw-social-fb { right: calc(var(--gw-fb-x) * var(--gw-s)); bottom: calc(var(--gw-fb-y) * var(--gw-s)); z-index: 38; }
.gw-slider a.gw-social:link, .gw-slider a.gw-social:visited { color: #fff; text-decoration: none; }
.gw-slider a.gw-social:hover { color: #fff; text-decoration: line-through; }

/* ---------- pallini */
.gw-bullets {
  position: absolute;
  left: 80px;
  bottom: 80px;
  z-index: 20;
  display: flex;
  gap: 5px;
}
.gw-narrow .gw-bullets { display: none; }
.gw-bullet {
  position: relative;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: transparent;
  box-shadow: inset 0 0 0 1px #fff;
  cursor: pointer;
  transition: background 0.3s ease;
}
.gw-bullet::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #fff;
  box-shadow: 0 0 1px #fff;
  transition: height 0.3s ease;
}
.gw-bullet.is-selected::after { height: 100%; }
.gw-bullet:hover { background: #fff; }

@media (prefers-reduced-motion: reduce) {
  .gw-slider * { transition-duration: 0.01ms !important; transition-delay: 0ms !important; }
}
