/* <!--
///////////////////////////////////////
//////  DESIGN & DEVELOPMENT BY  //////
//////    VALENTINO MENEGATTI    //////
//////       MADE IN ITALY       //////
///////////////////////////////////////
--> */
:root {
    --blu-1: #1E4B9C;
    --bg-grey: EBEBEB;
    --white: #ffffff;
    --border-grey: #E0E0E0;
    --text: #292929;
    --gold: BF9F06;
    --swiper-theme-color: #ffdd01;
    --app-height: 100%;
}

/* reset css */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none
}

::selection {
    background: #b3d4fc;
    text-shadow: none
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

audio,canvas,iframe,img,svg,video {
    vertical-align: middle
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    white-space: nowrap;
    height: 100vh;
    display: inline-block;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    height: 100%
}

.c-scrollbar {
    position: absolute;
    right: 0;
    top: 0;
    width: 11px;
    height: 100%;
    -webkit-transform-origin: center right;
    transform-origin: center right;
    transition: opacity .3s,-webkit-transform .3s;
    transition: transform .3s,opacity .3s;
    transition: transform .3s,opacity .3s,-webkit-transform .3s;
    opacity: 0;
    z-index: 9999
}

.c-scrollbar:hover {
    -webkit-transform: scaleX(1.45);
    transform: scaleX(1.45)
}

.c-scrollbar:hover .c-scrollbar_thumb {
    opacity: 1
}

.c-scrollbar:hover,.has-scroll-scrolling .c-scrollbar,.has-scroll-dragging .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    width: 100%;
    height: 10px;
    top: auto;
    bottom: 0;
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    -webkit-transform: scaleY(1.3);
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #f2c955;
    opacity: .5;
    width: 7px;
    border-radius: 10px;
    margin: 2px;
    cursor: -webkit-grab;
    cursor: grab
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    right: auto;
    bottom: 0
}

a {
    transition: color .2s ease-out;
    color: #000
}

a:hover {
    color: #fff
}

.container {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin: 0;
    grid-gap: 25px
}

.container h1,.container h2,.container h3,.container h4,.container p,.container a {
    margin-top: 5px;
    margin-bottom: 5px
}

@media only screen and (max-width: 578px) {
    .container h1,.container h2,.container h3,.container h4,.container p,.container a {
        margin-top:0px;
        margin-bottom: 0px
    }
}

@media only screen and (max-width: 960px) {
    .container {
        grid-gap:15px
    }
}

@media only screen and (max-width: 578px) {
    .container {
        grid-gap:10px
    }
}

.container.two-column {
    grid-template-columns: 1fr 1fr
}

@media only screen and (max-width: 578px) {
    .container.two-column {
        grid-template-columns:1fr
    }
}

.container.three-column {
    grid-template-columns: 1fr 1fr 1fr
}

@media only screen and (max-width: 960px) {
    .container.three-column {
        grid-template-columns:1fr 1fr
    }
}

@media only screen and (max-width: 578px) {
    .container.three-column {
        grid-template-columns:1fr
    }
}

.container.four-column {
    grid-template-columns: 1fr 1fr 1fr 1fr
}

@media only screen and (max-width: 960px) {
    .container.four-column {
        grid-template-columns:1fr 1fr
    }
}

.container.five-column {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
}

@media only screen and (max-width: 960px) {
    .container.five-column {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media only screen and (max-width: 578px) {
    .container.five-column {
        grid-template-columns:1fr 1fr
    }
}

.container.auto-column {
    grid-auto-columns: 1fr !important
}

@media only screen and (max-width: 960px) {
    .container.auto-column {
        grid-template-columns:1fr 1fr
    }
}

.container.auto-flow {
    grid-auto-flow: column;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content
}

@media only screen and (max-width: 578px) {
    .container.single-column-mobile {
        grid-template-columns:1fr !important
    }
}

@media only screen and (max-width: 578px) {
    .container.two-column-mobile {
        grid-template-columns:1fr 1fr !important
    }
}

@media only screen and (max-width: 960px) {
    .container.single-column-tablet {
        grid-template-columns:1fr !important
    }
}

@media only screen and (max-width: 960px) {
    .container.two-column-tablet {
        grid-template-columns:1fr !important
    }
}

.container.window-sized {
    min-width: 100vw;
    min-height: 100vh
}

@media only screen and (max-width: 578px) {
    .container.mobile-default-sized {
        min-width:auto;
        min-height: auto
    }
}

.container.no-gap {
    grid-gap: 0px !important
}

.container.gap-x2 {
    grid-gap: calc(25px*2)
}

@media only screen and (max-width: 960px) {
    .container.gap-x2 {
        grid-gap:calc(15px * 2)
    }
}

@media only screen and (max-width: 578px) {
    .container.gap-x2 {
        grid-gap:calc(10px * 2)
    }
}

.container.reduced-gap {
    grid-gap: 5px
}

@media only screen and (max-width: 578px) {
    .container.reduced-gap-mobile {
        grid-gap:10px !important
    }
}

.container.container-center {
    width: calc(60%);
    margin: 0 auto
}

@media only screen and (max-width: 960px) {
    .container.container-center {
        width:calc(70%)
    }
}

@media only screen and (max-width: 578px) {
    .container.container-center {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

.container.container-center-small {
    width: calc(500px);
    margin: 0 auto
}

@media only screen and (max-width: 750px) {
    .container.container-center-small {
        width:calc(70%)
    }
}

@media only screen and (max-width: 578px) {
    .container.container-center-small {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

.container.add-margins {
    width: calc(100% - 25px * 2);
    margin-left: 25px;
    margin-right: 25px
}

@media only screen and (max-width: 960px) {
    .container.add-margins {
        width:calc(100% - 15px * 2);
        margin-left: 15px;
        margin-right: 15px
    }
}

@media only screen and (max-width: 578px) {
    .container.add-margins {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

.container.add-margins-x2 {
    width: calc(100% - 25px * 4);
    margin-left: calc(25px * 2);
    margin-right: calc(25px * 2)
}

@media only screen and (max-width: 960px) {
    .container.add-margins-x2 {
        width:calc(100% - 15px * 2);
        margin-left: 15px;
        margin-right: 15px
    }
}

@media only screen and (max-width: 578px) {
    .container.add-margins-x2 {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

.container.add-margins-extra {
    width: calc(100% - 25px * 8);
    margin-left: calc(25px * 4);
    margin-right: calc(25px * 4)
}

@media only screen and (max-width: 960px) {
    .container.add-margins-extra {
        width:calc(100% - 15px * 2);
        margin-left: 15px;
        margin-right: 15px
    }
}

@media only screen and (max-width: 578px) {
    .container.add-margins-extra {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

.container.add-margins-extra-x2 {
    width: calc(100% - 25px * 16);
    margin-left: calc(25px * 8);
    margin-right: calc(25px * 8)
}

@media only screen and (max-width: 1200px) {
    .container.add-margins-extra-x2 {
        width: calc(100% - 25px * 4);
        margin-left: calc(25px * 2);
        margin-right: calc(25px * 2);
    }
}

@media only screen and (max-width: 960px) {
    .container.add-margins-extra-x2 {
        width:calc(100% - 15px * 4);
        margin-left: calc(15px * 2);
        margin-right: calc(15px * 2)
    }
}

@media only screen and (max-width: 578px) {
    .container.add-margins-extra-x2 {
        width:calc(100% - 10px * 2);
        margin-left: 10px;
        margin-right: 10px
    }
}

@media only screen and (max-width: 578px) {
    .no-margins-mobile {
        width:100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important
    }
}

.add-margin-top {
    margin-top: 50px !important
}

@media only screen and (max-width: 960px) {
    .add-margin-top {
        margin-top:40px !important
    }
}

@media only screen and (max-width: 578px) {
    .add-margin-top {
        margin-top:40px !important
    }
}

.add-margin-top-x2 {
    margin-top: calc(50px*2) !important
}

@media only screen and (max-width: 960px) {
    .add-margin-top-x2 {
        margin-top:calc(40px*2) !important
    }
}

@media only screen and (max-width: 578px) {
    .add-margin-top-x2 {
        margin-top:calc(40px*2) !important
    }
}

.add-margin-bottom {
    margin-bottom: 50px !important
}

@media only screen and (max-width: 960px) {
    .add-margin-bottom {
        margin-bottom:40px !important
    }
}

@media only screen and (max-width: 578px) {
    .add-margin-bottom {
        margin-bottom:40px !important
    }
}

.add-margin-bottom-x2 {
    margin-bottom: calc(50px*2) !important
}

@media only screen and (max-width: 960px) {
    .add-margin-bottom-x2 {
        margin-bottom:calc(40px*2) !important
    }
}

@media only screen and (max-width: 578px) {
    .add-margin-bottom-x2 {
        margin-bottom:calc(40px*2) !important
    }
}

.add-padding-top {
    padding-top: 50px !important
}

@media only screen and (max-width: 960px) {
    .add-padding-top {
        padding-top:40px !important
    }
}

@media only screen and (max-width: 578px) {
    .add-padding-top {
        padding-top:40px !important
    }
}

.add-padding-bottom {
    padding-bottom: 50px !important
}

@media only screen and (max-width: 960px) {
    .add-padding-bottom {
        padding-bottom:40px !important
    }
}

@media only screen and (max-width: 578px) {
    .add-padding-bottom {
        padding-bottom:40px !important
    }
}

@media only screen and (max-width: 578px) {
    .add-margin-bottom-mobile {
        margin-bottom:40px !important
    }
}

.max-width {
    max-width: calc(1320px - 25px*2);
    margin: 0 auto !important
}

@media only screen and (max-width: 960px) {
    .max-width {
        max-width:calc(1320px - 15px*2)
    }
}

@media only screen and (max-width: 578px) {
    .max-width {
        max-width:calc(1320px - 10px*2)
    }
}

.take-two-columns {
    grid-column: auto/span 2
}

@media only screen and (max-width: 578px) {
    .take-two-columns {
        grid-column:auto
    }
}

.take-three-columns {
    grid-column: auto/span 3
}

@media only screen and (max-width: 578px) {
    .take-three-columns {
        grid-column:auto
    }
}

.take-four-columns {
    grid-column: auto/span 4
}

@media only screen and (max-width: 578px) {
    .take-four-columns {
        grid-column:auto
    }
}

@media only screen and (max-width: 578px) {
    .take-two-columns-mobile {
        grid-column:auto/span 2 !important
    }
}

.justify-left {
    justify-self: left
}

.justify-center {
    justify-self: center
}

.justify-right {
    justify-self: right
}

.text-align-center {
    text-align: center
}

.align-top {
    -webkit-align-self: start;
    align-self: start
}

.align-center {
    -webkit-align-self: center;
    align-self: center
}

.align-bottom {
    -webkit-align-self: end;
    align-self: end
}

.img {
    position: relative;
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    overflow: hidden;
    clear: both
}

.img .img-wrapper {
    position: relative
}

.img .img-wrapper .img-content {
    position: relative;
    overflow: hidden
}

.img .img-wrapper .img-content img,.img .img-wrapper .img-content video {
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    transition: .6s ease-out
}

.img .img-wrapper .img-content img.lazyload,.img .img-wrapper .img-content img.lazyloading,.img .img-wrapper .img-content video.lazyload,.img .img-wrapper .img-content video.lazyloading {
    opacity: 0
}

.img .img-wrapper .img-content img.lazyloaded,.img .img-wrapper .img-content video.lazyloaded {
    opacity: 1
}

.img .img-wrapper .img-content:after {
    content: "";
    display: block;
    top: 0;
    left: 0;
    height: 0;
    width: 100%;
    padding-bottom: calc((1922 / 2880) * 100%)
}

.img .img-wrapper .img-content.dark:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #000;
    opacity: .25;
    z-index: 1
}

.img .img-wrapper .img-content.zoomed {
    -webkit-transform: scale(1.15);
    transform: scale(1.15)
}

.img.ratio-square .img-wrapper .img-content:after {
    padding-bottom: calc((2880 / 2880) * 100%)
}

.img.ratio-4x3 .img-wrapper .img-content:after {
    padding-bottom: calc((1922 / 2880) * 100%)
}

.img.ratio-16x9 .img-wrapper .img-content:after {
    padding-bottom: calc((1620 / 2880) * 100%)
}

.img.ratio-21x9 .img-wrapper .img-content:after {
    padding-bottom: calc((1215 / 2880) * 100%)
}

@media only screen and (max-width: 960px) {
    .img.ratio-21x9.ratio-portada .img-wrapper .img-content:after {
        padding-bottom:calc((1500 / 1922) * 100%)
    }

    .img.ratio-21x9.ratio-portada .img-content img,.img.ratio-21x9.ratio-portada .img-content video {
        width: auto;
        height: 100%;
        top: 0;
        left: -50%
    }
}

@media only screen and (max-width: 578px) {
    .img.ratio-21x9.ratio-portada .img-wrapper .img-content:after {
        padding-bottom:calc((2880 / 1922) * 100%)
    }

    .img.ratio-21x9.ratio-portada .img-content img,.img.ratio-21x9.ratio-portada .img-content video {
        left: -100%
    }
}

.img.ratio-3x4 .img-wrapper .img-content:after {
    padding-bottom: calc((2880 / 1922) * 100%)
}

.img.ratio-3x4-grid .img-wrapper .img-content:after {
    padding-bottom: calc((2880 / 2009) * 100%)
}

.img.ratio-tier {
    font-size: .8em
}

.img.ratio-tier .img-wrapper .img-content:after {
    padding-bottom: calc((702 / 2880) * 100%)
}

.hero__title.mobile {
    display: none;
}

@media only screen and (max-width: 960px) {
    .hero__title.mobile {
        display: block;
    }

    .img.ratio-tier {
        min-height: 250px
    }

    .img.ratio-tier .img-wrapper .img-content {
        min-height: 250px
    }

    .img.ratio-tier .img-wrapper .img-content img {
        min-height: 250px;
        width: auto
    }
}

@media only screen and (max-width: 750px) {
    .img.ratio-tier {
        min-height:200px
    }

    .img.ratio-tier .img-wrapper .img-content {
        min-height: 200px
    }

    .img.ratio-tier .img-wrapper .img-content img {
        min-height: 200px;
        width: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate3d(-50%, -50%, 0);
        transform: translate3d(-50%, -50%, 0)
    }
}

@media only screen and (max-width: 578px) {
    .img.ratio-tier {
        min-height:150px
    }

    .img.ratio-tier .img-wrapper .img-content {
        min-height: 150px
    }

    .img.ratio-tier .img-wrapper .img-content img {
        min-height: 150px;
        width: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate3d(-50%, -50%, 0);
        transform: translate3d(-50%, -50%, 0)
    }
}

.img.small {
    width: 80%
}

@media only screen and (max-width: 578px) {
    .img.small {
        width:80%
    }
}

.img.smaller {
    width: 70%
}

@media only screen and (max-width: 578px) {
    .img.smaller {
        width:60%
    }
}

.rounded-corners {
    border-radius: 15px;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black)
}

@media only screen and (max-width: 578px) {
    .no-rounded-corners-mobile {
        border-radius:0px
    }
}

.animate-opacity,.animate-up,.animate-down,.animate-left,.animate-right,.animate-zoomin,.animate-zoomout,.animate-words,.slide-animate-opacity,.slide-animate-up,.slide-animate-down,.slide-animate-left,.slide-animate-right,.slide-animate-zoomout,.slide-animate-zoomin {
    will-change: transform,opacity;
    transition-delay: .3s;
    transition: .6s cubic-bezier(0, 0, 0.26, 1)
}

.animate-opacity.delay,.animate-up.delay,.animate-down.delay,.animate-left.delay,.animate-right.delay,.animate-zoomin.delay,.animate-zoomout.delay,.animate-words.delay,.slide-animate-opacity.delay,.slide-animate-up.delay,.slide-animate-down.delay,.slide-animate-left.delay,.slide-animate-right.delay,.slide-animate-zoomout.delay,.slide-animate-zoomin.delay {
    transition-delay: .3s !important
}

.animate-opacity.doubleDelay,.animate-up.doubleDelay,.animate-down.doubleDelay,.animate-left.doubleDelay,.animate-right.doubleDelay,.animate-zoomin.doubleDelay,.animate-zoomout.doubleDelay,.animate-words.doubleDelay,.slide-animate-opacity.doubleDelay,.slide-animate-up.doubleDelay,.slide-animate-down.doubleDelay,.slide-animate-left.doubleDelay,.slide-animate-right.doubleDelay,.slide-animate-zoomout.doubleDelay,.slide-animate-zoomin.doubleDelay {
    transition-delay: .6s !important
}

.animate-opacity.tripleDelay,.animate-up.tripleDelay,.animate-down.tripleDelay,.animate-left.tripleDelay,.animate-right.tripleDelay,.animate-zoomin.tripleDelay,.animate-zoomout.tripleDelay,.animate-words.tripleDelay,.slide-animate-opacity.tripleDelay,.slide-animate-up.tripleDelay,.slide-animate-down.tripleDelay,.slide-animate-left.tripleDelay,.slide-animate-right.tripleDelay,.slide-animate-zoomout.tripleDelay,.slide-animate-zoomin.tripleDelay {
    transition-delay: .9s !important
}

.animate-opacity.quadrupleDelay,.animate-up.quadrupleDelay,.animate-down.quadrupleDelay,.animate-left.quadrupleDelay,.animate-right.quadrupleDelay,.animate-zoomin.quadrupleDelay,.animate-zoomout.quadrupleDelay,.animate-words.quadrupleDelay,.slide-animate-opacity.quadrupleDelay,.slide-animate-up.quadrupleDelay,.slide-animate-down.quadrupleDelay,.slide-animate-left.quadrupleDelay,.slide-animate-right.quadrupleDelay,.slide-animate-zoomout.quadrupleDelay,.slide-animate-zoomin.quadrupleDelay {
    transition-delay: 1.2s !important
}

.animate-opacity.quintupleDelay,.animate-up.quintupleDelay,.animate-down.quintupleDelay,.animate-left.quintupleDelay,.animate-right.quintupleDelay,.animate-zoomin.quintupleDelay,.animate-zoomout.quintupleDelay,.animate-words.quintupleDelay,.slide-animate-opacity.quintupleDelay,.slide-animate-up.quintupleDelay,.slide-animate-down.quintupleDelay,.slide-animate-left.quintupleDelay,.slide-animate-right.quintupleDelay,.slide-animate-zoomout.quintupleDelay,.slide-animate-zoomin.quintupleDelay {
    transition-delay: 1.5s !important
}

.animate-opacity.sextupleDelay,.animate-up.sextupleDelay,.animate-down.sextupleDelay,.animate-left.sextupleDelay,.animate-right.sextupleDelay,.animate-zoomin.sextupleDelay,.animate-zoomout.sextupleDelay,.animate-words.sextupleDelay,.slide-animate-opacity.sextupleDelay,.slide-animate-up.sextupleDelay,.slide-animate-down.sextupleDelay,.slide-animate-left.sextupleDelay,.slide-animate-right.sextupleDelay,.slide-animate-zoomout.sextupleDelay,.slide-animate-zoomin.sextupleDelay {
    transition-delay: 1.8s !important
}

.animate-opacity.bounce,.animate-up.bounce,.animate-down.bounce,.animate-left.bounce,.animate-right.bounce,.animate-zoomin.bounce,.animate-zoomout.bounce,.animate-words.bounce,.slide-animate-opacity.bounce,.slide-animate-up.bounce,.slide-animate-down.bounce,.slide-animate-left.bounce,.slide-animate-right.bounce,.slide-animate-zoomout.bounce,.slide-animate-zoomin.bounce {
    transition-timing-function: cubic-bezier(0.54, 2.24, 0.49, 1);
    transition-duration: .9s !important
}

.longTransition {
    transition-duration: 2.5s !important
}

.superLongTransition {
    transition-duration: 5s !important
}

.animate-opacity,.animate-words,.animate-letters,.slide-animate-opacity {
    opacity: 0
}

.animate-up,.slide-animate-up {
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0)
}

.animate-down,.slide-animate-down {
    -webkit-transform: translate3d(0, -60px, 0);
    transform: translate3d(0, -60px, 0)
}

.animate-left,.slide-animate-left {
    -webkit-transform: translate3d(60px, 0, 0);
    transform: translate3d(60px, 0, 0)
}

.animate-right,.slide-animate-right {
    -webkit-transform: translate3d(-60px, 0, 0);
    transform: translate3d(-60px, 0, 0)
}

.animate-zoomin,.slide-animate-zoomin {
    -webkit-transform: scale(0.9);
    transform: scale(0.9)
}

.animate-zoomout,.slide-animate-zoomout {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.is-inview.animate-opacity,.is-inview.animate-up,.is-inview.animate-down,.is-inview.animate-left,.is-inview.animate-right,.is-inview.animate-zoomin,.is-inview.animate-zoomout,.is-inview.animate-words,.is-inview.animate-letters {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1);
}

.is-inview.animation-blink {
    -webkit-animation: animation-blink;
    animation: animation-blink;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

.slide-animate-lines {
    opacity: 0
}

.swiper-slide {
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden
}

.swiper-slide-active .slide-animate-lines,.swiper-slide-duplicate-active .slide-animate-lines {
    opacity: 1
}

.swiper-slide-active .slide-animate-opacity,.swiper-slide-active .slide-animate-up,.swiper-slide-active .slide-animate-down,.swiper-slide-active .slide-animate-left,.swiper-slide-active .slide-animate-right,.swiper-slide-active .slide-animate-zoomin,.swiper-slide-active .slide-animate-zoomout,.swiper-slide-duplicate-active .slide-animate-opacity,.swiper-slide-duplicate-active .slide-animate-up,.swiper-slide-duplicate-active .slide-animate-down,.swiper-slide-duplicate-active .slide-animate-left,.swiper-slide-duplicate-active .slide-animate-right,.swiper-slide-duplicate-active .slide-animate-zoomin,.swiper-slide-duplicate-active .slide-animate-zoomout {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transform: scale(1);
    transform: scale(1)
}

@-webkit-keyframes animation-blink {
    0%,50%,100% {
        background-color: #d3d3d3
    }

    25%,75% {
        background-color: #fff
    }
}

@keyframes animation-blink {
    0%,50%,100% {
        background-color: #d3d3d3
    }

    25%,75% {
        background-color: #fff
    }
}

.animate-rotate {
    -webkit-animation: rotation 20s linear infinite;
    animation: rotation 20s linear infinite
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.line-wrapper {
    overflow: hidden;
    margin: 0px;
    padding: 0px
}

.line {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    margin: 0px;
    padding: 0px
}

.swiper-lazy,.lazyload {
    transition: .3s ease-out;
    opacity: 0
}

.swiper-lazy.swiper-lazy-loaded,.lazyloaded {
    opacity: 1
}

::-moz-selection {
    background-color: #f2c955;
    color: #191919;
    text-shadow: none
}

::selection {
    background-color: #ffdd01;
    color: #191919;
    text-shadow: none
}

body {
    transition: opacity 1s cubic-bezier(0, 0, 0.28, 1);
    opacity: 1;
    font-family: "Nunito", sans-serif;
    font-weight: 100;
    background-color: var(--blu-1);
    color: #fff;
    /* background-position: 0% 50%; */
    /* background-size: 1200% 1200%; */
}

@keyframes wave {
    50% {
        background-position: 100% 50%;
    }
}

body.loading {
    opacity: 0;
    pointer-events: none
}

.colorAmarillo {
    color: #f2c955
}

.coolLink {
    color: #fff;
    text-decoration: none;
    position: relative;
    transition: .3s ease-out
}

.coolLink:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: currentColor;
    bottom: 0;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    transition: -webkit-transform .3s cubic-bezier(0.4, 0, 0, 1);
    transition: transform .3s cubic-bezier(0.4, 0, 0, 1);
    transition: transform .3s cubic-bezier(0.4, 0, 0, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0, 1);
    pointer-events: none
}

.coolLink:hover {
    color: var(--blu-1);
}

.coolLink:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
}

a,.tipoLink {
    color: var(--star);
    text-decoration: none;
    position: relative;
    transition: .3s ease-out;
    text-decoration: underline;
}

a:hover,.tipoLink:hover {
    color: var(--blu-1);
}

p {
    font-size: 1.3em
}

.p-block {
    max-width: 550px
}

.subrayado {
    position: relative
}

.subrayado:before {
    content: "";
    width: 100%;
    height: 2px;
    background-color: currentColor;
    bottom: 0;
    left: 0;
    position: absolute;
    transition: -webkit-transform .3s cubic-bezier(0.4, 0, 0, 1);
    transition: transform .3s cubic-bezier(0.4, 0, 0, 1);
    transition: transform .3s cubic-bezier(0.4, 0, 0, 1), -webkit-transform .3s cubic-bezier(0.4, 0, 0, 1);
    pointer-events: none;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center
}

h1,h2,h3,.superh1,.superTitular {
    font-family: "Nunito", sans-serif;
    line-height: 1.2em;
    font-weight: 500;
    cursor: default;
    position: relative;
    font-size: 1.5em;
    text-align: center;
}

h1 {
    font-size: 2.6em;
}

@media only screen and (max-width: 1200px) {
    h1 {
        font-size:3em
    }
}

@media only screen and (max-width: 960px) {
    h1 {
        font-size: 2.2em;
    }
}

.superh1 {
    font-size: 6em
}

@media only screen and (max-width: 1200px) {
    .superh1 {
        font-size:5em
    }
}

@media only screen and (max-width: 960px) {
    .superh1 {
        font-size:4em
    }
}

@media only screen and (max-width: 578px) {
    .superh1 {
        font-size:3em
    }
}

.outline {
    /* color: #520e0e; */
    -webkit-text-fill-color: #f2c955;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #f2c955;
}

.tipoLight {
    font-family: "Nunito", sans-serif;
}

.tipoMedium {
    font-family: "Nunito", sans-serif;
}

b,.tipoBold {
    font-family: "Nunito", sans-serif;
}

.superTitular {
    font-size: 11vw;
    line-height: 1em;
    text-align: center;
    text-shadow: 5px 4px 18px #000000bd;
}

@media only screen and (max-width: 960px) {
    .superTitular {
        font-size:17vw
    }
}

@media only screen and (max-width: 578px) {
    .superTitular {
        font-size:18.9vw
    }
}

.superTitular.small {
    font-size: 4vw;
}

@media only screen and (max-width: 960px) {
    .superTitular.small {
        font-size:6vw
    }
}

@media only screen and (max-width: 578px) {
    .superTitular.small {
        font-size:7vw
    }
}

#transitionDiv,#darkenerDiv {
    display: block;
    position: fixed;
    left: 0;
    width: 100vw;
    height: 100vh
}

#transitionDiv {
    top: 100%;
    z-index: 1000;
    background-color: #000000;
    overflow: hidden;
    will-change: transform
}

#darkenerDiv {
    top: 0;
    z-index: 900;
    background-color: #000;
    opacity: 0;
    pointer-events: none;
    transition: .6s ease-in-out;
    transition-delay: .3s
}

.--transitioning #darkenerDiv {
    opacity: 1;
    transition-delay: .3s
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: .6s ease-out
}

header #header-wrapper {
    position: relative;
    padding-top: 10px;
    padding-left: 25px;
    padding-bottom: 10px;
    width: calc(100% - 25px*2);
    display: flex;
    /* grid-template-columns: 250px 1fr; */
    -webkit-align-items: center;
    align-items: center;
    /* height: 40px; */
    align-content: center;
    justify-content: center;
    flex-direction: row;
}

@media only screen and (max-width: 960px) {
    header #header-wrapper {
        padding-left:15px;
        width: calc(100% - 15px*2);
        grid-template-columns: 200px 1fr
    }
}

@media only screen and (max-width: 578px) {
    header #header-wrapper {
        padding-left:10px;
        width: calc(100% - 10px*2);
        height: auto;
    }
}

header #header-wrapper #header-logo {
    /* width: 100%; */
}

header #header-wrapper #header-logo svg .st0 {
    fill: #fff;
    transition: fill .3s ease-out
}

header #header-wrapper #header-logo a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

header #header-wrapper #header-logo img {
    height: 70px;
    margin-top: 30px;
    transition: .6s cubic-bezier(0, 0, 0.26, 1);
}

header.dark #header-wrapper #header-logo img {
    height: 80px;
    margin-top: 10px;
    transition: .6s cubic-bezier(0, 0, 0.26, 1);
}

header #header-wrapper #header-logo a:before {
    height: 0px !important
}

header #header-wrapper #header-logo:hover svg .st0 {
    fill: #f2c955
}

header #header-wrapper #header-menu {
    justify-self: end;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
    top: .2em;
    position: relative
}

header #header-wrapper #header-menu .header-menu-item a {
    text-transform: uppercase;
    font-family: "Nunito", sans-serif;
    font-weight: 600;
}

@media only screen and (max-width: 750px) {
    header #header-wrapper #header-menu .header-menu-item {
        display:none
    }
}

@media only screen and (max-width: 750px) {
    header #header-wrapper #header-menu .header-menu-item:last-child {
        display:block;
        font-size: 0.8em;
    }
}

section.cta-wrapper-fixed {
    opacity: 0;
    position: fixed;
    bottom: 0;
    z-index: 1;
    left: 0;
    right: 0;
    height: auto;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    background: var(--white);
    /* background: #E06710; */
    -wbkit-backdrop-filter: saturate(180%) blur(20px);
    /* padding: 0 25px; */
    column-gap: 3vw;
    display: none;
}

section.cta-wrapper-fixed.show-cta {
    opacity: 1;
    display: flex;
    align-items: center;
    flex-direction: row;
    align-content: center;
    /* display: none; */
}

section.cta-wrapper-fixed.show-cta p {
    font-size: 2.3vw;
    font-weight: 500;
    margin: 0;
    padding: 23px 0px;
    color: var(--blu-1);
}

@media only screen and (max-width: 750px) {
    section.cta-wrapper-fixed.show-cta p {
        display: none;
        font-size: 2.3vw;
        font-weight: 200;
    }
}

.cta-wrapper-fixed a.coolLink.scrollCock.instant {
    background: var(--star);
    color: #191919;
    height: 1.9vw;
    display: flex;
    width: auto;
    align-content: center;
    justify-content: space-evenly;
    align-items: center;
    padding: 0px 19.3px;
    font-weight: 900;
    text-transform: uppercase;
    border-radius: 6px;
    width: auto;
    column-gap: 1em;
}

@media only screen and (max-width: 750px) {
    section.cta-wrapper-fixed {
        position: fixed;
        bottom: 0;
        z-index: 1;
        left: 0;
        right: 0;
        height: 10vh;
        display: none;
        align-content: center;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        background: transparent;
    }

    .cta-wrapper-fixed a.coolLink.scrollCock.instant {
        background: #f2c955;
        color: #191919;
        height: 51px;
        display: flex;
        width: auto;
        align-content: center;
        justify-content: space-around;
        align-items: center;
        font-weight: 900;
        text-transform: uppercase;
        border-radius: 6px;
        width: 70vw;
        flex-direction: row;
    }
}

header.dark {
    background: linear-gradient(180deg, #1e4b9c, #1e4b9c6e);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    /* backdrop-filter: saturate(180%) blur(20px); */
    /* inset: -1.3rem 0px; */
    /* inset: -1.3rem 0px; */
    /* background: rgb(0 0 0 / 5%); */
    backdrop-filter: blur(10px);
    /* -webkit-mask-image: linear-gradient(#000000 55%, #000000 70%, #00000000 100%); */
    /* transition: opacity var(--animation-duration-slow); */
}

[data-scroll-section] {
    overflow: hidden;
}

#home-banner {
    position: relative;
    overflow: hidden;
    height: 110vh;
}

section#\#home-marker {
    height: 99vh;
}

#home-banner #home-text-wrapper {
    /* top: 47vh; */
    position: absolute;
    justify-self: center;
    -webkit-align-self: center;
    align-self: center;
    width: 100%;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: row;
    background-position: center center;
    background-size: cover;
}

@media only screen and (max-width: 960px) {
    #home-banner #home-text-wrapper {
        width: 100vw;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        align-content: center;
    }
}

@media only screen and (max-width: 578px) {
    #home-banner #home-text-wrapper {
        width: 100%;
        /* top: 27.5px; */
        left: 0;
        top: 0;
        height: 100vh;
        /* position: relative; */
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
    }
}

#home-banner #home-text-wrapper h1:nth-child(2) {
    /* margin-left: 20vw; */
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: inherit;
    top: 24vh;
    top: 24dvh;
    font-weight: 600;
    color: #f2c955;
    text-align: center;
    right: 20vh;
}

img.hero__title {
    width: 42vw;
    right: 10vw;
    position: absolute;
    top: 3vw;
}

.hero-top {
    left: 15%;
    position: absolute;
}

h2#tagline1 {
    text-align: left;
    margin-top: 4vh;
    margin-top: 4dvh;
}

h2#tagline2 {
    text-align: left;
}

@media only screen and (max-width: 960px) {
    #home-banner #home-text-wrapper h1:nth-child(2) {
        margin-left:31.5vw
    }

    .hero-top {
        margin-top: 8vh;
    }

    h2#tagline1 {
        text-align: left;
        margin-top: 4vh;
        margin-top: 4dvh;
        padding-left: 70px;
    }

    h2#tagline2 {
        text-align: left;
        padding-left: 70px;
    }
}

@media only screen and (max-width: 578px) {
    #home-banner #home-text-wrapper h1:nth-child(2) {
        margin-left:34.5vw
    }

    .hero-top {
    }

    h2#tagline1 {
        text-align: left;
        margin-top: 4vh;
        margin-top: 4dvh;
    }

    h2#tagline2 {
        text-align: left;
    }
}

#home-banner #home-text-wrapper h1:nth-child(3) {
    text-align: left;
    position: absolute;
    font-weight: 600;
    padding-left: 3em;
    top: 50%;
    transform: translateY(-50%);
    left: 11%;
}

@media only screen and (max-width: 578px) {
    #home-banner #home-text-wrapper h1:nth-child(3) {
        top:1.5vw;
    }
}

#home-banner #home-text-wrapper #svg-logo {
    position: absolute;
    width: 14vw;
    top: 3vw;
    right: 7.7vw;
}

img.ellipse-1 {
    position: absolute;
    left: 22vw;
    height: 30vh;
    bottom: 18vh;
}

@media only screen and (max-width: 960px) {
    #home-banner #home-text-wrapper #svg-logo {
        width:19vw;
        top: 5vw;
        right: 8vw
    }

    img.ellipse-1 {
        position: absolute;
        right: -320px;
        height: 100vh;
    }
}

@media only screen and (max-width: 578px) {
    #home-banner #home-text-wrapper #svg-logo {
        width:31vw;
        top: -40vw;
        right: 30vw
    }

    img.ellipse-1 {
        position: absolute;
        right: -59vh;
        height: 100vh;
    }
}

/* hero scritte */
img.hero__bronze {
    /* width: 354.743px; */
    height: 220.828px;
    transform: rotate(4deg);
    flex-shrink: 0;
    position: absolute;
    right: 40%;
    top: 10%;
}

img.hero__silver {
    /* width: 639px; */
    height: 445px;
    flex-shrink: 0;
    position: absolute;
    right: 20%;
    top: 18%;
}

img.hero__gold {
    /* width: 647.156px; */
    height: 404.567px;
    transform: rotate(4.403deg);
    flex-shrink: 0;
    border-radius: 155px;
    /* box-shadow: 6px 26px 47.6px -39px rgba(0, 0, 0, 0.25); */
    position: absolute;
    right: 30%;
    top: 30%;
}

img.hero__platinum {
    /* width: 887.051px; */
    height: 710.749px;
    transform: rotate(4.582deg);
    flex-shrink: 0;
    border-radius: 40px;
    border: 0px solid #FFF;
    /* box-shadow: 7px 117px 75.2px -43px rgba(0, 0, 0, 0.40); */
    position: absolute;
    right: 40%;
    top: 40%;
}

h1#halloween {
    color: #ffffff;
    font-family: Oi;
    font-size: 8vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 0;
    height: 8vw;
}

h1#madness {
    color: #F00;
    text-align: left;
    font-family: "Nunito", sans-serif;
    font-size: 64px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-transform: uppercase;
    text-shadow: none;
    padding-left: 130px;
    margin-top: 20px;
    z-index: 9999999999999999;
}

@media only screen and (max-width: 960px) {
    h1#halloween {
        /* color: #B2F737; */ /* font-family: Oi; */ /* font-size: 155.719px; */ /* font-style: normal; */ /* font-weight: 400; */ /* line-height: normal; */
    }

    h1#madness {
        color: #F00;
        text-align: left;
        font-family: "Nunito", sans-serif;
        font-size: 37px;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
        text-shadow: none;
        padding-left: 120px;
        margin-top: 20px;
    }

    h3#presenta {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase;
    }

    h1#the {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 40px;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
        padding-left: 60px;
    }
}

@media only screen and (max-width: 578px) {
    h1#halloween {
        color: #ffffff;
        font-family: Oi;
        font-size: 10vw;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    h1#madness {
        color: #F00;
        text-align: left;
        font-family: "Nunito", sans-serif;
        font-size: 6vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
        text-shadow: none;
        padding-left: 11vh;
        margin-top: 20px;
        z-index: 99999;
    }

    h3#presenta {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 4vw;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase;
        margin-bottom: 6vh;
    }

    h1#the {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 5vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
        padding-left: 15px;
        display: flex;
        justify-content: center;
    }
}

/* hero end */
span.evidence {
    color: var(--star);
    font-family: "Nunito", sans-serif;
    /* font-size: 79.09px; */
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

span.soBig {
    color: var(--star);
    text-align: center;
    font-family: "Nunito", sans-serif;
    font-size: 6rem;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-transform: uppercase;
}

#home-banner #home-text-wrapper #hero-pumpkin {
    position: absolute;
    width: 100%;
    top: 3vw;
    top: 0;
    right: 0;
    /* transform: translateX(-50%); */
    z-index: 999;
    display: flex;
    justify-content: center;
    z-index: -1;
    left: 50%;
    bottom: 0;
    height: 100%;
}

@media only screen and (max-width: 960px) {
    #home-banner #home-text-wrapper #hero-pumpkin {
        width: 90vw;
        top: -6vw;
        right: 8vw;
    }

    #home-banner #home-text-wrapper #hero-pumpkin img {
    }

    /* hero scritte */
    img.hero__bronze {
        /* width: 354.743px; */
        height: 220.828px;
        transform: rotate(4deg);
        flex-shrink: 0;
        position: absolute;
        right: 40%;
        top: 10%;
    }

    img.hero__silver {
        /* width: 639px; */
        height: 445px;
        flex-shrink: 0;
        position: absolute;
        right: 20%;
        top: 13%;
    }

    img.hero__gold {
        /* width: 647.156px; */
        height: 404.567px;
        transform: rotate(4.403deg);
        flex-shrink: 0;
        border-radius: 155px;
        box-shadow: 6px 26px 47.6px -39px rgba(0, 0, 0, 0.25);
        position: absolute;
        right: 30%;
        top: 40%;
    }

    img.hero__platinum {
        /* width: 887.051px; */
        height: 710.749px;
        transform: rotate(4.582deg);
        flex-shrink: 0;
        border-radius: 40px;
        border: 0px solid #FFF;
        box-shadow: 7px 117px 75.2px -43px rgba(0, 0, 0, 0.40);
        position: absolute;
        right: 40%;
        top: 40%;
    }
}

@media only screen and (max-width: 578px) {
    #home-banner #home-text-wrapper #hero-pumpkin {
        width: 100vw;
        top: 32vh;
        right: 0;
        left: 0;
    }

    #home-banner #home-text-wrapper #hero-pumpkin img {
        /* width: 88vw; */
        /* height: auto; */
    }

    /* hero scritte */
    img.hero__bronze {
        /* width: 354.743px; */
        height: 16vh;
        height: 12dvh;
        transform: rotate(4deg);
        flex-shrink: 0;
        position: absolute;
        right: -54px;
        top: 21%;
    }

    img.hero__silver {
        /* width: 639px; */
        height: 32vh;
        height: 26dvh;
        flex-shrink: 0;
        position: absolute;
        right: -19%;
        top: 23%;
    }

    img.hero__gold {
        /* width: 647.156px; */
        height: 404.567px;
        transform: rotate(4.403deg);
        flex-shrink: 0;
        border-radius: 155px;
        box-shadow: 6px 26px 47.6px -39px rgba(0, 0, 0, 0.25);
        position: absolute;
        right: -3%;
        top: 29%;
        /* width: 210.585px; */
        height: 27vh;
        height: 26dvh;
        transform: rotate(4.403deg);
        flex-shrink: 0;
    }

    img.hero__platinum {
        /* width: 887.051px; */
        height: 710.749px;
        transform: rotate(4.582deg);
        flex-shrink: 0;
        border-radius: 40px;
        border: 0px solid #FFF;
        box-shadow: 7px 117px 75.2px -43px rgba(0, 0, 0, 0.40);
        position: absolute;
        right: 0%;
        top: 37%;
        width: auto;
        height: 59vh;
        height: 49dvh;
        transform: rotate(3.3deg);
        flex-shrink: 0;
    }
}

#home-banner #home-image {
    /* position: absolute; */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    /* opacity: 0; */
}

#home-banner #home-image #home-image-wrapper {
    position: relative;
    /* height: 100vh; */
}

#home-banner #home-image #home-image-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 100%;
    z-index: 1
}

#home-banner #home-image #home-image-wrapper img {
    width: 100vw;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover
}

#scroll-hint {
    position: absolute;
    width: 100%;
    text-align: center;
    pointer-events: none;
    bottom: 50px;
    text-transform: uppercase;
    font-family: "Nunito", sans-serif;
    top: 97vh;
    z-index: 99999;
    opacity: 0;
}

@media only screen and (max-width: 960px) {
    #scroll-hint {
        bottom:40px;
    }
}

@media only screen and (max-width: 578px) {
    #scroll-hint {
        /* bottom: 80vh; */ opacity: 1;
        display: none;
    }
}

.periods {
    margin-bottom: 5vh;
    margin-bottom: 5dvh;
}

.periods__item {
    color: #8E8E8E;
    text-align: center;
    font-family: "Nunito", sans-serif;
    font-size: 2vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.periods__item.active {
    color: #FFF;
    /* text-align: center; */
    font-family: "Nunito", sans-serif;
    /* font-size: 51.698px; */
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0) 3%, #327381 48%, rgba(96, 227, 255, 0) 100%);
}

.periods__item.active span {
    color: var(--star);
    font-weight: 600;
}

@media only screen and (max-width: 960px) {
    .periods__item {
        color: #8E8E8E;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 51.698px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

    .periods__item.active {
        color: #FFF;
        /* text-align: center; */
        font-family: "Nunito", sans-serif;
        /* font-size: 51.698px; */
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        background: linear-gradient(270deg, rgba(0, 0, 0, 0) 3%, #327381 48%, rgba(96, 227, 255, 0) 100%);
    }

    .periods__item.active span {
        color: var(--star);
        font-weight: 600;
    }
}

@media only screen and (max-width: 578px) {
    .periods__item {
        color: #8E8E8E;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 6vw;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        padding: 0.9em;
        border-bottom: 1px solid #ffffff2b;
    }

    .periods__item.active {
        color: #FFF;
        /* text-align: center; */
        font-family: "Nunito", sans-serif;
        /* font-size: 7vw; */
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        background: linear-gradient(270deg, rgba(0, 0, 0, 0) 3%, #327381 48%, rgba(96, 227, 255, 0) 100%);
    }

    .periods__item.active span {
        color: var(--star);
        font-weight: 600;
    }
}

#vesper-intro, #pinetaIntro {
    justify-self: center;
    -webkit-align-self: center;
    align-self: center;
    gap: 55px;
    padding-top: 60px;
    /* padding-bottom: 60px; */
    /* width: 50vw; */
    /* width: 40vw; */
}

#vesper-intro h1, #pinetaIntro h1 {
    width: 40vw;
    margin: 0 auto;
}

#vesper-intro h2, #pinetaIntro h2 {
    width: 40vw;
    margin: 0 auto;
    text-align: left;
}

@media only screen and (max-width: 960px) {
    #vesper-intro, #pinetaIntro {
        width: auto;
    }

    #vesper-intro h1, #pinetaIntro h1 {
        text-align: left;
        width: auto;
    }

    #vesper-intro h2, #pinetaIntro h2 {
    }
}

@media only screen and (max-width: 578px) {
    #vesper-intro, #pinetaIntro {
        width: 95vw;
        padding: 0;
    }

    #vesper-intro h1, #pinetaIntro h1 {
        width: 95vw;
        text-align: left;
    }

    #vesper-intro h2, #pinetaIntro h2 {
        width: 90vw;
        text-align: left;
    }
}

#vesper-intro img {
    justify-self: center
}

#horizontal-floating-txt {
    position: absolute;
    z-index: 1;
    text-align: center;
    width: 100%
}

#horizontal-floating-txt h1:nth-child(1) {
    top: 0vw
}

#horizontal-floating-txt h1:nth-child(2) {
    margin-top: 15vw;
    left: -7vw
}

@media only screen and (max-width: 578px) {
    #horizontal-floating-txt h1:nth-child(2) {
        margin-top:-4vw
    }
}

#horizontal-floating-txt h1:nth-child(3) {
    top: -4vw;
    left: 10vw
}

@media only screen and (max-width: 578px) {
    #horizontal-floating-txt h1:nth-child(3) {
        left:0
    }
}

#horizontal-floating-imgs {
    display: -webkit-flex;
    display: flex;
    gap: 60px;
    position: relative;
    left: -150px;
    padding-top: 150px;
    padding-bottom: 350px
}

#horizontal-floating-imgs>div {
    position: relative;
    min-width: 300px
}

#horizontal-floating-imgs>div:nth-child(1) {
    top: 0px
}

#horizontal-floating-imgs>div:nth-child(2) {
    top: -90px
}

#horizontal-floating-imgs>div:nth-child(3) {
    top: 30px
}

#horizontal-floating-imgs>div:nth-child(4) {
    top: -20px
}

#horizontal-floating-imgs>div:nth-child(5) {
    top: 90px
}

#horizontal-floating-imgs>div:nth-child(6) {
    top: 0px
}

h2.faq__title {
    color: #ffffff;
    font-size: 3em;
    font-weight: 700;
}

@media only screen and (max-width: 960px) {
    h2.faq__title {
    }

    #horizontal-floating-imgs {
        padding-bottom: 200px
    }

    #horizontal-floating-imgs>div {
        position: relative;
        min-width: 150px
    }
}

@media only screen and (max-width: 578px) {
    h2.faq__title {
    }

    #horizontal-floating-imgs {
        padding-bottom: 50px;
        gap: 30px
    }

    #horizontal-floating-imgs>div {
        position: relative;
        min-width: 100px;
    }
}

#facade-floating-txt,#patio-floating-txt {
    position: absolute;
    z-index: 1;
    text-align: center;
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important;
    text-shadow: 5px 4px 18px #000000bd;
}

#facade-floating-txt h1:nth-child(1) {
    left: -5vw
}

@media only screen and (max-width: 750px) {
    #facade-floating-txt h1:nth-child(1) {
        left:0px
    }

    #patio-floating-txt h1:nth-child(1) {
        left: -27vw
    }
}

#facade-floating-txt h1:nth-child(2) {
    left: 8vw;
}

#patio-floating-txt h1:nth-child(1) {
    left: -27vw
}

@media only screen and (max-width: 960px) {
    #patio-floating-txt h1:nth-child(1) {
        left:0px
    }
}

#patio-floating-txt h1:nth-child(2) {
    margin-top: 47vw;
    left: 10vw
}

@media only screen and (max-width: 960px) {
    #patio-floating-txt h1:nth-child(2) {
        left:-10vw
    }
}

#patio-floating-txt h1:nth-child(3) {
    left: 26vw
}

@media only screen and (max-width: 960px) {
    #patio-floating-txt h1:nth-child(3) {
        left:10vw
    }
}

#horizontal-vesper-logos {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px
}

#horizontal-vesper-logos>div {
    display: -webkit-flex;
    display: flex;
    gap: 60px
}

@media only screen and (max-width: 750px) {
    #horizontal-vesper-logos>div {
        gap:40px;
        width: 150%;
        left: -25%;
        position: relative
    }
}

#horizontal-vesper-logos .vesper-logo {
    width: 100%;
    max-width: 500px
}

#horizontal-vesper-logos .vesper-logo svg .st0 {
    fill: #f2c955
}

#horizontal-vesper-logos .vesper-logo:nth-child(odd) svg .st0 {
    fill: #fff
}

@media only screen and (max-width: 750px) {
    #horizontal-vesper-logos {
        padding-top:40px;
        padding-bottom: 40px
    }
}

#about-spaces-txt {
    position: relative;
    padding-top: 120px
}

#about-spaces-txt h1:nth-child(1) {
    font-size: 7vw
}

@media only screen and (max-width: 750px) {
    #about-spaces-txt h1:nth-child(1) {
        font-size:10vw;
    }
}

#about-spaces-txt h1:nth-child(2) {
    font-size: 15vw;
    top: -4vw;
}

@media only screen and (max-width: 750px) {
    #about-spaces-txt h1:nth-child(2) {
        font-size: 20.5vw;
        top: -5.1vw;
        padding-bottom: 6vw;
    }
}

#floors-container {
    grid-template-columns: 1fr 1fr 1fr 1fr !important
}

#floors-menu {
    position: relative;
    padding-top: 115px;
    height: 300px
}

@media only screen and (max-width: 750px) {
    #floors-menu {
        height:auto
    }
}

#floors-menu .floors-menu-item {
    font-family: "Nunito", sans-serif;
    text-transform: uppercase;
    padding-left: calc(25px + 15px);
    transition: .3s ease-in-out;
    margin-bottom: 15px;
    position: relative
}

#floors-menu .floors-menu-item:before {
    content: "";
    position: absolute;
    width: calc(25px);
    height: 1px;
    bottom: calc(50% + 1px);
    left: 0;
    transition: .3s ease-in-out;
    background-color: #fff;
    z-index: 1
}

#floors-menu .floors-menu-item.active {
    padding-left: calc(25px*4 + 10px);
    color: #f2c955
}

#floors-menu .floors-menu-item.active a {
    color: #f2c955
}

#floors-menu .floors-menu-item.active:before {
    width: calc(25px*4);
    background-color: #f2c955
}

#floors-wrapper {
    position: relative;
    padding-top: 115px
}

.btnLink {
    font-size: 3em;
    padding: 15px;
    position: relative;
    border: 1px solid #fff
}

.btnLink:hover {
    border: 1px solid #f2c955;
    background-color: #f2c955;
    color: #191919
}

#marginToFooter {
    position: relative;
    padding-bottom: 200px
}

footer {
    padding: 25px
}

footer {
    /* position: absolute; */
    bottom: 110px;
    left: 50%;
    /* transform: translateX(-50%); */
}

#headerMsg {
    position: relative;
    height: 0px;
    padding: 0px;
    font-family: "Nunito", sans-serif;
    font-size: .9em;
    transition: .6s ease-in-out;
    display: -webkit-flex;
    display: flex;
    text-align: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    background: var(--swiper-theme-color);
    color: #191919;
    overflow: hidden
}

@media only screen and (max-width: 750px) {
    #headerMsg {
        padding-right:30px;
        text-align: left
    }
}

#headerMsg #closeHeaderMsg {
    right: 15px;
    position: absolute;
    cursor: pointer;
    color: #191919
}

.withHeaderMsg #headerMsg {
    height: 20px;
    padding: 10px;
    font-weight: 600;
}

@media only screen and (max-width: 750px) {
    .withHeaderMsg #headerMsg {
        height:30px;
        padding-right: 30px
    }
}

.hideHeaderMsg #headerMsg {
    height: 0px;
    padding: 0px
}

.hidden,[hidden] {
    display: none !important
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.sr-only.focusable:active,.sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto
}

.invisible {
    visibility: hidden
}

.clearfix::before,.clearfix::after {
    content: " ";
    display: table
}

.clearfix::after {
    clear: both
}

@media print {
    *,*::before,*::after {
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,a:visited {
        text-decoration: underline
    }

    a[href]::after {
        content: " (" attr(href) ")"
    }

    abbr[title]::after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]::after,a[href^="javascript:"]::after {
        content: ""
    }

    pre {
        white-space: pre-wrap !important
    }

    pre,blockquote {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,img {
        page-break-inside: avoid
    }

    p,h2,h3 {
        orphans: 3;
        widows: 3
    }

    h2,h3 {
        page-break-after: avoid
    }
}

/* 
.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
}

.video-bg {
    height: 100vh;
    opacity: .85;
} */
a h1.is-inview {
    background: #f2c955;
    color: #191919;
    height: 51px;
    display: flex;
    align-content: center;
    justify-content: space-evenly;
    align-items: center;
    padding: 0px 19.3px;
    font-weight: 900;
    text-transform: uppercase;
    border-radius: 6px;
    width: auto;
    column-gap: 1em;
    font-size: 1em;
}

a.camping__link {
    background-size: cover !important;
    background-position: 50% 50% !important;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 5vw;
    font-weight: 800;
    position: relative;
    /* z-index:0; */
}

a.camping__link::after {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(328deg, #19191900, #1010109e);
    opacity: .7;
    position: absolute;
}

@media only screen and (max-width: 750px) {
    a.camping__link {
        background-size: cover !important;
        background-position: 50% 50% !important;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 11vw;
    }
}

a.camping__link .camping__title {
    text-shadow: 1px 2px 17px #00000099;
    z-index: 1;
}

a.closeBtn,a.closeBtnCookie {
    right: 1em;
    color: white;
    position: absolute;
    cursor: pointer;
    top: 1em;
    font-weight: 600;
    font-size: 1.7vw;
    padding: 11px;
}

@media only screen and (max-width: 750px) {
    a.closeBtn,a.closeBtnCookie {
        right: 6px;
        position: absolute;
        cursor: pointer;
        color: #191919;
        top: 0px;
        font-weight: 100;
        font-size: 7vw;
        padding: 11px;
        color: white;
    }
}

.camping__quest {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 2vw;
    height: 16vh;
}

@media only screen and (max-width: 750px) {
    .camping__quest {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        font-size: 4.8vw;
        padding-bottom: 0.3em;
        height: auto;
    }
}

.container.window-sized.align-center.justify-center.camping__container {
    height: var(--app-height);
    min-height: auto;
    gap: 8px;
}

.descrizione_tecnica ul {
    padding-inline-start: 0.7em; font-size: 0.8em;
    color: #b3b3b6;
}

@media only screen and (max-width: 750px) {
    .descrizione_tecnica ul {
        padding-inline-start: 15px;
        font-size: 0.8em;
        color: #b3b3b6;
    }
}

.cta__cont {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 11px;
    margin-bottom: 11px;
}

a.scrollCock.instant.finalCTA, a.finalCTA {
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    background: var(--swiper-theme-color);
    color: #191919;
    height: 55px;
    display: flex;
    width: auto;
    align-content: center;
    justify-content: space-evenly;
    align-items: center;
    padding: 0px 19.3px;
    font-weight: 900;
    text-transform: uppercase;
    border-radius: 66px;
    width: auto;
    column-gap: 1em;
    text-decoration: none;
}

/* FLIPDOWN */
/********** Theme: dark **********/
/* Font styles */
.flipdown.flipdown__theme-dark {
    /* font-family: sans-serif; */
    font-weight: bold;
}

/* Rotor group headings */
.flipdown.flipdown__theme-dark .rotor-group-heading:before {
    color: #dbdbdb;
}

/* Delimeters */
.flipdown.flipdown__theme-dark .rotor-group:nth-child(n+2):nth-child(-n+3):before, .flipdown.flipdown__theme-dark .rotor-group:nth-child(n+2):nth-child(-n+3):after {
    background-color: #286572;
}

/* Rotor tops */
.flipdown.flipdown__theme-dark .rotor, .flipdown.flipdown__theme-dark .rotor-top, .flipdown.flipdown__theme-dark .rotor-leaf-front {
    color: #000000;
    background-color: var(--star);
}

/* Rotor bottoms */
.flipdown.flipdown__theme-dark .rotor-bottom, .flipdown.flipdown__theme-dark .rotor-leaf-rear {
    color: #000000;
    background-color: var(--star);
}

/* Hinge */
.flipdown.flipdown__theme-dark .rotor:after {
    border-top: solid 1px #151515;
}

/********** Theme: light **********/
/* Font styles */
.flipdown.flipdown__theme-light {
    font-family: sans-serif;
    font-weight: bold;
}

/* Rotor group headings */
.flipdown.flipdown__theme-light .rotor-group-heading:before {
    color: #EEEEEE;
}

/* Delimeters */
.flipdown.flipdown__theme-light .rotor-group:nth-child(n+2):nth-child(-n+3):before, .flipdown.flipdown__theme-light .rotor-group:nth-child(n+2):nth-child(-n+3):after {
    background-color: #DDDDDD;
}

/* Rotor tops */
.flipdown.flipdown__theme-light .rotor, .flipdown.flipdown__theme-light .rotor-top, .flipdown.flipdown__theme-light .rotor-leaf-front {
    color: #222222;
    background-color: #DDDDDD;
}

/* Rotor bottoms */
.flipdown.flipdown__theme-light .rotor-bottom, .flipdown.flipdown__theme-light .rotor-leaf-rear {
    color: #333333;
    background-color: #EEEEEE;
}

/* Hinge */
.flipdown.flipdown__theme-light .rotor:after {
    border-top: solid 1px #222222;
}

/* END OF THEMES */
.flipdown {
    overflow: visible;
    width: 510px;
    height: 110px;
}

.flipdown .rotor-group {
    position: relative;
    float: left;
    padding-right: 30px;
}

.flipdown .rotor-group:last-child {
    padding-right: 0;
}

.flipdown .rotor-group-heading:before {
    display: block;
    height: 30px;
    line-height: 30px;
    text-align: center;
}

.flipdown .rotor-group:nth-child(1) .rotor-group-heading:before {
    content: attr(data-before);
}

.flipdown .rotor-group:nth-child(2) .rotor-group-heading:before {
    content: attr(data-before);
}

.flipdown .rotor-group:nth-child(3) .rotor-group-heading:before {
    content: attr(data-before);
}

.flipdown .rotor-group:nth-child(4) .rotor-group-heading:before {
    content: attr(data-before);
}

.flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):before {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 115px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):after {
    content: '';
    position: absolute;
    bottom: 50px;
    left: 115px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.flipdown .rotor {
    position: relative;
    float: left;
    width: 50px;
    height: 80px;
    margin: 0px 5px 0px 0px;
    border-radius: 4px;
    font-size: 4rem;
    text-align: center;
    perspective: 200px;
}

.flipdown .rotor:last-child {
    margin-right: 0;
}

.flipdown .rotor-top, .flipdown .rotor-bottom {
    overflow: hidden;
    position: absolute;
    width: 50px;
    height: 40px;
}

.flipdown .rotor-leaf {
    z-index: 1;
    position: absolute;
    width: 50px;
    height: 80px;
    transform-style: preserve-3d;
    transition: transform 0s;
}

.flipdown .rotor-leaf.flipped {
    transform: rotateX(-180deg);
    transition: all 0.5s ease-in-out;
}

.flipdown .rotor-leaf-front, .flipdown .rotor-leaf-rear {
    overflow: hidden;
    position: absolute;
    width: 50px;
    height: 40px;
    margin: 0;
    transform: rotateX(0deg);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.flipdown .rotor-leaf-front {
    line-height: 80px;
    border-radius: 4px 4px 0px 0px;
}

.flipdown .rotor-leaf-rear {
    line-height: 0px;
    border-radius: 0px 0px 4px 4px;
    transform: rotateX(-180deg);
}

.flipdown .rotor-top {
    line-height: 80px;
    border-radius: 4px 4px 0px 0px;
}

.flipdown .rotor-bottom {
    bottom: 0;
    line-height: 0px;
    border-radius: 0px 0px 4px 4px;
}

.flipdown .rotor:after {
    content: '';
    z-index: 2;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 50px;
    height: 40px;
    border-radius: 0px 0px 4px 4px;
}

@media (max-width: 550px) {
    .flipdown {
        width: 312px;
        height: 70px;
    }

    .flipdown .rotor {
        font-size: 2.2rem;
        margin-right: 3px;
    }

    .flipdown .rotor, .flipdown .rotor-leaf, .flipdown .rotor-leaf-front, .flipdown .rotor-leaf-rear, .flipdown .rotor-top, .flipdown .rotor-bottom, .flipdown .rotor:after {
        width: 30px;
    }

    .flipdown .rotor-group {
        padding-right: 20px;
    }

    .flipdown .rotor-group:last-child {
        padding-right: 0px;
    }

    .flipdown .rotor-group-heading:before {
        font-size: 0.8rem;
        height: 20px;
        line-height: 20px;
        font-weight: 500;
    }

    .flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):before, .flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):after {
        left: 69px;
    }

    .flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):before {
        bottom: 13px;
        height: 8px;
        width: 8px;
    }

    .flipdown .rotor-group:nth-child(n+2):nth-child(-n+3):after {
        bottom: 29px;
        height: 8px;
        width: 8px;
    }

    .flipdown .rotor-leaf-front, .flipdown .rotor-top {
        line-height: 50px;
    }

    .flipdown .rotor-leaf, .flipdown .rotor {
        height: 50px;
    }

    .flipdown .rotor-leaf-front, .flipdown .rotor-leaf-rear, .flipdown .rotor-top, .flipdown .rotor-bottom, .flipdown .rotor:after {
        height: 25px;
    }
}

/* marquee */
.marquee {
    overflow: hidden;
    display: flex;
    background: aquamarine;
}

.marquee h2 {
    font-size: 5rem;
    white-space: nowrap;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0;
    color: black;
}

.marquee h2 span {
    font-size: 5rem;
    white-space: nowrap;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0;
    color: black;
    font-weight: 600;
}

.marqueePineta {
    background: var(--pineta);
    overflow: hidden;
    display: flex;
    transform: rotate(358deg);
    margin-top: 4em;
    margin-bottom: 2em;
}

.marqueePineta h2 {
    font-size: 6rem;
    white-space: nowrap;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0;
    color: black;
}

.marqueePineta h2 span {
    font-size: 6rem;
    white-space: nowrap;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 0;
    color: white;
}

/* intro card */
.card-overlay-container {
    width: 70vw;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
}

.card-overlay-container img.front {
    position: absolute;
}

/* Base styles (for screens larger than 1200px) */
.card {
    border-radius: 41px;
    border: 1px solid #FFF;
    background: #0009;
    width: 76vw;
    margin: 0 auto;
    display: flex;
    padding: 0;
    margin-bottom: 0;
    align-content: center;
    align-items: flex-start;
    border-radius: 16px;
    border: 1px solid var(--border-grey, #E0E0E0);
    background: var(--white, #FFF);
    column-gap: 30px;
}

.offer-container {
    transition: all 0.3s ease;
}

.offer-container[hidden] {
    opacity: 0;
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
}


.tippy-box[data-theme~='light-border'] {
    background-color: white;
    border: 1px solid #e0e0e0;
    color: #333;
}

.tippy-box[data-theme~='light-border'] .tippy-content {
    padding: 10px;
}

.tippy-box {
    background: white;
    box-shadow: 0px -3px 9px 5px #0000001c;
}

.tippy-arrow {
    color: white;
}

.tippy-title {
    font-weight: 900;
    margin-bottom: 5px;
    color: #f74b15;
}

.tippy-description {
    color: var(--text);
    font-size: 1.1em;
    font-weight: 400;
}


.card-main__info {
    width: 50%;
    padding-top: 15px;
}

.card-main__cta-section {
    width: 50%;
    display: grid;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid #E0E0E0;
    padding: 0px 20px;
    align-content: center;
    background: #f0f8ff;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .card {
        width: 100%;
        column-gap: 20px;
    }

    .card-main__info {
        width: 58%;
    }

    .card-main__cta-section {
        width: 44%;
    }
  
}

@media only screen and (max-width: 960px) {
    .card {
        width: 90vw;
        column-gap: 15px;
        flex-direction: column;
    }

    .card-main__info, .card-main__cta-section {
        width: 100%;
        padding: 20px;
    }

    .card-main__cta-section {
        border-left: none;
        border-top: none;
    }
}

@media only screen and (max-width: 578px) {
    .card {
        width: 95vw;
        border-radius: 20px;
    }

    .card-main__info {
        padding: 0;
        padding-left: 0;
        padding-right: 0;
        width: max-content;
        padding-bottom: 8px;
        width: 100%;
        padding: 24px;
    }

    .card-main__cta-section {
        padding: 0;
        padding-left: 0;
        padding-right: 0;
        width: max-content;
        padding-bottom: 8px;
        width: 100%;
        padding: 0;
        padding-top: 19px;
        padding-bottom: 8px;
        border-bottom-left-radius: 24px;
        border-bottom-right-radius: 24px;
    }
}

/* Base styles (for screens larger than 1200px) */
.card__img {
    width: 50%;
    max-width: 440px;
    height: auto;
    flex-shrink: 0;
    /* border-radius: 16px; */
    overflow: hidden;
    position: relative;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .card__img {
        width: 45%;
        max-width: 400px;
    }
}

@media only screen and (max-width: 960px) {
    .card__img {
        width: 100%;
        max-width: none;
        height: 300px;
        border-radius: 16px 16px 0 0;
    }
}

@media only screen and (max-width: 578px) {
    .card__img {
        height: fit-content;
        border-radius: 0;
    }
}

.swiper.card-swiper.swiper-initialized.swiper-horizontal.swiper-pointer-events {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

.card__img img {
}

.card__img img {
    width: 31vw;
}

.card__description {
    display: flex;
    flex-direction: row;
    width: auto;
    justify-content: center;
    background: var(--white);
    flex: 1;
    height: 100%;
    display: flex;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

.card__info {
    font-family: "Nunito", sans-serif;
    font-size: 1.1vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    /* 120% */
    color: var(--text, #292929);
    font-family: "Nunito", sans-serif;
    font-size: 23.304px;
    font-style: normal;
    font-weight: 300;
    line-height: 110%;
    /* 25.634px */
}

span.price__old {
    color: var(--blu-1);
    font-family: "Nunito", sans-serif;
    font-size: 2.6vw;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    text-decoration-line: line-through;
    height: 2.6vw;
}

span.price__new {
    color: var(--blu-1);
    font-family: "Nunito", sans-serif;
    font-size: 3vw;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.cta__mc {
    color: #FFF;
    text-align: center;
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: #292929;
    font-family: "Nunito", sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    /* 15.4px */
    margin-bottom: 0.8em;
}

.cta__mc .coolLink {
    color: #060606;
    text-decoration: underline;
}

.card__price {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
}

.card__priceCTA {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    /* margin-top: 1em; */
}

span.offer-validity__dates {
    color: var(--text, #292929);
    text-align: center;
    font-family: "Nunito", sans-serif;
    font-size: 21.053px;
    font-style: normal;
    font-weight: 600;
    line-height: 49.566px;
    /* 235.438% */
}

.card--multiple .offer-container span.offer-validity__dates {
    color: #292929;
    text-align: center;
    /* font-family: Comfortaa; */
    font-size: 14px;
    font-style: normal;
    /* font-weight: 700; */
    /* line-height: 7.856px; */
    /* 56.113% */
}

h3.offer-validity__title {
    color: var(--Gray-3, #828282);
    text-align: center;
    font-family: Nunito;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    /* 244.611% */
    margin-bottom: 0;
}

span.price-prefix {
    color: var(--Gray-2, #4F4F4F);
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%;
    /* 29.9px */
}

span.price-suffix {
    color: var(--Gray-2, #4F4F4F);
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%;
    /* 29.9px */
}

span.price-amount {
    color: #0091f0;
    font-family: "Nunito", sans-serif;
    font-size: 29.214px;
    font-style: normal;
    font-weight: 900;
    line-height: 130%;
    /* 48.378px */
}

h2.price-title {
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 23px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    /* 29.9px */
    margin: 0;
}

.cta__mc span {
    color: var(--star);
    font-family: "Nunito", sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.offer-validity__start-date span, .offer-validity__end-date span {
    color: var(--azure, #0091F0);
    font-family: Nunito;
    font-size: 21.053px;
    font-style: normal;
    font-weight: 900;
    line-height: 49.566px;
}

.card a.cta__btn {
    border-radius: 15.395px;
    background: var(--swiper-theme-color);
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 1em;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: none;
    padding: 11px 22px;
    display: flex;
    text-decoration: none;
    border-radius: 39px;
    /* background: #FD0; */
}

.pineta__card a.cta__btn {
    border-radius: 15.395px;
    background: var(--star);
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 1.7vw;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    text-transform: uppercase;
    padding: 0.5em 1em;
    display: block;
    text-decoration: none;
    /* width: 300px; */
}

.fixedCTA {
    margin-top: 7px;
    border-radius: 118.395px;
    background: var(--swiper-theme-color);
    color: var(--text);
    font-family: "Nunito", sans-serif;
    font-size: 1.7vw;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    text-transform: uppercase;
    padding: 0.5em 1em;
    display: block;
    font-size: 1.1vw;
    font-weight: 500;
    line-height: normal;
    text-transform: none;
    padding: 1.2em 3.1em;
    display: block;
    border-radius: 89px;
    background: #FD0;
}

.fixedCTA.coolLink:before {
    text-decoration: none;
    height: 0px;
}

.offers {
    background: var(--blu-1);
}

.card__cta {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/* Base styles (for screens larger than 1200px) */
.card__title {
    color: var(--blu-1);
    font-family: "Nunito", sans-serif;
    font-size: 29.2px;
    font-style: normal;
    font-weight: 900;
    line-height: 130%;
    cursor: pointer;
    padding-bottom: .35em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .35em;
    margin-bottom: 0.5em;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .card__title {
        font-size: 23px;
    }
}

@media only screen and (max-width: 960px) {
    .card__title {
        font-size: 24px;
        padding-bottom: .3em;
        text-underline-offset: .3em;
    }
}

@media only screen and (max-width: 578px) {
    .card__title {
        font-size: 22px;
        padding-bottom: .25em;
        text-underline-offset: .25em;
        margin-bottom: 0.4em;
    }
}

.card__title span {
    color: #FFF;
    font-family: "Nunito", sans-serif;
    font-size: 29.465px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.card__img img {
    /* width: 100%; */
    left: -50%;
    /* transform: translateX(-50%); */
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

img.logo-footer {
    height: 7vw;
}

img#offerta-da-paura {
    margin-top: 70px;
}

@media only screen and (max-width: 960px) {
    .card-overlay-container {
        width: 40vw;
        margin: 0 auto;
        position: relative;
    }

    #home-banner #home-image #home-image-wrapper {
        /* height: 40vh; */
    }

    header #header-wrapper #header-logo {
    }

    header.dark #header-wrapper #header-logo img {
        height: 100px;
        margin-top: 30px;
        transition: .6s cubic-bezier(0, 0, 0.26, 1);
    }

    /* marquee */
    .marquee {
        overflow: hidden;
        display: flex;
        background: var(--star);
    }

    .marquee h2 {
        font-size: 6.1vw;
        white-space: nowrap;
        text-transform: uppercase;
        margin-top: 0;
        margin-bottom: 0;
        color: black;
    }

    .marquee h2 span {
        font-size: 6vw;
        white-space: nowrap;
        text-transform: uppercase;
        margin-top: 0;
        margin-bottom: 0;
        color: white;
    }

    /* intro card */
    .card-overlay-container {
        width: 90vw;
        margin: 0 auto;
        position: relative;
    }

    .card-overlay-container img.front {
        position: absolute;
        width: 100vw;
    }

    /* card */
    .card {
        border-radius: 41px;
        border: 1px solid #FFF;
        background: #000;
        /* filter: blur(2px); */
        width: 88vw;
        margin: 0 auto;
        display: flex;
        padding: 1px;
        flex-direction: column;
    }

    .card__img {
        width: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-content: center;
        align-items: center;
    }

    .card__img img {
    }

    .card__img img {
        width: 30vw;
    }

    .card__description {
        display: flex;
        flex-direction: column;
        width: -webkit-fill-available;
        justify-content: flex-end;
        padding: 24px;
    }

    .card__info {
        /* color: #FFF; */
        font-family: "Nunito", sans-serif;
        font-size: 24px;
        font-style: normal;
        font-weight: 500;
        line-height: 28.8px;
        /* 120% */
        /* color: #FFF; */
        font-family: "Nunito", sans-serif;
        font-size: 25px;
        font-style: normal;
        font-weight: 500;
        line-height: 1.2;
        /* 130% */
    }

    span.price__old {
        height: 34px;
        color: rgba(255, 255, 255, 0.44);
        font-family: "Nunito", sans-serif;
        font-size: 42.837px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    span.price__new {
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 87.05px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 62.913px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    .cta__mc {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .cta__mc .coolLink {
    }

    .card__price {
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
    }

    .card__priceCTA {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: 1em;
        align-items: center;
        width: 100%;
    }

    .cta__mc span {
        color: var(--star);
        font-family: "Nunito", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    .card a.cta__btn {
        border-radius: 85.395px;
        background: var(--swiper-theme-color);
        color: #000;
        font-family: "Nunito", sans-serif;
        font-size: 31.36px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        text-transform: uppercase;
        padding: 1em 1em;
        display: block;
        width: 100%;
        text-align: center;
    }

    .card__cta {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    .card__title {
        /* color: var(--star); */
        font-family: "Nunito", sans-serif;
        font-size: 30px;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        margin-bottom: 0.5em;
    }

    .card__title span {
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 17px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

    .card__img img {
        width: 100%;
        left: -50%;
        /* transform: translateX(-50%); */
    }

    span.evidence {
        color: var(--star);
        font-family: "Nunito", sans-serif;
        /* font-size: 79.09px; */
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    span.soBig {
        color: #E06700;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 12vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
    }

    #vesper-intro img {
        justify-self: center
    }

    img.logo-footer {
        height: 11vw;
    }

    img.logo-footer {
        height: 28vw;
    }

    section.cta-wrapper-fixed.show-cta {
        display: none;
    }

    section.cta-wrapper-fixed.show-cta p {
        display: none;
    }

    .fixedCTA {
        margin-top: 7px;
        border-radius: 85.395px;
        background: var(--swiper-theme-color);
        color: #000;
        font-family: "Nunito", sans-serif;
        font-size: 2.5vw;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        text-transform: uppercase;
        padding: 1.1em 2em;
        display: block;
    }

    img#offerta-da-paura {
        width: 80vw;
    }
}

/* Stili aggiuntivi per il layout multiple offers */
.card--multiple .offer-container {
    border: 1px solid #eee;
    border-radius: 1.5rem;
    padding: 7px 15px;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    /* width: 100%; */
    column-gap: 28px;
    background: #ffffff;
}

.card--multiple .offer-container .multiple-cta__wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card--multiple .offer-validity__title {
    color: #1a56db;
    font-weight: 600;
    border-radius: 28px;
    background: rgb(240 248 255);
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    width: fit-content;
    padding: 6px 10px;
    color: #0091F0;
    text-align: center;
    font-family: Nunito;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    /* 65.466% */
    text-transform: uppercase;
}

.offer-validity {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
}

.card--multiple .price-container {
    /* margin: 1rem 0; */
}

.terms-link a {
    text-decoration: none;
    color: var(--text);
    font-size: 12px;
    font-weight: 400;
    padding-right: 6px;
}

@media only screen and (max-width: 578px) {
    /* Stili aggiuntivi per il layout multiple offers */ .card--multiple .offer-container {
        border: 1px solid #eee;
        border-radius: 1.5rem;
        padding: 21px 20px;
        margin-bottom: 1rem;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        /* width: 100%; */
        column-gap: 28px;
        background: #ffffff;
    }

    .card--multiple .offer-container .multiple-cta__wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .card--multiple .offer-validity__title {
        color: #1a56db;
        font-weight: 600;
        border-radius: 28px;
        background: rgb(240 248 255);
        border-radius: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        width: fit-content;
        padding: 6px 10px;
        color: #0091F0;
        text-align: center;
        font-family: Nunito;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        /* 65.466% */
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .card--multiple .price-container {
        /* margin: 1rem 0; */
    }

    .card-overlay-container {
        width: 40vw;
        margin: 0 auto;
        position: relative;
    }

    img.logo-footer {
        height: 12vw;
    }

    img.logo-footer {
        height: 41vw;
        margin-bottom: 60px;
    }

    header #header-wrapper #header-logo {
        margin-top: 0;
    }

    header.dark #header-wrapper #header-logo img {
        height: 60px;
        margin-top: 0;
        transition: .6s cubic-bezier(0, 0, 0.26, 1);
    }

    header.dark #header-wrapper #header-logo {
        margin-top: 6px;
    }

    #home-banner #home-image #home-image-wrapper {
        height: auto;
    }

    /* marquee */
    .marquee {
        overflow: hidden;
        display: flex;
        background: var(--star);
    }

    .marquee h2 {
        font-size: 12vw;
        white-space: nowrap;
        text-transform: uppercase;
        margin-top: 0;
        margin-bottom: 0;
        color: black;
        font-weight: 700;
    }

    .marquee h2 span {
        font-size: 12vw;
        white-space: nowrap;
        text-transform: uppercase;
        margin-top: 0;
        margin-bottom: 0;
        color: black;
        font-weight: 600;
    }

    /* intro card /////////////////////////////// */
    .card-overlay-container {
        width: 90vw;
        margin: 0 auto;
        position: relative;
    }

    .card-overlay-container img.front {
        position: absolute;
        width: 100vw;
    }

    /* card */
    .card {
        border-radius: 26px;
        border: 1px solid #60e3ff8c;
        background: #000;
        /* filter: blur(2px); */
        width: 95vw;
        margin: 0 auto;
        display: flex;
        padding: 1px;
        flex-direction: column;
        margin-top: 1em;
    }

    .card__img {
        width: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-content: center;
        align-items: center;
    }

    .card__img img {
        width: 30vw;
    }

    .card__description {
        display: flex;
        flex-direction: column;
        /* width: fit-content; */
        justify-content: flex-end;
        padding: 0;
        border-radius: 16px;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        padding-bottom: 0px;
    }

    .card__info {
        /* color: #FFF; */
        font-family: "Nunito", sans-serif;
        font-size: 24px;
        font-style: normal;
        font-weight: 500;
        line-height: 28.8px;
        /* 120% */
        /* color: #FFF; */
        font-family: "Nunito", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 20.8px;
        /* 130% */
    }

    span.price__old {
        height: 34px;
        color: rgba(255, 255, 255, 0.44);
        font-family: "Nunito", sans-serif;
        font-size: 42.837px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    span.price__new {
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 87.05px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 62.913px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    .cta__mc {
        color: var(--text);
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .cta__mc .coolLink {
    }

    .card__price {
        display: flex;
        flex-direction: column;
        align-items: center;
        align-content: center;
    }

    .card__priceCTA {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: 1em;
        align-items: center;
        width: 100%;
    }

    .cta__mc span {
        color: var(--star);
        font-family: "Nunito", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }

    .card a.cta__btn {
        border-radius: 65px;
        background: var(--swiper-theme-color);
        color: #000;
        font-family: "Nunito", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        text-transform: uppercase;
        padding: 0.6em 0.2em;
        display: block;
        width: 100%;
        text-align: center;
    }

    .card__cta {
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    .card__title {
        /* color: var(--star); */
        font-family: "Nunito", sans-serif;
        font-size: 6vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        margin-bottom: 0.5em;
    }

    .card__title span {
        color: #FFF;
        font-family: "Nunito", sans-serif;
        font-size: 17px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

    .card__img img {
        width: 100%;
        left: -50%;
        /* transform: translateX(-50%); */
        border-top-left-radius: 26px;
        border-top-right-radius: 26px;
    }

    span.evidence {
        color: var(--star);
        font-family: "Nunito", sans-serif;
        /* font-size: 79.09px; */
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    span.soBig {
        color: #E06700;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 12vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
    }

    #vesper-intro img {
        justify-self: center;
        width: 100%;
    }

    section.cta-wrapper-fixed.show-cta {
        display: flex;
        flex-direction: column;
        height: auto;
        padding-bottom: 11px;
    }

    .fixedCTA {
        margin-top: 7px;
        border-radius: 80px;
        background: var(--swiper-theme-color);
        color: #000;
        font-family: "Nunito", sans-serif;
        font-size: 4.7vw;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        text-transform: uppercase;
        padding: 1.1em 0em;
        display: block;
        width: 83vw;
        text-align: center;
    }

    img#offerta-da-paura {
        width: 80vw;
        margin-top: 5vh;
    }
}

/* FAQ */
.accordion {
    width: 40vw;
    /* max-width: 1000px; */
    margin: 2rem auto;
}

.accordion-item-header {
    padding: 1rem 3rem 1.1rem 2rem;
    min-height: 3.5rem;
    line-height: 1em;
    font-weight: 400;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    /* background: aqua; */
    border-radius: 20px;
    font-size: 2em;
}

.accordion-item {
    background-color: #fff;
    color: var(--text);
    margin: 1rem 0;
    border-radius: 0.5rem;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
    border-radius: 20px;
    border-radius: 20px;
    /* border: 1px solid #FFF; */
    background: var(--white);
    /* box-shadow: 10px 9px 224px 0px #E06700; */
}

.accordion-item-header::after {
    content: "\002B";
    font-size: 2rem;
    position: absolute;
    right: 1rem;
}

.accordion-item-header.active::after {
    content: "\2212";
}

.accordion-item-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accordion-item-body-content {
    padding: 1rem 2rem;
    line-height: 1.2;
    border-top: 1px solid;
    border-image: linear-gradient(to right, transparent, #34495e, transparent) 1;
    font-size: 1.5rem;
    /* height: 100%; */
}

@media only screen and (max-width: 960px) {
    .accordion {
        width: AUTO;
        /* max-width: 1000px; */
        margin: 2rem auto;
    }
}

@media only screen and (max-width: 578px) {
    img.hero__title {
        width: 70vw;
        right: -32px;
        top: 16vh;
    }

    .hero-top {
        text-align: left;
        margin-top: 0;
        /* margin-top: 23.1dvh; */
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: 100vh;
        align-items: center;
        width: 100vw;
        display: flex;
        align-content: center;
        flex-direction: column;
        justify-content: center;
    }

    h2#tagline1 {
        text-align: left;
        margin-top: 4vh;
        margin-top: 4dvh;
        font-size: 5vw;
        font-size: 5dvw;
        /* background: #00000078; */
        width: fit-content;
        border-radius: 25px;
        padding-left: 15px;
        text-shadow: 2px 2px 7px #000000;
    }

    h2#tagline2 {
        text-align: left;
        font-size: 5vw;
        /* background: #00000078; */
        width: fit-content;
        border-radius: 30px;
        /* padding: 6px; */
        text-shadow: 2px 2px 7px #000000;
    }

    .accordion {
        width: auto;
        /* max-width: 1000px; */
        margin: 2rem auto;
    }

    .accordion-item-header {
        padding: 1rem 3rem 1.1rem 2rem;
        min-height: 3.5rem;
        line-height: 1.1;
        font-weight: 400;
        display: flex;
        align-items: center;
        position: relative;
        cursor: pointer;
        /* background: aqua; */
        border-radius: 20px;
        font-size: 1.6em;
    }
}

.swiper-slide.pineta__card {
    display: flex;
    flex-direction: column;
    border-radius: 83px;
    border: 1px solid #89C694;
    background: #050C1E;
    padding: 3em;
    height: fit-content;
}

.pineta__card__img img {
    max-height: 400px;
    width: 100%;
}

.pineta__card__info {
    color: #FFF;
    font-family: "Nunito", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 28.8px;
    /* 120% */
    display: n;
}

.pineta__card__cta {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
}

.pineta__card__price {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
}

.pineta__card__priceCTA {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    margin-top: 1em;
}

.rotateImage {
    position: absolute;
    top: -60px;
    left: -90px;
    width: 120px;
    /* height: 120px; */
    margin: -60px 0 0 -60px;
    -webkit-animation: spin 4s linear infinite;
    -moz-animation: spin 4s linear infinite;
    animation: spin 4s cubic-bezier(0.4, 0, 1, 1) infinite;
    width: 40vw;
    z-index: -1;
}

@media only screen and (max-width: 960px) {
    .rotateImage {
        position: absolute;
        top: -60px;
        left: -90px;
        width: 120px;
        /* height: 120px; */
        margin: -60px 0 0 -60px;
        -webkit-animation: spin 4s linear infinite;
        -moz-animation: spin 4s linear infinite;
        animation: spin 4s cubic-bezier(0.4, 0, 1, 1) infinite;
        width: 40vw;
        z-index: -1;
    }

    .pineta__card__img img {
        /* height: 100px; */
        width: 100%;
    }
}

@media only screen and (max-width: 578px) {
    .rotateImage {
        position: absolute;
        top: 0;
        /* left: -90px; */
        width: 120px;
        /* height: 120px; */
        margin: -60px 0 0 -60px;
        -webkit-animation: spin 4s linear infinite;
        -moz-animation: spin 4s linear infinite;
        animation: spin 4s cubic-bezier(0.4, 0, 1, 1) infinite;
        width: 600px;
        z-index: -1;
        left: -5%;
        /* transform: translateX(-50%); */
    }

    .pineta__card__img img {
        /* height: 100px; */
        width: 80vw;
    }
}

@-moz-keyframes spin {
    100% {
        -moz-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* scrolldown */
.scrolldownbel {
    padding-top: 70px;
}

.scrolldownbel span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
    -webkit-animation: sdb06 1.5s infinite;
    animation: sdb06 1.5s infinite;
    box-sizing: border-box;
}

@-webkit-keyframes sdb06 {
    0% {
        -webkit-transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        -webkit-transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
        opacity: 0;
    }
}

@keyframes sdb06 {
    0% {
        transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
        opacity: 0;
    }
}

/* new */
img.full-love-hero {
    width: 30vw;
}

img.ellisse-baloon {
    width: 30vw;
}

h1.intro__body {
    color: #FFF;
    text-align: left;
    font-family: "Nunito", sans-serif;
    font-size: 35.7px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

h1 span, h2 span {
    color: var(--swiper-theme-color);
    font-weight: 900;
}

h1.intro__title {
    color: var(--white);
    text-align: right;
    font-family: "Nunito", sans-serif;
    font-size: 50.458px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-align: left;
}

h2.intro__card {
    color: #FFF;
    text-align: left;
    font-family: "Nunito", sans-serif;
    font-size: 1.7vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

@media only screen and (max-width: 960px) {
    img.full-love-hero {
        width: 60vw;
    }

    img.ellisse-baloon {
        width: 30vw;
    }

    h1.intro__body {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 45.7px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    h1 span, h2 span {
        color: var(--swiper-theme-color);
        font-weight: 900;
    }

    h1.intro__title {
        color: var(--white);
        text-align: right;
        font-family: "Nunito", sans-serif;
        font-size: 71.458px;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-align: center;
    }

    h2.intro__card {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 45.7px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
}

@media only screen and (max-width: 578px) {
    img.full-love-hero {
        width: 30vw;
        /* position: absolute; */
        top: 40%;
        width: 90vw;
        margin-top: 27vh;
    }

    img.ellisse-baloon {
        width: 52vw;
    }

    h1.intro__body {
        color: #FFF;
        text-align: center;
        font-family: "Nunito", sans-serif;
        font-size: 9vw;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    h1 span, h2 span {
        color: var(--swiper-theme-color);
        font-weight: 900;
    }

    h1.intro__title {
        color: var(--white);
        text-align: right;
        font-family: "Nunito", sans-serif;
        font-size: 11vw;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-align: center;
    }

    h2.intro__card {
        color: #FFF;
        text-align: left;
        font-family: "Nunito", sans-serif;
        font-size: 4.6vw;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
}

/* hero */
/* hero */
.hero {
    height: 100vh;
    background-color: #4a90e2;
    position: relative;
    overflow: hidden;
    background-image: url(../img/dog-week-bg-hero.jpg);
    background-size: cover;
}

/* Base styles (for screens larger than 1200px) */
.usp-stripe {
    background: var(--blu-1);
}

.usp-stripe__list.container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    gap: 20px;
}

.usp-stripe__claim {
    color: var(--white, #FFF);
    font-family: "Nunito", sans-serif;
    font-size: 29px;
    font-style: normal;
    font-weight: 900;
    line-height: 115%;
    letter-spacing: -0.87px;
}

.usp-title {
    color: var(--white, #FFF);
    font-family: "Nunito", sans-serif;
    font-size: 23px;
    font-style: normal;
    font-weight: 800;
    line-height: 127%;
    letter-spacing: -0.46px;
}

.usp-description {
    color: var(--white, #FFF);
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 135%;
    letter-spacing: -0.18px;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .usp-stripe__claim {
        font-size: 26px;
    }

    .usp-title {
        font-size: 21px;
    }

    .usp-description {
        font-size: 16px;
    }
}

@media only screen and (max-width: 960px) {
    .usp-stripe__list.container {
        grid-template-columns: repeat(2, 1fr);
    }

    .usp-stripe__claim {
        font-size: 24px;
    }

    .usp-title {
        font-size: 20px;
    }

    .usp-description {
        font-size: 15px;
    }
}

@media only screen and (max-width: 578px) {
    .usp-stripe__list.container {
        grid-template-columns: 1fr;
        display: none;
    }

    .usp-stripe__claim {
        font-size: 22px;
        text-align: center;
    }

    .usp-title {
        font-size: 8vw;
        text-align: left;
    }

    .usp-description {
        font-size: 4.7vw;
        text-align: left;
    }
}

/* modal villaggio */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    right: -100%;
    top: 0;
    width: 100%;
    max-width: 600px;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 5px rgba(0,0,0,0.2);
    transition: right 0.3s ease-out;
    color: black;
}

.modal.open {
    right: 0;
}

.modal-header {
    background: var(--white, #FFF);
    box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: row-reverse;
    padding-right: 36px;
    padding-top: 0.2em;
    -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
    box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
    height: 59px;
    align-items: center;
}

.modal-header .close {
    position: inherit;
}

.modal-header .close img {
    height: 34px;
}

.modal-content {
    height: 74vh;
    overflow-y: auto;
    padding: 30px 36px;
    font-weight: 400;
    line-height: 1.3;
}

.modal-section {
    text-align: left;
}

.modal-section h3 {
    text-align: left;
    color: #000;
    font-family: Nunito;
    font-size: 27.906px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 56.287px */
}

div#modalBenefits .benefit {
    margin-bottom: 0;
    column-gap: 13px;
}

div#modalBenefits .benefit p {
    margin-bottom: 0;
    margin-top: 0;
}

div#modalBenefits {
    display: flex;
    flex-direction: column;
    row-gap: 1em;
}

.close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover, .close:focus {
    color: #000;
    text-decoration: none;
}

#modalImage {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

/* Overlay per sfondo scuro quando il modal ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¾ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¾ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¨ aperto */
.modal-overlay {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
}

.modal-section ul li {
    font-size: 1.4em;
    line-height: 1.4;
}

.modal-cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #fff;
    padding: 10px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    flex-direction: row;
    align-content: center;
    justify-content: space-around;
    max-width: 580px;
    right: 0;
}

/* Base styles (for screens larger than 1200px) */
.modal-cta .cta__btn {
    color: #000;
    font-family: "Nunito", sans-serif;
    font-size: 0.9vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: none;
    padding: 1.4em 3.2em;
    display: block;
    text-decoration: none;
    border-radius: 39px;
    background: #FD0;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .modal-cta .cta__btn {
        font-size: 14px;
        /* Switch to fixed size for better control */
        padding: 1.2em 2.8em;
    }
}

@media only screen and (max-width: 960px) {
    .modal-cta .cta__btn {
        font-size: 16px;
        /* Slightly larger for better tap targets on tablets */
        padding: 1em 2.4em;
        width: 80%;
        /* Limit width on smaller screens */
        margin: 0 auto;
        /* Center the button */
    }
}

@media only screen and (max-width: 578px) {
    .modal-cta .cta__btn {
        font-size: 18px;
        /* Larger for better readability on mobile */
        padding: 0.8em 2em;
        width: auto;
        /* Almost full width on mobile */
        border-radius: 30px;
        /* Slightly reduced border-radius */
    }

    .modal-cta {
        position: fixed;
        bottom: 0;
        width: 100%;
        background: #fff;
        padding: 10px;
        box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
        display: flex;
        align-items: center;
        flex-direction: row;
        align-content: center;
        justify-content: space-around;
        right: 0;
        left: 0;
    }
}

/* card villaggio */
.swiper-button-next, .swiper-button-prev {
    width: 37px;
    height: 54px;
    background-size: 37px 54px;
    background-position: center;
    background-repeat: no-repeat;
}

.swiper-button-next {
    background-image: url('../img/next.svg');
}

.swiper-button-prev {
    background-image: url('../img/prev.svg');
}

/* Nascondi le frecce di default di Swiper */
.swiper-button-next::after, .swiper-button-prev::after {
    display: none;
}

/* Base styles (for screens larger than 1200px) */
.card__benefits {
    list-style-type: none;
    padding: 0;
    margin: 30px 0 42px 0;
}

.benefit {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

.benefit__icon {
    /* width: 21px; */
    /* height: auto; */
    margin-right: 15px;
}

.benefit__text {
    color: var(--text, #292929);
    font-family: "Nunito", sans-serif;
    font-size: 1em;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .card__benefits {
        margin: 25px 0 35px 0;
    }

    .benefit__icon {
        width: 19px;
        margin-right: 13px;
        width: auto;
        margin-right: 10px;
        height: 20px;
    }

    .benefit__text {
        font-size: 1em;
    }
}

@media only screen and (max-width: 960px) {
    .card__benefits {
        margin: 20px 0 30px 0;
    }

    .benefit {
        margin-bottom: 0.8em;
    }

    .benefit__icon {
        width: 17px;
        margin-right: 11px;
        width: auto;
        margin-right: 10px;
        height: 20px;
    }

    .benefit__text {
        font-size: 19px;
    }
}

@media only screen and (max-width: 578px) {
    .card__benefits {
        margin: 15px 0 25px 0;
    }

    .benefit {
        margin-bottom: 0.6em;
    }

    .benefit__icon {
        width: auto;
        margin-right: 10px;
        height: 20px;
        width: 20px;
    }

    .benefit__text {
        font-size: 17px;
    }
}

span.location__name {
    color: var(--text, #292929);
    font-family: "Nunito", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.card__location {
    display: flex;
    column-gap: 6px;
    align-items: center;
    flex-direction: row;
    padding-bottom: 6px;
    padding-top: 6px;
}

.card__location img {
    height: 21px;
}

.card__dog-activities {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 10px;
    margin-bottom: 12px;
}

.dog-activity-badge {
    background-color: #ffffff;
    color: #F74A14;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: bold;
    cursor: pointer;
    border: 1px solid #F74A14;
}

a.program__link {
    color: var(--text);
    font-family: "Nunito", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    cursor: pointer;
    padding-bottom: .35em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .35em;
    display: flex;
    column-gap: 6px;
    align-content: center;
    align-items: center;
}

/* curved-sections */
.curved-section {
    position: relative;
    background-color: var(--blu-1);
    /* Colore del div principale */
}

.curved-section--bottom {
    position: relative;
    padding-bottom: 86px;
    /* Altezza della curva */
}

.curved-section--top {
    position: relative;
    padding-top: 0;
    /* Altezza della curva */
}

.bg-blu-1 {
    background-color: var(--blu-1);
    /* Colore del div principale */
}

.content {
    flex: 1;
    padding-right: 2rem;
    padding: 0;
    color: white;
}

.curve {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 86px;
    /* Altezza della curva */
    display: none;
}

.curve-reverse {
    transform: scaleY(-1);
    width: 100%;
    display: none;
}

/* Base styles (for screens larger than 1200px) */
.benefits-list {
    list-style-type: none;
    padding: 0;
}

.benefits-list li {
    display: flex;
    align-items: center;
    margin-bottom: 35px;
    align-content: center;
    font-size: 1.8vw;
    font-weight: 600;
    line-height: 1.2;
}

.check-icon {
    color: white;
    border-radius: 50%;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    flex-shrink: 0;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .benefits-list li {
        font-size: 20px;
        /* Switch to fixed size for better control */
        margin-bottom: 30px;
    }

    .check-icon {
        transform: scale(0.9);
        /* Slightly reduce icon size */
    }
}

@media only screen and (max-width: 960px) {
    .benefits-list li {
        font-size: 18px;
        margin-bottom: 25px;
    }

    .check-icon {
        transform: scale(0.8);
        margin-right: 8px;
    }
}

@media only screen and (max-width: 578px) {
    .benefits-list li {
        font-size: 5.3vw;
        margin-bottom: 20px;
    }

    .check-icon {
        transform: scale(0.9);
        margin-right: 14px;
    }
}

/* dog-week-intro */
.dog-week-intro {
    display: flex;
    background-color: #1E4B9C;
    color: white;
    padding: 2rem;
}

.highlight {
    color: #FFD700;
    font-weight: bold;
}

.video-container {
    flex: 1;
    max-width: 31%;
}

video {
    width: 70%;
    height: auto;
    object-fit: cover;
}

@media (max-width: 768px) {
    .dog-week-intro {
        flex-direction: column;
    }

    .video-container {
        max-width: 100%;
        margin-top: 1rem;
    }
}

@media (max-width: 576px) {
    .dog-week-intro {
        flex-direction: column;
    }

    .video-container {
        display: none;
    }
}

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

.hero-video.desktop {
    display: none;
}

@media (min-width: 768px) {
    .hero-video.desktop {
        display: block;
    }

    .hero-video.mobile {
        display: none;
    }
}

/* Base styles for larger screens */
img.dog-week-logo {
    position: absolute;
    left: 20%;
    bottom: 0;
    max-width: 29%;
    /* Ensure the image is never wider than its container */
    height: 100%;
    /* Maintain aspect ratio */
}

/* Adjustments for screens up to 1200px wide */
@media only screen and (max-width: 1200px) {
    img.dog-week-logo {
        left: 15%;
        bottom: 30%;
    }
}

/* Adjustments for screens up to 960px wide */
@media only screen and (max-width: 960px) {
    img.dog-week-logo {
        left: 10%;
        bottom: 25%;
    }
}

/* Adjustments for screens up to 768px wide (typical tablet width) */
@media only screen and (max-width: 768px) {
    img.dog-week-logo {
        left: 5%;
        bottom: 20%;
    }
}

/* Adjustments for screens up to 576px wide (typical mobile width) */
@media only screen and (max-width: 576px) {
    img.dog-week-logo {
        /* position: relative; */
        left: auto;
        bottom: 15vh;
        display: block;
        margin: 20px auto;
        /* Center the logo and add some vertical spacing */
        max-width: 68%;
        /* Limit the logo size on very small screens */
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
        height: auto;
    }
}

/* Base styles (for screens larger than 1200px) */
.card__img .swiper {
    border-radius: 41px;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 0;
    border-top-left-radius: 16px;
    border-top-right-radius: 0;
}

/* Media Queries */
@media only screen and (max-width: 1200px) {
    .card__img .swiper {
        border-radius: 35px;
        border-bottom-left-radius: 15px;
        border-bottom-right-radius: 15px;
    }
}

@media only screen and (max-width: 960px) {
    .card__img .swiper {
        border-radius: 30px;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
}

@media only screen and (max-width: 578px) {
    .card__img .swiper {
        border-radius: 26px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .swiper-slide img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }
}

div#header-wrapper {
    /* width: 100%; */
}

.header-menu-item {
    display: flex;
    justify-content: center;
}

@media screen and (min-width: 1800px) {
}

/* Card Optimizations for Large Screens */
@media screen and (min-width: 1800px) {
    /* Card Base Structure */ .card {
        width: 70vw;
        max-width: 1360px;
        column-gap: 30px;
        margin: 0em auto;
        border-radius: 24px;
    }

    /* Card Image Section */
    .card__img {
        width: 45%;
        max-width: 437px;
        border-radius: 24px 0 0 24px;
        overflow: hidden;
        height: 100%;
    }

    /* Swiper in Card */
    .card__img .swiper {
        height: 100%;
        border-radius: 24px 0 0 24px;
    }

    .swiper-slide img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }

    .swiper-button-next, .swiper-button-prev {
        width: 48px;
        height: 70px;
        background-size: 48px 70px;
    }

    .swiper-button-next {
        right: 30px;
    }

    .swiper-button-prev {
        left: 30px;
    }

    /* Card Content */
    .card__description {
        padding: 0px 0px 0px 0px;
        flex: 1;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
    }

    .card__title {
        font-size: 1.6em;
        margin-bottom: 1em;
    }

    .card__info {
        font-size: 1.1vw;
        line-height: 1.4;
        margin-bottom: 2em;
    }

    /* Benefits List */
    .card__benefits {
        margin: 35px 0 45px 0;
    }

    .benefit {
        margin-bottom: 1.2em;
    }

    .benefit__icon {
        height: 24px;
        margin-right: 18px;
    }

    .benefit__text {
        font-size: 20px;
        line-height: 1.3;
    }

    /* Location Info */
    .card__location {
        padding: 12px 0;
    }

    span.location__name {
        font-size: 0.9vw;
    }

    .card__location img {
        height: 24px;
    }

    /* Dog Activities */
    .card__dog-activities {
        gap: 15px;
        margin: 15px 0;
    }

    .dog-activity-badge {
        padding: 5px 8px;
        font-size: 14px;
        border-radius: 6px;
    }

    /* CTA Section */
    .card__priceCTA {
        margin-top: 2em;
        width: 100%;
    }

    .card a.cta__btn {
        font-size: 1.2em;
        padding: 0.5em 25px;
        border-radius: 45px;
    }

    /* Card Price Info */
    span.price__old {
        font-size: 2.2vw;
        height: 2.2vw;
    }

    span.price__new {
        font-size: 2.6vw;
    }

    /* Card Modal Link */
    a.program__link {
        font-size: 1em;
        margin-top: 1em;
    }
}

/* Extra Large Screens */
@media screen and (min-width: 2400px) {
    .card {
        width: 55vw;
        max-width: 1800px;
        column-gap: 20px;
    }

    .card__title {
        font-size: 1vw;
    }

    .card__info, .benefit__text {
        font-size: 0.9vw;
    }

    span.location__name {
        font-size: 1.1em;
    }

    .dog-activity-badge {
        font-size: 1em;
    }

    .card a.cta__btn {
        font-size: 1em;
    }

    span.price__old {
        font-size: 1.8vw;
        height: 1.8vw;
    }

    span.price__new {
        font-size: 2.2vw;
    }

    /* Swiper Navigation */
    .swiper-button-next, .swiper-button-prev {
        width: 54px;
        height: 78px;
        background-size: 54px 78px;
    }
}

/* Debug altezze */
/* [data-scroll-container], 
[data-scroll-section] {
  border: 1px solid red !important;
} */
/* Controlla se il footer Ã¨ visibile oltre il viewport */
/* body:after {
  content: '';
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20px;
  background: rgba(255,0,0,0.5);
  z-index: 9999;
} */
