@charset "UTF-8";

@font-face {
    font-display: swap;
    font-family: Poppins;
    font-style: normal;
    font-weight: 300;
    src: url(/inc/font/Poppins\ 300.woff2) format("woff2"), url(/inc/font/Poppins\ 300.woff) format("woff"), url(/inc/font/Poppins\ 300.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Poppins;
    font-style: italic;
    font-weight: 300;
    src: url(/inc/font/Poppins\ 300italic.woff2) format("woff2"), url(/inc/font/Poppins\ 300italic.woff) format("woff"), url(/inc/font/Poppins\ 300italic.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Poppins;
    font-style: normal;
    font-weight: 600;
    src: url(/inc/font/Poppins\ 600.woff2) format("woff2"), url(/inc/font/Poppins\ 600.woff) format("woff"), url(/inc/font/Poppins\ 600.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Poppins;
    font-style: italic;
    font-weight: 600;
    src: url(/inc/font/Poppins\ 600italic.woff2) format("woff2"), url(/inc/font/Poppins\ 600italic.woff) format("woff"), url(/inc/font/Poppins\ 600italic.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Bembo;
    font-style: normal;
    font-weight: 400;
    src: url(/inc/font/BemboStd.woff2) format("woff2"), url(/inc/font/BemboStd.woff) format("woff"), url(/inc/font/BemboStd.otf) format("opentype")
}

@font-face {
    font-display: swap;
    font-family: Bembo;
    font-style: italic;
    font-weight: 400;
    src: url(/inc/font/BemboStd-Italic.woff2) format("woff2"), url(/inc/font/BemboStd-Italic.woff) format("woff"), url(/inc/font/BemboStd-Italic.otf) format("opentype")
}

@font-face {
    font-display: swap;
    font-family: fontello;
    font-style: normal;
    font-weight: 400;
    src: url(/inc/font/fontello.woff2) format("woff2"), url(/inc/font/fontello.woff) format("woff"), url(/inc/font/fontello.ttf) format("truetype")
}

.np-cookies__banner,
.np-cookies__detail {
    transition: all .3s ease
}

html {
    --contWidth: 100%;
    --container-maxWidth: 87.5rem;
    --fontSize: 1;
    --colNero: #0c0c0c;
    --fontBold: 600;
    --lineHeight: 1.75;
    --titleSize: 5.3em;
    --inputH: 2.625rem;
    --txtPad: 190px;
    --titY: 33px;
    --titYMob: 0px;
    --vpad: 1.6rem;
    --hH: 82;
    --header-height: var(--hH);
    --headerTopHeight: 32px;
    --theme-color: var(--colContrasto)
}

.np-cookies__screen {
    background: #000;
    bottom: 0;
    left: 0;
    opacity: .7;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 998
}

.np-cookies__banner {
    background: #fff;
    bottom: 0;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, .2);
    color: #000;
    font-family: sans-serif;
    font-size: .9em;
    left: 0;
    padding: 1.5em;
    position: fixed;
    right: 0;
    z-index: 999
}

@media screen and (max-width:36em) {
    .np-cookies__banner {
        font-size: .8em
    }

    .np-cookies__banner .container,
    .np-cookies__banner .menu__row {
        width: auto
    }

    .np-cookies__banner .buttons {
        font-size: 1.25em;
        margin-top: 2rem
    }
}

.np-cookies__banner.hidden {
    opacity: 0;
    visibility: hidden;
    z-index: -1
}

.np-cookies__banner .button {
    margin: 0 .5em
}

@media screen and (max-width:36em) {
    .np-cookies__banner .button {
        display: block;
        margin: 2rem 0 0;
        width: 100%
    }
}

.np-cookies__banner p {
    margin-bottom: 0
}

.np-cookies__close {
    align-items: center;
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    display: grid;
    grid-template-areas: "main";
    height: 2em;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: absolute;
    right: .5em;
    top: .5em;
    width: 2em
}

.np-cookies__close:after,
.np-cookies__close:before {
    border-bottom: 1px solid;
    content: "";
    display: block;
    grid-area: main;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
    width: 2em
}

.np-cookies__close:before {
    transform: rotate(-45deg)
}

.np-cookies__customize {
    background: var(--colBg) !important;
    display: inline-flex !important;
    flex-flow: column nowrap;
    max-height: 90vh;
    overflow: visible !important;
    padding: 1.5em !important;
    width: 60em
}

.np-cookies__header {
    align-items: flex-start;
    display: flex;
    flex: 0 0 auto;
    justify-content: space-between;
    margin-bottom: 1em
}

.np-cookies__content {
    flex: 1 1 auto;
    overflow: auto
}

.np-cookies__title {
    font-size: 1.8em;
    font-weight: 700;
    margin: 1.5em 0 .5em
}

.np-cookies__title:first-child {
    margin-top: 0
}

.np-cookies__list {
    margin: 1em 0
}

.np-cookies__list__item {
    border-top: 1px solid #dedede;
    padding: 1em .5em
}

.np-cookies__list__item:last-child {
    border-bottom: 1px solid #dedede
}

.np-cookies__list label {
    margin-bottom: 0
}

.np-cookies__buttons {
    font-size: .85em;
    text-align: right
}

.np-cookies__check {
    align-items: center;
    display: flex
}

.np-cookies__label {
    font-size: 1em;
    font-weight: 700
}

.np-cookies__info {
    border: 1px solid;
    display: inline-block;
    font-size: .8em;
    font-weight: 700;
    line-height: 1.1;
    max-width: 7em;
    padding: .3em .5em;
    text-align: center;
    text-transform: uppercase
}

.np-cookies__toggle {
    align-items: center;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: .8em;
    margin: 0 1em 0 auto;
    opacity: .7
}

.np-cookies__toggle:after {
    content: ">";
    display: inline-block;
    font-weight: 700;
    margin-left: .5em;
    transform: rotate(90deg)
}

.np-cookies__toggle.open:after {
    transform: rotate(-90deg)
}

.np-cookies__detail {
    font-size: .9em;
    max-height: 40em;
    overflow: hidden;
    padding-top: 1.1111111111em
}

.np-cookies__detail.close {
    max-height: 0;
    padding-top: 0
}

.np-cookies__table {
    font-size: .9em;
    margin-top: 1em
}

.np-cookies__table th {
    font-weight: 700;
    padding: .5em
}

.np-cookies__table td {
    border-top: 1px solid #eee;
    padding: .5em
}

.np-cookies__colbig {
    width: 30%
}

.np-cookies__switch {
    display: inline-block;
    height: 34px;
    position: relative;
    width: 60px
}


.np-cookies__slider {
    background-color: #ccc;
    border-radius: 34px;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s
}

.np-cookies__slider:before {
    background-color: #fff;
    border-radius: 50%;
    bottom: 4px;
    content: "";
    height: 26px;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 26px
}

.np-cookies__footer {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    padding-top: 1em
}

.np-cookies__footer .button {
    margin-bottom: 0
}

.ajax-page .js-cookies-customize {
    display: none
}

.np-cookies__banner {
    background: var(--colBg);
    color: var(--colText);
    font-family: Poppins, sans-serif
}

.np-cookies__buttons {
    margin-bottom: 1em
}

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent
}

.slick-list,
.slick-slider {
    display: block;
    position: relative
}

.slick-list {
    margin: 0;
    overflow: hidden;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translateZ(0)
}

.slick-track {
    display: block;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 0
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    border: 1px solid transparent;
    display: block;
    height: auto
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-arrows--top .slick-slider {
    padding-top: 5rem
}

.slick-track {
    display: flex
}

.no-cursor .slick-track {
    pointer-events: none
}

.slick-slide {
    height: auto
}

.slick-slide>div {
    display: flex;
    height: 100%
}

.slick-slide>div>div {
    display: block !important
}

.slick-dots {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    list-style: none;
    margin: 0;
    margin-top: calc(var(--vpad)/2);
    padding: 0
}

[data-slick-controlslide] .slick-dots {
    display: none !important
}

.slick-dots li {
    margin: 0 .25em
}

.slick-dots button {
    background: none;
    color: transparent;
    cursor: pointer;
    display: block;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-indent: 99rem;
    width: 2em
}

@media screen and (prefers-reduced-motion:no-preference) {
    .slick-dots button {
        transition: var(--aniTime, .3s) cubic-bezier(.445, .05, .55, .95);
        transition-property: var(--aniProp, all)
    }
}

.slick-dots button:after,
.slick-dots button:before {
    background: var(--colDots, var(--colText));
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: 50%;
    width: 100%
}

.slick-dots button:before {
    height: 1px;
    opacity: .5
}

@media screen and (prefers-reduced-motion:no-preference) {
    .slick-dots button:before {
        transition: var(--aniTime, .3s) cubic-bezier(.445, .05, .55, .95);
        transition-property: var(--aniProp, all)
    }
}

.slick-dots button:after {
    height: 3px;
    margin-top: -1px;
    transform: scaleX(0);
    transform-origin: 0 50%
}

.slick-dots .slick-active button {
    width: 8em
}

.slick-dots .slick-active button:after {
    animation: activeDot var(--sliderTime, .3s) linear forwards
}

@keyframes activeDot {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: none
    }
}

.slick-arrow {
    --colTextBottoni: var(--colBianco);
    --buttonPosition: absolute;
    --buttonZ: 10;
    position: absolute;
    top: 50%;
    z-index: 10
}

@media screen and (min-width:37.5em) {
    .slick-arrows--top .slick-arrow {
        top: 1rem;
        transform: none
    }
}

.slick-prev {
    --btTransform: translateY(-50%);
    margin-bottom: 1rem;
    right: var(--vpad)
}

.slick-prev:hover {
    --btTransform: translateY(-50%) scale3d(1.1, 1.1, 1)
}

.slick-arrows--top .slick-prev {
    left: auto;
    right: 4rem;
    transform: none
}

.slick-next {
    --btTransform: translateY(50%);
    margin-top: 1rem;
    right: var(--vpad)
}

.slick-next:hover {
    --btTransform: translateY(50%) scale3d(1.1, 1.1, 1)
}

.slick-arrows--top .slick-next {
    right: 0
}

.slick-disabled {
    opacity: 0;
    pointer-events: none
}

.slick--bottomnav {
    padding-bottom: 4em
}

.slick--bottomnav .slick-arrow {
    bottom: 0;
    font-size: 2em;
    margin: 0 0 .1em;
    top: auto
}

.slick-pointer {
    display: block;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: translate3d(-50%, -50%, 0);
    transition-property: opacity;
    visibility: hidden;
    z-index: 9999
}

.slick-pointer.visible {
    opacity: 1;
    visibility: visible
}

.slick-pointer.to-left {
    transform: translate3d(-50%, -50%, 0) rotate(180deg)
}

.slick-pointer:before {
    font-size: 4em;
    margin: 0
}

.no-cursor .slick-pointer {
    pointer-events: all
}

.no-cursor {
    cursor: none
}

.slickslider--narrow {
    margin-left: auto;
    margin-right: auto;
    max-width: 56.25rem
}

body.compensate-for-scrollbar {
    overflow: hidden
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-caption .fancybox-caption,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-nav .fancybox-navigation .fancybox-button,
.fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
    display: block
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0
}

.fancybox-slide--image:before {
    display: none
}

.fancybox-slide--html {
    padding: 6px
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in
}

.fancybox-can-pan .fancybox-content,
.fancybox-can-swipe .fancybox-content {
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing
}

.fancybox-container [data-selectable=true] {
    cursor: text
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--iframe .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #000
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-iframe,
.fancybox-video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: none
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none
}

.fancybox-button div {
    height: 100%
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0
}

.fancybox-button--fsenter svg:nth-child(2),
.fancybox-button--fsexit svg:first-child,
.fancybox-button--pause svg:first-child,
.fancybox-button--play svg:nth-child(2) {
    display: none
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    padding: 7px
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right)
}

.fancybox-caption {
    background: linear-gradient(0deg, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, transparent);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996
}

@supports (padding:max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left))
    }
}

.fancybox-caption--separate {
    margin-top: -50px
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid;
    border-color: #888 #888 #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999
}

@keyframes fancybox-rotate {
    to {
        transform: rotate(1turn)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translateZ(0)
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-1turn)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(1turn)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0deg)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1) translateZ(0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translateZ(0) scale(1)
}

@media (max-height:576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0
    }

    .fancybox-close-small {
        right: -6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px
    }

    @supports (padding:max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right))
        }
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:link,
.fancybox-share__button:visited {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a:before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus:before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
    opacity: 1
}

@media (max-width:576px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}

.fancybox-arrow:hover,
.fancybox-close-small:hover {
    background: transparent
}

.fancybox-bg {
    background: var(--colNero)
}

.fancybox-navigation .button {
    margin: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99999
}

.fancybox-show-nav .fancybox-navigation .button {
    opacity: 1
}

.fancybox-navigation .button--right {
    right: calc(var(--vpad)/2)
}

.fancybox-navigation .button--left {
    left: calc(var(--vpad)/2)
}

.fancybox-navigation .button[disabled] {
    opacity: .2
}

.fancybox-content {
    background: var(--colBg);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
    padding: calc(var(--vpad)/2)
}

.fancybox-show-thumbs .fancybox-inner {
    right: 106px
}

.fancybox-thumbs {
    width: 106px
}

.fancybox-thumbs__list a {
    display: block;
    float: none;
    max-width: none
}

.fancybox-thumbs__list a:before {
    border: 3px solid var(--colContrasto)
}

.fancy-form {
    max-width: 56.25rem
}

.fancy__wrapper {
    display: none
}

.fancy__header {
    margin-bottom: calc(var(--vpad)/2)
}

.fancy__header__image {
    margin: calc(var(--vpad)/-2)
}

.fancy__content {
    width: 56.25rem
}

.fancy__content .strip__title {
    border: none;
    padding: 0
}

.fancy__content p {
    margin-bottom: .5em
}

.fancy__content .buttons {
    text-align: center
}

@media screen and (max-width:36em) {
    .fancy__content .buttons {
        display: grid;
        gap: 1em
    }
}

.fancy__content .buttons .button {
    margin-left: calc(var(--vpad)/2);
    margin-right: calc(var(--vpad)/2)
}

@media screen and (max-width:36em) {
    .fancy__content .buttons .button {
        display: block;
        margin: 0 0 .5em;
        width: 100%
    }

    .fancy__content .buttons .button.js-fancy-close {
        order: 2
    }

    .fancy__content .buttons .button:last-child {
        margin-bottom: 0
    }
}

.fancy__footer {
    border-top: 1px solid var(--colPrimarioScuro);
    margin-top: calc(var(--vpad)/2);
    padding-top: calc(var(--vpad)/2)
}

.fancymsg {
    max-width: 100%;
    width: 38em
}

.fancymsg.ajaxwin {
    width: 20em
}

.fancymsg__header {
    margin-bottom: calc(var(--vpad)/3);
    text-align: center
}

.fancymsg__header img {
    margin: 0 auto;
    max-height: 80px;
    -o-object-fit: contain;
    object-fit: contain
}

.fancymsg__logo {
    background: transparent url(/img/villa-della-torre-black.svg) no-repeat 50% 50%;
    background-size: contain;
    display: block;
    height: 80px;
    width: 130px
}

.fancymsg .buttons {
    text-align: center
}

.fancymsg .buttons .button {
    margin-left: calc(var(--vpad)/4);
    margin-right: calc(var(--vpad)/4)
}

@media screen and (max-width:36em) {
    .fancymsg .buttons .button {
        display: block;
        margin: 0 0 .5em;
        width: 100%
    }

    .fancymsg .buttons .button:last-child {
        margin-bottom: 0
    }
}

.flatpickr-calendar {
    animation: none;
    background: transparent;
    background: #fff;
    border: 0;
    border-radius: 5px;
    box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, .08);
    box-sizing: border-box;
    direction: ltr;
    display: none;
    font-size: 14px;
    line-height: 24px;
    opacity: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    touch-action: manipulation;
    visibility: hidden;
    width: 307.875px
}

.flatpickr-calendar.inline,
.flatpickr-calendar.open {
    max-height: 640px;
    opacity: 1;
    visibility: visible
}

.flatpickr-calendar.open {
    display: inline-block;
    z-index: 99999
}

.flatpickr-calendar.animate.open {
    animation: fpFadeInDown .3s cubic-bezier(.23, 1, .32, 1)
}

.flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px
}

.flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px)
}

.flatpickr-calendar.static.open {
    display: block;
    z-index: 999
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    box-shadow: none !important
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-calendar .hasTime .dayContainer,
.flatpickr-calendar .hasWeeks .dayContainer {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0
}

.flatpickr-calendar.hasTime .flatpickr-time {
    border-top: 1px solid #e6e6e6;
    height: 40px
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto
}

.flatpickr-calendar:after,
.flatpickr-calendar:before {
    border: solid transparent;
    content: "";
    display: block;
    height: 0;
    left: 22px;
    pointer-events: none;
    position: absolute;
    width: 0
}

.flatpickr-calendar.arrowRight:after,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.rightMost:before {
    left: auto;
    right: 22px
}

.flatpickr-calendar.arrowCenter:after,
.flatpickr-calendar.arrowCenter:before {
    left: 50%;
    right: 50%
}

.flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px
}

.flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px
}

.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowTop:before {
    bottom: 100%
}

.flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:after,
.flatpickr-calendar.arrowBottom:before {
    top: 100%
}

.flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff
}

.flatpickr-calendar:focus {
    outline: 0
}

.flatpickr-wrapper {
    display: inline-block;
    position: relative
}

.flatpickr-months {
    display: flex
}

.flatpickr-months .flatpickr-month {
    background: transparent;
    flex: 1;
    line-height: 1;
    overflow: hidden;
    position: relative;
    text-align: center
}

.flatpickr-months .flatpickr-month,
.flatpickr-months .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month {
    color: rgba(0, 0, 0, .9);
    fill: rgba(0, 0, 0, .9);
    height: 34px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.flatpickr-months .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month {
    cursor: pointer;
    padding: 10px;
    position: absolute;
    text-decoration: none;
    top: 0;
    z-index: 3
}

.flatpickr-months .flatpickr-next-month.flatpickr-disabled,
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled {
    display: none
}

.flatpickr-months .flatpickr-next-month i,
.flatpickr-months .flatpickr-prev-month i {
    position: relative
}

.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
    left: 0
}

.flatpickr-months .flatpickr-next-month.flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month {
    right: 0
}

.flatpickr-months .flatpickr-next-month:hover,
.flatpickr-months .flatpickr-prev-month:hover {
    color: #959ea9
}

.flatpickr-months .flatpickr-next-month:hover svg,
.flatpickr-months .flatpickr-prev-month:hover svg {
    fill: #f64747
}

.flatpickr-months .flatpickr-next-month svg,
.flatpickr-months .flatpickr-prev-month svg {
    height: 14px;
    width: 14px
}

.flatpickr-months .flatpickr-next-month svg path,
.flatpickr-months .flatpickr-prev-month svg path {
    transition: fill .1s;
    fill: inherit
}

.numInputWrapper {
    height: auto;
    position: relative
}

.numInputWrapper span {
    border: 1px solid rgba(57, 57, 57, .15);
    box-sizing: border-box;
    cursor: pointer;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    padding: 0 4px 0 2px;
    position: absolute;
    right: 0;
    width: 14px
}

.numInputWrapper span:hover {
    background: rgba(0, 0, 0, .1)
}

.numInputWrapper span:active {
    background: rgba(0, 0, 0, .2)
}

.numInputWrapper span:after {
    content: "";
    display: block;
    position: absolute
}

.numInputWrapper span.arrowUp {
    border-bottom: 0;
    top: 0
}

.numInputWrapper span.arrowUp:after {
    border-bottom: 4px solid rgba(57, 57, 57, .6);
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    top: 26%
}

.numInputWrapper span.arrowDown {
    top: 50%
}

.numInputWrapper span.arrowDown:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(57, 57, 57, .6);
    top: 40%
}

.numInputWrapper span svg {
    height: auto;
    width: inherit
}

.numInputWrapper span svg path {
    fill: rgba(0, 0, 0, .5)
}

.numInputWrapper:hover {
    background: rgba(0, 0, 0, .05)
}

.numInputWrapper:hover span {
    opacity: 1
}

.flatpickr-current-month {
    color: inherit;
    display: inline-block;
    font-size: 135%;
    font-weight: 300;
    height: 34px;
    left: 12.5%;
    line-height: inherit;
    line-height: 1;
    padding: 7.48px 0 0;
    position: absolute;
    text-align: center;
    transform: translateZ(0);
    width: 75%
}

.flatpickr-current-month span.cur-month {
    color: inherit;
    display: inline-block;
    font-family: inherit;
    font-weight: 700;
    margin-left: .5ch;
    padding: 0
}

.flatpickr-current-month span.cur-month:hover {
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .numInputWrapper {
    display: inline-block;
    width: 6ch;
    width: 7ch\0
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(0, 0, 0, .9)
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: -1px 0 0;
    outline: none;
    padding: 0 0 0 .5ch;
    position: relative;
    vertical-align: initial;
    width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:active,
.flatpickr-current-month .flatpickr-monthDropdown-months:focus {
    outline: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: rgba(0, 0, 0, .05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: transparent;
    outline: none;
    padding: 0
}

.flatpickr-weekdays {
    align-items: center;
    background: transparent;
    display: flex;
    height: 28px;
    overflow: hidden;
    text-align: center;
    width: 100%
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
    display: flex;
    flex: 1
}

span.flatpickr-weekday {
    background: transparent;
    color: rgba(0, 0, 0, .54);
    cursor: default;
    display: block;
    flex: 1;
    font-size: 90%;
    font-weight: bolder;
    line-height: 1;
    margin: 0;
    text-align: center
}

.dayContainer,
.flatpickr-weeks {
    padding: 1px 0 0
}

.flatpickr-days {
    align-items: flex-start;
    display: flex;
    overflow: hidden;
    position: relative;
    width: 307.875px
}

.flatpickr-days:focus {
    outline: 0
}

.dayContainer {
    box-sizing: border-box;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-around;
    max-width: 307.875px;
    min-width: 307.875px;
    opacity: 1;
    outline: 0;
    padding: 0;
    text-align: left;
    transform: translateZ(0);
    width: 307.875px
}

.dayContainer+.dayContainer {
    box-shadow: -1px 0 0 #e6e6e6
}

.flatpickr-day {
    background: none;
    border: 1px solid transparent;
    border-radius: 150px;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    display: inline-block;
    flex-basis: 14.2857143%;
    font-weight: 400;
    height: 39px;
    justify-content: center;
    line-height: 39px;
    margin: 0;
    max-width: 39px;
    position: relative;
    text-align: center;
    width: 14.2857143%
}

.flatpickr-day.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day.nextMonthDay:focus,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.today.inRange,
.flatpickr-day:focus,
.flatpickr-day:hover {
    background: #e6e6e6;
    border-color: #e6e6e6;
    cursor: pointer;
    outline: 0
}

.flatpickr-day.today {
    border-color: #959ea9
}

.flatpickr-day.today:focus,
.flatpickr-day.today:hover {
    background: #959ea9;
    border-color: #959ea9;
    color: #fff
}

.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover {
    background: #569ff7;
    border-color: #569ff7;
    box-shadow: none;
    color: #fff
}

.flatpickr-day.endRange.startRange,
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange {
    border-radius: 50px 0 0 50px
}

.flatpickr-day.endRange.endRange,
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange {
    border-radius: 0 50px 50px 0
}

.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 #569ff7
}

.flatpickr-day.endRange.startRange.endRange,
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange {
    border-radius: 50px
}

.flatpickr-day.inRange {
    border-radius: 0;
    box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.nextMonthDay,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.prevMonthDay {
    background: transparent;
    border-color: transparent;
    color: rgba(57, 57, 57, .3);
    cursor: default
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: rgba(57, 57, 57, .1);
    cursor: not-allowed
}

.flatpickr-day.week.selected {
    border-radius: 0;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7
}

.flatpickr-day.hidden {
    visibility: hidden
}

.rangeMode .flatpickr-day {
    margin-top: 1px
}

.flatpickr-weekwrapper {
    float: left
}

.flatpickr-weekwrapper .flatpickr-weeks {
    box-shadow: 1px 0 0 #e6e6e6;
    padding: 0 12px
}

.flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    line-height: 28px;
    width: 100%
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
    background: transparent;
    border: none;
    color: rgba(57, 57, 57, .3);
    cursor: default;
    display: block;
    max-width: none;
    width: 100%
}

.flatpickr-innerContainer {
    box-sizing: border-box;
    display: block;
    display: flex;
    overflow: hidden
}

.flatpickr-rContainer {
    box-sizing: border-box;
    display: inline-block;
    padding: 0
}

.flatpickr-time {
    box-sizing: border-box;
    display: block;
    display: flex;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    outline: 0;
    overflow: hidden;
    text-align: center
}

.flatpickr-time:after {
    clear: both;
    content: "";
    display: table
}

.flatpickr-time .numInputWrapper {
    flex: 1;
    float: left;
    height: 40px;
    width: 40%
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%
}

.flatpickr-time.time24hr .numInputWrapper {
    width: 49%
}

.flatpickr-time .flatpickr-am-pm,
.flatpickr-time .flatpickr-time-separator {
    align-self: center;
    color: #393939;
    float: left;
    font-weight: 700;
    height: inherit;
    line-height: inherit;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 2%
}

.flatpickr-time .flatpickr-am-pm {
    cursor: pointer;
    font-weight: 400;
    outline: 0;
    text-align: center;
    width: 18%
}

@keyframes fpFadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.flatpickr-current-month {
    display: inline-flex;
    justify-content: space-between
}

.twentytwenty-horizontal .twentytwenty-handle:after,
.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-vertical .twentytwenty-handle:after,
.twentytwenty-vertical .twentytwenty-handle:before {
    background: #fff;
    box-shadow: 0 0 12px rgba(51, 51, 51, .5);
    content: " ";
    display: block;
    position: absolute;
    z-index: 30
}

.twentytwenty-horizontal .twentytwenty-handle:after,
.twentytwenty-horizontal .twentytwenty-handle:before {
    height: 9999px;
    left: 50%;
    margin-left: -1.5px;
    width: 3px
}

.twentytwenty-vertical .twentytwenty-handle:after,
.twentytwenty-vertical .twentytwenty-handle:before {
    height: 3px;
    margin-top: -1.5px;
    top: 50%;
    width: 9999px
}

.twentytwenty-after-label,
.twentytwenty-before-label,
.twentytwenty-overlay {
    height: 100%;
    position: absolute;
    top: 0;
    transition-duration: .5s;
    width: 100%
}

.twentytwenty-after-label,
.twentytwenty-before-label {
    transition-property: opacity
}

.twentytwenty-after-label:before,
.twentytwenty-before-label:before {
    background: hsla(0, 0%, 100%, .2);
    border-radius: 2px;
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 38px;
    padding: 0 20px;
    position: absolute
}

.twentytwenty-horizontal .twentytwenty-after-label:before,
.twentytwenty-horizontal .twentytwenty-before-label:before {
    margin-top: -19px;
    top: 50%
}

.twentytwenty-vertical .twentytwenty-after-label:before,
.twentytwenty-vertical .twentytwenty-before-label:before {
    left: 50%;
    margin-left: -45px;
    text-align: center;
    width: 90px
}

.twentytwenty-down-arrow,
.twentytwenty-left-arrow,
.twentytwenty-right-arrow,
.twentytwenty-up-arrow {
    border: 6px inset transparent;
    height: 0;
    position: absolute;
    width: 0
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
    margin-top: -6px;
    top: 50%
}

.twentytwenty-down-arrow,
.twentytwenty-up-arrow {
    left: 50%;
    margin-left: -6px
}

.twentytwenty-container {
    box-sizing: content-box;
    overflow: hidden;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    z-index: 0
}

.twentytwenty-container img {
    display: block;
    max-width: 100%;
    position: absolute;
    top: 0
}

.twentytwenty-container.active .twentytwenty-overlay,
.twentytwenty-container.active :hover.twentytwenty-overlay {
    background: transparent
}

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label {
    opacity: 0
}

.twentytwenty-container * {
    box-sizing: content-box
}

.twentytwenty-before-label {
    opacity: 0
}

.twentytwenty-before-label:before {
    content: attr(data-content)
}

.twentytwenty-after-label {
    opacity: 0
}

.twentytwenty-after-label:before {
    content: attr(data-content)
}

.twentytwenty-horizontal .twentytwenty-before-label:before {
    left: 10px
}

.twentytwenty-horizontal .twentytwenty-after-label:before {
    right: 10px
}

.twentytwenty-vertical .twentytwenty-before-label:before {
    top: 10px
}

.twentytwenty-vertical .twentytwenty-after-label:before {
    bottom: 10px
}

.twentytwenty-overlay {
    background: transparent;
    transition-property: background;
    z-index: 25
}

.twentytwenty-overlay:hover {
    background: rgba(0, 0, 0, .5)
}

.twentytwenty-overlay:hover .twentytwenty-after-label,
.twentytwenty-overlay:hover .twentytwenty-before-label {
    opacity: 1
}

.twentytwenty-before {
    z-index: 20
}

.twentytwenty-after {
    z-index: 10
}

.twentytwenty-handle {
    border: 3px solid #fff;
    border-radius: 1000px;
    box-shadow: 0 0 12px rgba(51, 51, 51, .5);
    cursor: pointer;
    height: 38px;
    left: 50%;
    margin-left: -22px;
    margin-top: -22px;
    position: absolute;
    top: 50%;
    width: 38px;
    z-index: 40
}

.twentytwenty-horizontal .twentytwenty-handle:before {
    bottom: 50%;
    box-shadow: 0 3px 0 #fff, 0 0 12px rgba(51, 51, 51, .5);
    margin-bottom: 22px
}

.twentytwenty-horizontal .twentytwenty-handle:after {
    box-shadow: 0 -3px 0 #fff, 0 0 12px rgba(51, 51, 51, .5);
    margin-top: 22px;
    top: 50%
}

.twentytwenty-vertical .twentytwenty-handle:before {
    box-shadow: 3px 0 0 #fff, 0 0 12px rgba(51, 51, 51, .5);
    left: 50%;
    margin-left: 22px
}

.twentytwenty-vertical .twentytwenty-handle:after {
    box-shadow: -3px 0 0 #fff, 0 0 12px rgba(51, 51, 51, .5);
    margin-right: 22px;
    right: 50%
}

.twentytwenty-left-arrow {
    border-right: 6px solid #fff;
    left: 50%;
    margin-left: -17px
}

.twentytwenty-right-arrow {
    border-left: 6px solid #fff;
    margin-right: -17px;
    right: 50%
}

.twentytwenty-up-arrow {
    border-bottom: 6px solid #fff;
    margin-top: -17px;
    top: 50%
}

.twentytwenty-down-arrow {
    border-top: 6px solid #fff;
    bottom: 50%;
    margin-bottom: -17px
}

.twentytwenty-handle {
    background: var(--colBianco) url(/img/img-drag-icon.svg) 50% 50% no-repeat;
    background-size: contain;
    height: 70px;
    margin-left: -38px;
    margin-top: -38px;
    width: 70px
}

.twentytwenty-horizontal .twentytwenty-handle:before {
    margin-bottom: 38px
}

.twentytwenty-horizontal .twentytwenty-handle:after {
    margin-top: 38px
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
    display: none
}

.icon-fullscreen:before,
.video__fullscreen:before {
    content: "\e800"
}

.icon-heart-full:before {
    content: "\e801"
}

.icon-down-open-big:before {
    content: "\e802"
}

.icon-mail-1:before {
    content: "\e803"
}

.icon-left-open-big:before {
    content: "\e804"
}

.icon-gallery:before {
    content: "\e805"
}

.icon-right-open-big:before {
    content: "\e806"
}

.icon-up-open-big:before {
    content: "\e807"
}

.icon-sound-on:before,
.video__sound.playing:before {
    content: "\e808"
}

.icon-cal:before {
    content: "\e809"
}

.icon-play:before,
.strip__video__container:before,
.video__play:before {
    content: "\e80a"
}

.icon-pause:before,
.video__play.playing:before {
    content: "\e80b"
}

.icon-clock:before {
    content: "\e80c"
}

.icon-pinterest-1:before {
    content: "\e80e"
}

.icon-cancel:before,
.toggle__switch.toggle-open:after
{
    content: "\e810"
}

.icon-plus:before,
.image__link:before,
.toggle__switch:after {
    content: "\e811"
}

.icon-trash:before {
    content: "\e813"
}

.dropdown li.active:before,
.icon-check:before {
    content: "\e814"
}

.icon-minus:before {
    content: "\e815"
}

.icon-facebook-1:before {
    content: "\e817"
}

.icon-heart:before {
    content: "\e818"
}

.icon-tripadvisor:before {
    content: "\e81c"
}

.cursor-down .np-cursor__text:before,
.icon-arrow-down:before,
.room__equipment__switch:after {
    content: "\e8a1"
}

.cursor-left .np-cursor__text:before,
.icon-arrow-left:before,
.slick-cursor-left .np-cursor__text:before {
    content: "\e8a2"
}

.cursor-right .np-cursor__text:before,
.icon-arrow-right:before,
.link-list li:before,
/* .read-more:before, */
.slick-cursor-right .np-cursor__text:before,
.slick-pointer:before {
    content: "\e8a3"
}

.cursor-up .np-cursor__text:before,
.icon-arrow-up:before {
    content: "\e8a4"
}

.icon-bed:before {
    content: "\e8a5"
}

.icon-location:before {
    content: "\e8a6"
}

.icon-search:before {
    content: "\e8a7"
}

.icon-euro:before {
    content: "\e8a9"
}

.icon-shop:before {
    content: "\e8aa"
}

.icon-tag:before {
    content: "\e8ab"
}

.cursor-drag .np-cursor__text:before,
.icon-drag:before {
    content: "\e8ac"
}

.gm-style .gm-style-iw button:before,
.icon-menu-close:before {
    content: "\e8f2"
}

.icon-cross:before {
    content: "\e8fd"
}

.icon-play-circled:before,
.strip__gallery--video:after,
.video__thumb:before {
    content: "\e904"
}

.icon-twitter:before {
    content: "\f099"
}

.icon-youtube-play:before {
    content: "\f16a"
}

.icon-instagram:before {
    content: "\f16d"
}

.icon-file-pdf:before,
[href$=".pdf" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c1"
}

.icon-file-word:before,
[href$=".doc" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".docx" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c2"
}

.icon-file-excel:before,
[href$=".xls" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".xlsx" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c3"
}

.icon-file-powerpoint:before,
[href$=".ppt" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".pptx" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c4"
}

.icon-file-archive:before,
[href$=".gzip" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".rar" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".zip" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c6"
}

.icon-file-audio:before,
[href$=".aac" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".aiff" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".flac" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".m4a" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mp3" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".wav" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c7"
}

.icon-file-video:before,
[href$=".avi" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".flv" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mkv" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mov" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mp4" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mpg" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".wmv" i]:not(.read-more):not(.strip__blurb__link):before {
    content: "\f1c8"
}

.icon-sliders:before {
    content: "\f1de"
}

.icon-whatsapp:before {
    content: "\f232"
}

.icon-vimeo:before {
    content: "\f27d"
}

.icon-linkedin-1:before {
    content: "\f30c"
}

.icon-sound-off:before,
.video__sound:before {
    content: "🌄"
}

/* ! Form ---------------- */
.form-honeypot {
    display: none
}

.form__popup {
    --colTitle: #fff;
    background: var(--colPrimario);
    color: #fff;
    height: 100%;
    width: 100%
}

.form__grid {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(1em, 1fr) auto
}

.form__grid label.error {
    grid-column: 1/-1;
    grid-row: 2/2
}


.form__grid__button {
    color: inherit
}

@media screen and (min-width:36em) {
    .form__grid__button {
        border-bottom: 1px solid;
        margin: 0;
        padding: .3em 1em;
        width: auto
    }
}

.form__grid__button:before {
    color: var(--colContrasto)
}

.warning {
    color: var(--colError)
}

legend {
    display: block;
    font-size: 1em;
    grid-column: 1/-1;
    margin: 0 0 calc(var(--vpad)/3)
}

fieldset {
    margin-top: var(--vpad)
}

.bld-form__col fieldset,
fieldset:first-child {
    margin-top: 0
}

.np_a11y fieldset {
    border-color: var(--colGrigioScuro);
    padding-left: calc(var(--vpad)/2);
    padding-right: calc(var(--vpad)/2)
}

.label,
label {
    --aniProp: transform;
    display: block;
    font-size: .85em;
    line-height: 1.2;
    margin-bottom: .75em;
    max-width: 100%;
    opacity: .6;
    text-align: left
}

.compiled .label,
.compiled label,
.label.static,
label.static {
    transform: none
}

.label.error,
label.error {
    color: var(--colError);
    display: block;
    margin-top: .3em
}

.label small,
label small {
    color: var(--colGrigio);
    font-size: .85em
}

.bg-np-dark .dropdown span,
.bg-np-dark select,
.dropdown .bg-np-dark span {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MiIgdmlld0JveD0iMCAwIDQ2MCAyNjAiPjxwYXRoIGQ9Ik0xNDAgNDYwVjYwSDgwdjQ2MGg0NjB2LTYweiIgc3R5bGU9ImZpbGw6I2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoLjUgLS41IC41IC41IC03MCA0MCkiLz48L3N2Zz4=")
}

.disclaimer {
    background: var(--colBg);
    border: 1px solid var(--colGrigio);
    color: var(--colText);
    display: none;
    font-size: .85em;
    margin: .5em 2em;
    opacity: .8;
    padding: .5em;
    text-align: left
}

.disclaimer a {
    color: var(--colLink)
}

[class*=g-recaptcha],
[class*=g-recaptcha] div,
[class*=g-recaptcha] iframe {
    max-width: 100%
}

[class*=g-recaptcha] div {
    margin: 0 auto
}

.dropdown {
    font-size: .9em;
    position: relative;
    text-align: left
}

.dropdown:last-child ul {
    left: auto;
    right: 0
}

.dropdown:hover {
    background-position: 100%
}

.dropdown__container {
    max-width: none;
    padding: 0;
    transform: none
}

.dropdown__label {
    font-style: normal;
    font-weight: 600
}

.dropdown span {
    padding-left: 1em;
    white-space: nowrap
}

.is-touch .dropdown span {
    font-size: inherit !important
}

.dropdown [type=checkbox] {
    cursor: pointer;
    display: block;
    height: 100%;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    visibility: visible;
    width: 100%;
    z-index: 1
}

.dropdown [type=checkbox]:checked {
    bottom: 0;
    position: fixed;
    right: 0;
    z-index: 0
}

.dropdown [type=checkbox]:checked+ul {
    display: block
}

.dropdown [type=checkbox]:checked~span u {
    visibility: hidden
}

.dropdown label {
    font-size: inherit;
    margin: 0
}

.dropdown ul {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .175);
    display: none;
    left: 0;
    list-style: none;
    margin-top: -1px;
    min-width: 200px;
    padding: 4px 0;
    position: absolute;
    text-align: left;
    top: 100%;
    width: 100%;
    z-index: 1
}

.dropdown li {
    display: block;
    min-width: 100px;
    overflow: hidden;
    padding: 6px 20px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.dropdown li:hover {
    background-color: #f5f5f5;
    cursor: pointer
}

.dropdown li.active {
    font-weight: 600
}

.parsley-errors-list {
    color: var(--colError);
    font-size: .9em;
    list-style: none;
    margin-left: 0;
    margin-top: .5em;
    padding-left: 0
}

.parsley-errors-list+.parsley-errors-list {
    display: none !important
}

.cursor-down .np-cursor__text:before,
.cursor-drag .np-cursor__text:before,
.cursor-left .np-cursor__text:before,
.cursor-right .np-cursor__text:before,
.cursor-up .np-cursor__text:before,
.dropdown li.active:before,
.gm-style .gm-style-iw button:before,
.image__link:before,
.link-list li:before,
.read-more:before,
.room__equipment__switch:after,
.slick-cursor-left .np-cursor__text:before,
.slick-cursor-right .np-cursor__text:before,
.slick-pointer:before,
.strip__gallery--video:after,
.strip__video__container:before,
.toggle__switch:after,
.video__fullscreen:before,
.video__play:before,
.video__sound:before,
.video__thumb:before,
[class*=" icon-"]:before,
[class^=icon-]:before,
[href$=".aac" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".aiff" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".avi" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".doc" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".docx" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".flac" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".flv" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".gzip" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".m4a" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mkv" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mov" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mp3" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mp4" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".mpg" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".pdf" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".ppt" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".pptx" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".rar" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".wav" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".wmv" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".xls" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".xlsx" i]:not(.read-more):not(.strip__blurb__link):before,
[href$=".zip" i]:not(.read-more):not(.strip__blurb__link):before {
    display: inline-block;
    font-family: fontello;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1em;
    margin-right: .4em;
    text-align: center;
    text-decoration: inherit;
    text-transform: none;
    width: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.banner__text {
    color: var(--colBianco);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media screen and (prefers-reduced-motion:no-preference) {

    .button:after,
    .image-map__point span,
    .image-map__point:after,
    .image-map__point:before,
    .label,
    .menu__container li,
    .menu__container:after,
    .menu__container:before,
    .menu__main a span,
    .menu__page,
    .menu__page a:after,
    .menu__side a span,
    .product__others__image img,
    .read-more,
    .room__equipment__switch:after,
    .share-menu,
    .slick-pointer,
    .strip__gallery__scrollbar:before,
    .video__play-cursor,
    .video__prog__ind,
    label {
        transition: var(--aniTime, .3s) cubic-bezier(.445, .05, .55, .95);
        transition-property: var(--aniProp, all)
    }

    .animate .strip__gallery>li,
    .banner__text__container>*,
    .border-link:after,
    .image-grid__text,
    .link-box__abstract,
    .link-box__image,
    .link-box__image img,
    .link-box__image:after,
    .link-box__title,
    .menu__divider,
    .press-grid__figure img,
    .read-more:before,
    .scroll-top,
    .socials__list a:after,
    .strip--line:before,
    .strip--stamp .strip__data:last-child:after,
    .strip__blurb__link .strip__blurb__image img,
    .strip__blurb__link .strip__blurb__item[class*=bg-custom]:before,
    .strip__blurb__link .strip__blurb__item[class*=bg-np]:before,
    .strip__blurb__link [class*=bg-custom].strip__blurb__link:before,
    .strip__blurb__link [class*=bg-np].strip__blurb__link:before,
    .strip__slider__figure,
    .strip__video__container img,
    .strip__video__container:after,
    .wines-box__image img {
        transition: var(--aniTime, .6s) cubic-bezier(.645, .045, .355, 1);
        transition-property: var(--aniProp, all)
    }

    .button {
        transition: all var(--aniTime, .6s) cubic-bezier(.645, .045, .355, 1), var(--aniExclude, font-style) 1ms
    }
}

.stroke {
    font-family: sans-serif !important;
    overflow: hidden;
    text-indent: 105%;
    white-space: nowrap
}

.banner__slide {
    overflow: hidden;
    position: relative
}

.banner__slide img,
.banner__slide picture,
.banner__slide video {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: var(--pinX, 50%) var(--pinY, 50%);
    object-position: var(--pinX, 50%) var(--pinY, 50%);
    position: absolute;
    top: 0;
    width: 100%
}

.banner__text,
.js-fixed .breadcrumbs__container {
    display: block;
    margin: 0 auto;
    max-width: calc(var(--container-maxWidth) + var(--container-pad, var(--vpad))*2 + var(--contWidhtAdjust, 0px));
    padding-left: var(--container-pad, var(--vpad));
    padding-right: var(--container-pad, var(--vpad));
    width: 100%
}

.map-content,
.map__content,
.menu__lang,
.product__data__title,
.strip__text table td,
.strip__text table th {
    font-family: Poppins, sans-serif;
    font-weight: 300;
    letter-spacing: .02em
}

.experience__data,
.footer__shortcuts,
.image-grid__text,
.map__title,
.menu__main,
.menu__page,
.menu__side,
.press-grid__text,
.product__data,
.room__equipment ul,
.strip__blurb__title,
.strip__counter__title,
.strip__counter__values,
.strip__gallery__counter,
.strip__gallery__title,
.strip__image--rounded .strip__text .button,
.strip__title1,
.strip__title2,
.strip__title3,
.strip__title4,
.strip__title5,
.text-cite,
legend {
    font-family: Bembo, Georgia, serif;
    font-weight: 400;
    letter-spacing: var(--titleSpacing, unset);
    line-height: 1.1;
    text-transform: none
}

:not(.mce-content-body):focus-visible,
body:not(.mce-content-body) :focus-visible{
    box-shadow: 0 0 8px rgba(var(--colPrimario), .8);
    outline: 3px solid var(--colContrasto);
    outline-offset: 2px
}

.border-link,
.socials__list a {
    --aniProp: transform;
    color: inherit;
    display: inline-flex;
    font-weight: 600;
    position: relative
}

.border-link:after,
.socials__list a:after {
    border-bottom: 2px solid;
    content: "";
    left: 0;
    position: absolute;
    top: 100%;
    transform: scaleX(0);
    transform-origin: 0 50%;
    width: 100%
}

.border-link:hover,
.socials__list a:hover,
.socials__list a:hover a,
a:hover .border-link,
a:hover .socials__list a {
    color: inherit
}

.border-link:hover:after,
.socials__list a:hover a:after,
.socials__list a:hover:after,
a:hover .border-link:after,
a:hover .socials__list a:after {
    transform: none
}

.strip__video__container {
    overflow: hidden
}

.strip__video__container:after {
    background: #000;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scale3d(50%, 50%, 1);
    z-index: 1
}

.is-mouse .strip__video__container:hover:after {
    opacity: .3;
    transform: none
}

.is-mouse .strip__video__container:hover img {
    transform: scale3D(1.1, 1.1, 1)
}

.bld-form__row {
    background: var(--bgStrip, transparent);
    background-image: var(--bgImage, none);
    display: grid;
    gap: calc(var(--vpad)/3);
    margin-top: calc(var(--vpad)/3)
}

@media screen and (min-width:37.5em) {
    .bld-form__row {
        grid-template-columns: repeat(12, minmax(1em, 1fr))
    }

    .bld-form__row--cols1 {
        --span: 12
    }

    .bld-form__row--cols2 {
        --span: 6
    }

    .bld-form__row--cols3 {
        --span: 4
    }

    .bld-form__row--cols4 {
        --span: 6
    }
}

@media screen and (min-width:50em) {
    .bld-form__row--cols4 {
        --span: 3
    }
}

.bld-form__row:where(:first-child) {
    margin-top: 0
}

.bld-form__row[class*=bg-] {
    padding: .5em
}

.bld-form__row--narrow {
    margin-left: auto;
    margin-right: auto;
    max-width: 56.25rem
}

.bld-form__col {
    background: var(--bgStrip, transparent);
    background-image: var(--bgImage, none);
    color: var(--strip-text-color, inherit)
}

.bld-form__col[class*=bg-] {
    padding: .5em
}

@media screen and (min-width:37.5em) {
    .bld-form__col:first-child {
        grid-column: span calc(var(--span, 12) + var(--w1, 0) - var(--w0, 0) + var(--adj, 0))
    }

    .bld-form__col:nth-child(2) {
        grid-column: span calc(var(--span, 12) + var(--w2, 0) - var(--w1, 0) + var(--adj, 0))
    }

    .bld-form__col:nth-child(3) {
        grid-column: span calc(var(--span, 12) + var(--w3, 0) - var(--w2, 0) + var(--adj, 0))
    }

    .bld-form__col:nth-child(4) {
        grid-column: span calc(var(--span, 12) + var(--w4, 0) - var(--w3, 0) + var(--adj, 0))
    }
}

.bld-form--alternate .bld-form__group {
    -moz-column-gap: .5em;
    column-gap: .5em;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.9375rem, 1fr))
}

.strip__text table {
    border-top: 1px solid var(--colGrigio);
    max-width: 100%;
    width: 100%
}

.strip__text table tr:nth-child(2n) {
    background: var(--colGrigioLeggero)
}

.strip__text table td,
.strip__text table th {
    border-bottom: 1px solid var(--colGrigio);
    font-size: 1em;
    overflow: hidden;
    padding: .5em .7em;
    text-overflow: ellipsis;
    vertical-align: middle
}

.strip__text table th {
    font-weight: 600
}

.strip__text table.table--data {
    border-top: none
}

.strip__text table.table--data tr:nth-child(2n) {
    background: none
}

.strip__text table.table--data td,
.strip__text table.table--data th {
    border-bottom: none;
    text-align: center
}

@media screen and (max-width:43.74em) {
    .strip__text table {
        display: inline-block;
        max-width: 100%;
        overflow-x: auto;
        vertical-align: top;
        -webkit-overflow-scrolling: touch
    }

    .strip__text table td,
    .strip__text table th {
        min-width: 10em
    }
}

.strip {
    --hpad: var(--vpad);
    background: var(--bgStrip, transparent);
    background-image: var(--bgImage, none);
    color: var(--strip-text-color, inherit)
}

.page__content>.strip--draft {
    display: none !important
}

.strip__data {
    color: var(--strip-text-color, inherit);
    flex: 1 1 auto
}

.builder .strip__data {
    min-height: 1.75rem
}

.strip--wide {
    --container-maxWidth: 100%
}

.strip--wide .container,
.strip--wide .menu__row {
    padding-left: 0;
    padding-right: 0
}

.strip--large .container,
.strip--large .menu__row,
.strip--narrow .container,
.strip--narrow .menu__row,
.strip--normal .container,
.strip--normal .menu__row,
.strip--xnarrow .container,
.strip--xnarrow .menu__row {
    padding-left: var(--strip-expand-paddingLeft, var(--container-pad, var(--vpad)));
    padding-right: var(--strip-expand-paddingRight, var(--container-pad, var(--vpad)))
}

.strip--large {
    --container-maxWidth: 100%;
    --strip-expand-maxWidth: 100%
}

.strip--normal {
    --container-maxWidth: 87.5rem;
    --strip-expand-maxWidth: 87.5rem
}

.strip--narrow {
    --container-maxWidth: 56.25rem;
    --strip-expand-maxWidth: 56.25rem
}

.strip--xnarrow {
    --container-maxWidth: 37.5rem;
    --strip-expand-maxWidth: 37.5rem
}

@media screen and (min-width:50em) {
    .strip--expand-sx {
        --container-maxWidth: calc((100% + var(--strip-expand-maxWidth))/2 - var(--container-pad, var(--vpad)))
    }

    .strip--expand-sx .container,
    .strip--expand-sx .menu__row {
        margin-left: 0
    }

    .strip--expand-sx.strip--image {
        --strip-expand-paddingLeft: 0
    }

    .strip--expand-dx {
        --container-maxWidth: calc((100% + var(--strip-expand-maxWidth))/2 - var(--container-pad, var(--vpad)))
    }

    .strip--expand-dx .container,
    .strip--expand-dx .menu__row {
        margin-right: 0
    }

    .strip--expand-dx.strip--image {
        --strip-expand-paddingRight: 0
    }
}

.strip--above {
    position: relative;
    z-index: 1
}

.strip--sticky {
    height: 100%
}

.strip--sticky-normal {
    position: sticky;
    top: 0;
    z-index: 1
}

.strip--sticky-normal:not([class*=bg-]) {
    --bgStrip: var(--colBg)
}

.strip--line {
    position: relative
}

.strip--line:before {
    border-left: 1px solid;
    content: "";
    height: calc(var(--vpad)*2);
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate3d(0, -50%, 0);
    transform-origin: 50%;
    z-index: 10
}

.strip--hidden {
    display: none
}

.strip--full-height {
    display: flex;
    min-height: calc(100vh - var(--header-height, 0)*1px)
}

.strip .container,
.strip .menu__row {
    background: var(--bgCont, transparent)
}

.strip>a,
.strip>a:hover {
    color: inherit
}

.strip--stamp .strip__data:last-child {
    position: relative
}

.strip--stamp .strip__data:last-child:after {
    background: transparent no-repeat 50% 50%;
    background-size: contain;
    content: "";
    position: absolute;
    right: max(6vw, var(--vpad));
    top: 0;
    transition-property: transform, opacity;
    z-index: 10
}

.strip.bg-narrow {
    --bgCont: var(--bgStrip);
    --bgContCol: var(--bgColumn);
    --container-width-adjust: var(--container-pad, 0) * -2;
    background: none;
    padding-left: var(--container-pad, var(--vpad));
    padding-right: var(--container-pad, var(--vpad))
}

.strip__header {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr auto;
    justify-items: end;
    margin: var(--vpad) 0 calc(var(--vpad)/3);
    row-gap: 1em
}

@media screen and (min-width:60em) {
    .strip__header {
        display: flex;
        justify-content: space-between
    }
}

.strip__header [class*=__title] {
    grid-column: span 2
}

.strip__header:first-child {
    margin-top: 0
}

.strip__header:last-child {
    margin-bottom: 0
}

.strip__header [class] {
    margin-bottom: 0;
    margin-top: 0
}

.strip__header [class*=__title] {
    margin-right: auto
}

.strip__header>* {
    margin-left: calc(var(--vpad)/2)
}

.strip__header>:first-child {
    margin-left: 0
}

.strip__blurb__title,
.strip__title1,
.strip__title2,
.strip__title3,
.strip__title4,
.strip__title5 {
    color: var(--colTitle, inherit);
    font-size: var(--fontSize, 1em);
    margin-bottom: .5rem;
    margin-top: calc(var(--vpad)/2)
}

.strip__blurb__title:first-child,
.strip__pretitle+.strip__blurb__title,
.strip__pretitle+.strip__title1,
.strip__pretitle+.strip__title2,
.strip__pretitle+.strip__title3,
.strip__pretitle+.strip__title4,
.strip__pretitle+.strip__title5,
.strip__title1:first-child,
.strip__title2:first-child,
.strip__title3:first-child,
.strip__title4:first-child,
.strip__title5:first-child {
    margin-top: 0
}

.strip__blurb__title:last-child,
.strip__title1:last-child,
.strip__title2:last-child,
.strip__title3:last-child,
.strip__title4:last-child,
.strip__title5:last-child {
    margin-bottom: 0
}

.strip__title1 {
    --fontSize: clamp(var(--titleSize)/1.5, 7vw, var(--titleSize))
}

.strip__title2 {
    --fontSize: clamp(var(--titleSize)/2, 5.5vw, var(--titleSize)/1.5)
}

.strip__blurb__title,
.strip__title3 {
    --fontSize: clamp(var(--titleSize)/2.5, 3.6vw, var(--titleSize)/2);
    font-style: italic
}

.strip__title4 {
    --fontSize: clamp(var(--titleSize)/2.8, 2.4vw, var(--titleSize)/2.5)
}

.strip__title4:after {
    border-top: 2px solid;
    content: "";
    display: block;
    margin: .2em var(--image-marginRight, auto) .2em var(--image-marginLeft, 0);
    width: 3em
}

.strip__title5 {
    --fontSize: clamp(var(--titleSize)/3, 2vw, var(--titleSize)/2.8);
    line-height: 1.3
}

.strip__pretitle {
    font-size: clamp(var(--titleSize)/3, 2.8vw, var(--titleSize)/2.8);
    text-transform: uppercase
}

.strip__subtitle {
    font-size: 1em;
    font-weight: 600;
    margin-bottom: .5rem
}

.strip__subtitle:first-child {
    margin-top: 0
}

.strip__subtitle:last-child {
    margin-bottom: 0
}

.strip__title--splitted {
    line-height: 1rem
}

.strip__text {
    position: relative
}

.js-scroll-anime .strip__text {
    z-index: 0
}

.strip__text :where(:not(picture))>img {
    display: block;
    height: auto;
    max-width: 100%
}

.v-center .strip__text {
    align-self: center
}

.v-bottom .strip__text {
    align-self: flex-end
}

.v-center-bottom .strip__text {
    display: flex;
    flex-direction: column
}

.v-center-bottom .strip__text:before {
    content: "";
    display: block;
    margin-bottom: auto
}

.v-center-top .strip__text {
    display: flex;
    flex-direction: column
}

.v-center-top .strip__text:after {
    content: "";
    display: block;
    margin-top: auto
}

.content-overlap .strip__text {
    align-items: center;
    display: grid;
    overflow: hidden
}

.content-overlap .strip__text>* {
    grid-column: auto;
    grid-row: auto;
    transform: translateZ(0)
}

@media screen and (min-width:50em) {
    .content-overlap .strip__text>* {
        grid-column: 1/1;
        grid-row: 1/1
    }
}

.content-overlap .strip__text .strip__title1 {
    z-index: -1
}

@media screen and (max-width:49.99em) {
    .content-overlap .strip__text .strip__title1 {
        transform: none !important
    }
}

.content-overlap .strip__text .strip__image img {
    max-height: 85vh
}

@media screen and (min-width:50em) {
    .content-overlap .strip__text .strip__image img {
        max-height: 60vh
    }
}

.content-overlap .strip__text .button {
    transform: none
}

@media screen and (min-width:50em) {
    .content-overlap .strip__text .button {
        transform: translate3d(200px, 100%, 0)
    }
}

.strip__text [style*=font-]:not([class*=js-]) {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important
}

.strip__text [href^=http] {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    word-break: break-word
}

.strip__image {
    display: grid;
    grid-template-areas: "main";
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.js-scroll-anime .strip__image {
    z-index: -1
}

.strip__image--before {
    margin-bottom: calc(var(--vpad)/2)
}

.strip--cross-cols .strip__image--before:last-of-type,
.strip--cross-cols .strip__image--before:only-of-type {
    margin-bottom: calc(var(--vpad)*-1)
}

.strip__image--before:last-child {
    margin-bottom: 0
}

.strip__image--after {
    margin-top: calc(var(--vpad)/2)
}

.strip--cross-cols .strip__image--after:first-of-type {
    margin-top: calc(var(--vpad)*-1)
}

.strip__image--after:first-child {
    margin-top: 0
}

.strip__image--after img,
.strip__image--before img {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    width: auto
}

@media screen and (min-width:50em) {

    .strip__image--after img,
    .strip__image--before img {
        margin: 0 var(--image-marginRight, auto) 0 var(--image-marginLeft, 0)
    }
}

.strip__image .image__credits,
.strip__image picture {
    grid-area: main
}

.strip__image .image__credits {
    align-self: flex-end;
    color: #fcfcfc;
    justify-self: flex-end;
    padding: .2em .4em;
    text-shadow: 0 0 3px #0c0c0c
}

.strip__image figcaption {
    display: block;
    font-size: .85em;
    padding: .3em;
    position: relative;
    text-align: center;
    z-index: 1
}

.strip__image figcaption:before {
    background: var(--colNero);
    bottom: 0;
    content: "";
    left: 0;
    opacity: .03;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

@media screen and (max-width:49.99em) {
    .strip .text-right {
        --image-marginLeft: 0;
        --image-marginRight: auto;
        text-align: left
    }
}

@media screen and (min-width:50em) {
    .strip--cross-cols .strip__image {
        margin-left: var(--strip-textNarrow-marginLeft, 0);
        margin-right: var(--strip-textNarrow-marginRight, 0);
        max-width: 75%;
        transform: translate3d(var(--xTrs, 0), 0, 0) var(--transform, scale(1))
    }
}

.strip--columns .container,
.strip--columns .menu__row {
    align-items: stretch;
    display: flex;
    flex-direction: column
}

@media screen and (min-width:50em) {

    .strip--columns .container,
    .strip--columns .menu__row {
        flex-direction: row
    }

    .strip--3-cols .container,
    .strip--3-cols .menu__row {
        flex-direction: column
    }
}

@media screen and (min-width:60em) {

    .strip--3-cols .container,
    .strip--3-cols .menu__row {
        flex-direction: row
    }
}

.strip__column {
    display: flex;
    flex: 1 1 auto;
    flex-flow: column nowrap;
    margin-right: var(--hpad, var(--vpad));
    width: calc(50% - var(--hpad, var(--vpad))/2)
}

.strip--cross-cols .strip__column {
    margin-right: calc(var(--hpad, var(--vpad))*3)
}

.strip__column.waiting .strip__image {
    transform: none
}

.strip__column[class*=bg-] {
    position: relative;
    z-index: 1
}

.strip__column[class*=bg-]:before {
    content: "";
    position: absolute
}

@media screen and (max-width:49.99em) {
    .m-filters-open .strip__column[class*=bg-] {
        z-index: unset
    }
}

.strip__column.full-height {
    min-height: calc(100vh - var(--header-height, 0)*1px)
}

.strip__column.full-height .strip__text {
    height: auto
}

.strip--wide .strip__column {
    --marginL: 0;
    --marginR: 0
}

@media screen and (min-width:50em) {
    .strip--wide .strip__column {
        --marginR: var(--hpad, var(--vpad));
        --marginL: var(--hpad, var(--vpad))
    }
}

@media screen and (max-width:59.9em) {
    .strip--3-cols .strip__column {
        --image-marginLeft: auto;
        --marginL: 0;
        --marginR: 0;
        --strip-textNarrow-paddingLeft: var(--vpad);
        --strip-textNarrow-paddingRight: var(--vpad);
        margin-right: 0;
        max-width: none !important;
        width: 100% !important
    }

    .strip--3-cols .strip__column.text-right {
        --image-marginLeft: 0;
        --image-marginRight: auto;
        text-align: left
    }
}

@media screen and (max-width:49.99em) {
    .strip__column {
        --marginL: 0;
        --marginR: 0;
        --strip-textNarrow-paddingLeft: var(--vpad);
        --strip-textNarrow-paddingRight: var(--vpad);
        margin-right: 0;
        max-width: none !important;
        width: 100% !important
    }
}

.strip__column:last-child {
    margin-right: 0
}

.strip__column--xsmall {
    flex: 0 1 auto;
    max-width: 16em;
    width: calc(25% - var(--hpad, var(--vpad))*2/3)
}

.strip__column--small {
    --strip-textNarrow-maxWidth: 29.1666666667rem;
    flex: 0 1 auto;
    width: calc(33% - var(--hpad, var(--vpad))*2/3)
}

.strip__column:before {
    background: var(--bgStrip, transparent);
    background-image: var(--bgImage, none);
    bottom: 0;
    left: calc(var(--hpad, var(--vpad))/-1);
    pointer-events: none;
    right: calc(var(--hpad, var(--vpad))/-1);
    top: 0;
    z-index: -1
}

@media screen and (min-width:50em) {
    .strip__column:before {
        left: calc(var(--hpad, var(--vpad))/-2);
        right: calc(var(--hpad, var(--vpad))/-2)
    }
}

.strip--wide .strip__column:not(.bg-narrow):first-child:before {
    left: 0
}

.strip--wide .strip__column:not(.bg-narrow):last-child:before {
    right: 0
}

.strip__column .strip__text {
    text-align: var(--strip-text-colorAlign, inherit);
    width: 100%
}

.strip__column.mobile-first {
    order: -1
}

@media screen and (min-width:50em) {
    .strip__column.mobile-first {
        order: unset
    }

    .strip--3-cols .strip__column.mobile-first {
        order: -1
    }
}

@media screen and (min-width:60em) {
    .strip--3-cols .strip__column.mobile-first {
        order: unset
    }
}

.strip__column__content {
    --container-pad: calc(var(--vpad)/4);
    display: flex;
    height: 100%;
    width: 100%
}

.text-narrow .strip__column__content {
    padding-left: var(--strip-textNarrow-paddingLeft, 0);
    padding-right: var(--strip-textNarrow-paddingRight, 0)
}

@media screen and (min-width:50em) {
    .text-narrow .strip__column__content {
        margin-left: var(--strip-textNarrow-marginLeft, 0);
        margin-right: var(--strip-textNarrow-marginRight, 0);
        max-width: calc(var(--strip-textNarrow-maxWidth, 43.75rem) + var(--vpad) - var(--hpad)/2)
    }

    .strip__column--overlap-up .strip__text {
        transform: translateY(calc(var(--vpad)*-1))
    }

    .strip__column--overlap-down .strip__text {
        transform: translateY(var(--vpad))
    }

    .strip__column--overlap-up-down .strip__text {
        margin-top: calc(var(--vpad)*-2);
        transform: translateY(var(--vpad))
    }
}

.strip--wide .strip__column--image {
    --lImgPad: 0;
    --rImgPad: 0
}

.strip__column--image .strip__text {
    height: 100%;
    position: relative;
    z-index: 1
}

.strip__column--image .strip__image {
    height: 100%
}

.strip__column--image .strip__image img {
    max-height: 40vh
}

@media screen and (min-width:50em) {
    .strip__column--image .strip__image img {
        max-height: none;
        width: calc(100% + var(--hpad, var(--vpad))/2)
    }

    .strip__column--image:nth-child(2):not(:last-child) img {
        margin-left: calc(var(--hpad, var(--vpad))/-2);
        margin-right: calc(var(--hpad, var(--vpad))/-2);
        width: calc(100% + var(--hpad, var(--vpad)))
    }

    .strip__column--image:last-child img {
        margin-left: calc(var(--hpad, var(--vpad))/-2);
        margin-right: 0
    }
}

.strip__column--image img {
    height: 100%;
    max-width: none;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.strip__column.col-sticky .strip__column__content {
    align-items: flex-start
}

.strip__column--1 {
    --strip-textNarrow-marginLeft: auto;
    --lImgPad: var(--vpad);
    --xTrs: calc(var(--hpad, var(--vpad))*2);
    order: var(--col1Order, 0)
}

.strip--cross-cols .strip__column--1 {
    position: relative;
    z-index: 2
}

.strip--wide .strip__column--1 {
    --strip-textNarrow-paddingLeft: var(--vpad)
}

.strip__column--1:not(.bg-narrow):before {
    left: calc(50% - 50vw);
    transform: rotate(180deg)
}

.builder .strip__column--1:not(.bg-narrow):before {
    left: calc(var(--container-pad, var(--hpad))*-1)
}

.bg-narrow .strip__column--1.strip__column--image .strip__image {
    transform: translateX(calc(var(--hpad, var(--vpad))*-1));
    width: calc(100% + var(--hpad, var(--vpad))*2)
}

@media screen and (min-width:50em) {
    .bg-narrow .strip__column--1.strip__column--image .strip__image {
        width: calc(100% + var(--hpad, var(--vpad)))
    }

    .strip__column--1.strip__image--overlap .strip__image {
        transform: translate3d(calc(var(--vpad)*2), 0, 0)
    }
}

@media screen and (max-width:49.99em) {
    .strip__column--1 {
        --marginL: 0
    }
}

.strip__column--2 {
    --strip-textNarrow-marginRight: auto;
    --rImgPad: var(--vpad)
}

.strip--wide .strip__column--2 {
    --strip-textNarrow-paddingRight: var(--vpad)
}

.strip__column--2:last-child {
    --xTrs: calc(var(--hpad, var(--vpad))*-2)
}

.strip__column--2:last-child:not(.bg-narrow):before {
    right: calc(50% - 50vw)
}

.builder .strip__column--2:last-child:not(.bg-narrow):before {
    right: calc(var(--container-pad, var(--vpad))*-1)
}

.bg-narrow .strip__column--2.strip__column--image:last-child .strip__image {
    transform: translateX(calc(var(--hpad, var(--vpad))*-1));
    width: calc(100% + var(--hpad, var(--vpad))*2)
}

@media screen and (min-width:50em) {
    .bg-narrow .strip__column--2.strip__column--image:last-child .strip__image {
        transform: none;
        width: calc(100% + var(--hpad, var(--vpad)))
    }

    .strip__column--2.strip__image--overlap .strip__image {
        transform: translate3d(calc(var(--vpad)*-2), 0, 0)
    }
}

.strip__column--3 {
    --strip-textNarrow-marginRight: auto;
    --rImgPad: var(--vpad)
}

.strip__column--3:last-child {
    --xTrs: calc(var(--hpad, var(--vpad))*-2)
}

.strip__column--3:last-child:not(.bg-narrow):before {
    right: calc(50% - 50vw)
}

.builder .strip__column--3:last-child:not(.bg-narrow):before {
    right: calc(var(--container-pad, var(--vpad))*-1)
}

.bg-narrow .strip__column--3.strip__column--image:last-child .strip__image {
    transform: translateX(calc(var(--hpad, var(--vpad))*-1));
    width: calc(100% + var(--hpad, var(--vpad))*2)
}

@media screen and (min-width:50em) {
    .bg-narrow .strip__column--3.strip__column--image:last-child .strip__image {
        transform: none;
        width: calc(100% + var(--hpad, var(--vpad)))
    }

    .strip__column--3.strip__image--overlap .strip__image {
        transform: translate3d(calc(var(--vpad)*-2), 0, 0)
    }
}

.strip--image .strip__data {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(1em, 1fr);
    grid-template-rows: 1fr;
    justify-items: center;
    position: relative
}

@media screen and (min-width:50em) {

    html:not(.np_a11y) .strip--image .strip__data.text-inbox .strip__image,
    html:not(.np_a11y) .strip--image .strip__data.text-opaque .strip__image {
        margin-bottom: 0;
        min-height: 100%
    }

    html:not(.np_a11y) .strip--image .strip__data.text-inbox .strip__text,
    html:not(.np_a11y) .strip--image .strip__data.text-opaque .strip__text {
        display: flex;
        flex-direction: column;
        grid-column: 1/1;
        grid-row: 1/1;
        margin-left: var(--image-marginLeft, 0);
        margin-right: var(--image-marginRight, auto);
        padding: var(--vpad);
        position: relative;
        z-index: 5
    }
}

.strip--image .strip__data.text-inbox .strip__text {
    align-self: center
}

.strip--image .strip__image {
    grid-column: 1/1;
    grid-row: 1/1;
    margin-bottom: calc(var(--vpad)/2);
    max-height: var(--strip-image-maxHeight, none);
    overflow: hidden;
    position: relative;
    z-index: 0
}

.strip--image .strip__image:last-child {
    margin-bottom: 0
}

html:not(.np_a11y) .strip--image .strip__image--dark .strip__image img {
    filter: brightness(.5) contrast(1.25)
}

@media screen and (min-width:50em) {
    html:not(.np_a11y) .strip--image .strip__image--dark .strip__text {
        color: var(--colBianco)
    }
}

.strip--image .strip__image img {
    display: block;
    height: auto;
    margin: 0 auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.strip--image .strip__image figcaption {
    font-size: .85em;
    opacity: .8;
    padding: .3em
}

.strip--image .strip__image--real-size img {
    max-width: 100%;
    min-height: 0;
    width: auto
}

.strip--image .strip__video__container {
    grid-column: 1/1;
    grid-row: 1/1
}

.strip--image .strip__video__container+.strip__text {
    pointer-events: none
}

.strip--image.strip--wide .parallax .strip__image {
    height: var(--strip-image-maxHeight, 65vh)
}

.strip--image.strip--wide .strip__image {
    display: block;
    width: 100%
}

.strip--image.strip--wide .strip__image--small {
    --strip-image-maxHeight: 50vh
}

.strip--image.strip--wide .strip__image--big {
    --strip-image-maxHeight: 80vh
}

.strip--image.strip--wide .strip__image img {
    height: 100%
}

.strip--image.strip--wide .strip__image .image__credits {
    bottom: 0;
    position: absolute;
    right: 0
}

.strip--image.strip--wide .strip__text {
    margin-left: auto;
    margin-right: auto;
    max-width: 56.25rem;
    padding-left: var(--vpad);
    padding-right: var(--vpad)
}

.strip--image .parallax .strip__image {
    overflow: hidden
}

.strip--image .parallax .strip__image img {
    height: 130%
}

.strip--image.js-scroll-title .strip__image {
    margin-bottom: 0
}

.strip--image.js-scroll-title .strip__text {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    grid-column: 1/1;
    grid-row: 1/1;
    justify-content: center;
    max-width: none;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 5
}

.strip--image.js-scroll-reveal .strip__image {
    clip-path: inset(20% 40%)
}

.strip--overlap--up {
    margin-top: calc(var(--vpad)*-1.5);
    position: relative;
    z-index: 2
}

.strip--overlap--down {
    margin-bottom: calc(var(--vpad)/-3);
    position: relative;
    z-index: 2
}

.strip__slider {
    display: block
}

.strip__slider__item {
    align-items: start;
    display: grid;
    gap: calc(var(--vpad)/2);
    grid-template-areas: "figure" "text";
    padding: 0 calc(var(--vpad)/4);
    position: relative
}

.strip__slider--reverse .strip__slider__item {
    grid-template-areas: "text" "figure"
}

@media screen and (min-width:50em) {
    .strip__slider__item--cols {
        grid-template-areas: "figure text";
        grid-template-columns: minmax(1em, 1fr) minmax(1em, 1fr)
    }

    .strip__slider--reverse .strip__slider__item--cols {
        grid-template-areas: "text figure"
    }
}

.carousel .strip__slider__item {
    padding-bottom: calc(var(--vpad)/2);
    padding-right: calc(var(--vpad)/2)
}

.strip__slider__figure {
    grid-area: figure
}

.strip__slider__figure figure {
    display: grid;
    grid-template-areas: "main"
}

.strip__slider__figure .image__credits,
.strip__slider__figure picture {
    grid-area: main
}

.strip__slider__figure .image__credits {
    align-self: flex-end;
    color: #fcfcfc;
    justify-self: flex-end;
    padding: .2em .4em;
    text-shadow: 0 0 3px #0c0c0c
}

.strip__slider__text {
    grid-area: text
}

.strip__slider__paging {
    display: flex;
    justify-content: center;
    list-style: none;
    margin: var(--vpad) 0;
    padding: 0
}

.strip__slider__paging:first-child {
    margin-top: 0
}

.strip__slider__paging:last-child {
    margin-bottom: 0
}

.strip__slider__link {
    color: inherit
}

.strip__slider__arrows {
    display: flex;
    margin-top: calc(var(--vpad)/2)
}

.strip__slider__arrows a {
    font-size: 1.5em;
    margin-right: 1em
}

.strip__slider__arrows a.off {
    opacity: .5;
    pointer-events: none
}

.strip__video {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    visibility: hidden;
    width: 100%
}

.strip__video--inline:focus-within {
    overflow: visible
}

.strip__video--inline .strip__video {
    background: var(--colBg);
    -o-object-fit: contain;
    object-fit: contain;
    visibility: visible
}

.active .strip__video {
    visibility: visible
}

.strip__video__container {
    display: block;
    position: relative
}

.strip__video__container:before {
    color: #fff;
    font-size: 2em;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2
}

.strip__video__container.active:after,
.strip__video__container.active:before {
    display: none
}

.strip__video__thumb {
    bottom: 0;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1
}

.active .strip__video__thumb {
    display: none
}

.strip__gallery {
    display: grid;
    gap: calc(var(--vpad)/3);
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    position: relative;
    text-align: center
}

:where(html:not(.np_a11y)) .strip__gallery--slider .strip__gallery,
:where(html:not(.np_a11y)) .strip__gallery.slickslider {
    display: block
}

.builder .strip__gallery--slider .strip__gallery,
.builder .strip__gallery.slickslider {
    display: grid
}

.strip__gallery--slider .strip__gallery .strip__gallery__item,
.strip__gallery.slickslider .strip__gallery__item {
    padding-left: calc(var(--vpad)/6);
    padding-right: calc(var(--vpad)/6)
}

.strip__gallery picture {
    display: grid;
    grid-template-areas: "main"
}

.strip__gallery picture .image__credits {
    grid-area: main
}

.strip__gallery .image__credits {
    align-self: flex-end;
    color: #fcfcfc;
    justify-self: flex-end;
    padding: .2em .4em;
    text-shadow: 0 0 3px #0c0c0c
}

.strip__gallery img {
    display: block;
    grid-area: main;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.strip__gallery--video {
    color: var(--colBianco);
    display: block;
    position: relative
}

.strip__gallery--video:hover {
    color: var(--colBianco)
}

.strip__gallery--video:after {
    font-size: 2em;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%, -50%, 0)
}

.animate .strip__gallery>li:nth-child(1n) {
    transition-delay: .08s
}

.animate .strip__gallery>li:nth-child(2n) {
    transition-delay: .16s
}

.animate .strip__gallery>li:nth-child(3n) {
    transition-delay: .24s
}

.animate .strip__gallery>li:nth-child(4n) {
    transition-delay: .32s
}

.animate .strip__gallery>li:nth-child(5n) {
    transition-delay: .4s
}

.animate .strip__gallery>li:nth-child(6n) {
    transition-delay: .48s
}

.animate .strip__gallery>li:nth-child(7n) {
    transition-delay: .56s
}

.animate .strip__gallery>li:nth-child(8n) {
    transition-delay: .64s
}

.animate .strip__gallery>li:nth-child(9n) {
    transition-delay: .72s
}

.animate .strip__gallery>li:nth-child(10n) {
    transition-delay: .8s
}

.animate .strip__gallery>li:nth-child(11n) {
    transition-delay: .88s
}

.waiting .strip__gallery>li {
    opacity: 0;
    transform: translate3d(0, 50%, 0)
}

.strip__blurb,
.strip__counter {
    --strip-blurb-margin: calc(var(--hpad, var(--vpad))/2);
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin-left: calc(var(--strip-blurb-margin)*-1);
    margin-right: calc(var(--strip-blurb-margin)*-1)
}

.strip__blurb__item,
.strip__blurb__link,
.strip__counter__item {
    color: inherit;
    display: flex;
    flex: 1 1 auto;
    flex-direction: var(--strip-blurb-direction, column);
    margin: 0 var(--strip-blurb-margin) calc(var(--strip-blurb-margin)*2);
    max-width: clamp(100%/var(--strip-blurb-number, 4) - var(--strip-blurb-margin) * 2, (36em - 100vw) * 1000, 100%);
    min-width: min(var(--container-maxWidth)/(var(--strip-blurb-number, 4) + 2) - var(--strip-blurb-margin, 0) * 2, 100%);
    width: 100%
}

.strip__column .strip__blurb__item,
.strip__column .strip__blurb__link,
.strip__column .strip__counter__item {
    margin-bottom: 0
}

.strip__blurb__item,
.strip__blurb__link,
.strip__counter__item {
    counter-increment: blurbNumber
}

.strip__blurb__item[class*=bg-custom],
.strip__blurb__item[class*=bg-np],
.strip__counter__item[class*=bg-custom],
.strip__counter__item[class*=bg-np],
[class*=bg-custom].strip__blurb__link,
[class*=bg-np].strip__blurb__link {
    align-items: stretch;
    background: var(--bgStrip, transparent);
    color: var(--strip-text-color, inherit);
    flex: 0 0 auto;
    padding: 1em
}

.strip__blurb__item[class*=bg-custom] .strip__blurb__text,
.strip__blurb__item[class*=bg-custom] .strip__counter__text,
.strip__blurb__item[class*=bg-np] .strip__blurb__text,
.strip__blurb__item[class*=bg-np] .strip__counter__text,
.strip__counter__item[class*=bg-custom] .strip__blurb__text,
.strip__counter__item[class*=bg-custom] .strip__counter__text,
.strip__counter__item[class*=bg-np] .strip__blurb__text,
.strip__counter__item[class*=bg-np] .strip__counter__text,
[class*=bg-custom].strip__blurb__link .strip__blurb__text,
[class*=bg-custom].strip__blurb__link .strip__counter__text,
[class*=bg-np].strip__blurb__link .strip__blurb__text,
[class*=bg-np].strip__blurb__link .strip__counter__text {
    position: relative
}

.strip__blurb__number,
.strip__counter__number {
    align-items: center;
    display: flex;
    height: 2em;
    justify-content: center;
    margin: 0 auto .5em;
    padding: .3em;
    position: relative;
    width: 2em
}

.strip__blurb__text,
.strip__counter__text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0 auto;
    width: 100%
}

.strip__blurb__text:before,
.strip__counter__text:before {
    align-items: center;
    content: counter(blurbNumber);
    display: var(--strip-blurb-number-display, none);
    font-size: 2em;
    height: 2em;
    justify-content: center;
    margin: 0 auto .5em;
    padding: .3em;
    position: relative;
    width: 2em
}

.strip__blurb__title,
.strip__counter__title {
    margin-bottom: calc(var(--vpad)/4)
}

.strip__blurb--n1 {
    --strip-blurb-number: 1
}

.strip__blurb--n2 {
    --strip-blurb-number: 2
}

.strip__blurb--n3 {
    --strip-blurb-number: 3
}

.strip__blurb--n4 {
    --strip-blurb-number: 4
}

.strip__blurb--n5 {
    --strip-blurb-number: 5
}

.strip__blurb--n6 {
    --strip-blurb-number: 6
}

.strip__blurb--n7 {
    --strip-blurb-number: 7
}

.strip__blurb--n8 {
    --strip-blurb-number: 8
}

.strip__blurb--imgSmall {
    --strip-blurb-image-width: 10em;
    --strip-blurb-horizontal-image-width: 15%
}

.strip__blurb--imgWide {
    --strip-blurb-image-width: 100%;
    --strip-blurb-horizontal-image-width: 50%
}

.strip__blurb--imgHeightSmall {
    --strip-blurb-image-height: 5em
}

.strip__blurb--imgHeightTall {
    --strip-blurb-image-height: 10em
}

.strip__blurb--horizontal {
    --strip-blurb-direction: row
}

.strip__blurb--numbered {
    --strip-blurb-number-display: flex;
    counter-reset: blurbNumber
}

.strip__blurb--text-over .strip__blurb__item,
.strip__blurb--text-over .strip__blurb__link {
    align-items: stretch;
    display: grid;
    grid-template-areas: "main"
}

.strip__blurb--text-over .strip__blurb__item>*,
.strip__blurb--text-over .strip__blurb__link>* {
    grid-area: main
}

.strip__blurb__link .strip__blurb__item,
.strip__blurb__link .strip__blurb__link {
    height: 100%;
    margin: 0;
    max-width: none;
    min-width: 0;
    width: 100%
}

.strip__blurb__link .strip__blurb__item[class*=bg-custom],
.strip__blurb__link .strip__blurb__item[class*=bg-np],
.strip__blurb__link [class*=bg-custom].strip__blurb__link,
.strip__blurb__link [class*=bg-np].strip__blurb__link {
    overflow: hidden;
    position: relative
}

.strip__blurb__link .strip__blurb__item[class*=bg-custom]:before,
.strip__blurb__link .strip__blurb__item[class*=bg-np]:before,
.strip__blurb__link [class*=bg-custom].strip__blurb__link:before,
.strip__blurb__link [class*=bg-np].strip__blurb__link:before {
    background: var(--colNero);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate3d(0, 50%, 0);
    z-index: 0
}

.strip__blurb__link .strip__blurb__image {
    overflow: hidden
}

.strip__blurb__link:hover {
    color: inherit
}

.strip__blurb--text-over .strip__blurb__link:hover,
.strip__blurb__link:hover .strip__blurb__item[class*=bg-custom],
.strip__blurb__link:hover .strip__blurb__item[class*=bg-np],
.strip__blurb__link:hover [class*=bg-custom].strip__blurb__link,
.strip__blurb__link:hover [class*=bg-np].strip__blurb__link {
    color: var(--colBianco)
}

.strip__blurb__link:hover .strip__blurb__image img {
    transform: scale3d(1.1, 1.1, 1)
}

.strip__blurb--text-over .strip__blurb__link:hover .strip__blurb__image img {
    opacity: .3
}

.strip__blurb__link:hover .strip__blurb__item[class*=bg-custom]:before,
.strip__blurb__link:hover .strip__blurb__item[class*=bg-np]:before,
.strip__blurb__link:hover [class*=bg-custom].strip__blurb__link:before,
.strip__blurb__link:hover [class*=bg-np].strip__blurb__link:before {
    opacity: .5;
    transform: none
}

.strip__blurb__image {
    display: grid;
    grid-template-areas: "main";
    margin: 0 auto var(--hpad, calc(var(--vpad)/2));
    max-width: 100%;
    width: var(--strip-blurb-image-width, calc(40em/var(--strip-blurb-number, 4)))
}

.strip__blurb--horizontal .strip__blurb__image {
    aspect-ratio: 1/1;
    flex: 0 0 var(--strip-blurb-horizontal-image-width, 25%);
    margin: 0 var(--hpad, calc(var(--vpad)/2)) 0 0;
    min-width: calc(87.5rem/(var(--strip-blurb-number, 4) + 1)*.2)
}

.strip__blurb--text-over .strip__blurb__image {
    background: var(--colNero);
    margin: 0;
    width: 100%
}

.strip__blurb__image .image__credits,
.strip__blurb__image picture {
    grid-area: main
}

.strip__blurb__image .image__credits {
    align-self: flex-end;
    color: #fcfcfc;
    justify-self: flex-end;
    padding: .2em .4em;
    text-shadow: 0 0 3px #0c0c0c
}

.strip__blurb__image img {
    display: block;
    height: var(--strip-blurb-image-height, auto);
    margin: 0 auto;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.strip__blurb--horizontal .strip__blurb__image img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: 50% 0;
    object-position: 50% 0
}

.strip__blurb--text-over .strip__blurb__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: .5
}

.strip__blurb__image+.strip__blurb__number {
    margin-top: calc(var(--vpad)*-1.5)
}

.strip__blurb--text-over .strip__blurb__text {
    color: var(--colBianco);
    padding: 1em;
    position: relative
}

.strip__blurb__buttons {
    margin-top: auto;
    padding-top: 1em
}

.strip__counter__values {
    align-items: center;
    display: grid;
    grid-template-areas: "main";
    line-height: 1.1;
    margin-bottom: 1em;
    text-align: center;
    text-transform: uppercase
}

.strip__counter__values.pie-chart--empty {
    margin-left: auto;
    margin-right: auto;
    max-width: 9em;
    width: 100%
}

.strip__counter__values.pie-chart--empty:before {
    border: 3px solid var(--colContrasto);
    border-radius: 50%;
    content: "";
    display: block;
    grid-area: main;
    margin: auto;
    padding-bottom: calc(100% - 6px);
    width: 100%
}

.strip__counter__values__text {
    grid-area: main;
    overflow: hidden;
    padding: 0 .5em;
    position: relative;
    text-overflow: ellipsis;
    width: 100%;
    z-index: 1
}

.strip__counter__values__main {
    font-size: 3.2em;
    font-weight: inherit;
    margin: 0
}

.strip__counter__values__sub {
    margin: 0
}

.strip__counter__values canvas {
    grid-area: main;
    height: auto !important;
    margin: auto;
    max-width: 9em;
    width: 100% !important
}

.strip__counter__label {
    font-size: .85em;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase
}

.strip__map {
    height: 40em;
    max-height: 60vh;
    min-height: 100%;
    position: relative
}

.strip__map__infowin {
    padding: calc(var(--vpad)/4)
}

@media screen and (prefers-reduced-motion:no-preference) {

    .animated .strip__blurb,
    .animated .strip__counter,
    .animated.strip__column .strip__column__content,
    .animated:not(.strip__column):not([class*=strip__blurb]) {
        transition-duration: 1.2s;
        transition-property: opacity, transform
    }
}

@media screen and (prefers-reduced-motion:no-preference) and (prefers-reduced-motion:no-preference) {

    .animated .strip__blurb,
    .animated .strip__counter,
    .animated.strip__column .strip__column__content,
    .animated:not(.strip__column):not([class*=strip__blurb]) {
        transition: var(--aniTime, .6s) cubic-bezier(.645, .045, .355, 1);
        transition-property: var(--aniProp, all)
    }
}

@media screen and (prefers-reduced-motion:no-preference) and (min-width:36em) {
    .animated.strip__column--2 .strip__column__content {
        transition-delay: .5s !important
    }

    .animated.strip__column--3 .strip__column__content {
        transition-delay: 1s !important
    }
}

@media screen and (prefers-reduced-motion:no-preference) {
    .animated:first-child {
        transition-delay: .1s
    }

    .animated:nth-child(2) {
        transition-delay: .2s
    }

    .animated:nth-child(3) {
        transition-delay: .3s
    }

    .animated:nth-child(4) {
        transition-delay: .4s
    }

    .animated:nth-child(5) {
        transition-delay: .5s
    }

    .animated:nth-child(6) {
        transition-delay: .6s
    }

    .animated:nth-child(7) {
        transition-delay: .7s
    }

    .animated:nth-child(8) {
        transition-delay: .8s
    }

    .animated:nth-child(9) {
        transition-delay: .9s
    }

    .animated:nth-child(10) {
        transition-delay: 1s
    }

    .animated:nth-child(11) {
        transition-delay: 1.1s
    }

    .animated:nth-child(12) {
        transition-delay: 1.2s
    }

    .animated:nth-child(13) {
        transition-delay: 1.3s
    }

    .animated:nth-child(14) {
        transition-delay: 1.4s
    }

    .animated:nth-child(15) {
        transition-delay: 1.5s
    }

    .animated:nth-child(16) {
        transition-delay: 1.6s
    }

    .animated:nth-child(17) {
        transition-delay: 1.7s
    }

    .animated:nth-child(18) {
        transition-delay: 1.8s
    }

    .animated:nth-child(19) {
        transition-delay: 1.9s
    }

    .waiting {
        pointer-events: none
    }

    .waiting.anima--fade .strip__blurb,
    .waiting.anima--fade .strip__counter,
    .waiting.anima--fade.strip__column .strip__column__content,
    .waiting.anima--fade:not(.strip__column):not([class*=strip__blurb]) {
        opacity: 0
    }

    .waiting.anima--left-in .strip__blurb,
    .waiting.anima--left-in .strip__counter,
    .waiting.anima--left-in.strip__column .strip__column__content,
    .waiting.anima--left-in:not(.strip__column):not([class*=strip__blurb]) {
        opacity: 0;
        transform: translate3d(-5vh, 0, 0)
    }

    .waiting.anima--right-in .strip__blurb,
    .waiting.anima--right-in .strip__counter,
    .waiting.anima--right-in.strip__column .strip__column__content,
    .waiting.anima--right-in:not(.strip__column):not([class*=strip__blurb]) {
        opacity: 0;
        transform: translate3d(5vh, 0, 0)
    }

    .waiting.anima--top-in .strip__blurb,
    .waiting.anima--top-in .strip__counter,
    .waiting.anima--top-in.strip__column .strip__column__content,
    .waiting.anima--top-in:not(.strip__column):not([class*=strip__blurb]) {
        opacity: 0;
        transform: translate3d(0, -5vh, 0)
    }

    .waiting.anima--bottom-in .strip__blurb,
    .waiting.anima--bottom-in .strip__counter,
    .waiting.anima--bottom-in.strip__column .strip__column__content,
    .waiting.anima--bottom-in:not(.strip__column):not([class*=strip__blurb]) {
        opacity: 0;
        transform: translate3d(0, 5vh, 0)
    }
}

.t-s,
[data-word] {
    display: inline-block
}

.t-s {
    overflow: hidden;
    padding: 0 0 .07em
}

.t-p {
    display: inline-block;
    line-height: 1.1;
    transform-origin: 0 100%
}

@media screen and (prefers-reduced-motion:reduce) {
    .t-p {
        opacity: 1 !important;
        transform: none !important
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    :after,
    :before {
        animation: none !important;
        scroll-behavior: auto !important;
        transition: none !important
    }
}

.video__thumb {
    display: block;
    position: relative
}

.video__thumb:before {
    background: hsla(0, 0%, 5%, .5);
    border-radius: 50%;
    color: #fff;
    font-size: 2.5em;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2
}

.video__controls {
    align-items: center;
    bottom: calc(var(--vpad)/3);
    color: #fff;
    display: flex;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 95%;
    z-index: 15
}

.video__controls button,
.video__controls span {
    cursor: pointer;
    display: flex;
    font-size: inherit
}

.strip__video__container:not(.active) .video__controls {
    display: none
}

.video__play {
    cursor: pointer;
    padding: .2em
}

.video__play-cursor {
    --w: 3em;
    align-items: center;
    color: var(--cursorText, inherit);
    display: flex;
    height: var(--w);
    justify-content: center;
    left: calc(90% - var(--w)/2);
    padding: .2em;
    position: absolute;
    top: calc(10% + var(--w)/2);
    transform: translate3d(-50%, -50%, 0);
    transition-property: opacity;
    width: var(--w);
    z-index: 10
}

@media screen and (min-width:36em) {
    .video__play-cursor {
        --w: 3em
    }
}

.video__play-cursor:before {
    content: attr(aria-label);
    font-size: 1em;
    font-weight: 300;
    margin: 0;
    text-transform: uppercase
}

.video__play-cursor:after {
    background: hsla(0, 0%, 100%, .4);
    border: 1px solid var(--colContrasto);
    border-radius: 50%;
    bottom: calc(var(--w)*-1);
    content: "";
    left: calc(var(--w)*-1);
    opacity: .9;
    position: absolute;
    right: calc(var(--w)*-1);
    top: calc(var(--w)*-1);
    z-index: -1
}

.is-touch .video__play-cursor.playing {
    opacity: 0
}

.video__play-cursor.off,
.video__play-cursor.off-controls {
    opacity: 0;
    visibility: hidden
}

.video__sound {
    cursor: pointer;
    padding: .2em
}

.video__sound:first-child {
    margin-left: auto
}

.video__prog {
    flex: 1 1 auto;
    margin: 0 calc(var(--vpad)/2);
    padding-bottom: 1em;
    position: relative;
    z-index: 1
}

.video__prog:before {
    border-top: 1px solid;
    content: "";
    left: 0;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 50%
}

.video__prog__ind {
    background: #fff;
    height: 3px;
    left: 0;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transform: scaleX(0);
    transform-origin: 0 50%;
    width: 100%
}

.video__fullscreen {
    cursor: pointer;
    padding: .2em
}

.video__fullscreen:first-child {
    margin-left: auto
}

.video__time {
    font-size: .75em;
    margin: 0 .5em;
    min-width: 7em;
    text-align: right
}

html:not(.np_a11y) [data-video-controls~=play_cursor] {
    cursor: none
}

.share-div__grid {
    display: inline-flex;
    gap: 1.5em;
    list-style: none;
    margin: 1em 0 0;
    padding: 0
}

.share-div .share__label {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    white-space: nowrap
}

.share-div .share__link {
    align-items: center;
    background: var(--colPrimario);
    border-radius: 50%;
    color: var(--colBianco);
    display: flex;
    height: 2em;
    justify-content: center;
    width: 2em
}

.share-div .share__link:before {
    margin: 0
}

.share-win {
    max-width: 100%;
    text-align: center;
    width: 30em
}

.share-win__logo {
    margin-bottom: 1em
}

.share-win__logo span {
    background: transparent url(/img/villa-della-torre-black.svg) 50% 50% no-repeat;
    background-size: contain;
    display: block;
    height: 60px
}

.share-win__grid {
    display: grid;
    gap: calc(var(--vpad)/4);
    grid-template-columns: repeat(auto-fill, minmax(10em, 1fr));
    list-style: none;
    margin: calc(var(--vpad)/2) 0;
    padding: 0
}

.share-menu {
    background: var(--colBg);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .3);
    left: 50%;
    min-width: 16em;
    opacity: 0;
    padding: 1em;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    visibility: hidden
}

.share-menu.active {
    opacity: 1;
    visibility: visible
}

.share-menu__container {
    position: relative
}

.share-menu__list {
    display: grid;
    gap: calc(var(--vpad)/4);
    list-style: none;
    padding: 0
}

.share-menu__list a {
    width: 100%
}

.read-more {
    --aniProp: transform, color, opacity;
    align-items: center;
    color: #FFF;
    cursor: pointer;
    display: var(--display, inline-flex);
    flex-flow: row-reverse nowrap;
    font-size: 14px;
    line-height: 1.4;
}

/* .read-more:before {
    color: var(--colContrasto);
    font-size: 1.2em;
    margin: 0 0 0 .5em;
    transform: translate3d(-.25em, 0, 0)
} */

.read-more:hover,
a:hover .read-more {
    color: inherit
}

.is-mouse .read-more:hover:before,
.is-mouse a:hover .read-more:before {
    transform: none
}

.stroke {
    border-top: 1px solid;
    display: inline-block;
    height: 1px;
    vertical-align: middle;
    width: var(--strokeWidth, calc(var(--vpad)/4))
}

.text-left {
    --image-marginLeft: 0;
    --strip-textNarrow-marginLeft: 0;
    --strip-textNarrow-marginRight: auto
}

.text-center {
    --image-marginLeft: auto;
    --strip-textNarrow-marginLeft: auto;
    --strip-textNarrow-marginRight: auto
}

.text-right {
    --image-marginLeft: auto;
    --image-marginRight: 0;
    --strip-textNarrow-marginLeft: auto;
    --strip-textNarrow-marginRight: 0
}

.text-justify {
    --image-marginLeft: 0
}

.text-small {
    font-size: .85em
}

.text-big {
    font-size: 1.2em
}

.text-cite {
    color: var(--colTitle);
    font-size: clamp(var(--titleSize)/2.5, 2.5vw, var(--titleSize)/2);
    font-style: italic;
    margin-bottom: calc(var(--vpad)/2);
    margin-top: calc(var(--vpad)/2)
}

.text-cite:first-child {
    margin-top: 0
}

.text-cite:last-child {
    margin-bottom: 0
}

.two-columns .strip__text,
.two-columns:not(.strip__data) {
    -moz-column-gap: var(--hpad, var(--vpad));
    column-gap: var(--hpad, var(--vpad));
    -moz-columns: 18.75rem 2;
    columns: 18.75rem 2
}

.two-columns .strip__text [class*=__title],
.two-columns:not(.strip__data) [class*=__title] {
    -moz-column-span: all;
    column-span: all
}

.two-columns .strip__text li,
.two-columns:not(.strip__data) li {
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.three-columns .strip__text,
.three-columns:not(.strip__data) {
    -moz-column-gap: var(--hpad, var(--vpad));
    column-gap: var(--hpad, var(--vpad));
    -moz-columns: 14.0625rem 3;
    columns: 14.0625rem 3
}

.three-columns .strip__text [class*=__title],
.three-columns:not(.strip__data) [class*=__title] {
    -moz-column-span: all;
    column-span: all
}

.three-columns .strip__text li,
.three-columns:not(.strip__data) li {
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.image-grid {
    display: grid;
    gap: var(--vpad);
    grid-auto-flow: dense;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr))
}

.image-grid__item {
    display: block;
    position: relative
}

.is-mouse .image-grid__item:hover .image-grid__text {
    opacity: 1
}

.image-grid__item.wide {
    grid-column-end: span 2
}

.image-grid__item.tall {
    grid-row-end: span 2
}

.image-grid__item img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.image-grid__text {
    align-items: center;
    color: var(--colTitle, inherit);
    display: flex;
    font-size: max(var(--titleSize)/2, 2em);
    justify-content: center;
    opacity: 0;
    padding: 1rem;
    pointer-events: none;
    text-align: center;
    z-index: 1
}

.image-grid__text,
.image-grid__text:before {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.image-grid__text:before {
    background: var(--igBg, #fff);
    content: "";
    opacity: .7;
    z-index: -1
}

.socials__list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0
}

.socials__list li {
    margin: .75em 0 .75em 1.5em
}

.link-list {
    line-height: normal;
    list-style: none;
    padding: 0
}

.link-list li {
    margin-bottom: calc(var(--vpad)/2);
    padding-left: 1.5em;
    position: relative
}

.link-list li:before {
    color: var(--colContrasto);
    left: 0;
    position: absolute;
    top: .1em
}

.link-list a {
    color: inherit;
    display: block
}

.link-list a:hover {
    color: var(--colContrasto)
}

.bg-np {
    background: var(--bgStrip, transparent);
    background-image: var(--bgImage, none);
    color: var(--strip-text-color, inherit)
}

@media screen and (min-width:50em) {
    .bg-half-white {
        --bgImage: linear-gradient(5deg, #fff calc(var(--vpad)*3), transparent 0)
    }

    .bg-half-black {
        --bgImage: linear-gradient(5deg, var(--colNero) calc(var(--vpad)*3), transparent 0)
    }

    .bg-half-black .strip__text_>:not(.strip__image) {
        filter: Invert(100%);
        mix-blend-mode: difference
    }

    .bg-half-grey {
        --bgImage: linear-gradient(5deg, var(--colGrigioChiaro) calc(var(--vpad)*3), transparent 0)
    }
}

.bg-np-black {
    --bgStrip: var(--colNero);
    --colDots: var(--colBianco);
    --strip-text-color: var(--colBianco);
    --colTitle: var(--colBianco)
}

.bg-np-black a:not(.button) {
    color: inherit
}

.bg-np-black a:not(.button):hover {
    color: var(--colContrasto)
}

.bg-np-white {
    --bgStrip: var(--colBianco);
    --strip-text-color: var(--colText)
}

.bg-np-white a:not(.button) {
    color: var(--colLink)
}

.bg-np-white a:not(.button):hover {
    color: var(--colLinkHover)
}

.bg-np-grey {
    --bgStrip: var(--colGrigioLeggero)
}

@media screen and (min-width:50em) {
    .bg-half-custom-1 {
        --bgImage: linear-gradient(5deg, var(--colPrimario) calc(var(--vpad)*3), transparent 0);
        --colTitle: var(--colContrasto)
    }

    .bg-half-custom-2 {
        --bgImage: linear-gradient(5deg, var(--colContrastoLeggero) calc(var(--vpad)*3), transparent 0)
    }

    .bg-half-custom-3 {
        --bgImage: linear-gradient(5deg, var(--colPrimario) calc(var(--vpad)*3), transparent 0)
    }

    .bg-half-custom-4 {
        --bgImage: linear-gradient(5deg, var(--colContrastoChiaro) calc(var(--vpad)*3), transparent 0)
    }

    .bg-half-dark {
        --bgImage: linear-gradient(5deg, var(--colContrasto) calc(var(--vpad)*3), transparent 0)
    }
}

.bg-custom-1 {
    --bgStrip: var(--colPrimario);
    --colDots: var(--colBianco);
    --strip-text-color: var(--colBianco)
}

.bg-custom-2 {
    --bgStrip: var(--colContrastoLeggero)
}

.bg-custom-3 {
    --bgStrip: var(--colPrimarioChiaro);
    --colTitle: var(--colBianco);
    --colDots: var(--colBianco);
    --strip-text-color: var(--colBianco)
}

.bg-custom-4 {
    --bgStrip: var(--colAlternate);
    --colTitle: var(--colBianco);
    --colDots: var(--colBianco);
    --strip-text-color: var(--colBianco)
}

.bg-np-dark {
    --bgStrip: var(--colContrasto);
    --colDots: var(--colBg);
    --strip-text-color: var(--colBianco)
}

.bg-np-dark a:not(.button):not(.read-more) {
    color: inherit
}

.bg-np-dark a:not(.button):not(.read-more):hover {
    color: var(--colContrasto)
}

.np-cursor.slick-cursor-dark {
    --cursorBg: #fff;
    --cursorBorder: var(--colText);
    --cursorText: var(--colText)
}

.cursor-down .np-cursor__text:before,
.cursor-drag .np-cursor__text:before,
.cursor-left .np-cursor__text:before,
.cursor-right .np-cursor__text:before,
.cursor-up .np-cursor__text:before,
.slick-cursor-left .np-cursor__text:before,
.slick-cursor-right .np-cursor__text:before {
    font-size: var(--iconSize, 2em);
    margin: 0
}

.cursor-drag .np-cursor__text:before {
    --iconSize: 2em
}

.buttons {
    margin-top: calc(var(--vpad)/2)
}

.page__content,
.page__footer {
    opacity: 1
}

.page--nobanner .page__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding-top: calc(var(--header-height)/16*1em/var(--fontSize))
}

.page__content--fixed-row .page__content {
    display: grid;
    grid-template-columns: minmax(10vw, auto) minmax(50vw, 1fr);
    position: relative
}

.page__content--fixed-row .page__content .strip {
    grid-column: 2/2
}

.page__content--fixed-row .page__content .strip .container,
.page__content--fixed-row .page__content .strip .menu__row {
    margin-left: 0
}

.page__content--fixed-row .page__content .strip--fixed-row {
    --hpad: calc(var(--vpad)/2);
    grid-column: 1/1;
    grid-row: 1/50;
    padding-top: calc(var(--header-height)*1px);
    width: 33vw
}

.page__content--fixed-row .page__content .strip--fixed-row.strip--narrow {
    width: 12em
}

@media screen and (max-width:43.75em) {
    .page__content--fixed-row .page__content .strip--fixed-row.strip--narrow {
        width: 9em
    }
}

.page__content--fixed-row .page__content .strip--fixed-row.strip--narrow~.strip .container,
.page__content--fixed-row .page__content .strip--fixed-row.strip--narrow~.strip .menu__row {
    margin-left: auto
}

.page__content--fixed-row .page__content .strip--fixed-row .strip__data {
    height: 100%
}

.page__content--fixed-row .page__content .strip--fixed-row .container,
.page__content--fixed-row .page__content .strip--fixed-row .menu__row {
    height: 100%;
    margin-left: auto;
    margin-right: 0;
    max-width: 21.875rem
}

.page__content--fixed-row .page__content>.strip:first-child {
    padding-top: calc(var(--header-height)/16*1em)
}

@media screen and (max-width:43.75em) {
    .page__content--fixed-row[data-fixed-stop] .page__content {
        display: block
    }

    .page__content--fixed-row[data-fixed-stop] .page__content .strip--fixed-row {
        width: auto !important
    }

    .page__content--fixed-row[data-fixed-stop] .page__content .strip--fixed-row .container,
    .page__content--fixed-row[data-fixed-stop] .page__content .strip--fixed-row .menu__row {
        margin-left: auto;
        margin-right: auto
    }

    .page__content--fixed-row[data-fixed-stop] .page__content .strip .container,
    .page__content--fixed-row[data-fixed-stop] .page__content .strip .menu__row {
        margin-left: auto
    }
}

.banner {
    --colDots: #fff;
    overflow: hidden;
    position: relative
}

.banner.TR {
    --objPosition: 100% 0
}

.banner.BR {
    --objPosition: 100% 100%
}

.banner.BL {
    --objPosition: 0 100%
}

.banner.TL {
    --objPosition: 0 0
}

.banner .slick-dots {
    bottom: calc(var(--vpad)/2);
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    z-index: 10
}

.banner .slick-dots a {
    margin: 0 .5em;
    position: static
}

.banner__slide,
.banner__slider {
    height: 60vh
}

.home .banner__slide,
.home .banner__slider {
    height: calc(60vh + var(--header-height)*1px)
}

.banner__slider {
    overflow: hidden;
    padding: 0;
    z-index: 1
}

.banner__slider__container {
    overflow: hidden
}

.banner__slide {
    display: block !important;
    width: 100%
}

.banner__video {
    bottom: 0;
    top: 0;
    z-index: 1
}

.banner__text,
.banner__video {
    left: 0;
    position: absolute;
    right: 0
}

.banner__text {
    text-align: center;
    top: 50%;
    transform: translate3D(0, -50%, 0);
    z-index: 5
}

.banner__buttons {
    margin-top: calc(var(--vpad)/2)
}

.accordion__switch {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between
}

.accordion__panel {
    display: none
}

.accordion__panel.open,
.no-js .accordion__panel {
    display: block
}

.toggle__switch {
    align-items: center;
    border-bottom: 1px solid;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: .5em 1em
}

.toggle__switch:after {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    font-size: 1rem;
    justify-content: center;
    margin: 0 0 0 calc(var(--vpad)/4)
}

.toggle__panel {
    display: none
}

.no-js .toggle__panel {
    display: block
}

.np-logo {
    max-width: 400px !important
}

[data-image-link] {
    color: inherit;
    cursor: none;
    display: inline-block;
    position: relative
}

.image__link {
    align-items: center;
    color: var(--colText);
    display: flex;
    font-size: 2.5em;
    height: 2em;
    justify-content: center;
    left: 50%;
    padding: .2em;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2em;
    z-index: 20
}

.image__link:before {
    margin: 0
}

.image__link:after {
    border: 1px solid var(--colContrasto);
    border-radius: 50%;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0
}

.image__link--float {
    pointer-events: none;
    position: fixed
}

.image__link.hidden {
    display: none
}

.image__credits {
    font-size: .8rem;
    position: relative;
    text-align: right;
    z-index: 10
}

[data-drag-scroll] {
    cursor: grab;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

[data-drag-scroll].is-dragging {
    cursor: grabbing
}

.map-content {
    color: var(--colText);
    font-size: 1rem;
    min-width: 16em;
    padding: .2em;
    text-align: center
}

.gm-style .gm-style-iw {
    border-radius: 8px;
    box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .3)
}

.gm-style .gm-style-iw button {
    height: auto !important;
    right: 3px !important;
    top: 3px !important;
    width: auto !important
}

.gm-style .gm-style-iw button:before {
    color: var(--colNero);
    font-size: 1rem;
    margin: 0
}

.gm-style .gm-style-iw button img,
.gm-style .gm-style-iw button span {
    display: none !important
}

.page__footer {
    flex: 0 0 auto;
    margin-top: auto;
    opacity: 1
}

.scroll-top {
    --aniProp: opacity, visibility, background;
    bottom: 1rem;
    display: block;
    opacity: 0;
    position: fixed;
    right: var(--vpad);
    visibility: hidden;
    z-index: 20
}

@media screen and (max-width:36em) {
    .scroll-top {
        font-size: .8em
    }
}

.opaque .scroll-top {
    opacity: 1;
    visibility: visible
}

.m-open .opaque .scroll-top {
    opacity: 1;
    visibility: hidden
}

.scroll-top a {
    align-items: center;
    display: flex;
    flex-flow: column nowrap;
    font-size: 1em;
    height: 2.5em;
    justify-content: center;
    line-height: 1.1;
    opacity: .5;
    padding: .5em;
    text-align: center;
    width: 2.5em
}

.scroll-top a:before {
    font-size: 1.3em;
    margin: 0;
    width: auto
}

.scroll-top a:hover {
    opacity: 1
}

.slickslider .strip .container,
.slickslider .strip .menu__row {
    max-width: none;
    padding-left: 0;
    padding-right: 0
}

.strip.bg-narrow .container,
.strip.bg-narrow .menu__row {
    border-radius: 2rem
}

.strip--full-height .container,
.strip--full-height .menu__row {
    align-self: center;
    max-height: 40vh;
    overflow: hidden
}

.strip--full-height .strip__text {
    height: auto
}

@media screen and (min-width:43.76em) {

    .strip__column ol,
    .strip__column ul {
        --ulPad: 1.5em
    }

    .strip__column.full-height .strip__image:only-child img {
        height: calc(100vh - var(--header-height, 0)*1px);
        -o-object-fit: cover;
        object-fit: cover
    }
}

.strip__image--wide img {
    width: 100%
}

.strip__image--oval .strip__image {
    border-radius: 30em;
    overflow: hidden
}

.strip__image--mask img {
    -webkit-mask-image: url(/img/video-clip-mask-new.png);
    mask-image: url(/img/video-clip-mask-new.png);
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: 2500% 100%;
    mask-size: 2500% 100%
}

.strip__image--rounded .strip__image {
    border-radius: 40vw;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden
}

.strip__image--rounded .strip__text .button {
    --ph: 2em;
    --Y: 1;
    --X: 0;
    --colTextBottoni: var(--colBianco);
    background: var(--colNero);
    border-color: var(--colNero);
    clip-path: inset(0 0 100% 0);
    font-size: 1.2em;
    font-style: italic;
    transform: translate3d(0, 100%, 0)
}

.strip__image--rounded .strip__text .button:before {
    display: none
}

.strip__image--rounded.show-bt .strip__text .button {
    clip-path: inset(0 0 0 0);
    transform: none
}

.strip__gallery__link {
    color: inherit
}

.strip__gallery__title {
    font-size: 1.2em;
    font-style: italic;
    text-align: left;
    transform: rotate(-90deg) translateY(-100%);
    transform-origin: 0 0
}

:is(.strip__gallery__item, #f) {
    padding-left: 2em
}

.strip__gallery--slider .strip__gallery:hover .slick-arrow:not(.slick-disabled),
.strip__gallery.slickslider:hover .slick-arrow:not(.slick-disabled) {
    opacity: 1
}

.strip__gallery--slider .strip__gallery .slick-arrow,
.strip__gallery.slickslider .slick-arrow {
    background: rgba(0, 0, 0, .4)
}

.is-mouse .strip__gallery--slider .strip__gallery .slick-arrow,
.is-mouse .strip__gallery.slickslider .slick-arrow {
    opacity: 0
}

.strip__gallery--slider .strip__gallery .slick-arrow:hover,
.strip__gallery.slickslider .slick-arrow:hover {
    --colTextBottoni: var(--colBianco)
}

.strip__gallery--slider .strip__gallery .slick-next,
.strip__gallery.slickslider .slick-next {
    --btTransform: none
}

.strip__gallery--slider .strip__gallery .slick-prev,
.strip__gallery.slickslider .slick-prev {
    --btTransform: translateY(-100%)
}

.strip__gallery--slider .strip__gallery img,
.strip__gallery.slickslider img {
    height: 300px;
    max-height: 100%;
    max-width: 80vw;
    width: auto
}

@media screen and (min-width:50em) {

    .strip__gallery--slider .strip__gallery img,
    .strip__gallery.slickslider img {
        height: 500px
    }
}

.builder .strip__gallery--slider .strip__gallery img,
.builder .strip__gallery.slickslider img {
    height: auto;
    width: 100%
}

.strip--wide .strip__gallery.slickslider,
.strip--wide.strip__gallery--slider .strip__gallery {
    margin-left: auto;
    margin-right: 0;
    max-width: calc(50% + 43.75rem);
    width: calc(100vw - var(--vpad))
}

.builder .strip--wide .strip__gallery.slickslider,
.builder .strip--wide.strip__gallery--slider .strip__gallery {
    margin: 0;
    max-width: none;
    width: auto
}

.strip--wide .strip__gallery.slickslider .slick-list,
.strip--wide.strip__gallery--slider .strip__gallery .slick-list {
    padding-right: 20%
}

.strip__gallery__counter {
    align-items: center;
    display: none;
    font-size: .9em;
    gap: .5em;
    margin: calc(var(--vpad)/2) var(--container-pad, var(--vpad)) 0 auto;
    max-width: var(--counterWidth, 20em);
    position: relative
}

.js-slick-counter .strip__gallery__counter {
    display: flex
}

.strip__gallery__current,
.strip__gallery__total {
    flex: 0 0 auto
}

.strip__gallery__scrollbar {
    background: var(--colGrigioMedio);
    flex: 1 1 auto;
    height: 1px;
    position: relative;
    width: 100%
}

.strip__gallery__scrollbar:before {
    background: var(--colContrasto);
    border-radius: 1px;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    top: -1px;
    transform-origin: 0 50%;
    width: var(--thumbWidth, 0)
}

.strip__counter__values {
    text-align: inherit
}

.strip__counter__values canvas {
    display: none
}

.strip__counter__values__main {
    color: var(--strip-text-color);
    font-size: 3.8em
}

.strip__counter__values__main span {
    color: var(--colContrasto)
}

.strip__blurb__item[class*=bg-custom],
.strip__blurb__item[class*=bg-np],
[class*=bg-custom].strip__blurb__link,
[class*=bg-np].strip__blurb__link {
    padding: var(--vpad)
}

::-moz-selection {
    background-color: var(--colContrasto);
    color: var(--colBianco)
}

::selection {
    background-color: var(--colContrasto);
    color: var(--colBianco)
}

.button {
    --p: 0.75em;
    --ph: 1.5em;
    --aniX: var(--X, -1);
    --aniY: var(--Y, 0);
    --aniExclude: outline, outline-offset;
    align-items: center;
    background: var(--colFondoBottoni, transparent);
    border: 2px solid var(--colBordoBottoni, var(--colContrasto));
    border-radius: calc(var(--p) + 1em);
    color: var(--colTextBottoni, inherit);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-family: Bembo, Georgia, serif;
    font-size: 1.3em;
    font-style: italic;
    font-weight: 400;
    justify-content: center;
    line-height: 1.2;
    overflow: hidden;
    padding: var(--p) calc(var(--p) + var(--ph)) calc(var(--p) - .2em);
    position: var(--buttonPosition, relative);
    text-align: center;
    transform: var(--btTransform, scale3d(1, 1, 1));
    width: 100%;
    z-index: var(--buttonZ, 1)
}

@media screen and (min-width:36em) {
    .button {
        width: auto
    }
}

:where(.button)+.button {
    margin-top: 1em
}

@media screen and (min-width:36em) {
    :where(.button)+.button:not(.button--wide) {
        margin-left: 1em;
        margin-top: 0
    }

    .np_a11y :where(.button)+.button:not(.button--wide) {
        margin-left: 2.5em
    }
}

.button:after {
    background: var(--colBordoBottoni, var(--colContrasto));
    border-radius: calc(var(--p) + 1em);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate3d(calc(var(--aniX)*100%), calc(var(--aniY)*100%), 0);
    z-index: -1
}

.button:hover,
a:hover .button:not(.button--shy) {
    color: var(--colBianco)
}

.button:hover:after,
a:hover .button:not(.button--shy):after {
    opacity: 1;
    transform: none
}

.button--small {
    --p: 0.25em
}

.button--big {
    --p: 1.25em
}

.button--wide {
    display: flex;
    margin-left: 0;
    margin-right: 0;
    width: 100%
}

.button--alternate {
    --colBordoBottoni: var(--colPrimario)
}

.button--filled:after {
    opacity: 1;
    transform: none
}

.button--filled:hover {
    opacity: .7;
    transform: var(--btTransform, scale3d(1.1, 1.1, 1))
}

.button--white {
    --colTextBottoni: var(--colNero);
    --colFondoBottoni: var(--colBianco)
}

.button--no-button {
    border: none;
    color: var(--colTextBottoni, inherit)
}

.button--no-button:after {
    display: none
}

.button--no-button:hover {
    --colTextBottoni: unset;
    color: var(--colContrasto)
}

.button--icon {
    --aniTime: .3s;
    padding: calc(var(--p) - .2em);
    width: auto
}

.button--icon:before {
    font-size: 1.1em;
    margin: 0
}

.button--rounded {
    border-radius: 50%;
    height: var(--buttonHeight, 4em);
    padding: var(--p);
    width: var(--buttonHeight, 4em)
}

.button--disabled {
    --colTextBottoni: var(--colGrigioScuro);
    --colBordoBottoni: var(--colGrigio);
    cursor: auto;
    opacity: .5;
    pointer-events: none
}

.button[href^=http]:not(.button--standard):before {
    margin-left: .5em;
    margin-right: 0;
    order: 2
}

@media only screen and (min-width:430px) {
    .header__shortcut {
        --display: initial
    }
}

@media screen and (min-width:43.75em) {
    .header__shortcut {
        font-size: 1.2em;
        margin-top: .25rem
    }
}

.menu__container {
    bottom: 0;
    color: var(--colBianco);
    display: flex;
    left: 0;
    line-height: 1.2;
    padding: calc(var(--header-height)/16*1em*var(--fontSize)) 0 calc(var(--vpad)/2);
    position: fixed;
    right: 0;
    top: 0;
    transform: none;
    transition-delay: .8s;
    z-index: 1
}

@media screen and (min-width:43.75em) {
    .menu__container {
        padding-left: var(--vpad);
        padding-right: var(--vpad)
    }
}

.menu__container:after,
.menu__container:before {
    background: var(--colNero);
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    transition-delay: .3s;
    width: 50%;
    z-index: -1
}

.menu__container:before {
    left: 0;
    transform: translate3d(-100%, 0, 0)
}

.menu__container:after {
    right: 0;
    transform: translate3d(100%, 0, 0)
}

.m-open .menu__container {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}

.m-open .menu__container,
.m-open .menu__container:after,
.m-open .menu__container:before {
    transform: none;
    transition-delay: 0s
}

.menu__container a {
    color: inherit
}

.menu__container a:hover {
    color: var(--colContrastoScuro)
}

@media screen and not (prefers-reduced-motion:reduce) {
    .menu__container li {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
        transition-delay: 0s;
        transition-property: opacity, transform
    }

    .m-open .menu__container li,
    .no-js .menu__container li {
        opacity: 1;
        transform: none
    }

    .m-open .menu__container li:first-child,
    .no-js .menu__container li:first-child {
        transition-delay: .55s
    }

    .m-open .menu__container li:nth-child(2),
    .no-js .menu__container li:nth-child(2) {
        transition-delay: .6s
    }

    .m-open .menu__container li:nth-child(3),
    .no-js .menu__container li:nth-child(3) {
        transition-delay: .65s
    }

    .m-open .menu__container li:nth-child(4),
    .no-js .menu__container li:nth-child(4) {
        transition-delay: .7s
    }

    .m-open .menu__container li:nth-child(5),
    .no-js .menu__container li:nth-child(5) {
        transition-delay: .75s
    }

    .m-open .menu__container li:nth-child(6),
    .no-js .menu__container li:nth-child(6) {
        transition-delay: .8s
    }

    .m-open .menu__container li:nth-child(7),
    .no-js .menu__container li:nth-child(7) {
        transition-delay: .85s
    }

    .m-open .menu__container li:nth-child(8),
    .no-js .menu__container li:nth-child(8) {
        transition-delay: .9s
    }

    .m-open .menu__container li:nth-child(9),
    .no-js .menu__container li:nth-child(9) {
        transition-delay: .95s
    }

    .m-open .menu__container li.off,
    .no-js .menu__container li.off {
        opacity: .5
    }
}

.menu__divider {
    background: var(--colBianco);
    display: none;
    height: 100%;
    left: 50%;
    margin-left: -4px;
    position: absolute;
    top: 0;
    transform: scaleY(0);
    transform-origin: 50% 0;
    transition-delay: 0s;
    width: 8px;
    z-index: 0
}

@media screen and (min-width:43.75em) {
    .menu__divider {
        display: block
    }
}

.m-open .menu__divider {
    transform: none;
    transition-delay: .3s
}

.menu__row {
    display: grid;
    gap: calc(var(--vpad)/2);
    margin: auto;
    max-height: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 0 calc(var(--vpad)/2);
    width: 100%;
    -webkit-overflow-scrolling: touch
}

@media screen and (min-width:43.75em) {
    .menu__row {
        display: flex;
        gap: calc(var(--vpad)*2);
        height: 100%;
        overflow: visible;
        overscroll-behavior: auto;
        padding: 0
    }
}

.menu__main {
    margin: auto 0;
    width: 100%
}

@media screen and (min-width:43.75em) {
    .menu__main {
        max-height: 100%;
        overflow: auto;
        padding-right: 1em;
        width: 50%
    }
}

.menu__main li {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 2vh
}

@media screen and (min-width:43.75em) {
    .menu__main li {
        justify-content: flex-start
    }
}

.menu__main li:first-child {
    margin-top: 0
}

.menu__main a {
    font-size: clamp(2.5em, 4vw, 5.2em)
}

.menu__main a,
.menu__side a {
    display: inline-grid;
    grid-template-areas: "main";
    line-height: 1.2;
    transition: none
}

.menu__main a span,
.menu__side a span {
    clip-path: inset(0 0 0 0);
    display: block;
    grid-area: main;
    transition-delay: .3s
}

.menu__main a span+span,
.menu__side a span+span {
    clip-path: inset(0 100% 0 0);
    font-style: italic;
    transition-delay: 0s
}

.is-mouse .menu__main a:hover,
.is-mouse .menu__side a:hover {
    color: inherit
}

.is-mouse .menu__main a:hover span,
.is-mouse .menu__side a:hover span {
    clip-path: inset(0 0 0 100%);
    transition-delay: 0s
}

.is-mouse .menu__main a:hover span+span,
.is-mouse .menu__side a:hover span+span {
    clip-path: inset(0 0 0 0);
    transition-delay: .3s
}

.menu__column {
    display: flex;
    flex-direction: column
}

@media screen and (min-width:43.75em) {
    .menu__column {
        width: 50%
    }
}

.menu__column__footer {
    font-size: .9em
}

@media screen and (min-width:75em) {
    .menu__column__footer {
        align-items: center;
        display: flex
    }
}

.menu__side {
    margin: auto 0
}

@media screen and (min-width:43.75em) {
    .menu__side {
        overflow: auto;
        padding-right: 1em
    }

    .menu__side ul {
        max-width: 20em
    }
}

.menu__side li {
    margin: 1em 0;
    text-align: center
}

@media screen and (min-width:43.75em) {
    .menu__side li {
        text-align: unset
    }
}

.menu__side a {
    font-size: clamp(1.8em, 3vw, 2.5em)
}

.menu__lang ul,
.menu__socials .socials {
    align-items: center;
    display: flex;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (min-width:43.75em) {

    .menu__lang ul,
    .menu__socials .socials {
        justify-content: flex-start
    }
}

.menu__lang ul li,
.menu__socials .socials li {
    border-left: 1px solid;
    margin-left: 1em;
    margin-top: 1em;
    padding-left: 1em
}

.menu__lang ul li:first-child,
.menu__socials .socials li:first-child {
    border-left: none;
    margin-left: 0;
    padding-left: 0
}

.menu__lang ul a,
.menu__socials .socials a {
    color: inherit
}

.menu__socials .socials {
    flex-wrap: wrap
}

.menu__lang {
    text-transform: uppercase
}

@media screen and (min-width:75em) {
    .menu__lang {
        margin-left: auto;
        margin-top: 0
    }
}

.menu__lang a.active {
    font-weight: 600
}

.menu__page {
    background: var(--bgStrip, var(--colBg));
    font-size: .85em;
    line-height: 1.2;
    text-align: center;
    transition-property: background-color;
    z-index: 90
}

.menu__page__container {
    display: block;
    min-height: var(--menuPageHeight, 2.4em)
}

@media screen and (min-width:50em) {
    .menu__page {
        font-size: 1em
    }
}

@media screen and (min-width:68.75em) {
    .menu__page {
        font-size: 1.2em
    }
}

.menu__page.js-fixed {
    color: var(--colText);
    left: 0;
    margin-top: 0;
    position: fixed;
    right: 0;
    top: calc(var(--header-height)*1px);
    transform: none
}

.menu__page.js-fixed,
.menu__page.js-fixed a:after {
    background: var(--colBg)
}

.menu__page ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: .75em 0;
    padding-left: var(--container-pad, var(--vpad));
    padding-right: var(--container-pad, var(--vpad));
    position: relative;
    z-index: 1
}

@media screen and (min-width:50em) {
    .menu__page ul {
        flex-wrap: nowrap;
        gap: clamp(1em, 2vw, var(--vpad))
    }
}

.menu__page ul:after {
    border-top: 2px solid var(--colContrasto);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1
}

@media screen and (min-width:50em) {
    .menu__page ul:after {
        bottom: 1.25em
    }
}

.menu__page a {
    color: inherit
}

@media screen and (min-width:50em) {
    .menu__page a:after {
        background: var(--bgStrip, var(--colBg));
        border: 2px solid;
        border-radius: 50%;
        content: "";
        display: block;
        height: 1em;
        margin: .2em auto 0;
        pointer-events: none;
        visibility: hidden;
        width: 1em
    }
}

.menu__page a.active {
    color: var(--colContrasto)
}

.menu__page a.active:after {
    visibility: visible
}

.page__content {
    padding-top: calc(var(--header-height)/16*1em/var(--fontSize))
}

.home .page__content {
    padding-top: 0
}

.banner__slide,
.banner__slider {
    height: calc(100vh - var(--header-height, 0)*1px)
}

.home .banner__slide,
.home .banner__slider {
    height: 100vh
}

.banner__text {
    max-width: 100%
}

.event__banner .banner__text,
.home .banner__text {
    bottom: 25%;
    text-align: left;
    top: auto;
    transform: none
}

.banner__text__container {
    --aniProp: transform, opacity
}

.banner__text__container .event__banner,
.home .banner__text__container {
    max-width: 43.75rem
}

.banner__text__container>* {
    transform: translate3d(0, 70%, 0)
}

.home .banner__text__container>* {
    opacity: 0;
    transform: translate3d(70%, 0, 0)
}

.banner__text__container>:first-child {
    transition-delay: .05s
}

.banner__text__container>:nth-child(2) {
    transition-delay: .1s
}

.banner__text__container>:nth-child(3) {
    transition-delay: .15s
}

.banner__text__container>:nth-child(4) {
    transition-delay: .2s
}

.banner__text__container>:nth-child(5) {
    transition-delay: .25s
}

.banner__text__container>:nth-child(6) {
    transition-delay: .3s
}

.no-js .banner__text__container>*,
.slick-active .banner__text__container>* {
    opacity: 1;
    transform: none
}

.banner__abstract {
    font-size: 1.1em
}

.banner .slick-dots {
    bottom: var(--vpad)
}

.banner__credits {
    bottom: calc(var(--vpad)/3);
    font-size: .7em;
    right: var(--vpad)
}

.banner__credits,
.banner__icon {
    color: var(--colBianco);
    position: absolute;
    z-index: 5
}

.banner__icon {
    align-items: center;
    bottom: calc(var(--vpad)/2);
    display: grid;
    grid-template-areas: "main";
    justify-content: center;
    left: 50%;
    margin: 0;
    text-align: center;
    transform: translateX(-50%)
}

.banner__icon span {
    font-size: 2em;
    grid-area: main
}

.banner__icon span:before {
    margin: 0
}

@media screen and not (prefers-reduced-motion:reduce) {
    .banner__icon--2 {
        animation: scroll 2.5s infinite;
        animation-delay: .5s
    }
}

@keyframes scroll {
    0% {
        opacity: 0;
        transform: translate3D(0, -25%, 0)
    }

    50% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translate3D(0, 25%, 0)
    }
}

.breadcrumbs {
    padding: .3em 0
}

.breadcrumbs.js-fixed {
    background: var(--colBianco);
    left: 0;
    margin-top: 0;
    position: fixed;
    right: 0;
    top: calc(var(--header-height)*1px + var(--menuPageHeight, 0px));
    transform: none;
    z-index: 89
}

.breadcrumbs a {
    color: inherit;
    font-weight: 600
}

.breadcrumbs span {
    font-size: .85em
}

.breadcrumbs span:not(:first-child):before {
    border-top: 1px solid;
    content: "";
    display: inline-block;
    height: 1px;
    margin: 0 .4em 0 .2em;
    vertical-align: middle;
    width: calc(var(--vpad)/2)
}

.js-main-title .container,
.js-main-title .menu__row {
    display: grid;
    grid-template-areas: "main"
}

.js-main-title .strip__data {
    grid-area: main
}

.js-main-title .original {
    clip-path: inset(100% 0 0)
}

.js-main-title .clone {
    --colTitle: var(--colBianco);
    clip-path: inset(0 0 0)
}

.scroll-title-fixed {
    left: 50%;
    position: fixed;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    z-index: 20
}

.link-box__grid {
    display: grid;
    gap: var(--vpad) 1rem
}

@media screen and (min-width:50em) {
    .link-box__grid {
        grid-template-columns: repeat(var(--linkNumber, 2), minmax(1em, 1fr))
    }

    .link-box--3 {
        --linkNumber: 3
    }
}

@media screen and (min-width:75em) {
    .link-box--4 {
        --linkNumber: 4
    }
}

.link-box__slider .link-box__item {
    height: 100%;
    padding-right: 1rem
}

.link-box__item {
    --colTitle: var(--colBianco);
    color: var(--colBianco);
    display: grid;
    grid-template-areas: "main";
    grid-template-columns: minmax(1em, 1fr);
    height: 100%;
    position: relative;
    text-decoration: none !important;
}
.link-box__item:hover .link-box__text h2{
    color: #FFF !important;
}

.link-box__item:hover .link-box__text{
    /* padding-top: 250px; */
    justify-content: end;
}

@media screen and (min-width:43.75em) {
    .link-box__item {
        --colTitle: unset;
        align-items: end;
        color: inherit;
        --clipV: 0%;
        --clipH: 0%;
        --clipBase: 60%
    }
}

@media screen and (min-width:75em) {
    .link-box__item {
        --clipBase: 0%
    }
}

.link-box__item:hover {
    --colTitle: var(--colBianco);
    color: var(--colBianco)
}

@media screen and (min-width:43.75em) {
    .link-box__item:hover .link-box__image {
        clip-path: inset(0 0 0 0)
    }

    .link-box__item:hover .link-box__image:after {
        opacity: .5
    }

    .link-box__item:hover .link-box__image img {
        transform: none
    }

    .link-box__item:hover .link-box__title {
        transform: translate3d(0, var(--titY, 0), 0)
    }

    .link-box__item:hover .link-box__abstract {
        opacity: 0;
        transform: translate3d(0, 2em, 0)
    }

    .link-box__item:hover .link-box__cta .read-more {
        color: var(--colBianco);
        opacity: 1;
        transform: none;
    }
}

.link-box__image {
    grid-area: main;
    height: 100%;
    position: relative;
    border-radius: 12px; /* Adds rounded corners */
    overflow: hidden; /* Ensures the border-radius visually applies */
}

@media screen and (min-width:43.75em) {
    .link-box__image {
        clip-path: inset(var(--clipV, 0) var(--clipH, 10%) var(--clipBase, 70%) var(--clipH, 10%))
    }
}


@media screen and (min-width:768px) {
    .link-box__image:after {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        content: '';
        top: auto;   
        height: 100%;
        transition: var(--aniTime, .6s) cubic-bezier(.645, .045, .355, 1) !important;
        background: linear-gradient(0deg, rgb(12 12 12 / 70%) 0, transparent 100%);
        z-index: 1;
        border-radius: 12px;
        pointer-events: none;
        transform: translate3d(0, -40%, 0);
    }
}

/* @media screen and (min-width:43.75em) {
    .link-box__image:after {
        background: linear-gradient(0deg, rgb(12 12 12 / 70%) 0, transparent 100%);
       
    }
} */
.link-box__image figure{
    border-radius: 12px;
}

.link-box__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 12px;
}

@media screen and (min-width:43.75em) {
    .link-box__image img {
        transform: translate3d(0, -40%, 0)
    }
}

.link-box__text {
    display: flex;
    flex-direction: column;
    grid-area: main;
    justify-content: center;
    padding: 1em;
    z-index: 1
}

@media screen and (min-width:50em) {
    .link-box__text {
        height: 100%;
        justify-content: flex-end;
        padding: calc(var(--vpad)/3 + var(--txtPad, 0px)) calc(var(--vpad)/2) calc(var(--vpad)/3)
    }
}

@media screen and (min-width:81.25em) {
    .link-box__text {
        padding: calc(var(--vpad)/2 + var(--txtPad, 0px)) var(--vpad) calc(var(--vpad)/2);
        padding-top: 288px;
    }
}

.link-box__title {
    --aniProp: color, transform;
    margin-bottom: 0
}

.link-box__abstract {
    display: none
}

@media screen and (min-width:36em) {
    .link-box__abstract {
        display: block
    }
}

.link-box__cta {
    grid-area: main;
    text-align: center;
    margin-top: 1rem;
    color: #fff;
    overflow: hidden;
    position: relative
}

@media screen and (min-width:50em) {
    .link-box__cta {
        margin-top: auto
    }
}

@media screen and (min-width:43.75em) {
    .link-box__cta .read-more {
        opacity: 0;
        transform: translate3d(0, 120%, 0)
    }
}

.link-box--wide .link-box__item {
    --clipH: 0
}

@media screen and (min-width:62.5em) {
    .link-box--wide .link-box__item {
        --clipV: 5%
    }

    .link-box--wide .link-box__text {
        padding-left: calc(var(--vpad)/3);
        padding-right: calc(var(--vpad)/3)
    }
}

.locations__container,
.wines__container {
    padding: 0 var(--vpad);
    width: 100%
}

@media screen and (min-width:43.75em) {

    .locations__container,
    .wines__container {
        display: flex;
        height: calc(100vh - var(--header-height)*1px);
        overflow: hidden;
        padding: 0;
        padding-top: var(--vpad)
    }
}

.locations__list,
.wines__list {
    flex: 0 0 auto;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative
}

@media screen and (min-width:43.75em) {

    .locations__list,
    .wines__list {
        height: var(--size, 100vw);
        width: 100%
    }
}

.locations__item,
.wines__item {
    margin-bottom: var(--vpad)
}

@media screen and (min-width:43.75em) {

    .locations__item,
    .wines__item {
        left: 50%;
        margin-bottom: 0;
        position: absolute;
        top: 0;
        transform: translate3d(-50%, 0, 0) rotate(var(--wheelRotate, 0deg));
        transform-origin: 50% calc(var(--size, 100vw)/2);
        z-index: 1
    }

    .locations__item.active,
    .wines__item.active {
        z-index: 2
    }
}

.locations__link,
.wines__link {
    color: inherit;
    display: block;
    margin-bottom: calc(var(--vpad)/2);
    text-align: center
}

@media screen and (min-width:43.75em) {

    .locations__link,
    .wines__link {
        align-items: center;
        display: flex;
        gap: var(--vpad);
        margin-bottom: 0;
        text-align: unset;
        transform: rotate(calc(var(--wheelRotate, 0deg)*-1));
        transition-property: color
    }
}

.locations__image img,
.wines__image img {
    display: block;
    margin: 0 auto;
    width: auto
}

@media screen and (min-width:43.75em) {

    .locations__image img,
    .wines__image img {
        margin: 0
    }

    .locations__item {
        white-space: nowrap
    }
}

.locations__image {
    border-radius: 50%;
    margin: 0 auto 1em;
    max-width: 24em;
    overflow: hidden
}

@media screen and (min-width:43.75em) {
    .locations__image {
        margin: 0;
        max-width: 30vw;
        width: 500px
    }
}

.locations__image img {
    height: auto;
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width:43.75em) {
    .locations__link {
        transform-origin: min(20vw, 250px) 50%
    }

    li:nth-child(odd) .locations__link {
        transform-origin: calc(100% - min(15vh, 250px)) 50%
    }

    li:nth-child(odd) .locations__text {
        order: -1;
        text-align: right
    }
}

.image-map .strip__image {
    margin-bottom: 0
}

.image-map .strip__text {
    grid-column: 1/1;
    grid-row: 1/1;
    height: 100%;
    max-width: none !important;
    padding: 0 !important;
    position: relative;
    width: 100%
}

.image-map__point {
    color: var(--colText);
    position: absolute;
    z-index: 1
}

.image-map__point:after,
.image-map__point:before {
    border-radius: 50%;
    bottom: -.5em;
    content: "";
    height: 1em;
    left: -.5em;
    opacity: .5;
    position: absolute;
    width: 1em
}

.image-map__point:before {
    border: 1px solid transparent
}

.image-map__point:after {
    background: var(--colPrimario)
}

.image-map__point span {
    background: var(--colBianco);
    opacity: 0;
    padding: .3em;
    text-align: center;
    top: 1em;
    visibility: hidden;
    white-space: nowrap;
    z-index: 1
}

.image-map__point span,
.image-map__point span:before {
    left: 50%;
    position: absolute;
    transform: translateX(-50%)
}

.image-map__point span:before {
    border: .5em solid transparent;
    border-bottom: .5em solid var(--colBianco);
    bottom: 100%;
    content: "";
    width: .5em;
    z-index: 0
}

.image-map__point:hover {
    z-index: 5
}

.image-map__point:hover:before {
    border-color: var(--colPrimario);
    transform: scale3d(1.4, 1.4, 1)
}

.image-map__point:hover:after {
    transform: scale3d(1.1, 1.1, 1)
}

.image-map__point:hover span {
    opacity: 1;
    visibility: visible
}

.wines__container {
    --size: 100vh
}

.wines__image img {
    height: 40vh;
    max-height: 500px;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain
}

@media screen and (min-width:43.75em) {
    .wines__link {
        max-width: 35em;
        transform-origin: calc(100% - min(10vh, 125px)) 50%
    }

    .wines__text {
        order: -1;
        text-align: right
    }
}

.wines-box__grid {
    display: grid;
    gap: var(--vpad) 1rem
}

@media screen and (min-width:50em) {
    .wines-box__grid {
        grid-template-columns: repeat(var(--linkNumber, 3), minmax(1em, 1fr))
    }
}

.wines-box__item {
    color: inherit
}

.wines-box__item:hover .wines-box__image img {
    transform: scale3d(1.1, 1.1, 1)
}

.wines-box__image {
    margin-bottom: calc(var(--vpad)/2)
}

.wines-box__image img {
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.wines-box__title {
    margin-bottom: 0
}

.product__image {
    display: inline-block;
    margin: 0 auto
}

.product__image img {
    max-height: calc(100vh - var(--header-height)*1px - var(--menuPage-height, 0px));
    -o-object-fit: contain;
    object-fit: contain
}

.product__data {
    display: grid;
    font-size: 1.2em;
    gap: calc(var(--vpad)/2);
    grid-template-columns: 3em auto;
    list-style: none;
    margin: 0;
    padding: 0
}

.product__data--altri {
    grid-template-columns: minmax(1em, 1fr)
}

@media screen and (min-width:56.25em) {
    .product__data--altri {
        grid-template-columns: repeat(5, minmax(1em, 1fr))
    }

    .product__data--altri .product__data__title {
        min-height: 2.4em
    }
}

.product__data__title {
    color: var(--colContrasto);
    font-size: .85rem;
    font-weight: 600;
    margin-bottom: 1em
}

.product__data__icon img {
    margin: 0 auto;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.product__others {
    display: grid;
    gap: var(--vpad);
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (min-width:37.5em) {
    .product__others {
        grid-template-columns: repeat(2, minmax(1em, 1fr))
    }
}

.product__others__link {
    align-items: center;
    color: inherit;
    display: grid;
    gap: calc(var(--vpad)/2);
    grid-template-columns: 25% 1fr
}

.product__others__link:hover .product__others__image img {
    transform: scale3d(1.1, 1.1, 1)
}

.product__others__image {
    align-items: center;
    display: grid;
    grid-template-areas: "main";
    justify-content: center
}

.product__others__image:before {
    aspect-ratio: 1/1;
    background: var(--colContrastoLeggero);
    border-radius: 50%;
    content: "";
    display: block;
    grid-area: main
}

.product__others__image picture {
    grid-area: main
}

.room__equipment ul {
    font-size: 1.1em;
    list-style: none;
    margin: 0;
    padding: 0
}

.room__equipment li {
    border-top: 1px solid;
    padding: 1em 0
}

.room__equipment li:first-child {
    border-top: none
}

.room__equipment__switch {
    --colTitle: var(--colContrasto);
    cursor: pointer;
    display: flex;
    gap: 1em
}

.room__equipment__switch:after {
    margin: 0 0 0 auto
}

.room__equipment__switch.toggle-open:after {
    transform: rotate(180deg)
}

.experience__data {
    font-size: 1.5em;
    font-style: italic;
    list-style: none;
    margin: 1em 0;
    padding: 0
}

.experience__data:first-child {
    margin-top: 0
}

.experience__data:last-child {
    margin-bottom: 0
}

.experience__data li {
    border-bottom: 1px solid var(--colGrigio);
    padding: 1em 0
}

.experience__data li:last-child {
    border: none
}

.experience__data strong {
    color: var(--colContrasto);
    font-weight: 400
}

.news-grid {
    --n: 3;
    --limit: 37.5em;
    display: grid;
    gap: var(--vpad);
    grid-template-columns: repeat(auto-fill, minmax(clamp(100%/(var(--n) + 1) + .1%, (var(--limit) - 100%) * 1000, 230px), 1fr))
}

.news-grid--4 {
    --n: 4
}

.news-grid__slider {
    overflow: hidden
}

.news-grid__slider .slick-list {
    margin-right: calc(var(--vpad)/-2 + .2em)
}

.news-grid__item {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 1
}

.slickslider .news-grid__item {
    padding: 0 calc(var(--vpad)/2) .5em 0
}

.news-grid__link {
    border: 1px solid var(--colContrasto);
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1rem
}

.news-grid__link:hover {
    color: inherit
}

.news-grid__link:before {
    display: none !important
}

.news-grid__link>div:last-child {
    margin-top: auto
}

.news-grid__header,
.news-grid__icon,
.news-grid__text,
.news-grid__title {
    margin-bottom: calc(var(--vpad)/2)
}

@media screen and (min-width:37.5em) {

    .news-grid__header,
    .news-grid__icon,
    .news-grid__text,
    .news-grid__title {
        margin-bottom: calc(var(--vpad)/3)
    }
}

.news-grid__icon {
    overflow: hidden
}

.news-grid__icon img {
    width: 100%
}

.news-grid__header {
    text-align: center
}

.news-grid__headline {
    font-weight: 600;
    text-transform: uppercase
}

.news-grid__text {
    text-align: center
}

.news-grid__title {
    word-wrap: unset;
    -webkit-hyphens: none;
    hyphens: none
}

.press-grid {
    display: grid;
    gap: calc(var(--vpad)*1.5) 1rem;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    text-align: center
}

.press-grid__item {
    align-items: center;
    color: inherit;
    display: flex;
    flex-direction: column
}

.press-grid__item:hover .press-grid__figure img {
    transform: scale3d(1.05, 1.05, 1) translate3d(0, .5em, 0)
}

.press-grid__figure {
    overflow: hidden;
    width: 100%
}

.press-grid__figure img {
    aspect-ratio: 4/3;
    display: block;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.press-grid__text {
    flex: 1 0 auto;
    padding-top: calc(var(--vpad)/2)
}

.press-grid__title {
    color: var(--colTitle, inherit);
    font-size: clamp(1.2em, 1.8vw, 1.8em);
    margin-top: .3em
}

.gm-style .gm-style-iw {
    border-radius: 0
}

.map__content {
    font-size: 1rem;
    text-align: inherit
}

.map__logo {
    height: 24px !important;
    margin: 0 auto 1.5em !important;
    width: auto !important
}

.map__image {
    display: block;
    height: auto;
    margin: 0 auto .7em;
    width: 100%
}

.map__title {
    color: var(--colTitle);
    font-size: 1.4em;
    margin-bottom: .5em
}

.map__text {
    font-size: .9em;
    padding-left: 2.2em
}

.map__marker__type {
    color: var(--colGrigioMedio);
    font-size: .75em;
    text-transform: uppercase
}

.map__marker__title {
    font-weight: 600;
    text-transform: uppercase
}

.slick-slider:hover .slick-arrow:not(.slick-disabled) {
    opacity: 1
}

.slick-slider .slick-arrow {
    background: rgba(0, 0, 0, .4)
}

.is-mouse .slick-slider .slick-arrow {
    opacity: 0
}

.slick-slider .slick-arrow:hover {
    --colTextBottoni: var(--colBianco)
}

.slick-slider-next {
    --btTransform: none
}

.slick-slider-prev {
    --btTransform: translateY(-100%)
}

.page__footer {
    background-color: var(--colNero);
    color: var(--colBianco)
}

.page__footer a {
    color: inherit
}

.footer__socials .socials {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: .85em;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (min-width:37.5em) {
    .footer__socials .socials {
        font-size: 1em
    }
}

.footer__socials .socials li {
    margin-bottom: 1em;
    margin-right: 1.5em
}

.footer__socials .socials li:last-child {
    margin-right: 0
}

.footer__socials .socials a {
    color: inherit
}

.footer__mid {
    padding-bottom: calc(var(--vpad)/2)
}

.footer__mid .container,
.footer__mid .menu__row {
    align-items: center;
    display: flex;
    flex-direction: column
}

@media screen and (min-width:56.25em) {

    .footer__mid .container,
    .footer__mid .menu__row {
        align-items: flex-end;
        flex-direction: row;
        justify-content: space-between
    }
}

.footer__logo__container {
    margin: 0 auto 1em;
    width: 10em
}

@media screen and (min-width:56.25em) {
    .footer__logo__container {
        margin-bottom: 0;
        width: 22%
    }
}

.footer__logo__container img,
.footer__tools {
    width: 100%
}

.footer__shortcuts {
    font-size: 1.5em;
    margin-top: var(--vpad);
    width: 100%
}

@media screen and (min-width:56.25em) {
    .footer__shortcuts {
        margin-top: 0
    }
}

.footer__shortcuts ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center
}

@media screen and (min-width:56.25em) {
    .footer__shortcuts ul {
        flex-wrap: nowrap;
        gap: calc(var(--vpad)/2);
        justify-content: flex-end
    }
}

.footer__shortcuts a:hover {
    color: var(--colContrasto)
}

.footer__shortcuts span+span {
    display: none
}

.footer__bottom {
    background: var(--colNero);
    font-size: .85em;
    padding-bottom: 1rem
}

.footer__bottom .container,
.footer__bottom .menu__row {
    align-items: center;
    border-top: 1px solid;
    display: flex;
    flex-wrap: wrap
}

.footer__copyright,
.footer__menu {
    padding-top: 1rem
}

.footer__menu {
    margin-right: .5em
}

.footer__menu ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    line-height: 1.2
}

@media screen and (min-width:50em) {
    .footer__menu ul {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
}

.footer__menu li {
    margin: 0 1em 1em
}

@media screen and (min-width:50em) {
    .footer__menu li {
        border-left: 1px solid;
        margin-bottom: 0;
        margin-right: 0;
        padding-left: 1em
    }

    .footer__menu li:first-child {
        border: none;
        margin-left: 0;
        padding-left: 0
    }
}

.footer__menu a:hover {
    opacity: .5
}

.footer__credits {
    font-size: .85em;
    margin: 0 0 0 auto;
    padding-top: 1rem;
    text-align: right
}

@media screen and (min-width:36em) {
    .footer__credits {
        font-size: 1em
    }
}

.ma-link {
    color: inherit;
    display: block;
    font-size: .85em;
    margin: 0 auto 1.5rem;
    max-width: 100%;
    text-align: center;
    text-transform: uppercase;
    width: 12rem
}

@media screen and (min-width:56.25em) {
    .ma-link {
        margin-right: 0;
        max-width: 25%;
        text-align: right
    }
}

.ma-link:hover {
    opacity: .6
}

.ma-link img {
    display: block;
    max-width: 100%
}

.scroll-top a {
    background: var(--colContrasto);
    border-radius: 50%;
    color: var(--colText);
    height: 4.5em;
    opacity: 1;
    width: 4.5em
}

.scroll-top a:hover {
    background: var(--colContrastoChiaro)
}

/*# sourceMappingURL=main.css.map */