/*!
Theme Name: Terre di Sacra Custom
Theme URI: http://underscores.me/
Author: Lorenzo Frua
Author URI: https://lorenzofrua.com
Description: Custom made theme for Terre di Sacra by Lorenzo Frua
Version: 1.2.8
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: lf_tds_custom
Tags: lorenzo-Frua, lorenzofrua-custom-themes, lf-custom-themes, moso-custom-theme
*/

/* -----------------------------------
==============================================================================
	# GENERAL
==============================================================================
----------------------------------- */

:root {
  --serif: "EB Garamond", serif;
  --sans-serif: "PT Sans", sans-serif;
  /* --text-blue: #192636; */
  /* --text-blue: #2a2b2c; */
  --text-blue: #282e2c;
  --panna: #ddd4cb;
  --panna-op5: rgba(221, 212, 203, 0.5);
  --senape: #beb6a0;
  --shade-panna: linear-gradient(to bottom right, #f0ece7, #ddd4cb);
  font-family: "PT Sans", sans-serif;

  --main-color-lighter: #333b38;

  --vh-full-height: 100vh;
}

* {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: underline;
  transition-duration: 0.3s;
}

p a:hover {
  color: inherit;
  opacity: 0.7;
  text-decoration: none;
}

p,
a,
ul,
li,
ol,
em,
figcaption {
  font-family: var(--sans-serif);
  line-height: 1.6;
}

.testo p,
.testo li,
.testo em {
  margin-bottom: 0.8rem;
  color: var(--text-blue);
}

.testo p:last-child,
.testo li:last-child,
.testo em:last-child {
  margin-bottom: 0;
}

.testo.op p,
.testo.op ul,
.testo.op em {
  opacity: 0.7;
}

.testo.op a {
  text-decoration: underline;
  color: inherit;
  transition-duration: 0.3s;
}

.testo.op a:hover {
  color: var(--senape);
}

.testo.em {
  margin-bottom: 3rem;
}

.testo.em em {
  font-size: 1.25rem;
}

.testo.blue p {
  color: var(--text-blue);
}

.testo.white p {
  color: white;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--serif);
  line-height: 0.8;
}

main h2,
main h3,
main h4,
main h5,
main h6 {
  line-height: 1.3;
  margin-bottom: 2rem;
}

h1 {
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1.1;
}

h4 {
  font-size: 1.125rem;
}

.center {
  text-align: center;
}

.white {
  color: white;
}

.blue {
  color: var(--text-blue);
}

section {
  overflow: hidden;
}

section.padd {
  padding-top: 6rem;
  padding-bottom: 8rem;
}

div.padd {
  padding-top: 6rem;
  padding-bottom: 8rem;
}

section.shape-sect {
  position: relative;
  overflow: hidden;
}

section.shape.padd {
  position: relative;
  padding-top: 9rem;
  padding-bottom: 8rem;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}

section.shape.padd::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

.site-content {
  overflow-x: hidden;
}

img,
object {
  pointer-events: none;
}

img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

.hidden {
  display: none;
}

.grecaptcha-badge {
  visibility: hidden;
}

figure figcaption {
  font-size: 0.626rem;
  opacity: 0.5;
}

@media (max-width: 768px) {
  .only-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .only-mobile {
    display: none;
  }
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 992px) {
  .col-md-8.offset-md-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .col-md-6.colonna.txt {
    padding: 3rem !important;
  }

  .col-md-6.colonna.txt h2.titolo-greche-sx {
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }

  section.padd {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }

  section.shape {
    width: 100%;
    left: 0;
  }

  section.shape.padd {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# Hero - space
------------------------- */

section#hero.standard {
  padding-top: 20vh;
  padding-bottom: 24vh;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

section#hero.standard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  section#hero.standard {
    padding-top: 18vh;
    padding-bottom: 18vh;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# Titoli con greche
------------------------- */

.titolo-greche-cont {
  margin-bottom: 4rem;
}

.titolo-greche {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.1;
  display: inline-block;
  position: relative;
  margin: 0;
}

.titolo-greche.blue {
  color: var(--text-blue);
}

.titolo-greche.white {
  color: white;
}

.titolo-greche::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.titolo-greche::after {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  right: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-dx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* -------------------------
	# Titoli con greche sx
------------------------- */

.titolo-greche-sx {
  font-size: 2.25rem;
  font-weight: 600;
  display: inline-block;
  position: relative;
  margin: 0;
  line-height: 1.1;
}

.titolo-greche-sx.blue {
  color: var(--text-blue);
}

.titolo-greche-sx.white {
  color: white;
}

.titolo-greche-sx::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* -------------------------
	# Titoli Articoli con greche sx
------------------------- */

#primary.blog-post h1 {
  font-size: 3rem;
  line-height: 1.3;
  font-weight: 600;
  display: inline-block;
  position: relative;
  margin: 0;
  color: var(--text-blue);
}

#primary.blog-post h1::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#primary.blog-post .entry-content h2 {
  font-size: 2.25rem;
  line-height: 1.3;
  font-weight: 600;
  display: inline-block;
  position: relative;
  margin-top: 3rem;
  margin-bottom: 2rem;
  color: var(--text-blue);
}

#primary.blog-post .entry-content h2::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  .titolo-greche {
    font-size: 1.5rem;
    line-height: 1.2;
    padding-left: 5%;
    padding-right: 5%;
  }

  .titolo-greche::before {
    left: 0;
  }

  .titolo-greche::after {
    right: 0;
  }

  .titolo-greche-sx {
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .titolo-greche-sx::before {
    width: 1.5rem;
    left: -0.6rem;
  }

  #primary.blog-post .entry-content figure img {
    width: 100%;
    height: auto;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# Titoletti
------------------------- */

.titoletto h3 {
  font-size: 1.5rem;
  line-height: 1.1;
}

/* -------------------------
	# Super big title + sub
------------------------- */

.super-big-title-cont {
  display: inline-block;
}

.super-big-title {
  font-size: 5.25rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}

.subtitle-big {
  font-family: var(--sans-serif);
  font-size: 0.625rem;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  text-align: left;
  margin-left: 2rem;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  .super-big-title {
    font-size: 3rem;
  }
	
	.subtitle-big {
		margin-left: 0;
		text-align: center;
	}
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# CTA
------------------------- */

.cta-cont {
  display: inline-block;
}

.cta {
  width: 18rem;
  height: 4.375rem;
  text-align: left;
  position: relative;
  padding: 1rem 1.6rem;
  float: left;
  background-color: rgba(0, 0, 0, 0.5);
  border-top: solid 0.5px rgba(255, 255, 255, 0.5);
  border-bottom: solid 0.5px rgba(255, 255, 255, 0.5);
  border-right: solid 0.5px rgba(255, 255, 255, 0.5);
  transition-duration: 0.3s;
}

.cta:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.button:nth-child(1) .cta {
  border-left: solid 0.5px rgba(255, 255, 255, 0.5);
}

.cta .text {
  float: left;
}

.cta .argomento {
  font-size: 0.5rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  margin-bottom: -0.4rem;
}

.cta .anchor {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.5rem;
  color: white;
  margin: 0;
}

.cta .arrow {
  float: right;
  margin-top: 1.5rem;
  transition-duration: 0.3s;
}

/* -------------------------
	# Button
------------------------- */

.single-button {
  width: 18rem;
  min-height: 4.375rem;
  text-align: left;
  position: relative;
  padding: 1rem 1.6rem;
  display: inline-block;
  transition-duration: 0.3s;
  max-width: 100%;
}

.single-button.large {
  width: 24rem;
}

.single-button .text {
  display: inline-block;
  max-width: 80%;
}

.single-button.large .text {
  display: inline-block;
  max-width: 90%;
}

.single-button .argomento {
  font-size: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  margin-bottom: 0;
}

.single-button .anchor {
  font-family: var(--serif);
  line-height: 1.1;
  font-weight: 600;
  font-size: 1.5rem;
  margin: 0;
}

.single-button .arrow {
  float: right;
  margin-top: 1.5rem;
}

/* -- Color -- */

/*  Blue  */

.single-button.blue {
  background-color: rgba(25, 38, 54, 0.1);
  border-left: solid 0.5px rgba(25, 38, 54, 0.5);
  border-top: solid 0.5px rgba(25, 38, 54, 0.5);
  border-bottom: solid 0.5px rgba(25, 38, 54, 0.5);
  color: var(--text-blue);
}

.single-button.blue:hover {
  background-color: rgba(25, 38, 54, 0.7);
  color: white;
}

.single-button.blue:hover .arrow {
  filter: brightness(8);
}

.button:last-child .single-button.blue {
  border-right: solid 0.5px rgba(25, 38, 54, 0.5);
}

/*  Dark  */

.single-button.dark {
  background-color: rgba(0, 0, 0, 0.3);
  border-left: solid 0.5px rgba(255, 255, 255, 0.5);
  border-top: solid 0.5px rgba(255, 255, 255, 0.5);
  border-bottom: solid 0.5px rgba(255, 255, 255, 0.5);
  color: white;
}

.single-button.dark:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.button:last-child .single-button.dark {
  border-right: solid 0.5px rgba(255, 255, 255, 0.5);
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  .single-button,
  .single-button.large {
    width: 100%;
  }

  .single-button.large .text {
    max-width: 80%;
  }

  .single-button.large .anchor {
    font-size: 1.3rem;
  }

  .cta-cont {
    flex-direction: column;
  }

  .cta {
    border: solid 0.5px rgba(255, 255, 255, 0.5);
  }

  .cta.sx {
    margin-bottom: 0.5rem;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# NEW Button
------------------------- */

.new-buttons-cont {
  display: flex;
  justify-content: center;
}

.new-buttons-cont.space {
  gap: 2rem;
}

.new-button,
.new-button-small {
  font-size: 1rem;
  position: relative;
  width: 16em;
  max-width: 100%;
}

.new-button.x-large {
  width: 18rem;
  max-width: 100%;
}

.new-button.blur {
  background-color: rgba(0, 0, 0, 0.3);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  .new-button.blur {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: transparent;
  }
}

.new-button::before,
.new-button-small::before {
  content: "";
  position: absolute;
  width: calc(200% + 2px);
  height: calc(200% + 2px);
  left: calc(-50% - 1px);
  top: calc(-50% - 1px);
  border-width: 1px;
  border-style: solid;
  border-right-width: 0;
  transform: scale(0.5, 0.49);
  opacity: 0.5;
}

.new-buttons-cont.space .new-button::before,
.new-buttons-cont.space .new-button-small::before {
  border-right-width: 1px;
}

.new-button:last-of-type:before,
.new-button-small:last-of-type:before {
  border-right-width: 1px;
}

.new-button.light::before,
.new-button-small.light::before {
  border-color: white;
}

.new-button.dark::before,
.new-light.dark::before {
  border-color: var(--text-blue);
}

.new-button button {
  all: unset;
  cursor: pointer;
}

.new-button a,
.new-button button,
.new-button-small a,
.new-button-small button {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 1.25em 3.75em 1.25em 1.5em;
  text-decoration: none;
  transition: color 0.3s;
}

.new-button button,
.new-button-small button {
  position: relative;
  display: inline-block;
  width: calc(100% - 3.75rem - 1.5rem);
  height: calc(100% - 1.25rem - 1.25rem);
  padding: 1.25em 3.75em 1.25em 1.5em;
  text-decoration: none;
  transition: color 0.3s;
}

.new-button-small a,
.new-button-small button {
  padding: 0.35em 3.75em 0.35em 1.5em;
}

.new-button a::before,
.new-button button::before,
.new-button-small a::before,
.new-button-small button::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transition: background 0.3s;
}

.new-button.dark a::before,
.new-button.dark button::before,
.new-button-small.dark a::before,
.new-button-small.dark button::before {
  background-color: rgba(25, 36, 54, 0.1);
}

.new-button.light a,
.new-button.light button,
.new-button-small.light a,
.new-button-small.light button {
  color: white;
}

.new-button.dark a,
.new-button.dark button,
.new-button-small.dark a,
.new-button-small.dark button {
  color: var(--text-blue);
}

.new-button.light a:hover::before,
.new-button.light button:hover::before,
.new-button-small.light a:hover::before,
.new-button-small.light button:hover::before {
  background-color: rgba(0, 0, 0, 0.25);
}

.new-button.dark a:hover::before,
.new-button.dark button:hover::before,
.new-button-small.dark a:hover::before,
.new-button-small.dark button:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

.new-button .arrow svg path#button-arrow,
.new-button-small .arrow svg path#button-arrow {
  transition: stroke 0.3s;
}

.new-button.light .arrow svg path#button-arrow,
.new-button-small.light .arrow svg path#button-arrow {
  stroke: white;
}

.new-button.dark .arrow svg path#button-arrow,
.new-button-small.dark .arrow svg path#button-arrow {
  stroke: var(--text-blue);
}

.new-button a > *,
.new-button button > *,
.new-button-small a > *,
.new-button-small button > * {
  position: relative;
}

.new-button a .text,
.new-button button .text,
.new-button-small a .text,
.new-button-small button .text {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}

.new-button a .text .main,
.new-button button .text .main {
  font-size: 1.5em;
  font-family: var(--serif);
  font-weight: 600;
  padding-top: 0.35em;
  line-height: 1.3;
  text-align: left;
}

.new-button-small a .text .main,
.new-button-small button .text .main {
  font-size: 1.125em;
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.3;
}

.new-button a .text .sup,
.new-button button .text .sup {
  position: absolute;
  top: 0;
  left: 0.25em;
  font-size: 0.5em;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.new-button a .arrow,
.new-button button .arrow,
.new-button-small a .arrow,
.new-button-small button .arrow {
  position: absolute;
  right: 1.25em;
  top: 2.1em;
  transition: transform 0.3s;
}

.new-button-small a .arrow,
.new-button-small button .arrow {
  top: 0.25em;
}

.new-button a:hover .arrow,
.new-button button:hover .arrow,
.new-button-small a:hover .arrow,
.new-button-small button:hover .arrow {
  transform: translateX(0.25em);
}

@media (max-width: 768px) {
  .new-buttons-cont,
  .new-buttons-cont.space {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }

  .new-button::before,
  .new-button-small::before {
    border-right-width: 1px;
  }
}

/* -------------------------
	# New contact buttons
------------------------- */

.contact-btn {
  position: relative;
}

.contact-btn::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  border: 1px solid var(--text-blue);
  opacity: 0.5;
  transform: scale(0.5, 0.5);
}

.contact-btn a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.contact-btn a:hover {
  background-color: rgba(15, 24, 34, 0.75);
}

.contact-btn a * {
  transition: color 0.3s;
}

.contact-btn a:hover * {
  color: white;
}

.contact-btn a > .content {
  padding: 1rem 0.5rem;
}

.contact-btn a > .content .icon {
  margin-bottom: 0.35rem;
}

.contact-btn a .icon svg path {
  transition: fill 0.3s;
}

.contact-btn a:hover .icon svg path {
  fill: white;
}

.contact-btn a > .content .title h4 {
  font-size: 1.5rem;
  font-weight: 600;
}

.contact-btn a > .content .content p {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  opacity: 0.7;
  margin-bottom: 0.25rem;
}

/* -------------------------
	# New Side section
------------------------- */

section.new-side {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

section.new-side.half {
  grid-template-columns: repeat(2, 1fr);
}

section.new-side .img {
  grid-column: span 2;
}

section.new-side.half .img {
  grid-column: unset;
}

section.new-side.flip .text {
  order: 2;
}

section.new-side .text {
  padding: 5rem 4rem 7rem;
}

section.new-side .text .new-title .sup p {
  font-size: 0.5rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-weight: 300;
  margin-bottom: 0.25rem;
}

section.new-side .text .new-title .title-cont h3 {
  font-size: 1.5rem;
  line-height: 1.1;
  margin-bottom: 2.25rem;
}

section.new-side .text .text-content p {
  opacity: 0.7;
}

section.new-side .text .text-content p:last-of-type {
  margin-bottom: 2.5rem;
}

section.new-side .img {
  height: 100%;
  position: relative;
}

section.new-side .img img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

section.new-side .img iframe {
  width: 100%;
  display: block;
}

@media (max-width: 768px) {
  section.new-side,
  section.new-side.half {
    grid-template-columns: 1fr;
    margin-bottom: 0;
  }

  section.new-side > * {
    order: 1;
  }

  section.new-side .text {
    padding: 4rem 2rem 3rem;
  }

  section.new-side .text,
  section.new-side.flip .text {
    order: 0;
  }

  section.new-side .img img {
    position: relative;
    height: auto;
    /* width: auto; */
    width: 100%;
  }
}

/* -------------------------
	# Play button animation
------------------------- */

path#play-oval {
  transform-origin: 28px 28px;
  animation: rotatePlay 8s linear 0s infinite;
}

@keyframes rotatePlay {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* -------------------------
	# Scroll animation
------------------------- */

#scroll-line {
  animation: scrollLine 1s ease-in-out 0s infinite alternate;
  -webkit-animation: scrollLine 1s ease-in-out 0s infinite alternate;
}

@keyframes scrollLine {
  from {
    transform: translate(0);
    /* stroke: rgba(255, 255, 255, 1); */
  }

  to {
    transform: translate(0, 0.5rem);
    /* stroke: rgba(255, 0, 0, 1); */
  }
}

@-webkit-keyframes scrollLine {
  from {
    -webkit-transform: -webkit-translate(0);
    /* stroke: rgba(255, 255, 255, 1); */
  }

  to {
    -webkit-transform: -webkit-translate(0, 0.5rem);
    /* stroke: rgba(255, 0, 0, 1); */
  }
}

/* -------------------------
	# Shapes
------------------------- */

.shape {
  position: absolute;
  left: -5%;
  width: 110%;
}

.shape.up {
  top: -1px;
}

.shape.down {
  bottom: -1px;
}

.shape-up-cont,
.shape-down-cont {
  fill: white;
}

@media (max-width: 1200px) {
  .shape.up {
    top: -0.5px;
  }

  .shape.down {
    bottom: -0.5px;
  }
}

.new-shape {
  position: absolute;
  left: -5%;
  width: 110%;
  height: auto;
  z-index: 2;
}

.new-shape.up {
  top: -1px;
}

.new-shape.down {
  bottom: -1px;
}

.new-shape.white path.new-shape-path {
  fill: white;
}

@media (max-width: 1200px) {
  .new-shape.up {
    top: -0.5px;
  }

  .new-shape.down {
    bottom: -0.5px;
  }
}

/* -------------------------
	# Section mega title
------------------------- */

section .section-mega-title {
  position: relative;
  display: inline-block;
  margin: auto;
}

section .section-mega-title h2 {
  font-size: 5.8vw;
  font-weight: 600;
  line-height: 1.2;
}

section .section-mega-title.white h2 {
  color: white;
}

section .section-mega-title h3.sub {
  font-family: var(--sans-serif);
  font-size: 0.625rem;
  letter-spacing: 0.3em;
  font-weight: 300;
  text-transform: uppercase;
  position: absolute;
  bottom: 0;
}

@media (max-width: 768px) {
  section .section-mega-title h2 {
    font-size: 9.8vw;
  }

  section .section-mega-title h3.sub {
    top: 100%;
    line-height: 1.6;
	 
	  right: 0 !important; /* !important because there's a "right" in the inline-style for some reason */
	  left: 0 !important;
  }
}

/* -------------------------
	# FORM
------------------------- */

#form {
  background-image: linear-gradient(to bottom right, #f0ece7, #ddd4cb);
}

#form .titolo-greche-cont {
  margin-bottom: 4rem;
}

#form input,
#form textarea,
#form label {
  font-family: var(--sans-serif);
  transition-duration: 0.3s;
}

#form input,
#form textarea {
  width: 100%;
  border: solid 0.5px rgba(25, 38, 54, 0.5);
  background-color: rgba(25, 38, 54, 0.2);
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1rem;
  color: var(--text-blue);
  outline: none;
}

#form textarea {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

#form input:focus,
#form textarea:focus {
  border: solid 0.5px rgba(25, 38, 54, 1);
  background-color: rgba(25, 38, 54, 0.1);
}

#form input::placeholder,
#form textarea::placeholder {
  color: var(--text-blue);
  font-size: 0.75rem;
  line-height: 1.6;
  opacity: 0.3;
  transform: translateY(0.15rem);
}

#form input[type="text"],
#form input[type="email"],
#form input[type="tel"] {
  height: 2.5rem;
}

#form input[type="submit"] {
  font-size: 0.75rem;
  background-color: rgba(25, 38, 54, 0.1);
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.0625rem;
  padding: 0;
  height: 2rem;
  width: 100%;
}

#form input[type="submit"]:hover {
  background-color: rgba(25, 38, 54, 0.7);
  color: white;
}

#form label {
  font-size: 0.75rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.0625rem;
  padding-left: 1rem;
  color: var(--senape);
  margin-bottom: 0.3rem;
}

#form label span {
  color: red;
  font-weight: normal;
}

#form .elemento-form {
  margin-bottom: 1.5rem;
}

#form form.wpcf7-form {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2rem;
}

#form form.wpcf7-form .elemento-form.big {
  grid-column: 1/4;
}

@media (max-width: 1200px) {
  #form .col-md-8.offset-md-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  #form form.wpcf7-form {
    grid-template-columns: 1fr;
  }

  #form form.wpcf7-form .elemento-form.big {
    grid-column: auto;
  }
}

/* -------------------------
	# FORM
------------------------- */

.fullpage-img {
  background-position: center;
  background-size: cover;
}

/* -------------------------
	# POPUP
------------------------- */

.popup {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 998;
  /* display: flex;
  justify-content: center;
  align-items: center; */
  cursor: pointer;
  transition-duration: 0.3s;
  overflow-y: scroll;
  opacity: 0;
  padding-top: 5vh;
  padding-bottom: 5vh;
}

.popup object,
.popup img {
  user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
}

.popup.form-prenotazione .titolo-greche-cont,
.popup.form-prenotazione-simulator .titolo-greche-cont {
  margin-bottom: 2rem;
}

.popup.form-prenotazione .titolo-greche,
.popup.form-prenotazione-simulator .titolo-greche {
  font-size: 1.5rem;
}

.popup.form-prenotazione .sottotitolo-cont,
.popup.form-prenotazione-simulator .titolo-greche {
  margin-bottom: 3rem;
}

.popup.form-prenotazione .sottotitolo-cont.sotto,
.popup.form-prenotazione-simulator .sottotitolo-cont.sotto {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.popup.form-prenotazione .sottotitolo-cont.toggle,
.popup.form-prenotazione-simulator .sottotitolo-cont.toggle {
  margin-bottom: 1rem;
}

.popup.form-prenotazione .sottotitolo,
.popup.form-prenotazione-simulator .sottotitolo {
  font-size: 1.2rem;
  line-height: 1.3;
}

.popup .campo-form {
  margin-bottom: 2rem;
}

.popup .input-cont {
  width: 100%;
  border-bottom: solid 0.5px var(--text-blue);
  padding: 0.3rem;
}

.popup .input-cont.select {
  width: 100%;
  border-bottom: none;
  padding: 0.3rem;
}

.popup .input-cont .input-icon {
  width: 1.2rem;
  max-width: 9%;
  vertical-align: middle;
}

.popup .input-cont.double .input-icon {
  max-width: 4%;
  vertical-align: top;
  margin-right: 0.2rem;
}

.popup label {
  font-family: var(--sans-serif);
  font-size: 0.75rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
  color: var(--text-blue);
  text-transform: uppercase;
  margin-left: 1rem;
}

.popup label span {
  color: red;
}

.popup input {
  width: 90%;
  background-color: transparent;
  border: none;
  float: right;
  font-family: var(--sans-serif);
  color: var(--text-blue);
}

.popup textarea {
  display: inline-block;
  width: 95%;
  background-color: transparent;
  border: none;
  font-family: var(--sans-serif);
  color: var(--text-blue);
}

.popup input::placeholder,
.popup textarea::placeholder {
  font-size: 0.75rem;
  opacity: 0.7;
  color: var(--text-blue);
  padding-top: 0.3rem;
}

.popup textarea::placeholder {
  transform: translateY(-0.25rem);
}

.popup input:focus,
.popup select:focus,
.popup textarea:focus {
  outline: none;
}

.popup .select-cont {
  display: inline-block;
  border: solid 1px rgba(25, 38, 54, 0.7);
  border-radius: 2px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-left: 0.5rem;
  height: 1.4rem;
  transform: translateY(0.2rem);
  transition-duration: 0.3s;
}

.popup .select-cont:hover {
  background-color: var(--text-blue);
}

.popup .select-cont:hover select {
  color: white;
}

.popup .select-cont:hover object,
.popup .select-cont:hover img {
  filter: invert();
}

.popup select {
  transform: translateY(-0.2rem);
  font-family: var(--sans-serif);
  color: var(--text-blue);
  background-color: transparent;
  border: none;
  border-radius: 0;
  appearance: textfield;
  -webkit-appearance: textfield;
  font-size: 0.75rem;
  cursor: pointer;
  transition-duration: 0.3s;
}

.popup option {
  color: white;
  background: black;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.popup object.arrow-form-select,
.popup img.arrow-form-select {
  transform: translateY(-0.3rem);
}

.popup .popup-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition-duration: 0.3s;
}

.popup .box-int-cont {
  width: 62rem;
  margin: auto;
  max-width: 95vw;
}

.popup .box-popup {
  /* min-height: 90vh; */
  background-image: linear-gradient(to bottom right, #f0ece7, #ddd4cb);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  width: 100%;
  padding: 3rem 3rem 5rem 3rem;
  position: relative;
  cursor: default;
  opacity: 0;
}

/* .popup .popup-overlay .container {
  min-height: 80vh;
} */

.popup .chiudi-popup {
  cursor: pointer;
  position: absolute;
  top: -18px;
  right: -18px;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto;
}

.popup .campo-form.toggle {
  border: solid 0.5px rgba(25, 38, 54, 0.5);
  padding: 0.6rem;
  margin-top: -3rem;
}

.popup.form-prenotazione-simulator .campo-form.toggle {
  margin-top: 0;
}

.popup .toggle-container .toggle-element {
  width: 44%;
  margin-left: 2%;
  margin-right: 2%;
  display: inline-block;
  text-align: center;
}

.popup .toggle-container .toggle-element label,
.popup .toggle-container .toggle-element input {
  margin: 0;
  padding: 0;
}

.popup .toggle-container .toggle-element label {
  display: block;
  font-family: var(--sans-serif);
  font-size: 0.75rem;
  font-weight: normal;
  letter-spacing: initial;
  color: var(--text-blue);
  text-transform: none;
  margin-left: initial;
}

.popup .toggle-container .toggle-element input {
  width: auto;
  display: inline-block;
  margin: auto;
  float: none;
  margin-bottom: 1rem;
}

/*  Toggles  */

.popup .toggle-container input[type="checkbox"] {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  width: 2.5rem;
  height: 1rem;
  border: solid 1px var(--text-blue);
  border-radius: 100rem;
  transition-duration: 0.3s;
  cursor: pointer;
}

.popup .toggle-container input[type="checkbox"]::before {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 100rem;
  top: 0.0625rem;
  left: 0.0625rem;
  background-color: var(--text-blue);
  transition-duration: 0.3s;
}

.popup .toggle-container input:checked[type="checkbox"] {
  background-color: rgba(25, 38, 54, 0.7);
}

.popup .toggle-container input:checked[type="checkbox"]::before {
  left: 1.5624rem;
}

.popup .toggle-container span.wpcf7-list-item {
  margin: 0;
}

/*  Submit Button  */

.popup .submit-button-cont span {
  display: none;
}

.popup .submit-button {
  position: relative;
  margin: 2rem auto 0;
  display: inline-block;
  border: solid 0.5px var(--text-blue);
  background-color: rgba(25, 38, 54, 0.3);
  color: var(--text-blue);
  font-family: var(--serif);
  font-size: 1rem;
  padding: 0 4rem 0 1.5rem;
  transition-duration: 0.3s;
  width: auto;
  float: none;
}

.popup .submit-button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 1rem;
  height: 100%;
  width: 1.5rem;
  background-image: url("../../uploads/arrow-right-blue.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition-duration: 0.3s;
}

.popup .submit-button:hover {
  background-color: rgba(25, 38, 54, 0.7);
  color: white;
}

.popup .submit-button:hover::after {
  filter: invert();
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  .popup .chiudi-popup {
    width: 24px;
    top: -6px;
    right: -6px;
  }

  .popup .campo-form.toggle {
    margin-top: 0;
  }

  .popup .box-popup {
    margin-bottom: 8vh;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -------------------------
	# GALLERY CASE
------------------------- */

#gallery-casa-temp {
  background-image: linear-gradient(to bottom right, #f0ece7, #ddd4cb);
  padding-left: 5rem;
  padding-right: 5rem;
}

#gallery-casa-temp .titolo-greche-sx-cont {
  margin-top: 3rem;
  margin-bottom: 2rem;
}

#gallery-casa-temp .testo {
  margin-bottom: 3rem;
}

#gallery-casa-temp button {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  overflow: hidden;
}

#gallery-casa-temp .close-button {
  position: absolute;
  top: 3vh;
  right: 3vh;
}

#gallery-casa-temp .close-button svg {
  width: 1rem;
  height: 1rem;
}

#gallery-casa-temp .arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition-duration: 0.3s;
  z-index: 1;
}

#gallery-casa-temp .arrow:hover {
  transform: translateY(-50%) scale(1.1);
}

#gallery-casa-temp .arrow.back {
  left: 6%;
}

#gallery-casa-temp .arrow.next {
  right: 6%;
}

#gallery-casa-temp .arrow svg {
  width: 1.5rem;
  height: 1.8rem;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.2rem 0.5rem;
  border-radius: 0.2rem;
  transition-duration: 0.3s;
}

#gallery-casa-temp .arrow:hover svg {
  background-color: rgba(0, 0, 0, 0.75);
}

#gallery-casa-temp .img-container {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#gallery-casa-temp .img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#gallery-casa-temp .counter {
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.2rem 0.8rem;
  border-radius: 0.2rem;
  color: white;
  z-index: 1;
}

#gallery-casa-temp .counter .swiper-pagination,
#gallery-casa-temp .counter .swiper-fraction {
  all: unset;
  line-height: 1;
}

#gallery-casa-temp .counter p {
  margin: 0;
  line-height: 1;
}

#gallery-casa-temp .caption {
  position: absolute;
  bottom: 4%;
  left: 0;
  width: 100%;
}

/* new */
#gallery-casa-temp .caption {
  display: flex;
  justify-content: center;
}

#gallery-casa-temp .caption p {
  line-height: 1.3;
  margin: 0;
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0.2rem;
  padding: 0.5rem 2rem;
  display: inline-block;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  #gallery-casa-temp {
    padding-left: 5%;
    padding-right: 5%;
  }

  #gallery-casa-temp .titolo-greche-sx-cont {
    text-align: center;
  }

  #gallery-casa-temp .testo.op {
    text-align: center;
  }
  /* 
  #gallery-casa-temp .img-container img {
    height: initial;
  } */
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* NEW */

#gallery-casa-temp .swiper {
  width: 100%;
  max-width: 1080px;
  margin: auto;
  overflow: visible;
}

#gallery-casa-temp .swiper .swiper-slide {
  position: relative;
  height: 75vh;
}

@media (max-width: 768px) {
  #gallery-casa-temp:not(.new-gallery) .swiper .swiper-slide {
    height: 50vh;
	 height: auto;
  }
	  #gallery-casa-temp:not(.new-gallery) .swiper .swiper-slide .img-container {
    	height: 0;
		  position: relative;
		  padding-bottom: 125%;
  }
	#gallery-casa-temp:not(.new-gallery) .swiper .swiper-slide .img-container img {
		position: absolute;
		top: 0;
		left: 0;
	}

}

#gallery-casa-temp .swiper .swiper-slide .image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#gallery-casa-temp .swiper .swiper-slide .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#gallery-casa-temp .swiper .swiper-slide .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem 2rem;
  background-color: rgba(0, 0, 0, 0.5);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  #gallery-casa-temp .swiper .swiper-slide .caption {
    background-color: rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(8px);
  }
}

#gallery-casa-temp .swiper .swiper-slide .caption p {
  font-size: 0.75rem;
  color: white;
  margin-bottom: 0;
}

#gallery-casa-temp .swiper .swiper-slide .fullscreen-wrap {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 1rem;
  height: 1rem;
  cursor: zoom-in;
  display: none;
}

#gallery-casa-temp .swiper .swiper-slide.swiper-slide-active .fullscreen-wrap {
  display: block;
}

#gallery-casa-temp .swiper .swiper-slide .fullscreen-wrap button {
  all: unset;
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

#gallery-casa-temp .swiper .swiper-slide .fullscreen-wrap button svg,
#gallery-casa-temp .swiper .swiper-slide .fullscreen-wrap button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

#gallery-casa-temp .swiper .swiper-button-prev,
#gallery-casa-temp .swiper .swiper-button-next {
  transition: opacity 0.3s;
}

#gallery-casa-temp .swiper .swiper-button-prev:hover,
#gallery-casa-temp .swiper .swiper-button-next:hover {
  opacity: 0.5;
}

#gallery-casa-temp .swiper .swiper-button-prev {
  left: 2rem;
}

#gallery-casa-temp .swiper .swiper-button-next {
  right: 2rem;
}

#gallery-casa-temp .swiper .swiper-button-prev::after,
#gallery-casa-temp .swiper .swiper-button-next::after {
  display: none;
}

/* -------------------------
	# FULLPAGE GALLERY
------------------------- */

section#fullpage-gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10vh 15vh;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
}

section#fullpage-gallery h2 {
  color: white;
}

section#fullpage-gallery button {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  overflow: hidden;
}

section#fullpage-gallery .close-button {
  position: absolute;
  top: 3vh;
  right: 3vh;
}

section#fullpage-gallery .close-button svg {
  width: 1rem;
  height: 1rem;
  transition-duration: 0.3s;
}

section#fullpage-gallery .close-button:hover svg {
  transform: scale(1.1);
}

section#fullpage-gallery .arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

section#fullpage-gallery .arrow.back {
  left: 8vw;
}

section#fullpage-gallery .arrow.next {
  right: 8vw;
}

section#fullpage-gallery .arrow svg {
  width: 0.8rem;
  transition-duration: 0.3s;
}

section#fullpage-gallery .arrow:hover svg {
  transform: scale(1.1);
}

section#fullpage-gallery .img-container {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

section#fullpage-gallery .img-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

section#fullpage-gallery .counter {
  position: absolute;
  top: 4vh;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.2rem 0.8rem;
  border-radius: 0.2rem;
  color: white;
}

section#fullpage-gallery .counter p {
  margin: 0;
  line-height: 1;
}

section#fullpage-gallery .caption {
  position: absolute;
  bottom: 4vh;
  left: 0;
  width: 100%;
  z-index: 10000;
}

section#fullpage-gallery .caption p {
  line-height: 1.3;
  margin: 0;
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0.2rem;
  padding: 0.5rem 2rem;
  display: inline-block;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  section#fullpage-gallery {
    padding-left: 5%;
    padding-right: 5%;
  }

  section#fullpage-gallery .counter {
    top: 15vh;
  }

  section#fullpage-gallery .caption {
    bottom: 15vh;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# HEADER
==============================================================================
----------------------------------- */

header {
  /* display: none; */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 997;
}

.admin-bar header {
  top: 32px;
}

header.sticky {
  position: fixed;
}

header .dropdown-menu {
  background-color: transparent;
}

header #menu-principale a {
  color: white;
  text-decoration: none;
  position: relative;
  display: inline-block;
}

header #menu-principale li a:hover::after,
header #menu-principale li.active a::after,
header #menu-principale li[class*="current-page"] a::after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  left: 0.25rem;
  width: calc(100% - 0.5rem);
  height: 0.5px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
  transition-duration: 0.3s;
}

header.sticky #menu-principale li a:hover::after,
header.sticky #menu-principale li.active a::after,
header.sticky #menu-principale li[class*="current-page"] a::after {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 100%);
}

header #menu-principale .logo-nav.initial {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

header #menu-principale .logo-nav.sticky {
  display: none;
}

header.sticky #menu-principale .logo-nav.initial {
  display: none;
}

header.sticky #menu-principale .logo-nav.sticky {
  display: inline-block;
}

header.sticky #menu-principale {
  background-color: rgba(221, 212, 203, 0.9);
}

header.sticky #menu-principale a {
  color: black;
}

/* header.sticky #menu-principale li.active a {
	color: red;
} */

header #menu-principale .navbar-collapse {
  justify-content: flex-end;
}

header #menu-principale .menu-button a {
  border: 0.5px solid white;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 0.2rem 0.8rem;
  line-height: 1;
  margin-top: 0.5rem;
  margin-left: 0.5rem;
  transition-duration: 0.3s;
}

header #menu-principale .menu-button a::after,
header li.wpml-ls-item a::after {
  display: none;
}

header #menu-principale .menu-button a:hover {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 1;
}

header.sticky #menu-principale .menu-button a {
  border: 0.5px solid black;
  background-color: rgba(0, 0, 0, 0.2);
}

header.sticky #menu-principale .menu-button a:hover {
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
}

header li.wpml-ls-first-item {
  border-right: solid 1px white;
}

header.sticky li.wpml-ls-first-item {
  border-right: solid 1px black;
}

header#masthead {
  display: none;
}

header#new-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

body.admin-bar header#new-header {
  top: 2rem;
}

header#new-header button {
  all: unset;
  cursor: pointer;
}

header#new-header.tds-top .top-bar {
  position: relative;
  padding-top: 3rem;
  transition: padding 0.3s, background 0.3s;
}

header#new-header.tds-top .top-bar .bar-els-cont {
  display: flex;
  justify-content: space-between;
}

header#new-header.tds-top .top-bar .bar-els-cont .logo {
  display: grid;
  place-items: center;
}

header#new-header.tds-top .top-bar .bar-els-cont .logo a {
  display: inline-block;
  transition: opacity 0.3s;
}

header#new-header.tds-top .top-bar .bar-els-cont .logo a:hover {
  opacity: 0.75;
}

header#new-header.tds-top .top-bar .bar-els-cont .logo a img {
  display: block;
  width: 8.75rem;
}

header#new-header.tds-top .top-bar .bar-els-cont .logo a.mini-logo {
  display: none;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions {
  display: flex;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions > * {
  display: grid;
  place-items: center;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions > :not(:last-child) {
  position: relative;
  margin-right: 2.5rem;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions > :not(:last-child)::after {
  content: "";
  position: absolute;
  right: calc(-1.25rem - 0.5px);
  top: 0;
  height: 100%;
  width: 1px;
  background-color: white;
  transform-origin: center;
  transform: scaleX(0.5);
  opacity: 0.25;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .book button {
  position: relative;
  color: white;
  font-size: 0.625rem;
  letter-spacing: 0.3em;
  font-weight: bold;
  text-transform: uppercase;
  /* padding: 0.3em 0.9em 0.3em 1.2em; */
  padding: 0.8em 1.2em 0.8em 1.5em;
  background-color: rgba(255, 255, 255, 0.25);
  transition: background 0.3s, color 0.3s;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .book button:hover {
  background-color: rgba(255, 255, 255, 0.5);
  color: black;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .book button::after {
  content: "";
  transform-origin: 0, 0;
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  border: 1px solid white;
  transform: scale(0.5, 0.5);
  opacity: 0.5;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .lang-sel p {
  margin: 0;
  position: relative;
  color: white;
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.3em;
  direction: rtl;
  display: inline-block;
  text-indent: -0.3em;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .lang-sel p a {
  text-decoration: none;
  line-height: 1;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .lang-sel p.current::before {
  content: "";
  position: absolute;
  top: -20%;
  left: -30%;
  height: 125%;
  width: 160%;
  background-color: white;
  opacity: 0.25;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .lang-sel p.missing {
  opacity: 0.25;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .lang-sel .sep {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: white;
  opacity: 0.33;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .menu-button button {
  display: block;
  text-align: center;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .menu-button button * {
  pointer-events: none;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .menu-button button svg {
  margin-bottom: 0.45rem;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .menu-button button p {
  margin: 0;
  position: relative;
  color: white;
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.3em;
  direction: rtl;
  text-indent: -0.3em;
  width: 4em;
}

header#new-header.tds-top .top-bar .bar-els-cont .interactions .menu-button button > * {
  display: block;
  margin: auto;
}

header#new-header.tds-top.tds-stick .top-bar {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: rgba(0, 0, 0, 0.15);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  header#new-header.tds-top.tds-stick .top-bar {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}

header#new-header.tds-top.tds-stick.tds-below-hero .top-bar {
  background-color: rgba(0, 0, 0, 0.5);
}

header#new-header.tds-top.tds-stick .top-bar .bar-els-cont .logo a.main-logo {
  display: none;
}

header#new-header.tds-top.tds-stick .top-bar .bar-els-cont .logo a.mini-logo {
  display: inline-block;
}

header#new-header.tds-top.tds-stick .top-bar .bar-els-cont .logo a img {
  width: 4.6rem;
}

header#new-header.tds-open .top-bar .bar-els-cont .interactions .menu-button button p.on-menu-close {
  display: none;
}

header#new-header.tds-close .top-bar .bar-els-cont .interactions .menu-button button p.on-menu-open {
  display: none;
}

header#new-header .top-bar .bar-els-cont .interactions .menu-button button svg g#strawberry line {
  transform-origin: center;
  transition: transform 0.3s, opacity 0.3s;
}

header#new-header.tds-open .top-bar .bar-els-cont .interactions .menu-button button svg g#strawberry line#line-1 {
  transform: translate(-7px, 3px) rotate(45deg);
}

header#new-header.tds-open .top-bar .bar-els-cont .interactions .menu-button button svg g#strawberry line#line-2 {
  opacity: 0;
}

header#new-header.tds-open .top-bar .bar-els-cont .interactions .menu-button button svg g#strawberry line#line-3 {
  transform: scaleX(1.8) translate(-4px, -5px) rotate(-62deg);
}

header#new-header .bg {
  background-color: transparent;
  transition: background 0.3s;
}

header#new-header.tds-open .bg {
  position: absolute;
  width: 100%;
  background-color: rgb(15, 24, 34, 0.95);
}

@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
  header#new-header.tds-open .bg {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgb(15, 24, 34, 0.5);
  }
}

header#new-header .full-page-menu {
  position: relative;
  padding-top: 3.5rem;
}

header#new-header .full-page-menu .columns {
  display: grid;
  grid-template-columns: 2fr 3fr 1fr;
  grid-column-gap: 2rem;
}

header#new-header .full-page-menu .columns .single-column {
  position: relative;

  display: flex;
  flex-direction: column;
}

header#new-header .full-page-menu .columns .first-level::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  right: -1rem;
  background-color: white;
  opacity: 0.25;
  transform: scaleX(0.5);
}

header#new-header .full-page-menu .columns .first-level.without-line::after {
  display: none;
}

header#new-header .full-page-menu .columns .first-level ul,
header#new-header .full-page-menu .columns .first-level li {
  all: unset;
}

header#new-header .full-page-menu .columns .first-level ul {
  display: block;
  margin-left: -1rem;
  flex: 1;
  overflow-y: scroll;
  padding-bottom: 2rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

header#new-header .full-page-menu .columns .first-level ul::-webkit-scrollbar {
  display: none;
}

header#new-header .full-page-menu .columns .first-level li {
  position: relative;
  display: block;
  color: white;
  font-family: var(--serif);
  font-size: 1.5rem;
}

header#new-header .full-page-menu .columns .first-level li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: white;
  opacity: 0.25;
  transform: scaleY(0.5);
}

header#new-header .full-page-menu .columns .first-level li a,
header#new-header .full-page-menu .columns .first-level li button {
  all: inherit;
  position: relative;
  display: block;
  width: calc(100% - 2rem - 2px);
  padding: 1.25rem 1rem;
  transition: background 0.3s, border 0.3s;
  border-style: solid;
  border-width: 1px;
  border-color: transparent;
}

header#new-header .full-page-menu .columns .first-level li a {
  cursor: pointer;
}

header#new-header .full-page-menu .columns .first-level li a:hover,
header#new-header .full-page-menu .columns .first-level li button:hover,
header#new-header .full-page-menu .columns .first-level li.current-page a,
header#new-header .full-page-menu .columns .first-level li.current-page button {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.5);
}

header#new-header .full-page-menu .columns .second-level {
  text-align: center;
  overflow-x: visible;
  overflow-y: scroll;
  padding-bottom: 2rem;
}

header#new-header .full-page-menu .columns .second-level .main-link {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
}

header#new-header .full-page-menu .columns .second-level .main-link h2 {
  font-size: 1.5rem;
  font-family: var(--serif);
  color: white;
  margin-bottom: 0;
}

header#new-header .full-page-menu .columns .second-level .main-link h2 a {
  all: inherit;
  cursor: pointer;
  text-decoration: underline;
  transition: opacity 0.3s;
}

header#new-header .full-page-menu .columns .second-level .main-link h2 a:hover {
  opacity: 0.5;
}

header#new-header .full-page-menu .columns .second-level .link-list ul,
header#new-header .full-page-menu .columns .second-level .link-list li {
  all: unset;
}

header#new-header .full-page-menu .columns .second-level .link-list li {
  display: block;
  color: white;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota {
  position: static;
	display: block;
	background-color: transparent;
	height: auto;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1rem;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list ul li {
  display: initial;
}

header#new-header .full-page-menu .columns .second-level .link-list li a {
  position: relative;
  text-decoration: none;
  display: block;
  padding: 0.5rem 1rem;
  transition: background 0.3s, border 0.3s;
  border-style: solid;
  border-width: 1px;
  border-color: transparent;
}

header#new-header .full-page-menu .columns .second-level .link-list li a:hover,
header#new-header .full-page-menu .columns .second-level .link-list li.current-page a {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.5);
  color: inherit;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list li a {
  padding: 1.3rem 2rem;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 200%;
  width: 200%;
  border: 1px solid white;
  opacity: 0.25;
  transform-origin: top left;
  transform: scale(0.5, 0.5);
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list img {
  display: block;
  margin: auto;
  margin-bottom: 0.5rem;
  width: 6rem;
}

header#new-header .full-page-menu .columns .second-level .second-lv-el.prenota .link-list p {
  font-family: var(--serif);
  margin: 0;
  display: block;
  line-height: 1;
  margin-bottom: 0.75rem;
}

header#new-header.tds-close .bg,
header#new-header.tds-close .full-page-menu {
  display: none;
  /* visibility: hidden; */
}

body::-webkit-scrollbar,
header#new-header .full-page-menu .columns .second-level::-webkit-scrollbar {
  display: none;
}

body,
header#new-header .full-page-menu .columns .second-level {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

header#new-header .full-page-menu .columns .first-level li.has-sub svg {
  display: none;
}

header#new-header .full-page-menu .columns .second-level .mobile.back {
  display: none;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  header nav .navbar-brand {
    /* order: 9; */
    margin-right: 0;
    margin-left: 1rem;
  }

  header nav.navbar-dark .navbar-collapse {
    padding: 5%;
    background-color: rgba(0, 0, 0, 0.7);
    border: solid 0.5px rgba(255, 255, 255, 0.5);
  }

  header #menu-principale .menu-button a {
    margin-top: 0.6rem;
    margin-bottom: 0.6rem;
    display: inline-block;
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  header#new-header .full-page-menu > .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  header#new-header .full-page-menu .columns {
    display: flex;
    grid-template-columns: unset;
    grid-column-gap: unset;
    transition: transform 0.3s;
  }

  header#new-header .full-page-menu .columns .single-column {
    flex-shrink: 0;
  }

  header#new-header .full-page-menu .columns .first-level {
    width: calc(100vw - 3rem);
    margin-right: 1.5rem;
    transition-duration: 0.3s;
  }

  header#new-header .full-page-menu .columns .second-level {
    width: 100vw;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  header#new-header .full-page-menu .columns .first-level li a,
  header#new-header .full-page-menu .columns .first-level li button {
    padding: 0.75rem 1rem;
  }

  header#new-header .full-page-menu .columns .first-level ul {
    margin-left: 0;
  }

  header#new-header .full-page-menu .columns .first-level li.has-sub {
    position: relative;
  }

  header#new-header .full-page-menu .columns .first-level li.has-sub svg {
    display: block;
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(calc(-50% + 0.25rem));
  }

  header#new-header.tds-top .top-bar .bar-els-cont .interactions > .book {
/*     display: none; */
  }

  header#new-header .full-page-menu .columns .second-level .mobile.back {
    display: block;
    text-align: left;
  }

  header#new-header .full-page-menu .columns .second-level .mobile.back button {
    all: unset;
    font-family: var(--sans-serif);
    color: white;
    text-decoration: underline;
    font-size: 0.75rem;
  }

  header#new-header .full-page-menu .columns .first-level::after {
    display: none;
  }

  header#new-header .full-page-menu .columns .first-level li a:hover,
  header#new-header .full-page-menu .columns .first-level li button:hover {
    background-color: transparent;
    border-color: transparent;
  }
}

@keyframes opac {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: grid;
  place-items: center;
  background-color: var(--text-blue);
  padding: 2rem;
  z-index: 99999999;
}

#loader .content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
}

#loader img {
  display: block;
  width: 12rem;
  max-width: 100%;
  animation: opac 0.3s ease-in-out forwards;
}

#loader .bar {
  position: relative;
  height: 1px;
  width: 25vw;
  background-color: rgba(255, 255, 255, 0.25);
  /* transform: scaleY(0.5); */
  overflow: hidden;
  opacity: 0;
  animation: opac 0.3s ease-in-out 0.5s forwards;
}

#loader .bar::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  transform: translateX(-100%);
  animation: load 0.5s ease-in-out 0.8s forwards;
  background-color: white;
}

@keyframes load {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@media (max-width: 768px) {
  #loader img {
    width: 35vw;
  }

  #loader .bar {
    width: 35vw;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# FOOTER
==============================================================================
----------------------------------- */

footer {
  text-align: center;
  /* background-color: #0f1822; */
  background-color: #282e2c;
}

footer .site-info .logo img {
  margin-top: 2rem;
  margin-bottom: 2rem;
  max-width: 100px;
}

footer .site-info .line {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}

footer .site-info .contact-info {
  padding-top: 2rem;
  margin-bottom: 2rem;
}

footer .site-info .contact-info .conact-column {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

footer .site-info .contact-info .conact-column object,
footer .site-info .contact-info .conact-column h4,
footer .site-info .contact-info .conact-column a {
  margin-bottom: 0.6rem;
}

footer .site-info .contact-info .conact-column img {
  margin-bottom: 0.8rem;
}

.site-info .contact-info .conact-column h4 {
  font-size: 1.5rem;
}

.site-info .contact-info .conact-column a {
  color: inherit;
  opacity: 0.7;
  text-decoration: none;
  font-size: 0.75rem;
  letter-spacing: 0.0625rem;
  font-family: var(--sans-serif);
  font-weight: lighter;
  line-height: 1.3;
  transition-duration: 0.3s;
}

.site-info .contact-info .conact-column a:hover {
  opacity: 1;
}

.site-info .copiright p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.75rem;
  letter-spacing: 0.0625rem;
  font-weight: lighter;
  line-height: 1.3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-info .copiright p a {
  text-decoration: none;
}

.site-info .copiright p a img {
  opacity: 0.3;
  transition-duration: 0.3s;
  vertical-align: text-bottom;
	margin-right: 0.5rem;
}

.site-info .copiright p a img.social-icon {
  height: 1rem;
  max-width: 1rem;
}

.site-info .copiright p a:hover {
  color: rgba(255, 255, 255, 1);
}

.site-info .copiright p a:hover img {
  opacity: 1;
}

.site-info .copiright p a[href*="lorenzofrua.com"]:hover {
  color: #e63947;
}

/* New footer */

footer.new-footer .logo {
  padding-top: 5.25rem;
}

footer.new-footer .logo a {
  display: inline-block;
}

footer.new-footer .logo img {
  display: block;
  margin: 0;
  margin: auto;
  width: 9rem;
  max-width: 100%;
}

footer.new-footer .site-map {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}

footer.new-footer .site-map * {
  color: white;
}

footer.new-footer .site-map .grid-4-base {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2rem;
  grid-row-gap: 4.75rem;
}

footer.new-footer .site-map .single-column ul,
footer.new-footer .site-map .single-column li {
  all: unset;
  display: block;
  font-size: 0.75rem;
}

footer.new-footer .site-map .single-column li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}

footer.new-footer .site-map .single-column h3 {
  font-family: var(--serif);
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

footer.new-footer .site-map .single-column h3 a {
  font-family: inherit;
  transition: opacity 0.3s;
  line-height: inherit;
}

footer.new-footer .site-map .single-column h3 a:hover {
  opacity: 0.5;
}

footer.new-footer .site-map .single-column li a {
  opacity: 0.75;
  transition: opacity 0.3s;
  text-decoration: none;
}

footer.new-footer .site-map .single-column li a:hover {
  opacity: 1;
}

footer.new-footer .lang-sel {
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
}

footer.new-footer .lang-sel * {
  color: white;
  margin: 0;
}

footer.new-footer .lang-sel p {
  font-size: 0.75rem;
  position: relative;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.3em;
  direction: rtl;
  text-indent: -0.3em;
  cursor: default;
}

footer.new-footer .lang-sel p a {
  text-decoration: none;
}

footer.new-footer .lang-sel p a:hover {
  opacity: 1;
}

footer.new-footer .lang-sel p.current::before,
footer.new-footer .lang-sel p a::after {
  content: "";
  position: absolute;
  bottom: -1.5px;
  left: -10%;
  width: 120%;
  height: 1.75px;
  background-color: white;
}

footer.new-footer .lang-sel p a::after {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

footer.new-footer .lang-sel p a:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
}

footer.new-footer .lang-sel p:not(:last-of-type) {
  margin-right: 2em;
}

footer.new-footer .lang-sel p:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 15%;
  right: calc(-1em - 0.875px);
  height: 70%;
  width: 1.75px;
  transform-origin: center;
  transform: rotate(25deg);
  background-color: white;
}

footer.new-footer .lang-sel p.missing {
  opacity: 0.25;
}

@media (max-width: 768px) {
  footer.new-footer .site-map .grid-4-base {
    grid-template-columns: repeat(2, 1fr);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* -----------------------------------
==============================================================================
	# HOME
==============================================================================
----------------------------------- */

/* -------------------------
	# Home - Hero
------------------------- */

#hero.home {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--vh-full-height);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#hero.home::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

#hero.home video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#hero.home a.button.popup-form-trigger {
  display: none;
}

#hero.home .container {
  z-index: 2;
}

#hero.home h1 {
  font-weight: 600;
}

#hero.home .titolo-cta {
  text-align: center;
}

#hero.home .cta-cont {
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero.home #titolo-home {
  color: white;
  margin-bottom: 2rem;
}

#hero.home .scroll-icon {
  position: absolute;
  bottom: 10%;
}

/* -------------------------
	# Home - Intro
------------------------- */

body.home section#intro {
  padding-top: 5.375rem;
  padding-bottom: 3.15rem;
}

body.home section#intro .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.home section#intro .container > * {
  grid-column: 2/6;
  text-align: center;
}

/* -------------------------
	# Home - Boxes
------------------------- */

body.home section#boxes {
  padding-top: 3.15rem;
  padding-bottom: 7rem;
}

body.home section#boxes .cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
  margin-bottom: 4.6rem;
}

body.home section#boxes .cards .single-card {
  position: relative;
  color: white;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

body.home section#boxes .cards .single-card * {
  color: inherit;
}

body.home section#boxes .cards .single-card .bg,
body.home section#boxes .cards .single-card .bg .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.home section#boxes .cards .single-card .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.home section#boxes .cards .single-card .content {
  position: relative;
  padding: 4.2rem 2.2rem;
  text-align: center;
  transform: translateY(var(--height));
  transition-duration: 0.5s;
  max-width: 100%;
}

body.home section#boxes .cards .single-card:hover .content {
  transform: translateY(0);
}

body.home section#boxes .cards .single-card .content > * {
  position: relative;
}

body.home section#boxes .cards .single-card .content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

body.home section#boxes .cards .single-card .content .card-title {
  margin-bottom: 2.125rem;
}

body.home section#boxes .cards .single-card .content .card-text {
  margin-bottom: 2.5rem;
}

body.home section#boxes .cards .single-card .content .card-cta {
  text-align: left;
  display: inline-block;
  max-width: 100%;
}

body.home section#boxes .cards .single-card .content .card-text,
body.home section#boxes .cards .single-card .content .card-cta {
  opacity: 0;
  pointer-events: none;
  user-select: none;
  transition-duration: 0.5s;
}

body.home section#boxes .cards .single-card:hover .content .card-text,
body.home section#boxes .cards .single-card:hover .content .card-cta {
  opacity: 1;
  pointer-events: initial;
  user-select: initial;
}

@media (max-width: 768px) {
  body.home section#boxes .cards {
    grid-template-columns: 1fr;
  }

  body.home section#intro .container > * {
    grid-column: 1 / span all;
  }

  body.home section#intro .section-title h2 {
    line-height: 1.2;
  }
}

/* -------------------------
	# Home - Case
------------------------- */

#case.home .case-cont {
  margin-bottom: 1rem;
}

#case.home .titolo-greche-cont {
  margin-bottom: 4rem;
}

#case.home a.link-case {
  text-decoration: none;
}

#case.home .rettangolo-casa {
  height: 510px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 2rem;
  color: white;
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
}

#case.home .rettangolo-casa::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  transition-duration: 0.3s;
}

#case.home .rettangolo-casa::before {
  transform: translateY(23.5rem);
}

#case.home .dettagli-cont {
  position: relative;
  z-index: 2;
}

#case.home .rettangolo-casa .dettagli-cont {
  transition-duration: 0.3s;
  transform: translateY(23.5rem);
}

#case.home .dettagli-cont .argomento {
  font-size: 0.5rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  margin-bottom: -0.4rem;
}

#case.home .dettagli-cont .anchor {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.5rem;
  color: white;
  margin-bottom: -0.1rem;
}

#case.home .dettagli-cont .peoples {
  margin-bottom: 3rem;
  margin-right: 0.1rem;
}

#case.home .case-cont .dettagli-cont .home-data {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}

#case.home .case-cont .dettagli-cont .home-data .home-data_element {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#case.home .case-cont .dettagli-cont .home-data .home-data_element img,
#case.home .case-cont .dettagli-cont .home-data .home-data_element h3,
#case.home .case-cont .dettagli-cont .home-data .home-data_element p {
  margin-right: 0.75rem;
}

#case.home .case-cont .dettagli-cont .home-data .home-data_element h3 {
  margin-bottom: 0;
  line-height: 1;
  font-size: 1.5rem;
}

#case.home .case-cont .dettagli-cont .home-data .home-data_element p {
  margin-bottom: 0;
  line-height: 1;
  font-size: 0.625rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
}

/* Hover animation */
#case.home .rettangolo-casa:hover .dettagli-cont,
#case.home .rettangolo-casa:hover::before {
  transform: translateY(8rem);
}

#case.home .rettangolo-casa:hover::before {
  background-color: rgba(0, 0, 0, 0.7);
}

/* -------------------------
	# Home - Storia
------------------------- */

#storia.home {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#storia.home::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

#storia.home .titolo-greche-cont {
  margin-bottom: 4rem;
}

#storia.home .testo {
  margin-bottom: 4rem;
}

/* -------------------------
	# Home - Mappa
------------------------- */

#mappa.home {
  padding-left: 2rem;
  padding-right: 2rem;
}

#mappa.home .titolo-greche-cont {
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  #mappa.home .filter-btn {
    margin-top: 4rem;
  }
}

#mappa.home .filter-btn .filter-btns-grid {
  display: grid;
  /* grid-template-columns: repeat(4, 1fr); */
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-gap: 2rem;
}

#mappa.home .filter-button-home {
  border: solid 0.5px rgba(25, 38, 54, 0.5);
  /* padding: 0.8rem 1.2rem; */
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  transition-duration: 0.3s;
}

#mappa.home .filter-button-home a {
  padding: 0.8rem 1.2rem;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-decoration: none;
  width: 100%;
}

#mappa.home.ex-mappa .corpo-testo {
  margin-top: 3rem;
  margin-bottom: 4rem;
  text-align: center;
}

#mappa.home.ex-mappa .corpo-testo h2 {
  padding-top: 3.25rem;
  padding-bottom: 1.75rem;
}

@media (max-width: 768px) {
  #mappa.home.ex-mappa .corpo-testo {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}

#mappa.home .filter .col-md-2 {
  margin-bottom: 2rem;
}

#mappa.home .filter-button-home:hover {
  background-color: var(--panna);
}

#mappa.home .filter-button-home.active,
#mappa.home .filter-button-home.filter-button__active {
  background-color: var(--panna-op5);
}

#mappa.home .filter-button-home .filter-name {
  font-size: 1rem;
  color: var(--text-blue);
  margin: 0;
}

#mappa.home .filter-button-home .home-icon {
  margin-bottom: 0.8rem;

  /* width: 110px;
  height: 80px;
  object-fit: contain; */
}

#mappa.home .mappa {
  margin-bottom: 3rem;
  position: relative;
}

#mappa.home p.zoom {
  display: none;
}

#mappa.home .pinch-zoom-parent {
  width: 100%;
  height: 21.5vw;
}

#mappa.home .mappa img {
  width: 100%;
}

#mappa.home .mappa img.mappa-base {
  filter: saturate(0.7);
}

#mappa.home .mappa img.mappa-element {
  position: absolute;
  top: 0;
  left: 0;
}

#mappa.home .mappa img.mappa-element.mappa-element__hidden {
  display: none;
}

#mappa.home .cta-case {
  margin-top: 3rem;
}

@media (max-width: 768px) {
  #mappa.home {
    padding-left: 0;
    padding-right: 0;
  }

  #mappa.home .titolo-greche-cont {
    margin-bottom: 0;
  }

  #mappa.home .mappa {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 0;
  }

  #mappa.home .cta-case {
    margin-top: 0;
  }

  #mappa.home .pinch-zoom-parent {
    height: 25vh;
  }

  #mappa.home .pinch-zoom {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  #mappa.home p.zoom {
    display: inline;
    opacity: 0.5;
    line-height: 1.2;
  }
}

/* -------------------------
	# Home - Spiagge
------------------------- */

#spiagge.home {
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  background-attachment: fixed;
  background-position: 50% 0;
}

#spiagge.home::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

#spiagge.home .testo {
  margin-bottom: 6rem;
}

#spiagge.home .cta-spiagge-cont {
  float: right;
}

#spiagge.home .scroll-icon {
  text-align: center;
}

/* -------------------------
	# Home - Pausa
------------------------- */

#pausa.home {
  position: relative;
}

#pausa.home .titolo-greche-cont {
  margin-bottom: 6rem;
}

#pausa.home .contenuto {
  margin-bottom: 6rem;
}

#pausa.home .contenuto .testo {
  margin-top: 6rem;
}

#pausa.home .contenuto .argomento {
  font-family: var(--sans-serif);
  font-size: 0.5rem;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

#pausa.home .contenuto .titoletto-greca-sx {
  font-size: 1.5rem;
  line-height: 1.2;
  display: inline-block;
  position: relative;
  margin-bottom: 2rem;
}

#pausa.home .contenuto .titoletto-greca-sx::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -0.8rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#pausa.home .contenuto .img-contenuto {
  width: 100%;
  height: 100%;
  display: inline-block;
  object-fit: cover;
  object-position: center;
}

#pausa.home .contenuto a {
  display: inline-block;
  height: 100%;
  text-decoration: none;
}

#pausa.home .new-button.x-large {
  width: 20rem;
}

#pausa.home .contenuto .titoletto-greca-sx::before,
#pausa.home .contenuto .titoletto-greca-sx::before {
  display: none;
}

#pausa.home .contenuto .col-md-3,
#pausa.home .contenuto .col-md-3.offset-md-1 {
  margin-left: auto;
  margin-right: auto;
}

#pausa.home .contenuto .col-md-8 {
  padding-right: 0;
  padding-left: 0;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 1200px) {
  #case.home .rettangolo-casa {
    padding: 2rem 1rem;
  }

  #case.home .dettagli-cont .anchor {
    font-size: 1.4rem;
  }

  #mappa.home .col-md-8.offset-md-2,
  #hero.home .col-md-8.offset-md-2,
  #storia.home .col-md-8.offset-md-2,
  #spiagge.home .col-md-8.offset-md-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }

  #spiagge.home {
    background-position: center !important;
    background-attachment: initial;
  }
}

@media (max-width: 992px) {
  #case.home .case-cont .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  #mappa.home .filter-btn .filter-btns-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1rem;
  }

  #mappa.home .col-md-6.offset-md-3 {
    flex: 0 0 80%;
    max-width: 80%;
    margin-left: 10%;
  }
}

/* Landscape */
@media only screen and (max-width: 812px) and (orientation: landscape) {
  #hero {
    /* min-height: 130vh; */
    padding-top: 30vh !important;
  }

  #hero.home {
    min-height: 130vh;
    padding-top: 0 !important;
  }
}

@media (max-width: 768px) {
  #case.home .case-cont .col-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  #hero.home video {
    display: none;
  }

  #hero.home a.button.no-mobile {
    display: none;
  }

  #hero.home a.button.popup-form-trigger {
    display: inline-block;
  }

  #hero.home .cta-cont {
    flex-direction: column;
  }

  #mappa.home .filter-btn .filter-btns-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1rem;
  }

  #mappa.home .col-md-6.offset-md-3 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }

  #spiagge.home {
    padding-top: 5rem;
    padding-bottom: 6rem;
    background-position: center;
    background-attachment: initial;
  }

  #spiagge.home .super-big-title {
    margin-bottom: 1.5rem;
  }

  #spiagge.home .testo {
    margin-bottom: 1rem;
  }

  #spiagge.home .cta-spiagge-cont {
    float: none;
    display: block;
    text-align: center;
  }

  #pausa.home {
    padding-left: 5%;
    padding-right: 5%;
  }

  #pausa.home .titolo-greche-cont {
    margin-bottom: 4rem;
  }

  #pausa.home .contenuto {
    margin-bottom: 4rem;
  }

  #pausa.home .contenuto .testo {
    margin-top: 0;
    margin-bottom: 2rem;
  }

  #pausa.home .contenuto .titoletto-greca-sx::before {
    width: 1.5rem;
    left: -0.6rem;
  }

  #pausa.home .contenuto.n2 .col-md-8 {
    order: 1;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# CASA TEMP
==============================================================================
----------------------------------- */

/* -------------------------
	# Casa temp - Hero
------------------------- */

#hero.casa-temp {
  padding-top: 30vh;
  min-height: var(--vh-full-height);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#hero.casa-temp::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

#hero.casa-temp h1 {
  margin-bottom: 2rem;
}

/* -- Play -- */

#hero.casa-temp .play-link {
  display: inline-block;
  margin-bottom: 2rem;
}

#hero.casa-temp .play-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero.casa-temp .play {
  margin-right: 1rem;
}

#hero.casa-temp .play-link {
  text-decoration: none;
}

#hero.casa-temp .play-link p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.2rem;
  transition-duration: 0.3s;
}

#hero.casa-temp .play-link:hover p {
  opacity: 0.7;
}

/* #hero.casa-temp .play-link:hover .play {
	animation: rotatePlay 8s linear 0s infinite;
}

@keyframes rotatePlay {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
} */

/* -- Long Term Badge -- */

#hero.casa-temp .badge-casa-long-term {
  display: inline-block;
  position: relative;
  margin-bottom: 2rem;
}

#hero.casa-temp .badge-casa-long-term .p-cont {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

#hero.casa-temp .badge-casa-long-term .p-cont p {
  color: white;
  font-size: 1.1rem;
  font-family: var(--serif);
  font-weight: 400;
  text-align: center;
  line-height: 1.3;
  margin: 0;
}

/* -- Box -- */

#hero.casa-temp .rettangolo-dati-case {
  border: dashed 0.5px rgba(255, 255, 255, 0.5);
  padding: 5px;
  margin-bottom: 2rem;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno {
  border: solid 0.5px rgba(255, 255, 255, 0.5);
  background-color: rgba(13, 17, 21, 0.7);
  padding: 2rem;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type h3,
#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type object,
#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type img {
  display: inline-block;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type h3 {
  font-size: 1rem;
  font-weight: 600;
  color: white;
  vertical-align: text-bottom;
  margin-bottom: 0;
  padding-top: 1rem;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type object,
#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type img {
  margin-right: 1rem;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type h3 span {
  font-style: italic;
}

/* #hero.casa-temp .rettangolo-dati-case .riquadro-interno .data-single-cont {
  height: 100%;
} */

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .data object,
#hero.casa-temp .rettangolo-dati-case .riquadro-interno .data img {
  margin-bottom: 0.4rem;
  margin-top: 1rem;
  width: 78%;
  max-width: 108px;
  display: inline-block;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .data p.number {
  font-family: var(--serif);
  font-size: 1.5rem;
  margin: 0;
  line-height: 1;
}

#hero.casa-temp .rettangolo-dati-case .riquadro-interno .data p.argument {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  margin: 0;
}

/* -------------------------
	# Casa temp - Description
------------------------- */

#description.casa-temp {
  padding-bottom: 0;
}

#description.casa-temp .titolo-greche-cont {
  margin-bottom: 3rem;
}

#description.casa-temp .paragrafo {
  margin-bottom: 3rem;
}

#description.casa-temp .paragrafo .textarea {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

#description.casa-temp .paragrafo .textarea h4 {
  font-family: var(--sans-serif);
  line-height: 1.6;
  font-size: 1.25rem;
  font-weight: normal;
  margin-bottom: 2rem;
}

#description.casa-temp .paragrafo .img-cont {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#description.casa-temp .paragrafo .img-cont img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* -------------------------
	# Casa temp - Description Long Term
------------------------- */

#description.casa-temp .description {
  margin-bottom: 6rem;
}

#description-aggiuntiva.casa-temp {
  padding-bottom: 6rem;
}

/* -------------------------
	# Casa temp - Fullpage img Long Term
------------------------- */

#full-page-img.casa-temp {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}

/* -------------------------
	# Casa temp - CTA
------------------------- */

#cta.casa-temp {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-position: 50% 70%;
  position: relative;
}

#cta.casa-temp::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.titolo-cta-case {
  position: relative;
  z-index: 2;
  margin-bottom: 4rem;
}

.titolo-cta-case .titolo-gig {
  font-size: 5.25rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
}

.titolo-cta-case .sottotitolo-gig {
  font-size: 0.625rem;
  font-family: var(--sans-serif);
  letter-spacing: 0.1875rem;
  font-weight: 400;
  text-transform: uppercase;
  transform: translateX(2rem);
}

#cta.casa-temp .button-cta {
  position: relative;
  z-index: 2;
  text-align: right;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 1200px) {
  #hero.casa-temp .col-md-4.offset-md-7 {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 48%;
  }
}

@media (max-width: 992px) {
  #hero.casa-temp .col-md-4.offset-md-7 {
    flex: 0 0 70%;
    max-width: 70%;
    margin-left: 15%;
  }

  #hero.casa-temp .rettangolo-dati-case {
    margin-top: 3rem;
  }

  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }

  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .row .col-md-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  #hero.casa-temp .col-md-4.offset-md-7 {
    flex: 0 0 90%;
    max-width: 90%;
    margin-left: 5%;
  }

  #hero.casa-temp .rettangolo-dati-case {
    margin-top: 0;
  }

  #hero.casa-temp {
    padding-top: 8rem;
  }

  /* #hero.casa-temp .titolo-play {
		margin-bottom: 2rem;
	} */

  #hero.casa-temp .badge-casa-long-term {
    margin-bottom: 3rem;
  }

  /* #hero.casa-temp .titolo-play h1 {
		margin-bottom: 2rem;
	} */

  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .icon-type {
    margin-bottom: 1rem;
  }

  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .data object,
  #hero.casa-temp .rettangolo-dati-case .riquadro-interno .data img {
    width: 50%;
  }

  #description.casa-temp .paragrafo .col-md-5 {
    order: 999;
  }

  #description.casa-temp .paragrafo .textarea {
    margin-top: 0;
    padding-left: 5%;
    padding-right: 5%;
  }

  #description.casa-temp .paragrafo .img-cont img {
    max-height: 20rem;
  }

  #cta.casa-temp {
    padding-top: 5rem;
    padding-bottom: 6rem;
    background-position: center;
    background-attachment: initial;
  }

  #cta.casa-temp .titolo-cta-case {
    margin-bottom: 2rem;
  }

  #cta.casa-temp .titolo-cta-case .titolo-gig {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }

  #cta.casa-temp .titolo-cta-case .sottotitolo-gig {
    transform: none;
    margin-bottom: 1rem;
  }

  #cta.casa-temp .button-cta {
    text-align: center;
    display: block;
    text-align: center;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# CASA LONG TERM
==============================================================================
----------------------------------- */

/* -------------------------
	# Casa long-term - Hero
------------------------- */

#hero.casa-long-term {
  padding-top: 30vh;
  min-height: var(--vh-full-height);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#hero.casa-long-term::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

#hero.casa-long-term h1 {
  margin-bottom: 3rem;
}

/* -- Play -- */

#hero.casa-long-term .play-link {
  display: inline-block;
}

#hero.casa-long-term .play-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero.casa-long-term .play {
  margin-right: 1rem;
}

#hero.casa-long-term .play-link {
  text-decoration: none;
}

#hero.casa-long-term .play-link p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.2rem;
  transition-duration: 0.3s;
}

#hero.casa-long-term .play-link:hover p {
  opacity: 0.7;
}

/* #hero.casa-temp .play-link:hover .play {
	animation: rotatePlay 8s linear 0s infinite;
}

@keyframes rotatePlay {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
} */

/* -- Box -- */

#hero.casa-long-term .rettangolo-dati-case {
  border: dashed 0.5px rgba(255, 255, 255, 0.5);
  padding: 5px;
  margin-bottom: 2rem;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno {
  border: solid 0.5px rgba(255, 255, 255, 0.5);
  background-color: rgba(13, 17, 21, 0.7);
  padding: 2rem;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .icon-type h3,
#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .icon-type object {
  display: inline-block;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .icon-type h3 {
  font-size: 1rem;
  font-weight: 600;
  color: white;
  vertical-align: text-bottom;
  margin-bottom: 0.4rem;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .icon-type object {
  margin-right: 1rem;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .icon-type h3 span {
  font-style: italic;
}

/* #hero.casa-long-term .rettangolo-dati-case .riquadro-interno .data-single-cont {
  height: 100%;
} */

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .data object {
  margin-bottom: 0;
  margin-top: 1rem;
  width: 78%;
  max-width: 108px;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .data p.number {
  font-family: var(--serif);
  font-size: 1.5rem;
  margin: 0;
  line-height: 1;
}

#hero.casa-long-term .rettangolo-dati-case .riquadro-interno .data p.argument {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  margin: 0;
}

/* -------------------------
	# Casa long-term - Foto
------------------------- */

#foto-full-page.casa-long-term img {
  width: 100%;
  height: 32rem;
  object-fit: cover;
  object-position: 50% 66%;
}

/* -------------------------
	# Casa long-term - CTA
------------------------- */

#cta.casa-long-term {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-position: 50% 70%;
  position: relative;
}

#cta.casa-long-term::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.titolo-cta-case {
  position: relative;
  z-index: 2;
  margin-bottom: 4rem;
}

.titolo-cta-case .titolo-gig {
  font-size: 5.25rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
}

.titolo-cta-case .sottotitolo-gig {
  font-size: 0.625rem;
  font-family: var(--sans-serif);
  letter-spacing: 0.1875rem;
  font-weight: 400;
  text-transform: uppercase;
  transform: translateX(2rem);
}

#cta.casa-long-term .button-cta {
  position: relative;
  z-index: 2;
  text-align: right;
}

/* -----------------------------------
==============================================================================
	# CASE
==============================================================================
----------------------------------- */

/* -------------------------
	# Case - Hero
------------------------- */

/* section#hero.case {
	background-position: 50% 54%;
} */

#hero.case h1 {
  margin-bottom: 3rem;
}

#hero.case .cta-cont {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* -------------------------
	# Case - Description
------------------------- */

#description.case {
  padding-top: 6rem;
  padding-bottom: 3rem;
}

#description.case .intro .titolo-greche-cont {
  /* margin-bottom: 4rem; */
  margin-bottom: 0;
}

#description.case .intro .titolo-greche-cont h2.titolo-greche {
  line-height: 1.1;
}

/* -------------------------
	# Case - Description
------------------------- */

section.form-popup-cta {
  padding: 0;
  margin-bottom: 4rem;
}

/* -------------------------
	# Case - Filter
------------------------- */

#filter.case {
  /* padding-bottom: 8rem; */
  padding-bottom: 4rem;
}

body.page-template-case section.form-popup-cta {
  margin-bottom: 8rem;
}

#filter.case .titoletto h3 {
  margin-bottom: 2rem;
}

#filter.case .testo {
  margin-bottom: 3rem;
}

#filter.case .filter-btn {
  margin-bottom: 3rem;
}

#filter.case .filter-btn .filter-btns-grid {
  display: grid;
  /* grid-template-columns: repeat(5, 1fr); */
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}

#filter.case .filter-btn .filter-button {
  border: solid 0.5px rgba(25, 38, 54, 0.5);
  padding: 0.8rem 1.2rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  transition-duration: 0.3s;
}

#filter.case .filter-btn .filter-button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#filter.case .filter-btn .col-md-2 {
  margin-bottom: 2rem;
}

#filter.case .filter-btn .filter-button:hover {
  background-color: var(--panna);
}

#filter.case .filter-btn .filter-button.selected {
  background-color: var(--panna-op5);
}

#filter.case .filter-btn .filter-button .filter-name {
  font-size: 1rem;
  color: var(--text-blue);
  margin: 0;
}

#filter.case .filter-btn .filter-button .home-icon {
  margin-bottom: 0.8rem;
}

/* -- Case -- */

#filter.case .case-cont a.link-case {
  text-decoration: none;
}

#filter.case .case-cont .rettangolo-casa {
  height: 510px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 2rem;
  color: white;
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
}

#filter.case .case-cont .rettangolo-casa::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  transition-duration: 0.3s;
}

#filter.case .case-cont .rettangolo-casa::before {
  transform: translateY(23.5rem);
}

#filter.case .case-cont .dettagli-cont {
  position: relative;
  z-index: 2;
}

#filter.case .case-cont .rettangolo-casa .dettagli-cont {
  transition-duration: 0.3s;
  transform: translateY(23.5rem);
}

#filter.case .case-cont .dettagli-cont .argomento {
  font-size: 0.5rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  margin-bottom: -0.4rem;
}

#filter.case .case-cont .dettagli-cont .anchor {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.5rem;
  color: white;
  margin-bottom: -0.1rem;
}

#filter.case .case-cont .dettagli-cont .peoples {
  margin-bottom: 3rem;
  margin-right: 0.1rem;
}

#filter.case .case-cont .dettagli-cont .home-data {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}

#filter.case .case-cont .dettagli-cont .home-data .home-data_element {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#filter.case .case-cont .dettagli-cont .home-data .home-data_element img,
#filter.case .case-cont .dettagli-cont .home-data .home-data_element h3,
#filter.case .case-cont .dettagli-cont .home-data .home-data_element p {
  margin-right: 0.75rem;
}

#filter.case .case-cont .dettagli-cont .home-data .home-data_element h3 {
  margin-bottom: 0;
  line-height: 1;
  font-size: 1.5rem;
}

#filter.case .case-cont .dettagli-cont .home-data .home-data_element p {
  margin-bottom: 0;
  line-height: 1;
  font-size: 0.625rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
}

/* Hover animation */
#filter.case .case-cont .rettangolo-casa:hover .dettagli-cont,
#filter.case .case-cont .rettangolo-casa:hover::before {
  transform: translateY(8rem);
}

#filter.case .case-cont .rettangolo-casa:hover::before {
  background-color: rgba(0, 0, 0, 0.7);
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 1200px) {
  #filter.case .filter-btn .col-md-10.offset-md-1 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }

  #filter.case .case-cont .rettangolo-casa {
    padding: 2rem 1rem;
  }

  #filter.case .case-cont .dettagli-cont .anchor {
    font-size: 1.4rem;
  }
}

@media (max-width: 992px) {
  #filter.case .filter-btn .filter-btns-grid {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1rem;
  }

  #filter.case .filter-btn .filter-btns-grid .filter-button.n1 {
    grid-column: 1/5;
    order: 999;
  }

  #filter.case .case-cont .col-md-4.filter {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 768px) {
  #filter.case .case-cont .col-md-4.filter {
    flex: 0 0 100%;
    max-width: 100%;
  }

  #filter.case .filter-btn .filter-btns-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1rem;
  }

  #filter.case .filter-btn .filter-btns-grid .filter-button.n1 {
    grid-column: 1/3;
    order: 999;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# SIMULATORE
==============================================================================
----------------------------------- */

section.simulatore {
  margin-bottom: 3rem;
}

section.simulatore div.sep {
  background-color: #0f182270;
  height: 1px;
  width: 100%;
  transform: scaleY(50%);
}

section.simulatore .titolo {
  margin-top: 3.375rem;
}

section.simulatore .titolo.no-margin {
  margin-top: 0;
}

section.simulatore .titolo h3 {
  margin-bottom: 1.8rem;
  font-size: 1.5rem;
}

section.simulatore .titolo h3 button[name="show-content-button"] {
  border: none;
  background: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  vertical-align: bottom;
  font-family: var(--serif);
  font-weight: 500;
}

section.simulatore .titolo h3 button[name="show-content-button"] img {
  transform: rotate(180deg);
  /* animation-duration: .3s; */
  transition-duration: 0.3s;
}

section.simulatore .description {
  margin-bottom: 2.5rem;
}

section.simulatore .sections {
  background-color: rgba(25, 38, 54, 0.025);
  padding: 1rem;
}

section.simulatore .sections .section-1 .simulator-btns-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  grid-gap: 1rem;
  margin-bottom: 3rem;
}

section.simulatore .sections .section-1 .simulator-btns-grid .simulator-button {
  border: solid 0.5px rgba(25, 38, 54, 0.5);
  padding: 0.8rem 1.2rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  transition-duration: 0.3s;
}

section.simulatore .sections .section-1 .simulator-btns-grid .simulator-button:hover {
  background-color: var(--panna);
}

section.simulatore .sections .section-1 .simulator-btns-grid .simulator-button.active {
  background-color: var(--panna);
}

section.simulatore .sections .section-1 .simulator-btns-grid .simulator-button .home-icon {
  margin-bottom: 0.8rem;
  pointer-events: none;
}

section.simulatore .sections .section-1 .simulator-btns-grid .simulator-button .simulator-name {
  font-size: 1rem;
  color: var(--text-blue);
  margin: 0;
  pointer-events: none;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-per-tipologia > .cont {
  padding-bottom: 3rem;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  grid-gap: 1rem;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid.hidden {
  display: none;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .rect.mese {
  border: solid 0.5px #0f182250;
  cursor: pointer;
  transition-duration: 0.3s;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .rect.mese:hover,
section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .rect.mese.selected {
  background-color: var(--panna);
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .rect.mese p {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.25rem;
  margin-bottom: 0.2rem;
  pointer-events: none;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect {
  margin-top: 0.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
  grid-gap: 0.5rem;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect.hidden {
  display: none;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect .button {
  border: solid 0.5px #0f182250;
  cursor: pointer;
  transition-duration: 0.3s;
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect .button:hover,
section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect .button[data-selected="yes"] {
  background-color: var(--panna);
}

section.simulatore .sections .section-1 .prezzi-per-tipologia .bottoni-grid .button-cont .piccoli-rect .button p {
  font-size: 0.75rem;
  margin: 0;
  pointer-events: none;
}

section.simulatore .sections .section-1 .pacchetti-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  grid-gap: 1rem;
}

section.simulatore .sections .section-1 .pacchetti-grid .rect.pacchetto {
  border: solid 0.5px #0f182250;
  cursor: pointer;
  transition-duration: 0.3s;
}

section.simulatore .sections .section-1 .pacchetti-grid .rect.pacchetto:hover,
section.simulatore .sections .section-1 .pacchetti-grid .rect.pacchetto.selected {
  background-color: var(--panna);
}

section.simulatore .sections .section-1 .pacchetti-grid .rect.pacchetto p {
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 0.2rem;
  pointer-events: none;
}

section.simulatore .sections .section-2 .row.cont {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

section.simulatore .sections .section-2 .row.cont > .col-md-4 {
  display: flex;
  align-items: center;
}

section.simulatore .sections .section-2 .testo p {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 500;
}

/* .content-to-show {
	transition-duration: .3s;
} */

.content-to-show.no {
  /* transform: translateY(-20%); */
  display: none;
}

.content-to-show.yes {
  display: inherit;
}

/* -----------------------------------
==============================================================================
	# TERRITORIO
==============================================================================
----------------------------------- */

/* -------------------------
	# Territorio - Hero
------------------------- */

#hero.territorio h1 {
  margin-bottom: 2rem;
}

#hero.territorio .cta-cont {
  margin-bottom: 1rem;
}

/* -- Play -- */

#hero.territorio .play-link {
  display: inline-block;
}

#hero.territorio .play-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero.territorio .play {
  margin-right: 1rem;
}

#hero.territorio .play-link {
  text-decoration: none;
}

#hero.territorio .play-link p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: white;
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: 0.2rem;
  transition-duration: 0.3s;
}

#hero.territorio .play-link:hover p {
  opacity: 0.7;
}

/* -------------------------
	# Territorio - Description
------------------------- */

#description.territorio {
  padding-bottom: 4rem;
}

/* -------------------------
	# Territorio - Storia
------------------------- */

#storia.territorio {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding-top: 8rem;
  padding-bottom: 6rem;
}

#storia.territorio .shape {
  z-index: 9;
}

#storia.territorio::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.titolo-cta-storia-territorio {
  position: relative;
  z-index: 2;
  margin-bottom: 4rem;
}

.titolo-cta-storia-territorio .titolo-gig {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
}

.titolo-cta-storia-territorio .sottotitolo-gig {
  font-size: 0.625rem;
  font-family: var(--sans-serif);
  letter-spacing: 0.1875rem;
  font-weight: 400;
  text-transform: uppercase;
  transform: translateX(2rem);
}

#storia.territorio .button-cta {
  position: relative;
  z-index: 2;
  text-align: right;
}

/* -------------------------
	# Territorio - Riserva
------------------------- */

#riserva.territorio {
  padding-top: 6rem;
}

#riserva.territorio .titolo-greche-cont {
  margin-bottom: 4rem;
}

#riserva.territorio .immagine-torre {
  position: relative;
}

#riserva.territorio .immagine-torre img.torre {
  width: 80%;
  margin-top: -8rem;
  margin-left: 2.4rem;
}

#riserva.territorio .immagine-torre .button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* -------------------------
	# Territorio - Vacanza
------------------------- */

#vacanza.territorio .colonna.sx {
  background-image: var(--shade-panna);
  padding: 5rem;
}

#vacanza.territorio .colonna.dx {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0;
}

#vacanza.territorio .colonna.dx img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#vacanza.territorio .titolo-greche-sx-cont {
  margin-bottom: 3rem;
}

#vacanza.territorio .testo {
  margin-bottom: 3rem;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 992px) {
  #hero.territorio .col-md-8.offset-md-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  #storia.territorio .titolo-cta-storia-territorio {
    margin-bottom: 2rem;
  }

  #storia.territorio .button-cta {
    text-align: center;
  }

  #riserva.territorio .immagine-torre {
    padding-top: 2rem;
  }

  #riserva.territorio .immagine-torre div[class*="col-"] {
    display: flex;
    flex-direction: column;
  }

  #riserva.territorio .immagine-torre img.torre {
    margin: 0;
    width: 100%;
    height: auto;
    order: 1;
  }

  #riserva.territorio .immagine-torre a.button {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin-bottom: 2rem;
  }

  #vacanza.territorio .colonna.sx {
    padding: 3rem 2rem;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# SOTTOPAGINA TERRITORIO
==============================================================================
----------------------------------- */

/* -------------------------
	# Territorio - Description
------------------------- */

#description.sub-ter {
  padding-bottom: 5rem;
}

/* -------------------------
	# Territorio - Description
------------------------- */

#testo-img-n1.sub-ter .titolo-greche-cont {
  margin-bottom: 4rem;
}

/* -------------------------
	# Territorio - Description
------------------------- */

#copro-txt-n1.sub-ter {
  padding-bottom: 0;
}

#copro-txt-n1.sub-ter .testo-iniziale {
  margin-bottom: 6rem;
}

/* --------------------------
	# Dogana page - contatti
-------------------------- */

#description.sub-ter .contatti-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  grid-gap: 2rem;
  margin-bottom: 3rem;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana:hover {
  background-color: var(--text-blue);
  color: white;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact {
  padding: 1rem;
  display: flex;
  width: 100%;
  height: 100%;
  border: solid 0.5px rgba(15, 24, 34, 0.5);
  align-items: center;
  justify-content: center;
  min-height: 8rem;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements {
  display: grid;
  grid-gap: 0.8rem;
  text-align: center;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements p,
#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements span,
#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements h2,
#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements img {
  margin: 0;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements img {
  margin: auto;
  opacity: 0.7;
  transition-duration: 0.3s;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements span {
  font-size: 0.75rem;
  opacity: 0.7;
  letter-spacing: 0.0625rem;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana .bottone-contact .elements h2 {
  line-height: 1;
  font-size: 1.5rem;
  color: var(--text-blue);
  transition-duration: 0.3s;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana:hover .bottone-contact .elements h2 {
  color: white;
}

#description.sub-ter .contatti-grid a.anchor-bottone-dogana:hover .bottone-contact .elements img {
  filter: invert();
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 768px) {
  #description.sub-ter .contatti-grid {
    grid-gap: 1rem;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# BUTTON BLUR TEST
==============================================================================
----------------------------------- */

/* -------------------------
	# Button Blur Test - Hero
------------------------- */

#hero.button-blur h1 {
  margin-bottom: 3rem;
}

#hero.button-blur .cta-cont-ext {
  position: relative;
  display: flex;
  justify-content: center;
}

#hero.button-blur .cta-cont {
  overflow: hidden;
  position: relative;
}

#hero.button-blur .cta-cont .blur {
  background-size: cover;
  background-position: 50% 55%;
  /* overflow: hidden; */
  filter: blur(8px);
  position: absolute;
  width: 100vw;
  top: -50px;
  left: calc(-50vw + 288px);
  right: -50px;
  bottom: -50px;
}

@media (max-width: 768px) {
  #hero.button-blur .cta-cont .blur {
    display: none;
  }

  #hero .cta-cont,
  #hero .cta-cont a {
    display: inline-block;
  }
}

/* -----------------------------------
==============================================================================
	# ATTIVITÀ
==============================================================================
----------------------------------- */

/* -------------------------
	# Attività - Hero
------------------------- */

#hero.attivita h1 {
  margin-bottom: 2rem;
}

#hero.attivita .cta-cont {
  margin-bottom: 1rem;
}

/* -- Play -- */

#hero.attivita .play-link {
  display: inline-block;
}

#hero.attivita .play-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero.attivita .play {
  margin-right: 1rem;
}

#hero.attivita .play-link {
  text-decoration: none;
}

#hero.attivita .play-link p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: white;
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: 0.2rem;
  transition-duration: 0.3s;
}

#hero.attivita .play-link:hover p {
  opacity: 0.7;
}

/* -------------------------
	# Attività - Dogana
------------------------- */

#dogana.attivita .colonna.sx {
  background-image: var(--shade-panna);
  padding: 5rem;
}

#dogana.attivita .colonna.dx {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0;
}

#dogana.attivita .colonna.dx img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#dogana.attivita .titolo-greche-sx-cont {
  margin-bottom: 3rem;
}

#dogana.attivita .testo {
  margin-bottom: 3rem;
}

/* -------------------------
	# Attività - Spiagge
------------------------- */

/* -- Description -- */

#spiagge.attivita .spiagge-desc {
  padding-top: 6rem;
  background-image: linear-gradient(to bottom, #001517, #001f22);
  position: relative;
  z-index: 2;
}

/* -- Image -- */

#spiagge.attivita .spiagge-img {
  position: relative;
  z-index: 1;
  margin-top: -2px;
}

#spiagge.attivita .spiagge-img img.bg-spiagge-attivita {
  width: 100%;
}

#spiagge.attivita .spiagge-img .button-cont {
  position: absolute;
  z-index: 2;
  top: 6rem;
  left: 50%;
  transform: translateX(-50%);
}

/* -------------------------
	# Attività - Escursioni
------------------------- */

#escursioni.attivita .titolo-greche-cont {
  margin-bottom: 3rem;
}

#escursioni.attivita .testo {
  margin-bottom: 3rem;
}

/* -------------------------
	# Attività - Dogana
------------------------- */

#cosa-vedere.attivita .colonna.dx {
  background-image: var(--shade-panna);
  padding: 5rem;
}

#cosa-vedere.attivita .colonna.sx {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0;
}

#cosa-vedere.attivita .colonna.sx img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#cosa-vedere.attivita .titolo-greche-dx-cont {
  margin-bottom: 3rem;
}

#cosa-vedere.attivita .testo {
  margin-bottom: 3rem;
}

/* -------------------------
	# Attività - Boxes
------------------------- */

#box-attivita.attivita .grid-cont {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 20rem;
  grid-auto-flow: row;
  grid-gap: 2rem;
  margin-bottom: 5rem;
}

#box-attivita.attivita .grid-cont .box {
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0.5rem;
  text-decoration: none;
  overflow: hidden;
  transition-duration: 0.3s;
}

#box-attivita.attivita .grid-cont .box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 200%;
  top: -50%;
  left: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.75) 60%);
  transition-duration: 0.3s;
}

#box-attivita.attivita .grid-cont .box:hover::before {
  transform: translateY(-25%);
}

#box-attivita.attivita .grid-cont .box .border-white {
  position: relative;
  border: solid 0.5px rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  z-index: 2;
  padding: 2rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

#box-attivita.attivita .grid-cont .box-big .border-white {
  padding-bottom: 4rem;
}

#box-attivita.attivita .grid-cont .box h3 {
  font-size: 1.2rem;
  line-height: 1.3;
  transition-duration: 0.3s;
}

#box-attivita.attivita .grid-cont .box-big h3 {
  font-size: 1.5rem;
}

#box-attivita.attivita .grid-cont .box:hover h3 {
  transform: translateY(-6rem);
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 1200px) {
  #box-attivita.attivita .grid-cont {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  #spiagge.attivita .spiagge-img img.bg-spiagge-attivita {
    height: 70vh;
    object-fit: cover;
    object-position: center;
  }

  #spiagge.attivita .spiagge-img .button-cont {
    top: 2rem;
  }

  #dogana.attivita .colonna.sx {
    padding: 3rem 2rem;
  }

  #cosa-vedere.attivita .colonna.dx {
    padding: 3rem 2rem;
  }

  #cosa-vedere.attivita .colonna.sx {
    order: 2;
  }

  #box-attivita.attivita .grid-cont {
    grid-template-columns: 1fr;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# COSA VEDERE
==============================================================================
----------------------------------- */

/* -------------------------
	# Cosa Vedere - Hero
------------------------- */

#intestazione.cosa-vedere {
  background-image: var(--shade-panna);
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}

#intestazione.cosa-vedere h3 {
  /* font-family: var(--sand-serif); */
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.2rem;
  opacity: 0.7;
  color: var(--text-dark);
  margin: 0;
}

/* -------------------------
	# Cosa Vedere - Boxes
------------------------- */

#boxes.cosa-vedere {
  padding-bottom: 3rem;
}

#boxes.cosa-vedere .grid-cont {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 20rem;
  grid-auto-flow: row;
  grid-gap: 2rem;
  margin-bottom: 5rem;
}

#boxes.cosa-vedere .grid-cont .box {
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0.5rem;
  text-decoration: none;
  overflow: hidden;
  transition-duration: 0.3s;
}

#boxes.cosa-vedere .grid-cont .box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 200%;
  top: -50%;
  left: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.75) 60%);
  transition-duration: 0.3s;
}

#boxes.cosa-vedere .grid-cont .box:hover::before {
  transform: translateY(-25%);
}

#boxes.cosa-vedere .grid-cont .box .border-white {
  position: relative;
  border: solid 0.5px rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  z-index: 2;
  padding: 2rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

#boxes.cosa-vedere .grid-cont .box-big .border-white {
  padding-bottom: 4rem;
}

#boxes.cosa-vedere .grid-cont .box h3 {
  font-size: 1.2rem;
  line-height: 1.3;
  transition-duration: 0.3s;
}

#boxes.cosa-vedere .grid-cont .box-big h3 {
  font-size: 1.5rem;
}

#boxes.cosa-vedere .grid-cont .box:hover h3 {
  transform: translateY(-6rem);
}

/* -------------------------
	# Cosa Vedere - Body
------------------------- */

#body-content.cosa-vedere {
  padding-bottom: 8rem;
}

#body-content.cosa-vedere p {
  opacity: 0.7;
}

#body-content.cosa-vedere a {
  color: inherit;
  text-decoration: underline;
}

#body-content.cosa-vedere a:hover {
  text-decoration: none;
}

#body-content.cosa-vedere h2 {
  margin-top: 5rem;
  margin-bottom: 2rem;
  font-size: 2.25rem;
  font-weight: 600;
  display: inline-block;
  position: relative;
  color: var(--text-blue);
  line-height: 1.3;
}

#body-content.cosa-vedere h2::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#body-content.cosa-vedere h2:nth-child(1) {
  margin-top: 0;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 1200px) {
  #boxes.cosa-vedere .grid-cont {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  #boxes.cosa-vedere .grid-cont {
    grid-template-columns: 1fr;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# PAGE
==============================================================================
----------------------------------- */

/* -------------------------
	# Page - Body
------------------------- */

#body-content.page {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

#body-content.page p {
  opacity: 0.7;
}

#body-content.page p:nth-child(1) {
  font-size: 1.2rem;
  opacity: 1;
  margin-bottom: 1.5rem;
}

#body-content.page a {
  color: inherit;
  text-decoration: underline;
}

#body-content.page a:hover {
  text-decoration: none;
}

#body-content.page h2 {
  margin-top: 5rem;
  margin-bottom: 2rem;
  font-size: 2.25rem;
  font-weight: 600;
  display: inline-block;
  position: relative;
  color: var(--text-blue);
  line-height: 1.3;
}

#body-content.page h2::before {
  content: "";
  position: absolute;
  width: 2.5rem;
  height: 0.625rem;
  left: -1.125rem;
  bottom: -1.2rem;
  background: url("../../uploads/Greca-title-sx.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#body-content.page h2:nth-child(1) {
  margin-top: 0;
}

/* -----------------------------------
==============================================================================
	# BLOG
==============================================================================
----------------------------------- */

/* -------------------------
	# Blog - Description
------------------------- */

#description.blog {
  padding-bottom: 6rem;
}

/* -------------------------
	# Blog - Articoli
------------------------- */

#articoli.blog {
  padding-top: 0;
  padding-bottom: 10rem;
}

#articoli.blog .sel-btn-cont {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-column-gap: 1rem;
  grid-row-gap: 0.5rem;
  margin-bottom: 3rem;
}

#articoli.blog .sel-btn-cont button.sel-btn {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-blue);
  line-height: 1.3;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  background: none;
  border: 0.5px solid rgba(0, 0, 0, 0.5);
  transition-duration: 0.3s;
}

#articoli.blog .sel-btn-cont button.sel-btn:hover,
#articoli.blog .sel-btn-cont button.sel-btn.selezionato {
  background-color: #ddd4cb;
}

#articoli.blog #posts-cont.posts-cont {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}

#articoli.blog #posts-cont.posts-cont .real-post {
  display: flex;
  flex-direction: column;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-img a {
  display: block;
  position: relative;
  padding-bottom: 60%;
}

/* #articoli.blog #posts-cont.posts-cont .real-post .post-img a::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0);
	transition-duration: .3s;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-img a:hover::before {
	background-color: rgba(0,0,0,.3);
} */

#articoli.blog #posts-cont.posts-cont .real-post .post-img img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: center;
  transition-duration: 0.3s;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-img a:hover img {
  filter: brightness(1.1);
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text {
  padding: 2.5rem 2rem 3.5rem 2rem;
  color: white;
  flex: 1;
  display: flex;
  flex-direction: column;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text p {
  margin-bottom: 0.5rem;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text a {
  color: white;
  text-decoration: none;
  transition-duration: 0.3s;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text a:hover {
  opacity: 0.7;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text .post-category a {
  font-size: 0.625rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.15rem;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text .post-title a {
  font-size: 1.5rem;
  line-height: 1.3;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text .post-date {
  font-size: 0.625rem;
  letter-spacing: 0.0625rem;
  font-weight: 400;
  margin-bottom: 0.8rem;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text .post-extract {
  margin-bottom: 2rem;
  flex: 1;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text a.button-small-blog {
  font-family: var(--serif);
  font-size: 1.125rem;
  line-height: 1;
  padding: 0.5rem 1.5rem;
  background-color: rgba(0, 0, 0, 0.3);
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  display: inline-flex;
  align-items: center;
  gap: 2rem;
}

#articoli.blog #posts-cont.posts-cont .real-post .post-text a.button-small-blog:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 1);
}

/* #articoli.blog #posts-cont.posts-cont .real-post .post-text a.button-small-blog img {
  margin-left: 2.5rem;
  transform: translateY(-0.1rem);
} */

#articoli.blog.archive {
  padding-top: 6rem;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 992px) {
  #articoli.blog .sel-btn-cont {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
  }

  #articoli.blog .sel-btn-cont button.sel-btn {
    padding: 0.5rem;
  }

  #articoli.blog #posts-cont.posts-cont {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  #articoli.blog .sel-btn-cont {
    grid-template-columns: 1fr 1fr;
  }

  #articoli.blog #posts-cont.posts-cont {
    grid-template-columns: 1fr;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# BLOG POST (SINGLE POST)
==============================================================================
----------------------------------- */

/* -------------------------
	# Blog Post - Hero
------------------------- */

body.single.single-post #content {
  margin-top: 56px;
}

/* #primary.blog-post {
  margin-top: 30vh;
  background-color: #f2f2f2;
} */

#primary.blog-post #hero {
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: block;
}

#primary.blog-post #hero .post-info {
  margin-top: 3rem;
}

#primary.blog-post #hero .post-info .cat-links a {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  text-decoration: none;
  color: var(--text-blue);
  transition-duration: 0.3s;
}

#primary.blog-post #hero .post-info .entry-meta {
  margin-top: 2rem;
}

#primary.blog-post #hero .post-info .entry-meta a,
#primary.blog-post #hero .post-info .entry-meta {
  font-family: var(--sans-serif);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.075rem;
  text-decoration: none;
  color: var(--text-blue);
  transition-duration: 0.3s;
  font-style: italic;
}

#primary.blog-post #hero .post-info .cat-links a:hover,
#primary.blog-post #hero .post-info .entry-meta a:hover {
  opacity: 0.7;
}

#primary.blog-post #hero .thumbnail-img img {
  width: 100%;
}

/* -------------------------
	# Blog Post - Body
------------------------- */

#primary.blog-post .entry-content {
  padding-bottom: 8rem;
}

#primary.blog-post .entry-content p,
#primary.blog-post .entry-content h2,
#primary.blog-post .entry-content figure.wp-block-embed {
  margin-left: 22vw;
  margin-right: 22vw;
}

#primary.blog-post .entry-content h2 p {
  margin: initial;
}

/* #primary.blog-post .entry-content img {
  width: 76%;
  height: auto;
  margin-left: 12%;
  margin-right: 12%;
  margin-top: 2rem;
  margin-bottom: 2rem;
} */

#primary.blog-post .entry-content .wp-block-group.intro p {
  margin-left: 12vw;
  margin-right: 12vw;
}

#primary.blog-post .entry-content .wp-block-group.intro em {
  font-size: 1.4rem;
}

#primary.blog-post .entry-content .wp-block-group.intro em {
  margin-bottom: 5rem;
}

#primary.blog-post .entry-content .wp-block-group.intro {
  padding-top: 4rem;
  padding-bottom: 3.5rem;
  background-image: linear-gradient(to bottom right, #688c5b, #4b6c3e);
  color: white;
  text-align: center;
  margin-bottom: 3.5rem;
}

#primary.blog-post .entry-content figure {
  padding-top: 10vh;
  padding-bottom: 10vh;
}

#primary.blog-post .entry-content figure figcaption {
  margin-bottom: -8vh;
  font-size: 0.8rem;
  opacity: 1;
}

#primary.blog-post .entry-content figure.wp-block-embed .wp-block-embed__wrapper {
  position: relative;
  /* width: 100%; */
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#primary.blog-post .entry-content figure.wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 992px) {
  #primary.blog-post h1 {
    font-size: 2rem;
    line-height: 1.1;
  }

  #primary.blog-post .entry-content .wp-block-group.intro em {
    font-size: 1.2rem;
    line-height: 1.3;
  }

  #primary.blog-post #hero .post-info {
    padding-left: 3rem;
    padding-right: 3rem;
    margin-bottom: 4rem;
  }

  #primary.blog-post .entry-content p,
  #primary.blog-post .entry-content h2,
  #primary.blog-post .entry-content figure {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  /* #primary.blog-post .entry-content img {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  } */
}

@media (max-width: 768px) {
  #primary.blog-post #hero {
    padding: 0;
  }

  #primary.blog-post #hero .post-info {
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 3rem;
  }

  #primary.blog-post .entry-content p,
  #primary.blog-post .entry-content h2,
  #primary.blog-post .entry-content figure {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  #primary.blog-post .entry-content figure {
    padding-top: 5vh;
    padding-bottom: 5vh;
  }

  #primary.blog-post .entry-content figure figcaption {
    margin-bottom: -5vh;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# CONTATTI
==============================================================================
----------------------------------- */

/* -------------------------
	# Contatti - Hero
------------------------- */

#hero.contatti {
  padding-top: 25vh;
  padding-bottom: 20vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#hero.contatti .testo-hero p {
  font-weight: 300;
}

#hero.contatti .button-cta {
  height: 100%;
  display: flex;
  align-items: center;
}

/* -------------------------
	# Contatti - Content
------------------------- */

#content.contatti .grid-testo-button {
  display: grid;
  grid-template-areas:
    "testo testo testo testo testo mail"
    "testo testo testo testo testo tel";
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
  margin-bottom: 6rem;
}

#content.contatti .grid-testo-button .box-testo {
  grid-area: testo;
  border: solid 0.5px rgba(15, 24, 34, 0.5);
  background-image: var(--shade-panna);
  padding: 3.5rem 5rem;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact.mail {
  grid-area: mail;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact.tel {
  grid-area: tel;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact:hover {
  background-color: var(--text-blue);
  color: white;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact {
  display: flex;
  width: 100%;
  height: 100%;
  border: solid 0.5px rgba(15, 24, 34, 0.5);
  align-items: center;
  justify-content: center;
  min-height: 8rem;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements {
  display: grid;
  grid-gap: 0.8rem;
  text-align: center;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements p,
#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements span,
#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements h2,
#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements img {
  margin: 0;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements img {
  margin: auto;
  opacity: 0.7;
  transition-duration: 0.3s;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements span {
  font-size: 0.75rem;
  opacity: 0.7;
  letter-spacing: 0.0625rem;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact .bottone-contact .elements h2 {
  font-size: 1.5rem;
  color: var(--text-blue);
  transition-duration: 0.3s;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact:hover .bottone-contact .elements h2 {
  color: white;
}

#content.contatti .grid-testo-button a.anchor-bottone-contact:hover .bottone-contact .elements img {
  filter: invert();
}

/* ____ ----    RESPONSIVE   ---- ____ */

@media (max-width: 992px) {
  #hero.contatti {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }

  #hero.contatti .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 20%;
  }

  #hero.contatti .col-md-6.offset-md-2 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 20%;
  }

  #hero.contatti .testo.op.white.testo-hero {
    margin-bottom: 3rem;
  }

  #content.contatti .grid-testo-button {
    display: grid;
    grid-template-areas:
      "testo testo testo mail"
      "testo testo testo tel";
    grid-template-columns: repeat(4, 1fr);
  }

  #content.contatti .grid-testo-button .box-testo {
    padding: 2rem 2rem;
  }
}

@media (max-width: 768px) {
  #hero.contatti {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }

  #hero.contatti .col-md-4 {
    flex: inherit;
    max-width: inherit;
    margin-left: 0;
  }

  #hero.contatti .col-md-6.offset-md-2 {
    flex: inherit;
    max-width: inherit;
    margin-left: 0;
  }

  #hero.contatti .button-cta a {
    width: 100%;
  }

  #content.contatti .grid-testo-button {
    grid-template-areas:
      "mail tel"
      "testo testo";
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
  }

  #content.contatti .grid-testo-button .box-testo {
    padding: 2rem 2rem;
  }
}

/* ____ ---- fine RESPONSIVE ---- ____ */

/* -----------------------------------
==============================================================================
	# GENERAL RESPONSIVE
==============================================================================
----------------------------------- */

@media (max-width: 768px) {
  .titolo-gig {
    font-size: 2.2rem !important;
    line-height: 1.1;
    margin-bottom: 1rem !important;
  }
}

/* -----------------
  Hero
----------------- */

section#hero.new-standard-hero {
  position: relative;
}

section#hero.new-standard-hero.full {
  height: var(--vh-full-height);
}

section#hero.new-standard-hero.medium {
  height: 57.5vh;
}

section#hero.new-standard-hero > :not(.bg) {
  position: relative;
}

section#hero.new-standard-hero .bg,
section#hero.new-standard-hero .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

section#hero.new-standard-hero .bg img,
section#hero.new-standard-hero .bg video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

section#hero.new-standard-hero .bg .overlay {
  background-color: black;
}

section#hero.new-standard-hero .container {
  height: 100%;
  display: grid;
  place-items: center;
}

section#hero.new-standard-hero .content .page-title {
  text-align: center;
}

section#hero.new-standard-hero .content .page-title h1 {
  color: white;
  margin-bottom: 0.64em;
}

section#hero.new-standard-hero .scroll-icon {
  position: absolute;
  bottom: 7.5vh;
  left: 50%;
  transform: translateX(-50%);
}

/* img-bg-dark-grade */

section.img-bg-dark-grade {
  position: relative;
}

section.img-bg-dark-grade .bg,
section.img-bg-dark-grade .bg .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

section.img-bg-dark-grade .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 17.5% center;
}

section.img-bg-dark-grade .bg .overlay .grade {
  /* margin-top: 7rem; */
  margin-top: 9rem;
  /* height: 24rem; */
  height: 32rem;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65));
}

section.img-bg-dark-grade .bg .overlay .bottom {
  /* height: calc(100% - 31rem); */
  height: calc(100% - 40rem);
  min-height: 0;
  /* background-color: black; */
  background-color: rgb(0 0 0/0.65);
}

section.img-bg-dark-grade .container {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 10rem;
  text-align: center;
}

section.img-bg-dark-grade .container .section-mega-title {
  margin-bottom: 5rem;
}

section.img-bg-dark-grade .container .text-container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

section.img-bg-dark-grade .container .text-container .text-content {
  grid-column: 2/6;
  text-align: left;
}

section.img-bg-dark-grade .container .text-container .text-content p {
  color: white;
}

section.img-bg-dark-grade .container .text-container .text-content h2 {
  color: white;
  font-size: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 1.2rem;
  line-height: 1.2;
}

@media (max-width: 768px) {
  section.img-bg-dark-grade .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  section.img-bg-dark-grade .container .text-container .text-content {
    grid-column: 1 / span all;
  }
}

/* -----------------------------------
==============================================================================
	# GLAMPING
==============================================================================
----------------------------------- */

body.glamping img {
  max-width: 100%;
}

body.glamping section#intro {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

body.glamping section#intro .section-title {
  margin-bottom: 2rem;
}

body.glamping section#intro .content {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-bottom: 2rem;
}

body.glamping section#intro .content .text {
  grid-column: 2/6;
}

body.glamping section#intro .content .text p {
  opacity: 0.7;
}

body.glamping section#lodge {
  /* padding-bottom: 6.5rem; */

  margin-top: 5rem;
  margin-bottom: 3rem;
}

body.glamping section#lodge .section-title {
  margin-bottom: 4.5rem;
}

body.glamping section#lodge .section-title h2 a {
  font-family: inherit;
  text-decoration: unset;
}

/* body.glamping section#lodge .lodges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
} */

body.glamping section#lodge .lodges .swiper-slide {
  height: 80vh;
}

body.glamping section#lodge .lodges .single-lodge {
  position: relative;
  overflow: hidden;
  height: 100%;
}

body.glamping section#lodge .swiper {
  position: relative;
}

body.glamping section#lodge .swiper .control-wrap {
  position: absolute;
  top: 0;
  height: 100%;
  width: 20%;
  max-width: 160px;
  z-index: 2;
  cursor: pointer;
}

body.glamping section#lodge .swiper .control-wrap .bg {
	display: none;
}

body.glamping section#lodge .swiper .control-wrap.left {
  left: 0;
}

body.glamping section#lodge .swiper .control-wrap.right {
  right: 0;
}

body.glamping section#lodge .swiper .control-wrap .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.glamping section#lodge .swiper .control-wrap.left .bg {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

body.glamping section#lodge .swiper .control-wrap.right .bg {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

body.glamping section#lodge .swiper .control-wrap .arrow-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body.glamping section#lodge .swiper .control-wrap .arrow-wrap button {
  all: unset;
  display: block;
  transition: 0.3s ease;
}

body.glamping section#lodge .swiper .control-wrap.left:hover .arrow-wrap button {
  transform: translateX(-0.5rem);
}

body.glamping section#lodge .swiper .control-wrap.right:hover .arrow-wrap button {
  transform: translateX(0.5rem);
}

body.glamping section#lodge .swiper .control-wrap .arrow-wrap svg {
  width: 2rem;
  height: 2rem;
  display: block;
}

body.glamping section#lodge .swiper .control-wrap.swiper-button-disabled .arrow-wrap button {
  opacity: 0.5;
  cursor: auto;
}

body.glamping section#lodge .lodges .single-lodge .bg,
body.glamping section#lodge .lodges .single-lodge .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.glamping section#lodge .lodges .single-lodge .bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.glamping section#lodge .lodges .single-lodge .overlay {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
  transition: transform 0.1s, background 0.3s, backdrop-filter 0.6s;
}

body.glamping section#lodge .lodges .single-lodge.closed .overlay {
  transform: translateY(50%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

@supports ((backdrop-filter: 10px) or (-webkit-backdrop-filter: blur(10px))) {
  body.glamping section#lodge .lodges .single-lodge .overlay {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: transform 0.1s, background 0.3s, backdrop-filter 0.6s;
  }

  body.glamping section#lodge .lodges .single-lodge.closed .overlay {
    transform: translateY(50%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
  }
}

body.glamping section#lodge .lodges .single-lodge .content {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 4.5rem 2rem;
  transition: transform 0.45s;
}

body.glamping section#lodge .lodges .single-lodge .content .visible {
  text-align: center;
}

body.glamping section#lodge .lodges .single-lodge .content p,
body.glamping section#lodge .lodges .single-lodge .content h3 {
  color: white;
}

body.glamping section#lodge .lodges .single-lodge .content p {
  font-weight: 300;
}

body.glamping section#lodge .lodges .single-lodge .content p strong {
  font-weight: 800;
}

body.glamping section#lodge .lodges .single-lodge .content .description p {
  margin-bottom: 2.25rem;
}

body.glamping section#lodge .lodges .single-lodge .content .lodge-title h3 {
  font-size: 2.25rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

@media (max-width: 1659px) {
	body.glamping section#lodge .lodges .single-lodge .content .lodge-title h3 {
	  font-size: 2rem;
	}
}


body.glamping section#lodge .lodges .single-lodge .content .data {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.5rem;
  max-width: 15rem;
  margin: auto;
  margin-bottom: 3.5rem;
}

body.glamping section#lodge .lodges .single-lodge .content .data .icon,
body.glamping section#lodge .lodges .single-lodge .content .data .text p.numero {
  margin-right: 0.5rem;
}

body.glamping section#lodge .lodges .single-lodge .content .data > *,
body.glamping section#lodge .lodges .single-lodge .content .data > * .text {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.glamping section#lodge .lodges .single-lodge .content .data > * .text p {
  margin-bottom: 0;
}

body.glamping section#lodge .lodges .single-lodge .content .data > * .text p.numero {
  font-family: var(--serif);
  font-size: 1.5rem;
  line-height: 1;
}

body.glamping section#lodge .lodges .single-lodge .content .data > * .text p.label {
  font-size: 0.5em;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-bottom: -1em;
}

body.glamping section#lodge .lodges .single-lodge .new-button-small {
  max-width: 100%;
}

body.glamping section#lodge .last-cta .new-button-cont {
  display: flex;
  justify-content: center;
  padding-top: 5rem;
  flex-wrap: wrap;
  row-gap: 1rem;
}

body.glamping section#servizi {
  padding-top: 11rem;
  padding-bottom: 10.5rem;
}

body.glamping section#servizi .img-grid {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

body.glamping section#servizi .img-grid .el {
  position: relative;
}

body.glamping section#servizi .img-grid .el img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.glamping section#servizi .img-grid .el .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.33);
}

body.glamping section#servizi .container {
  position: relative;
  text-align: center;
}

body.glamping section#servizi-text {
  padding-top: 3.5rem;
  padding-bottom: 11rem;
}

body.glamping section#servizi-text .text {
  margin-bottom: 3rem;
}

body.glamping section#servizi-text .new-button-cont {
  display: flex;
  justify-content: center;
}

body.glamping section.new-side {
  margin-bottom: 6.25rem;
}

body.glamping section.new-side:last-of-type {
  margin-bottom: 9rem;
}

@media (max-width: 768px) {
  body.glamping .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  body.glamping section#intro {
    padding-top: 4rem;
  }

  body.glamping section#intro .section-title h2 {
    line-height: 1.3;
  }

  body.glamping section#intro .content .text {
    grid-column: 1 / span all;
  }

  body.glamping section#lodge .lodges {
    grid-template-columns: 1fr;
    grid-row-gap: 1rem;
    padding-left: 0;
    padding-right: 0;
  }

  /* body.glamping section#lodge .lodges .single-lodge {
    height: 65vh;
  } */

  body.glamping section#servizi-text {
    padding-bottom: 0;
  }

  body.glamping section.new-side {
    margin-bottom: 0;
  }

  body.glamping section.new-side:last-of-type {
    margin-bottom: 0;
  }
}

/* ____ ---- fine GLAMPING ---- ____ */

/* lodge */

body.page-template-glamping-lodge section img {
  max-width: 100%;
  display: block;
}

body.page-template-glamping-lodge section#main {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

body.page-template-glamping-lodge section#main .intro .section-title {
  margin-bottom: 2rem;
}

body.page-template-glamping-lodge section#main .intro .content {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-bottom: 2rem;
}

body.page-template-glamping-lodge section#main .intro .content .text {
  grid-column: 2/6;
  margin-bottom: 5.5rem;
}

body.page-template-glamping-lodge section#main .intro .content .text p {
  opacity: 0.7;
}

body.page-template-glamping-lodge section#main .lodges .filter-wrap {
  margin-bottom: 4.25rem;
  display: flex;
  justify-content: center;
}

body.page-template-glamping-lodge section#main .lodges .filters-tabs {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1.6875rem;
}

body.page-template-glamping-lodge section#main .lodges .filters-tabs .sep {
  width: 1px;
  height: calc(100% - 2rem);
  background-color: #000;
  opacity: 0.125;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab.active {
  opacity: 1;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab button {
  all: unset;
  cursor: pointer;
  width: 8.25rem;
  height: 6.25rem;
  position: relative;
  display: grid;
  place-items: center;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab button svg {
  display: block;
  width: 90%;
  height: 90%;
  object-fit: contain;
  object-position: center;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab .active-icon-wrap {
  opacity: 0;
  transform: translateY(-0.5rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

body.page-template-glamping-lodge section#main .lodges .single-filter-tab:hover .active-icon-wrap,
body.page-template-glamping-lodge section#main .lodges .single-filter-tab.active .active-icon-wrap {
  opacity: 1;
  transform: translateY(0);
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid:not(.show) {
  display: none;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge {
  position: relative;
  height: 24rem;
  overflow: hidden;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .bg,
body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform 0.45s;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge a {
  text-decoration: none !important;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content p,
body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content h3 {
  color: white;
  margin-bottom: 0;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont {
  position: relative;
  padding: 2rem 2rem 4rem;
  background-color: rgba(0, 0, 0, 0.5);
  /* background-color: rgba(255, 255, 255, 0.1); */
}

@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont {
    position: relative;
    padding: 2rem 2rem 4rem;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.15);
    /* background-color: rgba(255, 255, 255, 0.1); */
  }
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: -0.75px;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
  transform: scaleY(50%);
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible,
body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible .data,
body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible .data * {
  display: flex;
  align-items: center;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible .data .guests {
  margin-right: 2rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible .data .icon,
body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible .data .text .numero {
  margin-right: 0.5rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible {
  justify-content: space-between;
  margin-bottom: 2.25rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .lodge-title h3 {
  font-size: 1.5rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .data .text p.numero {
  font-family: var(--serif);
  font-size: 1.5rem;
}

body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .data .text p.label {
  font-size: 0.5rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-top: 0.45rem;
}

@media (max-width: 768px) {
  body.page-template-glamping-lodge .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  body.page-template-glamping-lodge section#main {
    padding-top: 4.5rem;
  }

  body.page-template-glamping-lodge section#main .intro .section-title h2 {
    line-height: 1.3;
  }

  body.page-template-glamping-lodge section#main .intro .content .text {
    grid-column: 1 / span all;
    margin-bottom: 3rem;
  }

  body.page-template-glamping-lodge section#main .lodges .lodges-grid {
    grid-template-columns: 1fr;
  }

  body.page-template-glamping-lodge section#main .lodges .lodges-grid .single-lodge .content .inside-cont .visible {
    flex-direction: column;
    align-items: initial;
    margin-bottom: 2rem;
    gap: 0.75rem;
  }
}

/* Single lodge */

body.single-lodge section#hero {
  position: relative;
}

body.single-lodge section#hero > :not(.bg) {
  position: relative;
}

body.single-lodge section#hero .bg,
body.single-lodge section#hero .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.single-lodge section#hero .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-lodge section#hero .bg .overlay {
  background-color: black;
}

body.single-lodge section#hero .container {
  height: 100%;
  display: grid;
  place-items: center;
  margin-top: 12rem;
  margin-bottom: 12rem;
}

body.single-lodge section#hero .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

body.single-lodge section#hero .content .page-title {
  text-align: center;
}

body.single-lodge section#hero .content .page-title h1 {
  color: white;
  margin-bottom: 0;
}

body.single-lodge section#hero .content .page-title h2 {
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  font-family: var(--sans-serif);
  color: white;
}

body.single-lodge section#hero .play-link {
  all: unset;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
}

body.single-lodge section#hero .play-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.single-lodge section#hero .play {
  margin-right: 1rem;
}

body.single-lodge section#hero .play-link p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.2rem;
  transition-duration: 0.3s;
}

body.single-lodge section#hero .play-link:hover p {
  opacity: 0.7;
}

body.single-lodge section#hero .data {
  position: relative;
  padding: 1rem 2.5rem;
  background-color: rgba(0, 0, 0, 0.5);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  body.single-lodge section#hero .data {
    background-color: rgba(0, 0, 0, 0.35);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }
}

body.single-lodge section#hero .data::before {
  content: "";
  position: absolute;
  top: -0.75px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  transform: scaleY(0.5);
}

body.single-lodge section#hero .data,
body.single-lodge section#hero .data * {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.single-lodge section#hero .data p {
  color: white;
  margin-bottom: 0;
}

body.single-lodge section#hero .data > :not(:last-child) {
  margin-right: 6vw;
}

body.single-lodge section#hero .data .icon,
body.single-lodge section#hero .data .text .numero {
  margin-right: 0.5rem;
}

body.single-lodge section#hero .data .text p.numero {
  font-family: var(--serif);
  font-size: 1.5rem;
}

body.single-lodge section#hero .data .text p.label {
  font-size: 0.5rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-top: 0.45rem;
}

body.single-lodge section#data {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: rgba(15, 24, 34, 0.1);
}

body.single-lodge section#data .content {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
  color: var(--text-blue);
}

body.single-lodge section#data .content .data-intro-wrap {
  grid-column: 1/3;
}

body.single-lodge section#data .content .data-intro-wrap .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.single-lodge section#data .content .data-intro-wrap .text-wrap p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0;
}

body.single-lodge section#data .content .data-intro-wrap .text-wrap p:not(:last-child) {
  margin-bottom: 1em;
}

body.single-lodge section#data .content .section-title {
  font-size: 2.25rem;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: -0.25em;
}

body.single-lodge section#data .content .data-grid-wrap {
  grid-column: 3/7;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.single-lodge section#data .content .data-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 2rem;
}

body.single-lodge section#data .content .single-data,
body.single-lodge section#data .content .single-data .text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

body.single-lodge section#data .content .single-data .icon {
  width: 1.5rem;
}

body.single-lodge section#data .content .single-data .icon svg {
  display: block;
  width: 100%;
  height: auto;
}

body.single-lodge section#data .content .single-data p {
  margin-bottom: 0;
  line-height: 1;
}

body.single-lodge section#data .content .single-data .label {
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 1;
  margin-bottom: -0.5em;
}

body.single-lodge section#data .content .single-data .value {
  font-size: 1.5rem;
  font-weight: 600;
  font-family: var(--serif);
}

@media (max-width: 768px) {
  body.single-lodge section#data .content .data-intro-wrap,
  body.single-lodge section#data .content .data-grid-wrap {
    grid-column: 1/7;
  }

  body.single-lodge section#data .content .data-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

body.single-lodge section#intro {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

body.single-lodge section#intro .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.single-lodge section#intro .container .text-cont {
  grid-column: 2/6;
  text-align: center;
}

body.single-lodge section#intro .container .text-cont p {
  font-size: 1.25rem;
  font-style: italic;
  opacity: 0.7;
}

body.single-lodge section#gallery {
  padding-bottom: 8rem;
}

/* body.single-lodge section#gallery .grid {
  position: relative;
}

body.single-lodge section#gallery .grid .text {
  width: calc(100% / 3 - 3rem);
  min-height: 60vh;
  float: left;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.single-lodge section#gallery .grid .text h2 {
  line-height: 1.3;
  margin-bottom: 2rem;
}

body.single-lodge section#gallery .grid .gallery {
  width: calc(200% / 3 - 2rem / 3);
  float: right;
} */

body.single-lodge section#gallery .main-gallery-wrap {
  margin-bottom: 5.5rem;
}

body.single-lodge section#gallery .swiper {
  width: 100%;
  max-width: 1080px;
  margin: auto;
  overflow: visible;
}

body.single-lodge section#gallery .swiper .swiper-slide {
  position: relative;
  height: 75vh;
}

@media (max-width: 768px) {
	body.single-lodge section#gallery .swiper .swiper-slide {
	  height: 0;
		padding-bottom: 125%;
	}
}

body.single-lodge section#gallery .swiper .swiper-slide .image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.single-lodge section#gallery .swiper .swiper-slide .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-lodge section#gallery .swiper .swiper-slide .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem 2rem;
  background-color: rgba(0, 0, 0, 0.5);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  body.single-lodge section#gallery .swiper .swiper-slide .caption {
    background-color: rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(8px);
  }
}

body.single-lodge section#gallery .swiper .swiper-slide .caption p {
  font-size: 0.75rem;
  color: white;
  margin-bottom: 0;
}

body.single-lodge section#gallery .swiper .swiper-slide .fullscreen-wrap {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 1rem;
  height: 1rem;
  cursor: zoom-in;
  display: none;
}

body.single-lodge section#gallery .swiper .swiper-slide.swiper-slide-active .fullscreen-wrap {
  display: block;
}

body.single-lodge section#gallery .swiper .swiper-slide .fullscreen-wrap button {
  all: unset;
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

body.single-lodge section#gallery .swiper .swiper-slide .fullscreen-wrap button svg,
body.single-lodge section#gallery .swiper .swiper-slide .fullscreen-wrap button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.single-lodge section#gallery .swiper .swiper-button-prev,
body.single-lodge section#gallery .swiper .swiper-button-next {
  transition: opacity 0.3s;
}

body.single-lodge section#gallery .swiper .swiper-button-prev:hover,
body.single-lodge section#gallery .swiper .swiper-button-next:hover {
  opacity: 0.5;
}

body.single-lodge section#gallery .swiper .swiper-button-prev {
  left: 2rem;
}

body.single-lodge section#gallery .swiper .swiper-button-next {
  right: 2rem;
}

body.single-lodge section#gallery .swiper .swiper-button-prev::after,
body.single-lodge section#gallery .swiper .swiper-button-next::after {
  display: none;
}

body.single-lodge section#gallery .gallery-text-wrap .text-cont {
  width: 100%;
  max-width: 44rem;
  margin: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.fullscreen-gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  display: none;
}

.fullscreen-gallery .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.65);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  .fullscreen-gallery .overlay {
    background-color: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
  }
}

.fullscreen-gallery.active {
  display: block;
}

.fullscreen-gallery .gallery {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.fullscreen-gallery .close-icon-wrap {
	position: absolute;
    top: 6rem;
    right: 2.5rem;
    padding: 0.5rem;
    z-index: 999;
    cursor: pointer;
    background: #ffffff2b;
    border-radius: 9999px;
    height: 2.5rem;
    width: 2.5rem;
}

.fullscreen-gallery .close-icon {
    display: grid;
    place-items: center;
    height: 100%;
}

.fullscreen-gallery .swiper {
  width: 100%;
  max-width: 1140px;
  margin: auto;
  overflow: visible;
}

.fullscreen-gallery .swiper .swiper-slide {
  position: relative;
  /* width: fit-content; */
  height: 82vh;
}

/* .fullscreen-gallery .swiper .swiper-slide .image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fullscreen-gallery .swiper .swiper-slide .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
} */

.fullscreen-gallery .swiper .swiper-slide .image-wrap {
  height: 100%;
  position: relative;
}

@media (max-width: 768px) {
	.fullscreen-gallery .swiper .swiper-slide .image-wrap {
		height: 0;
		position: relative;
		top: 50%;
		translate: 0 -50%;
		padding-bottom: 125%;
	}
}

.fullscreen-gallery .swiper .swiper-slide .image-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .fullscreen-gallery .swiper .swiper-button-prev {
  left: 0;
} */

.fullscreen-gallery .swiper-button-next:after,
.fullscreen-gallery .swiper-rtl .swiper-button-prev:after,
.fullscreen-gallery .swiper-button-prev:after,
.fullscreen-gallery .swiper-rtl .swiper-button-next:after {
  display: none;
}

body.single-lodge section#final {
  padding-top: 5.4rem;
  padding-bottom: 8.6rem;
}

body.single-lodge section#final .section-title h2 {
  font-size: 2.25rem;
  margin-bottom: 2rem;
}

body.single-lodge section#final .content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 2rem;
}

body.single-lodge section#final .content .text-cont p {
  opacity: 0.7;
}

body.single-lodge section#final .content .text-cont h2 {
  padding-top: 3rem;
  padding-bottom: 1rem;
  line-height: 1.3;
}

body.single-lodge section#final .content .new-button-cont {
  padding-bottom: 1.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

@media (max-width: 768px) {
  body.single-lodge section#hero .data {
    gap: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  body.single-lodge section#hero .data > *,
  body.single-lodge section#hero .data > * > * {
    flex-direction: column;
  }

  body.single-lodge section#hero .data .icon,
  body.single-lodge section#hero .data .icon * {
    display: block;
  }

  body.single-lodge section#intro .container .text-cont {
    grid-column: 1 / span all;
  }

  body.single-lodge section#gallery .grid .text,
  body.single-lodge section#gallery .grid .gallery {
    float: none;
    width: 100%;
  }

  body.single-lodge section#final .content {
    grid-template-columns: 1fr;
  }

  body.single-lodge section#final .content .new-button-cont {
    align-items: center;
    justify-content: flex-start;
  }
}

/* Servizi */

body.page-template-glamping-servizi section#intro {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

body.page-template-glamping-servizi section#intro .content-cont {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.page-template-glamping-servizi section#intro .content-cont .content {
  grid-column: 2/6;
}

body.page-template-glamping-servizi section#intro .title h2 {
  margin-bottom: 2rem;
}

body.page-template-glamping-servizi section#intro .text p {
  font-style: italic;
  opacity: 0.7;
}

body.page-template-glamping-servizi section#mega-img {
  position: relative;
  padding-bottom: 56%;
}

body.page-template-glamping-servizi section#mega-img > .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.page-template-glamping-servizi section#mega-img > .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
}

body.page-template-glamping-servizi section#mega-img > .text {
  position: relative;
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

body.page-template-glamping-servizi section#mega-img > .text > .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

body.page-template-glamping-servizi section#mega-img > .text .content-cont {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.page-template-glamping-servizi section#mega-img > .text .content-cont .content {
  grid-column: 2/6;
}

body.page-template-glamping-servizi section#mega-img > .text .content-cont .content > * {
  color: white;
}

body.page-template-glamping-servizi section#mega-img > .text .content-cont .content .title h2 {
  line-height: 1.3;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  body.page-template-glamping-servizi section#intro .title h2 {
    line-height: 1.3;
  }

  body.page-template-glamping-servizi section#intro .content-cont .content {
    grid-column: 1 / span all;
  }

  body.page-template-glamping-servizi section#mega-img {
    padding-bottom: 66vh;
  }

  body.page-template-glamping-servizi section#mega-img > .text {
    padding-top: 4.5rem;
    padding-bottom: 5rem;
  }

  body.page-template-glamping-servizi section#mega-img > .text .content-cont .content {
    grid-column: 1 / span all;
  }
}

/* Pagina contatti unificata */

body.page-template-contatti-unificata section#main .container {
  padding-top: 7rem;
  padding-bottom: 11rem;
}

body.page-template-contatti-unificata section#main .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 2rem;
}

body.page-template-contatti-unificata section#main .section-title {
  grid-column: 2/6;
  margin-bottom: 3rem;
}

body.page-template-contatti-unificata section#main .tabs {
  grid-column: 2/6;
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont {
  --margin-bottom: 4.875rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
  margin-bottom: var(--margin-bottom);
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn {
  position: relative;
  padding: 0.75rem;
  text-align: center;
  cursor: pointer;
  transition: background 0.3s;
  display: grid;
  align-items: center;
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn:hover {
  background-color: rgba(15, 24, 34, 0.5);
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn.selected {
  background-color: rgba(15, 24, 34, 0.75);
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn.selected p {
  color: white;
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  border: 1px solid var(--text-blue);
  opacity: 0.5;
  transform: scale(0.5, 0.5);
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn::after {
  content: "";
  position: absolute;
  top: calc(100% + 0.375rem);
  left: 50%;
  height: calc(var(--margin-bottom) - 0.75rem);
  width: 1px;
  background-color: black;
  opacity: 0;
  transform: scaleX(0.5);
  transition: opacity 0.3s;
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn.selected::after {
  opacity: 0.5;
}

body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn p {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0;
  transition: color 0.3s;
  line-height: 1.3;
  padding-bottom: 0.2em;
}

body.page-template-contatti-unificata section#main .divider {
  grid-column: span 6;
  height: 1px;
  background-color: black;
  opacity: 0.5;
  transform: scaleY(0.5);
}

body.page-template-contatti-unificata section#main .results {
  padding-top: 4rem;
  grid-column: 2/6;
}

body.page-template-contatti-unificata section#main .results .target-el-cont .target-el {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-gap: 2rem;
}

body.page-template-contatti-unificata section#main .results .target-el-cont .target-el:not(.visible) {
  display: none;
}

body.page-template-contatti-unificata section#main .results .target-el-cont .target-el .contact-btn-cont .contact-btn:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

body.page-template-contatti-unificata section#main .results .target-el-cont .target-el .text p {
  opacity: 0.7;
}

@media (max-width: 768px) {
  body.page-template-contatti-unificata section#main .container {
    padding-top: 4rem;
  }

  body.page-template-contatti-unificata section#main .section-title,
  body.page-template-contatti-unificata section#main .tabs,
  body.page-template-contatti-unificata section#main .results {
    grid-column: 1 / span all;
  }

  body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont .tr-btn::after {
    display: none;
  }

  body.page-template-contatti-unificata section#main .tabs .trigger-btn-cont {
    --margin-bottom: 2rem;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
  }

  body.page-template-contatti-unificata section#main .divider {
    width: calc(100% + 2rem);
  }

  body.page-template-contatti-unificata section#main .results .target-el-cont .target-el {
    grid-template-columns: 1fr;
  }

  body.page-template-contatti-unificata section#main .results .target-el-cont .target-el .contact-btn-cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1rem;
  }

  body.page-template-contatti-unificata section#main .results .target-el-cont .target-el .contact-btn-cont .contact-btn:not(:last-of-type) {
    margin-bottom: 0;
  }
}

/* Pagina stabilimenti */

body.page-template-stabilimenti section#intro {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

body.page-template-stabilimenti section#intro .content-cont {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 2rem;
}

body.page-template-stabilimenti section#intro .content-cont .content {
  grid-column: 2/6;
}

body.page-template-stabilimenti section#intro .content-cont .content .title {
  margin-bottom: 2rem;
}

body.page-template-stabilimenti section#intro .content-cont .content .text p {
  opacity: 0.7;
}

body.page-template-stabilimenti section#stabilimenti .columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab {
  position: relative;
  height: 44vw;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .bg .overlay {
  position: absolute;
  width: 100%;
  height: 50%;
  left: 0;
  bottom: 0;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content {
  position: relative;
  height: 100%;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
  padding: 2rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.3s;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a:hover {
  background-color: rgba(0, 0, 0, 0.25);
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a .title {
  margin-bottom: 4rem;
  color: white;
  transition: transform 0.3s;
}

body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a:hover .title {
  transform: translateY(-1rem);
}

body.page-template-stabilimenti section#servizi {
  padding-top: 9rem;
  padding-bottom: 6rem;
}

body.page-template-stabilimenti section#servizi .content-cont {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 2rem;
}

body.page-template-stabilimenti section#servizi .content-cont .content {
  grid-column: 2/6;
}

body.page-template-stabilimenti section#servizi .content-cont .content .title {
  margin-bottom: 2rem;
}

body.page-template-stabilimenti section#servizi .content-cont .content .text p {
  opacity: 0.7;
}

body.page-template-stabilimenti section#servizi-shape {
  padding-top: 11rem;
  padding-bottom: 10.5rem;
}

body.page-template-stabilimenti section#servizi-shape .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.page-template-stabilimenti section#servizi-shape .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-template-stabilimenti section#servizi-shape .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.33);
}

body.page-template-stabilimenti section#servizi-shape .container {
  position: relative;
  text-align: center;
}

body.page-template-stabilimenti section#ristorante {
  position: relative;
  margin-top: 7rem;
  margin-bottom: 6rem;
}

body.page-template-stabilimenti section#ristorante a.section-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.page-template-stabilimenti section#ristorante .text {
  padding-bottom: 15vw;
}

@media (max-width: 768px) {
  body.page-template-stabilimenti section#intro .content-cont .content {
    grid-column: 1 / span all;
  }

  body.page-template-stabilimenti section#stabilimenti .columns {
    padding-left: 1rem;
    padding-right: 1rem;
    grid-row-gap: 1rem;
  }

  body.page-template-stabilimenti section#stabilimenti .columns .single-stab {
    height: calc(100vw - 2rem);
  }

  body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a {
    align-items: center;
  }

  body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a .title {
    margin-bottom: 0;
  }

  body.page-template-stabilimenti section#stabilimenti .columns .single-stab .content a:hover .title {
    transform: none;
  }

  body.page-template-stabilimenti section#servizi {
    padding-top: 5rem;
  }

  body.page-template-stabilimenti section#servizi .content-cont .content {
    grid-column: 1 / span all;
  }

  body.page-template-stabilimenti section#servizi .content-cont .content .title h2 {
    line-height: 1.3;
  }

  body.page-template-stabilimenti section#ristorante {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) {
  body.single-stabilimento .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

body.single-stabilimento section#intro {
  padding-top: 5.5rem;
  padding-bottom: 4.5rem;
}

@media (max-width: 768px) {
  body.single-stabilimento section#intro {
    padding-top: 4.5rem;
  }
}

/* body.single-stabilimento section#intro .container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 2rem;
} */

body.single-stabilimento section#intro .testo {
  padding-top: 1rem;
}

@media (max-width: 768px) {
  body.single-stabilimento section#intro .testo {
    padding-top: 0;
  }
}

body.single-stabilimento section#intro .testo .section-title {
  margin-bottom: 2.25rem;
}

body.single-stabilimento section#intro .testo .section-title h2 {
  line-height: 1.3;
}

body.single-stabilimento section#intro .testo .content p {
  opacity: 0.7;
}

body.single-stabilimento section#intro .dati .contatti {
  position: relative;
  padding: 1.125rem;
  text-align: center;
  margin-bottom: 1rem;
}

body.single-stabilimento section#intro .dati .contatti.last {
  margin-bottom: 1.875rem;
}

body.single-stabilimento section#intro .dati .contatti.empty {
  padding: 0;
}

body.single-stabilimento section#intro .dati .contatti > * {
  position: relative;
}

body.single-stabilimento section#intro .dati .contatti::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 200%;
  height: 200%;
  border: 1px solid black;
  opacity: 0.5;
  transform-origin: top left;
  transform: scale(0.5, 0.5);
}

body.single-stabilimento section#intro .dati .contatti.empty::before {
  display: none;
}

body.single-stabilimento section#intro .dati .contatti .title {
  font-family: var(--serif);
  font-weight: 600;
  padding-bottom: 0.35rem;
}

body.single-stabilimento section#intro .dati .contatti .phone,
body.single-stabilimento section#intro .dati .contatti .email {
  font-size: 0.75rem;
  opacity: 0.75;
}

body.single-stabilimento section#intro .dati .contatti .phone a,
body.single-stabilimento section#intro .dati .contatti .email a {
  text-decoration: none;
}

body.single-stabilimento section#intro .dati .elementi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1rem;
}

body.single-stabilimento section#intro .dati .elementi .singolo-elemento {
  text-align: center;
}

body.single-stabilimento section#intro .dati .elementi .singolo-elemento img {
  margin-bottom: 0.75rem;
}

body.single-stabilimento section#intro .dati .elementi .singolo-elemento p {
  font-size: 0.625rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-bottom: 0;
  line-height: 1.3;
}

body.single-stabilimento section#gallery {
  padding-bottom: 6rem;
}

@media (max-width: 768px) {
  body.single-stabilimento section#gallery {
    padding-bottom: 0;
  }
}

body.single-stabilimento section#gallery .swiper .swiper-slide {
  position: relative;
  height: 65vh;
}

body.single-stabilimento section#gallery .swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-stabilimento section#gallery .swiper .swiper-button-prev,
body.single-stabilimento section#gallery .swiper .swiper-button-next {
  transition: opacity 0.3s;
}

body.single-stabilimento section#gallery .swiper .swiper-button-prev:hover,
body.single-stabilimento section#gallery .swiper .swiper-button-next:hover {
  opacity: 0.5;
}

body.single-stabilimento section#gallery .swiper .swiper-button-prev {
  left: 2rem;
}

body.single-stabilimento section#gallery .swiper .swiper-button-next {
  right: 2rem;
}

body.single-stabilimento section#gallery .swiper .swiper-button-prev::after,
body.single-stabilimento section#gallery .swiper .swiper-button-next::after {
  display: none;
}

body.single-stabilimento section#book .section-title {
  text-align: center;
  margin-bottom: 2rem;
}

body.single-stabilimento section#fullpage-img {
  position: relative;
}

body.single-stabilimento section#fullpage-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-stabilimento section.center-content {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

body.single-stabilimento section.center-content .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.single-stabilimento section.center-content .container .cont-cont {
  grid-column: 2/6;
  text-align: center;
}

body.single-stabilimento section.center-content .container .cont-cont .section-title {
  margin-bottom: 2rem;
}

body.single-stabilimento section.center-content .container .cont-cont .section-title h2 {
  line-height: 1.3;
}

body.single-stabilimento section.center-content .container .cont-cont .content p {
  opacity: 0.7;
}

body.single-stabilimento section.center-content#content-servizi {
  padding-bottom: 4rem;
}

body.single-stabilimento section#last-shape {
  padding-top: 11rem;
  padding-bottom: 10.5rem;
}

body.single-stabilimento section#last-shape .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.single-stabilimento section#last-shape .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-stabilimento section#last-shape .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.33);
}

body.single-stabilimento section#last-shape .container {
  position: relative;
  text-align: center;
}

@media (max-width: 768px) {
  body.single-stabilimento section#intro .container {
    grid-template-columns: 1fr;
  }

  body.single-stabilimento section#intro .testo {
    order: 2;
  }

  body.single-stabilimento section.center-content {
    padding-top: 4rem;
  }

  body.single-stabilimento section.center-content .container .cont-cont {
    grid-column: 1 / span all;
  }
}

body.page-template-glamping-dove-siamo section#coords {
  padding-top: 6.25rem;
  padding-bottom: 8rem;
}

body.page-template-glamping-dove-siamo section#coords .section-title {
  margin-bottom: 3.75rem;
}

body.page-template-glamping-dove-siamo section#coords .section-title h2 {
  line-height: 1.3;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab {
  position: relative;
  grid-column: 2/6;
  padding: 1.5rem 1.25rem;
  background-color: rgba(240, 236, 231, 0.5);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2rem;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  border: 1px solid black;
  opacity: 0.5;
  transform-origin: top left;
  transform: scale(0.5, 0.5);
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab p {
  margin-bottom: 0;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col {
  position: relative;
  z-index: 2;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col:first-child::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(-1rem + 0.5px);
  height: 100%;
  width: 1px;
  transform: scaleX(0.5);
  background-color: black;
  opacity: 0.5;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col .box.normal {
  margin-bottom: 1.5rem;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col .box.normal p {
  opacity: 0.7;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col .box.big {
  margin-top: 1.5rem;
  text-align: center;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col .box.big p {
  font-size: 1.25rem;
  font-style: italic;
}

body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col .sep {
  border-bottom: 1px dashed black;
  opacity: 0.25;
}

body.page-template-glamping-dove-siamo section#come-raggiungere {
  padding-bottom: 6rem;
}

body.page-template-glamping-dove-siamo section#come-raggiungere .columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2rem;
  margin-bottom: 5rem;
}

body.page-template-glamping-dove-siamo section#come-raggiungere .columns .content .section-title {
  margin-bottom: 2rem;
}

body.page-template-glamping-dove-siamo section#come-raggiungere .columns .content .section-title h2 {
  line-height: 1.3;
}

body.page-template-glamping-dove-siamo section#come-raggiungere .columns .map {
  padding-top: 5.25rem;
}

body.page-template-glamping-dove-siamo section#come-raggiungere .columns .map iframe {
  display: block;
}

@media (max-width: 768px) {
  body.page-template-glamping-dove-siamo section#coords {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }

  body.page-template-glamping-dove-siamo section#coords .tab-cont .tab {
    grid-column: 1 / span all;
    grid-template-columns: 1fr;
  }

  body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col-1 {
    position: relative;
    padding-bottom: 1rem;
  }

  body.page-template-glamping-dove-siamo section#coords .tab-cont .tab .tab-col:first-child::after {
    top: calc(100% + 0.5rem);
    left: -10rem;
    right: -10rem;
    width: auto;
    height: 1px;
    background-color: black;
    opacity: 0.125;
  }

  body.page-template-glamping-dove-siamo section#come-raggiungere .columns {
    grid-template-columns: 1fr;
  }

  body.page-template-glamping-dove-siamo section#come-raggiungere .columns .map {
    padding-top: 1.25rem;
  }
}

body.page-template-glamping-natura section#hero {
  position: relative;
  padding-top: 12vw;
  padding-bottom: 12vw;
  margin-bottom: 9rem;
}

body.page-template-glamping-natura section#hero > * {
  position: relative;
}

body.page-template-glamping-natura section#hero .bg,
body.page-template-glamping-natura section#hero .bg .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.page-template-glamping-natura section#hero .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-template-glamping-natura section#hero .bg .overlay {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3));
}

body.page-template-glamping-natura section#hero .page-title {
  margin-bottom: 4rem;
}

body.page-template-glamping-natura section#hero .payoff {
  margin-bottom: 5.25rem;
}

body.page-template-glamping-natura section#hero .payoff,
body.page-template-glamping-natura section#hero .intro {
  width: calc(100% / 3 * 2);
  margin-left: calc(100% / 6);
}

body.page-template-glamping-natura section#hero .payoff p {
  margin-bottom: 0;
  color: white;
  font-size: 1.25rem;
  font-style: italic;
}

body.page-template-glamping-natura section#hero .intro .section-title {
  margin-bottom: 2rem;
}

body.page-template-glamping-natura section#hero .intro .text {
  color: white;
}

body.page-template-glamping-natura section#first-side {
  margin-bottom: 6rem;
}

body.page-template-glamping-natura section#cta {
  padding-top: 7rem;
  padding-bottom: 9rem;
}

body.page-template-glamping-natura section#cta .new-buttons-cont {
  width: 100%;
  justify-content: center;
}

@media (max-width: 768px) {
  body.page-template-glamping-natura section#hero {
    padding-top: 25vh;
    margin-bottom: 0;
  }

  body.page-template-glamping-natura section#hero .payoff,
  body.page-template-glamping-natura section#hero .intro {
    width: 100%;
    margin-left: 0;
  }

  body.page-template-glamping-natura section#first-side {
    margin-bottom: 0;
  }

  body.page-template-glamping-natura section#cta {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }
}

/* -----------------------------------
==============================================================================
	# PRENOTA CASE
==============================================================================
----------------------------------- */

body.page-template-prenota-case #content {
  padding-top: 7rem;
  padding-bottom: 10rem;
}

body.page-template-prenota-case section#back {
  margin-bottom: 3rem;
}

body.page-template-prenota-case section#back a {
  cursor: pointer;
  text-decoration: underline;
  font-size: 0.75rem;
}

body.page-template-prenota-case section#main {
  overflow: visible;
}

body.page-template-prenota-case section#main .container {
  display: grid;
  grid-template-columns: 1fr 6fr 1fr;
  grid-column-gap: 2rem;
}

body.page-template-prenota-case section#main .container > * {
  grid-column: 2;
}

body.page-template-prenota-case section#main .section-title {
  text-align: center;
  margin-bottom: 4.5rem;
}

body.page-template-prenota-case section#main .section-title h1 {
  font-size: 1.5rem;
  line-height: 1.3;
}

body.page-template-prenota-case section#main .section-title h2 {
  font-size: 1rem;
  line-height: 1.3;
}

form#form-case {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: 1.5rem;
  grid-row-gap: 2rem;
}

form#form-case .tds-col-2 {
  grid-column: span 2;
}

form#form-case .tds-col-3 {
  grid-column: span 3;
}

form#form-case .tds-col-4 {
  grid-column: span 4;
}

form#form-case .single-field {
  position: relative;
}

form#form-case .single-field:not(.option) label,
form#form-case .options-title p {
  all: unset;
  font-family: var(--sans-serif);
  display: inline-block;
  position: relative;
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 0 0.75rem;
}

form#form-case .single-field:not(.option) input,
form#form-case .single-field textarea {
  all: unset;
  font-family: var(--sans-serif);
  display: block;
  border-bottom: 1px solid black;
  font-size: 1rem;
  line-height: 1;
  padding: 0.25rem 0.75rem;
  width: calc(100% - 1.5rem);
}

form#form-case input::placeholder,
form#form-case textarea::placeholder {
  font-size: 0.75rem;
  opacity: 0.5;
}

form#form-case .required label::after {
  content: "*";
  color: #e63947;
}

form#form-case .single-field.option {
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 1.125rem 1rem 1.5rem;
}

form#form-case .single-field.option > * {
  display: grid;
  grid-gap: 0.65rem;
}

form#form-case .single-field.option .options {
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 0.5rem;
}

form#form-case .single-field.option .options-title {
  margin-bottom: 0.85rem;
}

form#form-case .single-field.option .options-title p {
  padding: 0;
}

form#form-case .single-field.option input {
  all: unset;
  position: relative;
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  margin-right: 0.35rem;
  cursor: pointer;
}

form#form-case .single-field.option input::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 100px;
  border: 1px solid black;
}

form#form-case .single-field.option input:checked::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  left: 20%;
  top: 20%;
  border-radius: 100px;
  background-color: var(--senape);
}

form#form-case .single-field.option label {
  all: unset;
  font-family: var(--sans-serif);
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
}

form#form-case .single-field.option .single-radio,
form#form-case .single-field.option .single-option {
  display: flex;
  align-items: center;
}

form#form-case .single-field.textarea label {
  margin-bottom: 0.5rem;
}

form#form-case .single-field.submit {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

form#form-case .single-field.submit .new-button {
  display: block;
  width: 100%;
}

form#form-case #form-messages {
  position: absolute;
  top: calc(100% + 2rem);
  width: 100%;
  opacity: 0;
  font-family: var(--sans-serif);
  font-size: 1rem;
  font-weight: normal;
  transition-duration: 0.3s;
}

form#form-case #form-messages.success,
form#form-case #form-messages.error {
  opacity: 0.7;
}

form#form-case #form-messages.error {
  color: #e63947;
}

@media (max-width: 768px) {
  body.page-template-prenota-case #content {
    padding-top: 5rem;
    padding-bottom: 7rem;
  }

  body.page-template-prenota-case section#main .container > * {
    grid-column: 1 / span all;
  }

  form#form-case {
    grid-template-columns: 1fr;
    width: 80%;
    margin: auto;
  }

  form#form-case .tds-col-2,
  form#form-case .tds-col-3,
  form#form-case .tds-col-4 {
    grid-column: initial;
  }

  form#form-case .single-field.option .options {
    grid-template-columns: 1fr;
  }

  form#form-case .single-field.option label {
    font-size: 0.85rem;
  }
}

body.archive.tag section#results,
body.archive.category section#results {
  padding-top: 6rem;
  padding-bottom: 10rem;
}

body.archive.tag section#results h2,
body.archive.category section#results h2 {
  font-size: 2.5rem;
  margin-bottom: 3rem;
}

body.archive.tag section#results ul,
body.archive.tag section#results li,
body.archive.category section#results ul,
body.archive.category section#results li {
  all: unset;
}

body.archive.tag section#results li,
body.archive.category section#results li {
  display: block;
  margin-bottom: 1.5em;
}

body.archive.tag section#results span.content-type,
body.archive.category section#results span.content-type {
  opacity: 0.5;
  font-size: 0.75rem;
}

/* FAQ */

section.faq {
  background-color: rgba(15, 24, 34, 0.1);
  padding-top: 6.25rem;
  padding-bottom: 7rem;
}

section.faq .content {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 2rem;
}

section.faq .intro-wrap {
  grid-column: 1 / span 2;
}

section.faq .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

section.faq .intro-wrap .section-title {
  font-size: 2.25rem;
  line-height: 1.3;
}

section.faq .intro-wrap p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0;
}

section.faq .faqs-wrap {
  grid-column: 3 / span 4;
}

section.faq .faqs-wrap .question-wrap {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

section.faq .faqs-wrap .question-wrap .icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

section.faq .faqs-wrap .question-wrap .icon button {
  all: unset;
  display: block;
  cursor: pointer;
  transition-duration: 0.3s;
}

section.faq .faqs-wrap .single-faq.active .question-wrap .icon button {
  transform: rotate(180deg);
}

section.faq .single-faq:first-child {
  border-top: 1px solid rgba(15, 24, 34, 0.1);
}

section.faq .single-faq {
  padding-top: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(15, 24, 34, 0.1);
}

section.faq .single-faq.question {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: bold;
}

section.faq .single-faq .answer-wrap {
  max-height: 0;
  overflow: hidden;
  transition-duration: 0.3s;
}

section.faq .single-faq .answer-wrap .answer-text {
  padding-bottom: 0.75rem;
}

section.faq .single-faq .answer-wrap .answer-text p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0;
}

section.faq .single-faq .answer-wrap .answer-text p:not(:last-child) {
  margin-bottom: 1em;
}

@media (max-width: 768px) {
  section.faq .content {
    grid-template-columns: 1fr;
  }

  section.faq .intro-wrap,
  section.faq .faqs-wrap {
    grid-column: initial;
  }
}

#contacts-banner {
  position: fixed;
  bottom: -100%;
  left: 0;
  width: 100%;
  z-index: 100;
  padding: 0.75rem 0;
  background-color: var(--main-color-lighter);
  color: white;
  /* transition-duration: 0.3s; */
}

/* #contacts-banner.sticky {
  bottom: 0;
} */

#contacts-banner.bottom {
/*   position: absolute; */
  bottom: 0;
}

#contacts-banner .content {
  display: flex;
  justify-content: center;
}

#contacts-banner .cards {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

#contacts-banner .single-contact-card {
  border: 1px solid rgb(255 255 255/0.25);
  padding: 0.5625rem 1.375rem;
}

@media (max-width: 768px) {
  #contacts-banner .single-contact-card {
    padding: 0.75rem;
  }
}

#contacts-banner .card-content {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  #contacts-banner .card-content {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
}

#contacts-banner .card-content .separator {
  height: 2.375rem;
  width: 1px;
  background-color: rgb(255 255 255/0.25);
}

@media (max-width: 768px) {
  #contacts-banner .card-content .separator {
    width: 100%;
    height: 1px;
  }
}

#contacts-banner .label p {
  margin-bottom: 0;
  font-family: var(--serif);
  font-size: 1rem;
}

#contacts-banner .contacts-wrap a {
  opacity: 0.75;
  font-size: 0.75rem;
  transition-duration: 0.3s;
  line-height: 1.6;
  text-decoration: none;
  display: block;
}

#contacts-banner .contacts-wrap a:hover {
  color: inherit;
  opacity: 1;
}

#book {
  position: fixed;
  top: 0;
  right: 0;
  width: 0;
  height: 100vh;
  backdrop-filter: blur(14px);
  z-index: 1000;
}

#book.open {
  width: 100%;
}

#book .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1c201f;
  opacity: 0.5;
}

#book .window {
  position: relative;
  background-color: white;
  height: 100%;
  width: 100%;
  max-width: 500px;
  margin-left: auto;
}

#book .content-wrapper {
  height: 100%;
  padding: 3rem 2rem;
  overflow-y: scroll;
}

#book .book-switch {
  all: unset;
  box-sizing: border-box;
  display: flex;
  position: absolute;
  right: 100%;
  bottom: 6rem;
  /* bottom: 1rem; */
  background-color: var(--text-blue);
  color: white;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  padding: 2rem 1.125rem;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

@media (max-width: 768px) {
  #book .book-switch {
    bottom: 0;
    padding: 1rem 1.5rem;
    min-width: 100vw;
    justify-content: center;
  }
}

#book .book-switch .text {
  writing-mode: vertical-lr;
  display: flex;
  align-items: center;
  gap: 1.125rem;
}

@media (max-width: 768px) {
  #book .book-switch .text {
    writing-mode: initial;
    flex-direction: row-reverse;
    /* flex-direction: column;
    gap: 0.5rem; */
  }
}

#book .book-switch .text > * {
  order: 2;
}

#book .book-switch .text > svg {
  order: 1;
  transform: rotate(180deg);
  transition-duration: 0.3s;
}

#book.open .book-switch .text > svg {
  transform: rotate(0deg);
}

#book:not(.open) .book-switch .opened-text,
#book.open .book-switch .closed-text {
  display: none;
}

#book .book-switch .opened-text,
#book .book-switch .closed-text {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  #book .book-switch .opened-text,
  #book .book-switch .closed-text {
    transform: rotate(0);
  }
}

#book .booking-form {
  margin-left: -1rem;
  margin-right: -1rem;
  margin-bottom: -3rem;
}

#book .close-wrap {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2.75rem;
}

#book .close-book {
  all: unset;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  font-size: 0.5rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

#book .close-book * {
  pointer-events: none;
}

#book .close-book svg {
  transition-duration: 0.3s;
}

#book .close-book:hover svg {
  transform: translateX(-0.25rem);
}

@media (max-width: 768px) {
  #book .window {
    max-width: 100%;
  }

  /* #book .book-switch {
    display: none;
  } */
}

body.stabilimento-template-dogana section#hero .data {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem 2.5rem;
  background-color: rgba(0, 0, 0, 0.5);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  body.stabilimento-template-dogana section#hero .data {
    background-color: rgba(0, 0, 0, 0.35);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }
}

body.stabilimento-template-dogana section#hero .data::before {
  content: "";
  position: absolute;
  top: -0.75px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  transform: scaleY(0.5);
}

body.stabilimento-template-dogana section#hero .data,
body.stabilimento-template-dogana section#hero .data * {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.stabilimento-template-dogana section#hero .data p {
  color: white;
  margin-bottom: 0;
}

body.stabilimento-template-dogana section#hero .data > :not(:last-child) {
  margin-right: 6vw;
}

body.stabilimento-template-dogana section#hero .data .icon,
body.stabilimento-template-dogana section#hero .data .text .numero {
  margin-right: 0.5rem;
}

body.stabilimento-template-dogana section#hero .data .icon img {
  width: 30px;
  height: auto;
}

body.stabilimento-template-dogana section#hero .data .text p.numero {
  font-family: var(--serif);
  font-size: 1.5rem;
}

body.stabilimento-template-dogana section#hero .data .text p.label {
  font-size: 0.5rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-top: 0.45rem;
  max-width: 7rem;
}

body.single-stabilimento section.title-shape {
  padding-top: 11rem;
  padding-bottom: 10.5rem;
  margin-top: 5.625rem;
  margin-bottom: 5.625rem;
}

body.single-stabilimento section.title-shape .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.single-stabilimento section.title-shape .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.single-stabilimento section.title-shape .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.33);
}

body.single-stabilimento section.title-shape .container {
  position: relative;
  text-align: center;
}

section.sides-content {
  margin-top: 5.625rem;
  margin-bottom: 8.125rem;
  display: flex;
  gap: 4rem;
  justify-content: space-between;
}

@media (max-width: 768px) {
  section.sides-content {
    flex-wrap: wrap;
    gap: 3rem;
    margin-bottom: 4.5rem;
  }
}

section.sides-content .text-content-wrapper {
  flex: 740px;
  order: 1;
}

section.sides-content.inverted .text-content-wrapper {
  order: 2;
}

section.sides-content .text-content {
  width: 100%;
  max-width: 740px;
  margin-left: auto;
  padding-left: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}

@media (max-width: 768px) {
  section.sides-content .text-content {
    padding-right: 2rem;
    padding-top: 0;
    padding-bottom: 0;
  }
}

section.sides-content.inverted .text-content {
  padding-left: 0;
  padding-right: 2rem;
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 768px) {
  section.sides-content.inverted .text-content {
    padding-left: 2rem;
  }
}

section.sides-content .text-content .title-wrapper {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

section.sides-content .text-content .title {
  margin-bottom: 0;
}

section.sides-content .gallery-content-wrapper,
section.sides-content .img-content-wrapper {
  flex: 338px;
  display: flex;
  flex-direction: column;
  order: 2;
}

section.sides-content.inverted .gallery-content-wrapper,
section.sides-content.inverted .img-content-wrapper {
  order: 1;
}

@media (max-width: 768px) {
  section.sides-content.inverted .gallery-content-wrapper,
  section.sides-content.inverted .img-content-wrapper {
    order: 3;
  }

  section.sides-content .gallery-content-wrapper,
  section.sides-content .img-content-wrapper {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

section.sides-content .gallery-content,
section.sides-content .img-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

@media (max-width: 768px) {
  section.sides-content .gallery-content,
  section.sides-content .img-content {
    min-height: calc(67vw - 4rem);
  }
}

section.sides-content .gallery-content .swiper,
section.sides-content .img-content .img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

section.sides-content .gallery-content .gallery-content-img,
section.sides-content .img-content .img-content-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

section.sides-content .swiper-button-next,
section.sides-content .swiper-button-prev {
  width: auto;
  height: auto;
}

section.sides-content .swiper-button-next::after,
section.sides-content .swiper-button-prev::after {
  display: none;
}

section.sides-content .swiper-button-prev,
section.sides-content .swiper-rtl .swiper-button-next {
  left: 1rem;
}

section.sides-content .swiper-button-next,
section.sides-content .swiper-rtl .swiper-button-prev {
  right: 1rem;
}

body.dark-background {
  background-color: #1c201f;
  color: white;
}

body.new-territorio section#intro {
  text-align: center;
  margin-top: 6.25rem;
  margin-bottom: 4rem;
}

body.new-territorio section#intro .title-wrap {
  margin-bottom: 2rem;
}

body.new-territorio section#title-shape {
  padding-top: 11rem;
  padding-bottom: 10.5rem;
  margin-top: 5.625rem;
  margin-bottom: 5.625rem;
}

body.new-territorio section#title-shape .bg,
body.new-territorio section#title-shape .bg .images-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.new-territorio section#title-shape .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.new-territorio section#title-shape .bg .images-wrap {
  display: flex;
}

body.new-territorio section#title-shape .bg .images-wrap .single-image-group {
  flex: 1;
  position: relative;
}

@media (max-width: 768px) {
  body.new-territorio section#title-shape .bg .images-wrap .single-image-group:not(:first-child) {
    display: none;
  }
}

body.new-territorio section#title-shape .bg .images-wrap .single-image-group .single_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.new-territorio section#title-shape .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.33);
}

body.new-territorio section#title-shape .container {
  position: relative;
  text-align: center;
}

.container.narrow {
  max-width: 773px;
  padding-left: 2rem;
  padding-right: 2rem;
}

body.new-territorio section.sides-content .text-content {
  padding-top: 4rem;
  padding-bottom: 8rem;
}

body.new-territorio .allevamento-bio section.sides-content:not(:last-child) .text-content {
  padding-bottom: 4rem;
}

@media (max-width: 768px) {
  body.new-territorio section.sides-content .text-content {
    padding-top: 0;
    padding-bottom: 0;
  }
}

body.new-territorio section#gallery {
  margin-top: 8.125rem;
  margin-bottom: 8.125rem;
}

@media (max-width: 768px) {
  body.new-territorio section#gallery {
    margin-top: 4.5rem;
    margin-bottom: 0;
  }
}

body.new-territorio section#gallery .swiper {
  width: 100%;
  max-width: 1080px;
  margin: auto;
  overflow: visible;
}

body.new-territorio section#gallery .swiper .swiper-slide {
  position: relative;
  height: 75vh;
}

@media (max-width: 768px) {
  body.new-territorio section#gallery .swiper .swiper-slide {
    height: 50vh;
  }
}

body.new-territorio section#gallery .swiper .swiper-slide .image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.new-territorio section#gallery .swiper .swiper-slide .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.new-territorio section#gallery .swiper .swiper-slide .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem 2rem;
  background-color: rgba(0, 0, 0, 0.5);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
  body.new-territorio section#gallery .swiper .swiper-slide .caption {
    background-color: rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(8px);
  }
}

body.new-territorio section#gallery .swiper .swiper-slide .caption p {
  font-size: 0.75rem;
  color: white;
  margin-bottom: 0;
}

body.new-territorio section#gallery .swiper .swiper-slide .fullscreen-wrap {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 1rem;
  height: 1rem;
  cursor: zoom-in;
  display: none;
}

body.new-territorio section#gallery .swiper .swiper-slide.swiper-slide-active .fullscreen-wrap {
  display: block;
}

body.new-territorio section#gallery .swiper .swiper-slide .fullscreen-wrap button {
  all: unset;
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

body.new-territorio section#gallery .swiper .swiper-slide .fullscreen-wrap button svg,
body.new-territorio section#gallery .swiper .swiper-slide .fullscreen-wrap button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.new-territorio section#gallery .swiper .swiper-button-prev,
body.new-territorio section#gallery .swiper .swiper-button-next {
  transition: opacity 0.3s;
}

body.new-territorio section#gallery .swiper .swiper-button-prev:hover,
body.new-territorio section#gallery .swiper .swiper-button-next:hover {
  opacity: 0.5;
}

body.new-territorio section#gallery .swiper .swiper-button-prev {
  left: 2rem;
}

body.new-territorio section#gallery .swiper .swiper-button-next {
  right: 2rem;
}

body.new-territorio section#gallery .swiper .swiper-button-prev::after,
body.new-territorio section#gallery .swiper .swiper-button-next::after {
  display: none;
}

body.new-territorio .bg-light {
  background-color: white;
  color: var(--text-blue);
  padding-top: 1px;
  padding-bottom: 1px;
}

section.cta-section {
  margin-top: 4.5rem;
  margin-bottom: 7.5rem;
}

@media (max-width: 768px) {
  section.cta-section {
    margin-bottom: 4.5rem;
  }
}

section.cta-section .main-content-sides {
  display: flex;
  gap: 2rem;
  margin-bottom: 5rem;
}

@media (max-width: 768px) {
  section.cta-section .main-content-sides {
    flex-direction: column-reverse;
    gap: 3rem;
  }
}

section.cta-section .main-content-sides .side-text,
section.cta-section .main-content-sides .side-img {
  flex: 1;
  order: 2;
}

section.cta-section .side-text {
  padding-top: 5rem;
}

@media (max-width: 768px) {
  section.cta-section .side-text {
    padding-top: 0;
  }
}

section.cta-section:not(.inverted) .side-img {
  order: 1;
}

section.cta-section .side-text .inner-container {
  width: 100%;
  max-width: 555px;
  padding-right: 2rem;
}

@media (max-width: 768px) {
  section.cta-section .side-text .inner-container {
    padding-left: 2rem;
  }
}

section.cta-section .text-content,
section.cta-section .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}

@media (max-width: 768px) {
  section.cta-section .text-content,
  section.cta-section .text-wrap {
    gap: 2rem;
  }
}

section.cta-section .buttons-grid {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

section.cta-section .single-button-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
  max-width: 100px;
}

section.cta-section .big-title {
  font-size: 5.375rem;
  font-weight: bold;
  line-height: 1;
}

@media (max-width: 768px) {
  section.cta-section .big-title {
    font-size: 2.5rem;
  }
}

section.cta-section .btn-text {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-weight: normal;
}

.page-template-territorio section.cta-section .title-wrap {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  margin-bottom: -1.5rem;
  padding-bottom: 1.875rem;
}

section.cta-section:not(.inverted) .big-title {
  text-align: right;
}

@media (max-width: 768px) {
  section.cta-section:not(.inverted) .big-title {
    text-align: left;
  }
}

section.cta-section .side-img {
  position: relative;
}

@media (max-width: 768px) {
  section.cta-section .side-img {
    min-height: 75vw;
  }
}

section.cta-section .side-img .single-img-wrap {
  position: absolute;
  left: 50%;
  width: 100%;
}

section.cta-section .side-img img {
  width: 52%;
  height: auto;
}

section.cta-section .side-img .img-key-1 {
  top: 0;
  transform: translateX(-37%);
}

section.cta-section .side-img .img-key-2 {
  top: 37%;
  transform: translateX(-15%);
}

/* section.cta-section .cta-wrap .cta-content {
  width: 100%;
  max-width: 1112px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: auto;
} */

section.cta-section .section-cta {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 768px) {
  section.cta-section .section-cta {
    justify-content: center;
  }
}

body.new-territorio section#capalbio {
  margin-top: 7.75rem;
  margin-bottom: 7.75rem;
}

@media (max-width: 768px) {
  body.new-territorio section#capalbio {
    margin-top: 0;
    margin-bottom: 0;
  }
}

body.new-territorio section#bilancio {
  padding: 6.5rem 0;
}

body.new-territorio section#bilancio .bg,
body.new-territorio section#bilancio .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

body.new-territorio section#bilancio .bg .overlay {
  background-color: black;
  opacity: 0.3;
}

body.new-territorio section#bilancio .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.new-territorio section#bilancio .container {
  position: relative;
}

body.new-territorio section#bilancio .inner-content {
  display: flex;
  flex-direction: column;
  gap: 4.5rem;
}

body.new-territorio section#bilancio .title-wrap {
  display: flex;
  justify-content: center;
}

body.new-territorio section#bilancio .cta-wrap {
  width: 100%;
  max-width: 670px;
  margin: auto;
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 768px) {
  body.new-territorio section#bilancio .cta-wrap {
    justify-content: center;
  }
}

body.new-territorio .allevamento-bio .sides-content .check-points {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 2rem;
  margin: 1.875rem 0;
}

body.new-territorio .allevamento-bio .sides-content .text-content-inner ul {
  padding-left: 1em;
}

body.new-territorio .allevamento-bio .sides-content .check-points .single-check-point {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

body.new-territorio .allevamento-bio .sides-content .check-points .single-check-point .text {
  font-size: 0.625rem;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Activity new */

body.page-template-activity-new img {
  display: block;
  max-width: 100%;
  height: auto;
}

body.page-template-activity-new .container {
  padding-left: 2rem;
  padding-right: 2rem;
}

body.page-template-activity-new section#intro {
  text-align: center;
  margin-top: 6.25rem;
  margin-bottom: 6rem;
}

body.page-template-activity-new section#intro .container {
  max-width: 773px;
}

body.page-template-activity-new section#intro .intro-text h2 {
  margin-bottom: 2rem;
}

body.page-template-activity-new section#content {
  margin-top: 6rem;
  margin-bottom: 10rem;
}

body.page-template-activity-new section#content .content {
  display: flex;
  gap: 2rem;
	flex-wrap: wrap;
}

body.page-template-activity-new section#content .content .filters-column {
  flex: 1;
}

body.page-template-activity-new section#content .filter-title-wrap {
  border-bottom: 0.5px solid black;
  margin-bottom: 1.25rem;
}

body.page-template-activity-new section#content .filter-title {
  font-size: 1.5rem;
  padding-bottom: 0.375rem;
}

body.page-template-activity-new section#content .filters ul,
body.page-template-activity-new section#content .filters li {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-template-activity-new section#content .filters ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.page-template-activity-new section#content .single-filter {
  cursor: pointer;
}

body.page-template-activity-new section#content .single-filter * {
  pointer-events: none;
}

body.page-template-activity-new section#content .single-filter .type-icon img {
  width: 1rem;
  height: auto;
}

body.page-template-activity-new section#content .single-filter .filter-voice {
  display: flex;
  align-items: center;
  gap: 1.375rem;
}

body.page-template-activity-new section#content .single-filter .filter-voice .check-icon {
  width: 0.5rem;
  height: 0.5rem;
  position: relative;
}

body.page-template-activity-new section#content .single-filter .filter-voice .check-icon .outer-circle,
body.page-template-activity-new section#content .single-filter .filter-voice .check-icon .inner-circle {
  position: absolute;
  border-radius: 100%;
}

body.page-template-activity-new section#content .single-filter .filter-voice .check-icon .outer-circle {
  border-style: solid;
  border-width: 0.5px;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-color: var(--main-color-lighter);
}

body.page-template-activity-new section#content .single-filter .filter-voice .check-icon .inner-circle {
  width: 75%;
  height: 75%;
  top: 12.5%;
  left: 12.5%;
  background-color: #d9d9d9;
  transition: background-color 0.3s;
}

body.page-template-activity-new section#content .single-filter.active .filter-voice .check-icon .inner-circle {
  background-color: var(--main-color-lighter);
}

body.page-template-activity-new section#content .single-filter .filter-voice .voice {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  opacity: 0.5;
  transition: opacity 0.3s;
}

body.page-template-activity-new section#content .single-filter.active .filter-voice .voice,
body.page-template-activity-new section#content .single-filter .filter-voice .voice:hover {
  opacity: 1;
}

body.page-template-activity-new section#content .content .activity-boxes-column {
  flex: 3;
	flex-basis: 23rem;
}

body.page-template-activity-new section#content .activity-boxes {
  padding-top: 1.875rem;
  display: grid;
	grid-template-columns: repeat(auto-fit, minmax(17.1875rem, 1fr));
	grid-gap: 2rem;
}

body.page-template-activity-new section#content .single-activity-box {
  position: relative;
  overflow: hidden;
  height: 100%;
  color: white;
  display: none;
}

body.page-template-activity-new section#content .single-activity-box.show {
  display: block;
}

body.page-template-activity-new section#content .single-activity-box .bg,
body.page-template-activity-new section#content .single-activity-box .bg .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
}

body.page-template-activity-new section#content .single-activity-box .bg img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.page-template-activity-new section#content .single-activity-box .bg .overlay {
  background-color: black;
  opacity: 0.3;
}

body.page-template-activity-new section#content .single-activity-box .translate-content {
  transform: translateY(calc(100% - 3.6rem - 0.5px));
  border-top: 0.5px solid rgba(255, 255, 255, 0.3);
  transition: transform 0.3s;
}

body.page-template-activity-new section#content .single-activity-box:hover .translate-content {
  transform: translateY(0);
}

body.page-template-activity-new section#content .single-activity-box .inner-content {
  padding: 1rem;
  position: relative;
  backdrop-filter: blur(4px);
}

body.page-template-activity-new section#content .single-activity-box .title-wrap {
  padding-bottom: 1rem;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.3);
}

body.page-template-activity-new section#content .single-activity-box .title-wrap .box-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.page-template-activity-new section#content .single-activity-box .title-value p {
  font-family: var(--serif);
  margin-bottom: 0;
}

body.page-template-activity-new section#content .single-activity-box .types-icons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

body.page-template-activity-new section#content .single-activity-box .types-icons img {
  /* inverto i colori dell'immagine */
  filter: invert(1);
}

body.page-template-activity-new section#content .single-activity-box .excerpt-wrap {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

body.page-template-activity-new section#content .single-activity-box .excerpt-wrap p {
  margin-bottom: 0;
  font-size: 0.875rem;
}

body.page-template-activity-new section#content .single-activity-box .link-wrap {
  padding-bottom: 0.75rem;
}

body.post-template-default .site-content main.site-main,
body.activity-template-default .site-content main.site-main {
  padding-bottom: 5rem;
}

body.post-template-default .site-content main.site-main > p,
body.activity-template-default .site-content main.site-main > p {
  width: 100%;
  max-width: 773px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: auto;
}

/* body.post-template-default .site-content main.site-main > figure,
body.activity-template-default .site-content main.site-main > figure {
  width: 100%;
  max-width: 773px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: auto;
  margin-bottom: 3rem;
} */

body.post-template-default .site-content main.site-main > p:not(:last-child),
body.activity-template-default .site-content main.site-main > p:not(:last-child) {
  margin-bottom: 2rem;
}

.wp-block-image {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;
}

.wp-block-image img {
  width: 100%;
  height: auto;
}

body.single-stabilimento section#opening {
  margin-top: 5rem;
  margin-bottom: 8rem;
}

body.single-stabilimento section#opening .container {
  max-width: 773px;
}

body.single-stabilimento section#opening .top-content {
  margin-bottom: 3.5rem;
}

body.single-stabilimento section#opening .section-title {
  margin-bottom: 3.5rem;
  text-align: center;
}

body.single-stabilimento section#opening .section-title h2 {
  font-size: 2.25rem;
  margin-bottom: 0;
}

body.single-stabilimento section#opening .intro {
  text-align: center;
}

.timetable .top-data {
  margin-bottom: 3.5rem;
}

.timetable .top-data .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}

.timetable .top-data .switch {
  padding: 0.5rem 0.75rem;
  border: 1px solid #ececec;
  font-size: 0.75rem;
  border-radius: 0;
}

.timetable .top-data .last-modified p {
  margin-bottom: 0;
  font-size: 0.75rem;
}

.timetable .single-timetable {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.timetable .single-timetable .single-week-day {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}

.timetable .single-week-day .title-wrap {
  flex: 1;
}

.timetable .single-week-day .timeline-wrap {
  flex: 4;
}

.timetable .single-week-day .title p {
  margin-bottom: 0;
  font-size: 1.5rem;
  font-family: var(--serif);
  font-weight: 500;
}

@media (max-width: 768px) {
  .timetable .single-week-day .title p {
    font-size: 1rem;
  }
}

.timetable .single-week-day.current .title p {
  font-weight: bold;
}

.timetable .single-week-day .single-timeline-wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-left: 10%;
  padding-right: 10%;
  align-items: flex-end;
  gap: 6vw;
  min-height: 1rem;
}

.timetable .single-week-day .single-timeline-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  border-bottom: 4px dashed #ececec;
}

.timetable .single-week-day.current .single-timeline-wrap::after {
  border-bottom-style: solid;
}

.timetable .single-week-day.open .single-timeline-wrap::after {
  border-bottom-color: #59c66a;
}

.timetable .single-week-day.closed .single-timeline-wrap::after {
  border-bottom-color: #e44725;
}

.timetable .single-week-day .single-interval {
  flex: 1;
  position: relative;
  padding-bottom: 0.5rem;
}

.timetable .single-week-day .single-interval::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  border-bottom: 4px solid #979797;
  z-index: 1;
}

.timetable .single-week-day.open .single-interval::after {
  border-bottom-color: #149227;
}

.timetable .single-week-day.closed .single-interval::after {
  border-bottom-color: #ab3319;
}

.timetable .single-week-day .single-interval .time {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  font-family: var(--sans-serif);
}

.timetable .single-week-day.current .single-interval .time {
  font-weight: bold;
}

h2.wp-block-heading {
  padding: 0 2rem;
}

/* -----------------------------------
==============================================================================
	#IUBENDA
==============================================================================
----------------------------------- */

body #iubenda-cs-banner * {
  font-family: "PT Sans" !important;
  color: white !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}

body #purposes-container .purposes-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.075) !important;
}

body #iubenda-iframe .purposes-header-right .iub-iframe-brand-button {
  display: none !important;
}

body #purposes-content-container .purposes-header .purposes-header-text,
body #purposes-content-container .purposes-section-header-text {
  font-size: 14px !important;
}

body #purposes-content-container .purposes-item .purposes-item-body,
body #purposes-content-container .purposes-item .purposes-item-title .purposes-item-title-btn {
  font-weight: 500 !important;
}

body #purposes-content-container .purposes-section-header-title {
  line-height: 1.4 !important;
  padding-bottom: 7px !important;
  font-size: 16px !important;
}

body #purposes-content-container .purposes-header {
  padding-top: 0 !important;
}

body #iubenda-iframe .purposes-header-right button {
  background-color: #282e2c !important;
  color: white !important;
  border: 0.5px solid #282e2c !important;
  box-shadow: none !important;
  opacity: 1;
  border-radius: 64px !important;
}

body #iubenda-iframe .purposes-header-right button:hover {
  opacity: 0.8;
  background-color: #282e2c !important;
  color: white !important;
  border: 0.5px solid #282e2c !important;
}

body #iubenda-iframe .iub-toggle-checkbox input.style1:checked {
  background-color: #282e2c !important;
}

body #iubenda-iframe .iub-btn-stroked {
  border: 1px solid black !important;
}

body #purposes-content-container .purposes-header .purposes-header-title {
  font-weight: 600 !important;
  font-size: 2rem !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
  padding-bottom: 1rem !important;
  padding-top: 1.8rem !important;
}

body #purposes-content-container .purposes-section-header {
  padding-bottom: 24px !important;
}

body #iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked {
  background-color: #282e2c !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button,
body .iubenda-alert button.iubenda-button-cancel,
body #iiubenda-cs-banner .iub-btn-consent,
body #iubenda-iframe #iubFooterBtnContainer button,
body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn {
  border: 0.5px solid white !important;
  font-weight: 600 !important;
  outline: none !important;
  box-shadow: none !important;
  color: #282e2c !important;
  background-color: white !important;
  transition: opacity 200ms ease-in-out;
  font-size: 14px !important;
}

body #iubenda-iframe #iubFooterBtnContainer button {
  border: 0.5px solid #282e2c !important;
  color: white !important;
  background-color: #282e2c !important;
}

body #iubenda-cs-banner .iubenda-banner-content {
  padding-bottom: 24px !important;
}

body #iubenda-cs-banner.iub-btn-consent.iub-btn-reject,
body #iubenda-cs-banner .iub-btn-consent.iub-btn-accept {
  color: white !important;
  background-image: none !important;
  padding-left: 25px !important;
  padding-right: 25px !important;

  font-size: 12px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-reject {
  background-size: 9px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-accept {
  background-size: 11px !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button:hover,
body .iubenda-alert button.iubenda-button-cancel:hover,
body #iubenda-iframe #iubFooterBtnContainer button:hover,
body #iubenda-iframe #iubFooterBtnContainer button:focus {
  opacity: 0.8;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn {
  background: #282e2c !important;
  color: white !important;
}

body #iubenda-cs-banner [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-cs-banner a[href]:focus,
body #iubenda-cs-banner button:focus,
body #iubenda-cs-banner details:focus,
body #iubenda-cs-banner input:focus,
body #iubenda-cs-banner select:focus,
body #iubenda-cs-banner textarea:focus,
body #iubenda-iframe [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-iframe a[href]:focus,
body #iubenda-iframe button:focus,
body #iubenda-iframe details:focus,
body #iubenda-iframe input:focus,
body #iubenda-iframe select:focus,
body #iubenda-iframe textarea:focus {
  outline: none !important;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
  border-radius: 50% !important;
  bottom: 2.5rem !important;
  right: 2.5rem !important;
  margin: 0 !important;
  width: 3rem !important;
  height: 3rem !important;
  background-position: center !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 1px #003577 !important;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="44.425" height="50.627" viewBox="0 0 44.425 50.627"><path id="logo-blue" d="M11.025,40.672c-.088.02-2.537,1.584.451,2.8,2.889,1.174,15.888,1.083,18.236-.09,1.78-.89.632-2.347-.452-2.618s-10.833-1.806-18.235-.09M28.21,4.175s5.113-4.53,8.8-4.153c4.155.425,7.222,3.25,7.4,6.77a5.916,5.916,0,0,1-3.521,6.048c-1.444.451-5.281.5-6.68-2.437a5.513,5.513,0,0,1,.361-5.326c.239-.784-.754-.6-.754-.6A8.771,8.771,0,0,0,30.75,6.641c-.077.119,2.708,3.791,2.573,6.544L21.665,13.2s-.98-6.7-2.257-7.583c-1.078-.748-2.459-1.177-4.049.525C13.417,8.221,12.786,17.2,14.939,20.83c1.3,2.19,2.121,2.3,2.753,2.211s3.746-.857,3.843-7.392l11.743.019s.241,6.575-7.009,10.352c-6.41,3.34-14.083.9-14.173.9L9.748,26.11s-2.708,1.083-.361,3.25,15.166.271,17.333.451,8.815-1.01,11.974,5.851A9.485,9.485,0,0,1,37.16,46.224a13.939,13.939,0,0,1-6.545,3.385c-3.11.751-23.064,2.806-28.9-2.556-4.636-4.259,1.457-9.811,2.766-9.088.506.279-5.326-3.476-3.262-8.649,1.735-4.351,4.694-4.784,5.146-4.875S-.448,19.625,1.94,10.945C4.39,2.037,16.384-2.776,28.21,4.175" fill="%23003577"/></svg>') !important;
  background-size: 22px !important;
  opacity: 0.5;
  transition: all 200ms ease-in-out;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"]:hover {
  opacity: 1;
}

body .iubenda-tp-btn.iubenda-cs-preferences-link {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  body #purposes-content-container .purposes-header .purposes-header-title {
    font-size: 1.8rem !important;
  }

  body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
    right: 1.25rem !important;
    bottom: 1.25rem !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
  }

  body #purposes-content-container .purposes-section-header-title {
    font-size: 17px !important;
  }

  body.menu-opened .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
    display: none !important;
  }
}

#blastnessCookieBanner {
	padding-top: 2rem !important;
}

#blastnessCookieBanner * {
	font-family: var(--sans-serif) !important;
}

#blastnessCookieBanner h3 {
	font-family: var(--serif) !important;
	font-size: 1.2rem !important;
}

#blastnessCookieBanner #btn_acceptAll,
#blastnessCookieBanner #btn_acceptSelectedFlag,
#blastnessCookieBanner #btn_rejectAll,
#blastnessCookieBanner #cookieBannerPanelButtons li input {
	padding: 18px 24px !important;
    background-color: rgba(25, 36, 54, 0.1) !important;
    border: 1px solid rgb(201 201 201);
    font-family: var(--serif) !important;
    border-radius: 0px;
    color: var(--text-blue);
    line-height: 1;
    font-size: 1rem;
    font-weight: 500;
}

#blastnessCookieBanner #btn_acceptAll,
#blastnessCookieBanner #btn_acceptSelectedFlag,
#blastnessCookieBanner #btn_rejectAll {
	padding: 10px 24px !important;
	font-size: 0.8rem;
}

#blastnessCookieBanner #bc_btn_x_close {
	padding: 0px 0px !important;
    background-color: rgba(25, 36, 54, 0.1) !important;
    border: 1px solid rgb(201 201 201);
    font-family: var(--sans-serif) !important;
    border-radius: 0px;
    color: var(--text-blue);
    line-height: 1;
    font-size: 1rem;
    font-weight: 500;
	display: grid;
	place-items: center;
}

#blastnessCookieBanner .bc_checkboxPreferences {
	display: flex;
    gap: 0.3rem;
    align-items: center;
    accent-color: var(--text-blue);
}