*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, blockquote, th, td {
    margin: 0;
    padding: 0;
    direction: ltr;
}

html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75vw;
    color: #000;
    position: relative;
    min-height: 100%;
    overflow-x: hidden;
}

@media screen and (max-width: 1200px) {
    body {
        font-size: 1vw;
    }
}

body.home {
    background-color: #000;
    color: #fff;
}

.loading * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
}

p {
    line-height: 1.5em;
    font-weight: 300;
}

a {
    text-decoration: none;
    color: #000;
    outline: none;
    -webkit-transition: opacity 200ms ease-in-out;
    -moz-transition: opacity 200ms ease-in-out;
    -o-transition: opacity 200ms ease-in-out;
    -ms-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;
}

a img {
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
    -webkit-backface-visibility: hidden;
}

a:hover, a:hover img, a:hover img.lazy.loading, a:hover img.lazy.loaded {
    opacity: 0.9;
    -webkit-backface-visibility: hidden;
}

a.no-hover, a.no-hover:hover img, a.no-hover:hover img.lazy.loading, a.no-hover:hover img.lazy.loaded {
    opacity: 1 !important;
}

img.bwhover {
    filter: grayscale();
    transition: filter 0.4s ease-in-out;
    opacity: 1 !important;
}

img.bwhover:hover {
    filter: none;
}

.nolink>a {
    cursor: default;
    pointer-events: none;
}

img.lazy {
    transition: opacity 200ms ease-in-out;
    opacity: 0;
}

img.lazy.loading, img.lazy.loaded {
    opacity: 1;
}

.hidden {
    display: none !important;
}

.opaco {
    opacity: 0;
}

.disabled {
    pointer-events: none;
    cursor: default;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.align-center {
    text-align: center;
}

.vertical-center {
    display: table;
    width: 100%;
    height: 100%;
}

.vertical-center>div {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.left {
    float: left;
}

.right {
    float: right;
}

.clear:before, .clear:after {
    content: " ";
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    *zoom: 1;
}

.underline {
    display: inline-block;
    border-bottom: 1px solid #000;
}

.loading .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100svh;
    background: #fff;
    z-index: 100;
    display: none;
}

.loading .overlay {
    display: block;
}

.fadein {
    -webkit-transition: opacity 600ms ease-in;
    -moz-transition: opacity 600ms ease-in;
    -o-transition: opacity 600ms ease-in;
    -ms-transition: opacity 600ms ease-in;
    transition: opacity 600ms ease-in;
}

.autofadein {
    -webkit-animation: fadein 600ms ease-in;
    -moz-animation: fadein 600ms ease-in;
    -o-animation: fadein 600ms ease-in;
    animation: fadein 600ms ease-in;
}

.autofadeout {
    -webkit-animation: fadeout 600ms ease-out;
    -moz-animation: fadeout 600ms ease-out;
    -o-animation: fadeout 600ms ease-out;
    animation: fadeout 600ms ease-out;
}

@-webkit-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-moz-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-o-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeout {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@-moz-keyframes fadeout {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@-o-keyframes fadeout {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes fadeout {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.loader {
    position: fixed;
    top: 0;
    z-index: 200;
    width: 100vw;
    height: 100svh;
    z-index: 999;
}

.spinner {
    position: absolute;
    z-index: 200;
    width: 100%;
    height: 100%;
    z-index: 999;
}

.spinner:before {
    content: 'Loading';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-top: -10px;
    margin-left: -10px;
}

.spinner:not(:required):before {
    content: '';
    border-radius: 50%;
    border-top: 2px solid #000 !important;
    border-right: 2px solid transparent;
    -webkit-animation: spinner .6s linear infinite;
    -moz-animation: spinner .6s linear infinite;
    -o-animation: spinner .6s linear infinite;
    animation: spinner .6s linear infinite;
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes spinner {
    to {
        -webkit-transform: rotate(360deg);
    }
}

.progress {
    display: inline-block;
}

h1, h2, h3 {
    font-weight: normal;
}

h1 {
    letter-spacing: 0.15em;
    font-size: 4.8em;
    line-height: 1em;
    font-weight: 300;
    margin-bottom: 0.5em;
}

h2 {
    letter-spacing: 0.1em;
    font-size: 4em;
    font-weight: 300;
}

h3 {
    font-size: 2.2em;
    letter-spacing: 0.15em;
    font-weight: 300;
}

h2.big {
    font-size: 2.6em;
}

h4 {
    font-size: 1.5em;
    letter-spacing: 0.15em;
    font-weight: 400;
    margin-top: -0.1em;
}

h4.subtitle {
    border-bottom: 1px solid #bb9c6e;
    display: inline-block;
    clear: both;
}

h2.title {
    margin-top: 1.5em;
    margin-bottom: 1em;
    display: block;
    clear: both;
}

h5 {
    font-size: 1em;
    letter-spacing: 0.15em;
    font-weight: 300;
}

h6, h7 {
    font-size: 12px;
    line-height: 1.5em;
    font-weight: 400;
}

picture {
    margin: 0;
    padding: 0;
}

.small {
    font-weight: normal;
    font-size: 0.8em;
}

.full {
    width: 100%;
    height: auto;
    display: block;
}

.padding-top {
    padding-top: 4vh;
}

.padding-bottom {
    padding-bottom: 4vh;
}

.padding-left {
    padding-left: 4vw;
}

.padding-right {
    padding-right: 4vw;
}

.full-width {
    width: 100vw;
}

.full-height {
    height: 100svh;
    overflow: hidden;
}

.overflow-hidden {
    overflow: hidden;
}

.object-fit {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.max100 {
    max-width: 100%;
    height: auto;
    display: block;
}

.max70 {
    max-width: 100%;
    width: 70%;
    height: auto;
    display: block;
}

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0;
}

.embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.embed-responsive-4by3 {
    padding-bottom: 75%;
}

.embed-responsive-oggioni {
    padding-bottom: 32%;
}

.inline-block {
    display: inline-block;
}

.row {
    display: flex;
    margin: -2em -2em 0 -2em;
}

.column {
    flex: 1;
    padding: 2em;
}

.column-full {
    min-width: 100%;
    max-width: 100%;
}

.column-half {
    min-width: 50%;
    max-width: 50%;
}

.column-onethird {
    min-width: 33.33%;
    max-width: 33.33%;
}

.column-twothirds {
    min-width: 66.66%;
    max-width: 66.66%;
}

.column-onefourth {
    min-width: 25%;
    max-width: 25%;
}

.column-threefourths {
    min-width: 75%;
    max-width: 75%;
}

.column h2 {
    font-size: 3.3em;
}

.column h3 {
    font-size: 1.65em;
}

.column h4 {
    font-size: 1.23em;
    font-style: italic;
}

.column h4 a, .column h6 a {
    border-bottom: 1px solid #000;
}

.column h6 {
    margin-top: 1.3em;
}

/* .black, .black:before, .black:after {
	color: #242424 !important;
	border-color: #242424 !important;
}

.white, .white:before, .white:after {
	color: #fff !important;
	border-color: #fff !important;
} */

.gray, .gray:before, .gray:after {
    color: #999 !important;
    border-color: #999 !important;
}

.lightgray, .lightgray:before, .lightgray:after {
    color: #dbdbdb !important;
    border-color: #dbdbdb !important;
}

.light {
    font-weight: 300;
}

.separator {
    padding: 0.5em;
}

.uppercase {
    text-transform: uppercase;
}

.square {
    position: relative;
    width: 100%;
}

.square:after {
    content: '';
    display: block;
    padding-bottom: 100%;
}

.square>* {
    position: absolute;
    width: 100%;
    height: 100%;
}

picture.full img {
    width: 100%;
    height: auto;
}

.bg-white {
    background-color: #fff;
}

.reveal {
    -webkit-transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s;
    -o-transition: transform 1s, opacity 1s;
    -ms-transition: transform 1s, opacity 1s;
    -moz-transition: transform 1s, opacity 1s;
    opacity: 0;
    transform: matrix3d(1, 0, 0, 0, 0, 1, .208378, 0, 0, -.173648, .984808, 0, 0, 90, 0, 1);
}

.reveal.visible {
    opacity: 1;
    transform: matrix(1, 0, 0, 1, 0, 0);
    transform-origin: 50% 50% 0px;
}

.delay300 {
    transition-delay: 300ms;
}

.delay600 {
    transition-delay: 600ms;
}

.delay900 {
    transition-delay: 900ms;
}

.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) {
    .container {
        width: 75%;
    }
}

/* @media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
} */

.text-animate-bottom {
    overflow: hidden;
}

.text-animate-bottom>* {
    display: inline-block;
    opacity: 0;
    transform: translateY(100%);
    animation: animate-bottom 600ms ease-out;
    animation-fill-mode: forwards;
}

@keyframes animate-bottom {
    0% {
        opacity: 0;
        transform: translateY(100%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.text-transition-bottom {
    overflow: hidden;
}

.text-transition-bottom>* {
    opacity: 0;
    transform: translateY(100%);
    transition: all 600ms ease-out;
}

.text-transition-bottom.visible>* {
    opacity: 1;
    transform: translateY(0);
}

/*** header-footer ***/

.header-container {
    position: fixed;
    z-index: 1001;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    transition: all 200ms ease-in-out;
    transform: translateY(0);
}

.header-container.bgwhite {
    background-color: #fff;
}

.header-container::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 0;
    z-index: -1;
    opacity: 0;
    background: rgba(27, 27, 27, 0.9);
    transition: all 400ms ease-in-out;
}

@media (min-width: 1024px) {
    .header-container.active::before {
        opacity: 1;
        height: 48ch;
    }
}

.header-container:not(.active):hover::before {
    opacity: 1;
    height: 100%;
}

.scrolling.header-container {
    transform: translateY(-100%);
}

.fixed.header-container {
    position: fixed;
}

.header {
    position: relative;
}

.header__top {
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
    font-size: 12px;
    font-weight: 400;
}

.header__logo {
    text-align: center;
    flex: 0.8;
    margin-top: -2em;
}

.header__logo a {
    width: 17vw;
    display: inline-block;
}

.header__logo a:hover {
    opacity: 1;
}

.header__logo svg path, .header__logo svg polygon, .header__logo svg rect {
    fill: #000;
}

.white .header__logo svg path, .white .header__logo svg polygon, .white .header__logo svg rect, .header-container:hover .header__logo svg path, .header-container:hover .header__logo svg polygon, .header-container:hover .header__logo svg rect {
    fill: #fff;
}

.gradient-black {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0.83+0,0+100 */
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d4000000', endColorstr='#00000000', GradientType=0);
    /* IE6-9 */
}

.menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.menu, .menu .sub-menu, .menu-footer, .menu-footer .sub-menu, .menu-product, .language-chooser {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-link {
    padding-top: 0.2em;
    display: inline-block;
    border-bottom: 1px solid #bb9c6e;
}

.menu>li {
    text-align: left;
    padding: 0;
    position: relative;
}

.menu>li:first-child {
    padding-left: 0;
}

.menu>li:last-child {
    padding-right: 0;
}

.menu>li>a {
    display: inline-block;
}

.menu-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 3em;
    margin-bottom: 3em;
}

.menu-main {
    flex: 1;
    display: flex;
    justify-content: space-between;
}

.menu-main li a {
    font-weight: 500;
    color: #000;
    padding-bottom: 0.3em;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease-in-out;
}

.black .menu-main li a, .black #menu-topleft li a, .black #menu-topright li a {
    color: #000;
}

.white .menu-main li a, .header-container:hover .menu-main li a, .white #menu-topleft li a, .header-container:hover #menu-topleft li a, .white #menu-topright li a, .header-container:hover #menu-topright li a {
    color: #fff;
}

.menu-main>li:hover>a, .menu-main>li:active>a, .menu-main>li.featured>a, .menu-product>li.current-menu-item>a {
    opacity: 1;
    border-bottom: 1px solid #000;
}

.white .menu-main>li:hover>a, .white .menu-main>li:active>a, .white .menu-main>li.featured>a, .white .menu-product>li.current-menu-item>a, .header-container:hover .menu-main>li:hover>a {
    opacity: 1;
    border-bottom: 1px solid #fff;
}

.white .menu-main>li:hover>a, .white .menu-main>li:active>a, .white .menu-main>li.featured>a, .white .menu-product>li.current-menu-item>a, .header-container:hover .menu-main>li>a:hover, .header-container:hover .menu-main>li:active>a, .header-container:hover .menu-main>li.current-menu-item>a {
    opacity: 1;
    border-bottom: 1px solid #fff;
}

.menu-main .sub-menu {
    padding-top: 2em;
    margin-left: -2px;
    display: none;
    position: absolute;
    z-index: 4;
    min-width: 30vw;
    width: 100%;
}

.menu-main .sub-menu.active {
    display: block;
}

.menu-main li.twocolumns .sub-menu {
    column-count: 2;
}

/* .menu-main>li:hover>.sub-menu {
    display: block;       
} */

.menu-main>li>.sub-menu li {
    transition: opacity 400ms ease-out;
    margin-bottom: 0.4em;
}

.menu-main .sub-menu li a {
    position: relative;
    display: inline-block;
    padding: 0.3em 0;
    border-bottom: 1px solid transparent;
}

.menu-main .sub-menu li a:hover {
    opacity: 1;
    border-bottom: 1px solid #000;
}

.white .menu-main .sub-menu li a:hover, .header-container:hover .menu-main .sub-menu li a:hover {
    opacity: 1;
    border-bottom: 1px solid #fff;
}

.menu-main #searchform {
    position: relative;
}

.menu-main input::placeholder, .black .menu-main input::placeholder, .header-container:hover .menu-main input::placeholder {
    transition: color 400ms ease-in-out;
    color: #000;
    font-size: 1em;
}

.menu-main input[type="text"], .black .menu-main input[type="text"], .header-container:hover .menu-main input[type="text"] {
    transition: color 400ms ease-in-out;
    background: none;
    border: none;
    color: #000;
    padding: 0 0 0.3em 0;
    outline: none;
    width: 8vw;
    border-bottom: 1px solid #000;
    font-size: 1em;
}

.menu-main .fa-search, .black .menu-main .fa-search, .header-container:hover .menu-main .fa-search {
    transition: color 400ms ease-in-out;
    position: absolute;
    right: 0;
    color: #000;
}

li.mute {
    pointer-events: none;
}

li.ghost {
    pointer-events: none;
    visibility: hidden;
}

li.special a {
    text-decoration: underline;
}

.white .menu-main .fa-search {
    color: #fff;
}

.white .menu-main input::placeholder {
    color: #fff;
}

.white .menu-main input[type="text"] {
    color: #fff;
    border-bottom: 1px solid #fff;
}

.category-image {
    position: absolute;
    top: 12.5vh;
    right: 10.8vw;
    width: 16vw;
    height: 9vw;
    overflow: hidden;
    transition: all 400ms ease-in-out;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.language-chooser li {
    display: inline-block;
    text-transform: uppercase;
    font-size: 1em;
    margin-right: 1em;
}

.language-chooser li:last-child {
    margin-right: 0;
}

.language-chooser li.active {
    border-bottom: 1px solid #000;
}

.white .language-chooser li a, .header-container:hover .language-chooser li a {
    color: #fff;
}

.white .language-chooser li.active, .header-container:hover .language-chooser li.active {
    border-bottom: 1px solid #fff;
}

/* #menu-topright > li:last-child:before {
    content: '/';
    display: inline-block;
    padding: 0 0.5em;
} */

.footer {
    margin-top: 8em;
    padding: 5em 0 3em 0;
    background-color: #151515;
    color: #fff;
    font-size: 0.85em;
}

.footer a {
    color: #fff;
}

.footer {
    margin-top: 0;
}

.footer-menu-container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5em;
}

.footer-menu-container .footer-left {
    width: 30%;
}

/* .footer-menu-container .footer-right {
    width: 30%;    
} */

.footer-menu-container .footer-right .footer-right-menu {
    /*     padding: 2em 2.5em;
    background-color: #1b1b1b; */
    font-size: 1.2em;
}

.footer-credits {
    font-size: 12px;
    margin: 7em 0 0 0;
}

.footer-credits__copyright {
    text-align: center;
}

.footer-credits__copyright span:last-child {
    margin-left: 2em;
}

#menu-social {
    margin-top: 0.5em;
}

#menu-social>li {
    padding: 0 0.7em;
}

#menu-social>li::before {
    display: none;
}

#menu-footer {
    margin-top: 2em;
    flex-direction: column;
    padding: 0 0.7em;
}

#menu-footer li {
    font-weight: 400;
}

#menu-footer li a {
    color: #fff;
}

#menu-footer>li {
    padding: 0;
}

#menu-footer>li>a {
    font-size: 0.8em;
    margin-top: 0.5em;
    color: #8d8d8d;
}

#menu-footer .sub-menu>li, #menu-address .sub-menu>li {
    line-height: 1.8em;
}

#menu-footer .wpml-ls-first-item {
    position: relative;
}

#menu-footer .wpml-ls-first-item::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f078";
}

#menu-footer .wpml-ls-first-item>.sub-menu {
    padding: 0;
    position: absolute;
    left: 0;
    display: none;
    opacity: 0;
    visibility: hidden;
    top: 25px;
}

#menu-footer .wpml-ls-first-item:active>.sub-menu, #menu-footer .wpml-ls-first-item:hover>.sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

#menu-footer .wpml-ls-first-item>.sub-menu li {
    padding-bottom: 3px;
}

/*** /header-footer ***/

.page-interiors .main-content {
    font-family: 'Source Serif 4', serif;
}

.page-interiors .main-content h2 {
    letter-spacing: 1pt !important;
}

.content {
    position: relative;
    min-height: calc(100svh - 350px);
}

.content-top {
    margin-top: 9vw;
}

.flickity-prev-next-button:disabled {
    display: none;
}

.flickity-enabled.is-fade .flickity-viewport {
    cursor: default;
}

.flickity-button-icon {
    display: none;
}

.flickity-button.flickity-prev-next-button {
    background-repeat: no-repeat;
    background-color: transparent;
    border: none;
    border-radius: 0;
}

.flickity-button.flickity-prev-next-button.previous {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibGVmdEFycm93LXN2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjUuMSIgaGVpZ2h0PSIyMCI+PHBhdGggZD0iTTI1LjEgMTEuMkg0LjNsOSA4LjhIMTBMMCAxMCAxMCAwaDMuM2wtOSA4LjloMjAuOHYyLjN6Ii8+PC9zdmc+);
    background-position: center left;
    left: 2em;
}

.white .flickity-button.flickity-prev-next-button.previous {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibGVmdEFycm93LXN2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjUuMSIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI1LjEgMTEuMkg0LjNsOSA4LjhIMTBMMCAxMCAxMCAwaDMuM2wtOSA4LjloMjAuOHYyLjN6Ii8+PC9zdmc+);
    background-position: center left;
}

.flickity-button.flickity-prev-next-button.next {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0icmlnaHRBcnJvdy1zdmciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI1LjEiIGhlaWdodD0iMjAiPjxwYXRoIGQ9Ik0wIDguOGgyMC43TDExLjggMGgzLjNsMTAgMTAtMTAgMTBoLTMuM2w5LTguOUgwVjguOHoiLz48L3N2Zz4=);
    background-position: center right;
    right: 3em;
}

.white .flickity-button.flickity-prev-next-button.next {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0icmlnaHRBcnJvdy1zdmciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI1LjEiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDguOGgyMC43TDExLjggMGgzLjNsMTAgMTAtMTAgMTBoLTMuM2w5LTguOUgwVjguOHoiLz48L3N2Zz4=);
    background-position: center right;
}

.homepage-slider {
    width: 100%;
    height: 100svh;
    position: relative;
}

.homepage-slider__item {
    width: 100%;
    height: 100%;
    position: relative;
}

.homepage-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-slider__item .caption {
    position: absolute;
    bottom: 6em;
    width: 50vw;
    min-width: 250px;
    text-align: left;
}

.homepage-slider__item .caption p {
    font-size: 1.2em;
    font-weight: 300;
}

.homepage-slider__item .caption.left {
    left: 14em;
}

.homepage-slider__item .caption.right {
    right: 14em;
}

.homepage-slider__item .caption.center {
    left: 50%;
    transform: translateX(-50%);
}

.fullscreen-image {
    width: 100%;
    height: 100%;
}

.fullscreen-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fullscreen-video, .fullscreen-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* .fullscreen-video video {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);    
} */

section {
    position: relative;
    overflow: hidden;
    background-color: #000;
}

.arrow-down {
    position: absolute;
    display: block !important;
    z-index: 99999;
    bottom: 2.5em;
    content: '';
    width: 4em !important;
    height: 4em !important;
    background-image: url(../images/arrow-down-white.svg);
    background-repeat: no-repeat;
    background-size: 4em 4em;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    animation-name: arrowdown;
    animation-duration: 2000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: running;
    animation-delay: 600ms;
}

.arrow-down.black, section.black .arrow-down {
    background-image: url(../images/arrow-down-black.svg);
}

@keyframes arrowdown {
    0% {
        transform: translate3d(-50%, 0, 0);
        opacity: 0;
    }

    33% {
        opacity: 1;
    }

    66% {
        opacity: 1;
    }

    100% {
        transform: translate3d(-50%, 30px, 0);
        opacity: 0
    }
}

.magnet:nth-last-child(2) .arrow-down {
    display: none !important;
}

.arrow-up {
    position: fixed;
    display: block !important;
    z-index: 99999;
    bottom: 2.5em;
    content: '';
    width: 2em !important;
    height: 2em !important;
    background-image: url(../images/arrow-down-white.svg);
    background-repeat: no-repeat;
    background-size: 2em 2em;
    right: 4em;
    transform: rotate(180deg);
    cursor: pointer;
    opacity: 0;
    transition: opacity 400ms ease-in-out;
}

.arrow-up.visible {
    opacity: 1;
}

.fullwidth {
    width: 100%;
}

.fullheight {
    height: 100svh;
}

.halfheight {
    height: 50vh;
}

section.black {
    color: #000;
}

section.white {
    color: #fff;
}

.halfgrid {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.halfgrid__item {
    flex-basis: 50%;
    /*     height: 100%; */
}

.singleimage-text {
    width: 100%;
    height: 100%;
    text-align: center;
    padding-bottom: 4rem;
}

.singleimage-text.bottom {
    position: relative;
}

.singleimage-text.bottom .caption {
    margin-top: 1.5em;
}

.bgwhite {
    background-color: #fff;
}

.bgblack {
    background-color: #000;
}

.bggrey {
    background-color: rgba(0, 0, 0, 0.35);
}

section .caption {
    width: 100%;
    position: absolute;
    bottom: 6em;
}

section .caption.bottom {
    position: static;
}

.halfheight .caption {
    position: relative;
    bottom: auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section .caption p {
    font-size: 1.2em;
    font-weight: 300;
}

section .caption.left {
    left: 10em;
}

section .caption.right {
    right: 10em;
}

/* .parallax {
    z-index: -1;
} */

.home section.news {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #dbdcdb;
    color: #000;
    margin-top: 0;
}

.home section.news>div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: calc(100% - 15em);
}

.home .news__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 6em;
}

.home .news__item__date {
    flex: 1;
    min-width: 6em;
    text-transform: uppercase;
}

.home .news__item__description {
    flex: 4;
    padding: 0 4em;
}

.home .news__item__description h4 {
    text-transform: uppercase;
    font-weight: 400;
}

.home .news__item__image {
    flex: 2;
    width: 100%;
    height: auto;
}

.home .news__item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top center;
}

section.social {
    background-color: #151515;
}

.social-grid {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 -4em;
}

.social-grid__item {
    padding: 2em;
    position: relative;
    text-align: center;
    /*     max-width: calc(50vw - 8em); */
}

.break-column {
    flex-basis: 100%;
    width: 0;
}

.social-grid__item img {
    width: auto;
    height: 25vh;
}

@media (min-aspect-ratio: 2/1) {
    .social-grid__item img {
        height: 35vh;
    }
}

@media (max-width: 1023px) {
    .social-grid__item img {
        width: 40vw;
        height: calc(40vw * 0.6);
    }
}

.social-caption {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 5em;
    text-align: center;
    color: #fff;
}

.splash {
    width: 100%;
    height: 100svh;
    position: relative;
    overflow: hidden;
}

.splash-image {
    width: 100%;
    height: 100%;
    position: relative;
}

.splash-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.splash-image.contain img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.splash-image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.padding-boxed .splash-image video {
    object-fit: contain;
}

.splash-image .caption {
    position: absolute;
    bottom: 6em;
    width: 35vw;
    min-width: 250px;
    text-align: left;
}

.splash-image.contain .caption {
    width: auto;
    min-width: auto;
}

.splash-image .caption p {
    font-size: 1.2em;
    font-weight: 300;
}

.splash-image .caption.left {
    left: 14em;
}

.splash-image .caption.right {
    right: 14em;
}

.splash-image .caption.center {
    left: 50%;
    transform: translateX(-50%);
}

.splash-image .caption .title {
    letter-spacing: 0.15em;
    font-size: 4.8em;
    line-height: 1em;
    font-weight: 300;
    margin-bottom: 0.3em;
    text-transform: uppercase;
}

.splash-image .caption.center .title, .splash-image .caption.center .subtitle {
    text-align: center;
}

.splash-image .caption .subtitle {
    font-size: 3em;
    letter-spacing: 0.15em;
    font-weight: 300;
    text-transform: uppercase;
}

section.product-list {
    background-color: #fff;
    min-height: 100svh;
    padding: 6em 0;
}

section.white .caption, .homepage-slider__item.white .caption {
    color: #fff;
}

section.black .homepage-slider__item.black .caption {
    color: #000;
}

.video-hover {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-hover-container {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-hover-container.contain {
    object-fit: contain;
    height: auto;
}

.video-hover-container.paused::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/video_play_small.png);
    background-size: auto;
    background-position: center;
    cursor: pointer;
}

.product-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 2em -2em;
}

.product-grid__item {
    padding: 4em 2em;
    position: relative;
    text-align: center;
    flex-basis: 33.33%;
    width: 33.33%;
}

.product-grid__item figure, .product-grid__item img {
    width: auto;
    height: 18vh;
    padding: 0;
    margin: 0;
}

.product-grid__item figcaption {
    text-align: center;
    color: #000;
    font-weight: 600;
    text-transform: uppercase;
}

section.product {
    width: 100%;
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.product-view {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-view>div {
    flex-basis: 50%;
}

.product-galleria {
    position: relative;
    width: 100%;
    height: 100%;
    margin-right: 4em;
}

.product-slider {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.product-slider__item {
    position: relative;
    width: 100% !important;
    height: auto;
}

.product-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-slider__nav {
    position: static;
    width: 100%;
    padding: 0;
    margin: 1em 0;
    list-style: none;
    text-align: center;
}

.product-slider__nav .dot {
    display: inline-block;
    margin: 0 8px !important;
    cursor: pointer;
    color: #000;
    font-size: 0.85em;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    opacity: 1 !important;
}

.product-slider__nav .dot.is-selected,
.product-slider__nav .dot.swiper-pagination-bullet-active {
    border-bottom: 1px solid #000;
}

.product-info {
    position: relative;
    width: 100%;
    height: 100%;
    margin-left: 8em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /*     overflow: hidden; */
}

.product-info__titolo {
    text-align: center;
}

.product-info__descrizione {
    padding-top: 1em;
}

.product-info__links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 4em;
}

.product-info__links>a {
    margin-bottom: 1em;
}

.product-related {
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: #fff;
    position: absolute;
    z-index: 9;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    transform: translateY(200%);
    opacity: 0;
    transition: all 400ms ease-in-out;
}

.product-related.active {
    opacity: 1;
    transform: translateY(0);
}

.product-related__close {
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    display: inline-block;
    border-bottom: 1px solid #000;
    font-size: 0.85em;
}

.product-related__close:hover {
    opacity: 0.6;
}

.product-related__item {
    flex: 1;
    min-width: 50%;
}

.product-related__item img.single {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-related__item img.one-fourth {
    width: auto;
    max-width: 100%;
    height: 10em;
}

section.product-galleria-ambientata {
    width: 100%;
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.product-ambientata-slider {
    position: relative;
    width: 100%;
    height: auto;
}

.product-ambientata-slider__item {
    position: relative;
    padding: 2em;
    filter: brightness(0.5);
    transition: filter 400ms ease-in-out;
}

.product-ambientata-slider__item.is-selected {
    filter: none;
}

.product-ambientata-slider__item img {
    width: auto;
    height: 70vh;
    object-fit: contain;
}

section.product-technicals {
    padding: 8em 0;
}

.product-technicals h2 {
    margin-bottom: 2em;
}

.product-technicals h5 {
    margin-bottom: 2em;
}

.product-technicals-container {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2em;
}

.product-technicals__item {
    flex-basis: 50%;
    padding: 0 2em;
    margin-bottom: 3em;
    display: block;
}

.product-technicals__item img {
    max-width: 100%;
    width: auto;
    height: 23vh;
}

.product-technicals.short .product-technicals__item {
    display: none;
}

.product-technicals.short .product-technicals__item:nth-of-type(1), .product-technicals.short .product-technicals__item:nth-of-type(2) {
    display: block;
}

section.product-finishing {
    min-height: 100svh;
    padding: 17ch 0 4em 0;
}

.product-finishing__menu {
    margin-top: 2em;
    margin-bottom: 1em;
    display: block;
}

.product-finishing__menu>li {
    display: inline-block;
    vertical-align: top;
    padding: 2em 7.2em 2em 0;
    font-weight: 600;
}

.product-finishing__menu>li>ul {
    list-style: none;
    margin-top: 0.85em;
}

.product-finishing__menu ul.twocolumns {
    column-count: 2;
}

.product-finishing__menu>li>ul>li {
    display: block;
    font-size: 0.85em;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 0.5em;
}

.product-finishing__menu>li>ul>li.active a {
    border-bottom: 1px solid #000;
}

.product-finishing__content {
    display: none;
}

.product-finishing__content.active {
    display: block;
}

.finishing-grid,
.leather-grid {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 -1em;
    overflow: auto;
    max-height: calc(100% - 2.5em);
}

.finishing-grid__item {
    padding: 0.5em 1em;
    position: relative;
    text-align: center;
    flex-basis: 12.5%;
}

.finishing-grid__item figure,
.finishing-grid__item img,
.leather-grid__item figure,
.leather-grid__item img {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
}

.finishing-grid__item figcaption {
    text-align: left;
    color: #000;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
}

.single-finishing .finishing-grid__item figcaption {
    text-align: left;
    color: #000;
    font-size: 1em;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 0.5em;
}

.leather-grid__item figcaption {
    text-align: left;
    color: #000;
    font-size: 1em;
    font-weight: 600;
    margin-top: 1.3em;
    padding: 0 2em;
}

.leather-grid__item figcaption h5 {
    font-size: 1.3em;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
}

.single-finishing .finishing-grid,
.leather-grid {
    margin-top: 2em;
    margin-bottom: 2em;
}

.single-finishing .finishing-grid__item {
    padding: 2em 1.5em;
    position: relative;
    text-align: center;
    flex-basis: 16.6%;
}

.leather-grid__item {
    padding: 2em 1.5em;
    position: relative;
    text-align: center;
    flex-basis: 33%;
}

section.mosaic {
    position: relative;
    padding: 12em 10em 8em 10em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mosaic-grid {
    width: 100%;
    display: grid;
    gap: 4em;
    align-items: start;
    overflow: hidden;
    grid-template-rows: 0.7fr 1fr;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-areas: 'img1 txt1 img2'
        'img1 img3 img3';
}

.mosaic-grid__item {
    overflow: hidden;
    height: 100%;
}

.mosaic-grid__item:nth-child(1) {
    grid-area: img1;
}

.mosaic-grid__item:nth-child(2) {
    grid-area: txt1;
    font-size: 0.9em;
}

.mosaic-grid__item:nth-child(3) {
    grid-area: img2;
    text-align: right;
}

.mosaic-grid__item:nth-child(4) {
    grid-area: img3;
    text-align: right;
}

.mosaic-grid__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top right;
}

.mosaic-finishing {
    position: absolute;
    right: 0;
    top: 0;
    width: 51vw;
    height: 100%;
    padding: 12em 10em 8em 0;
    background-color: #fff;
    transform: translateY(100%);
    transition: all 400ms ease-in-out;
}

.mosaic-finishing.active {
    transform: translateY(0);
}

.mosaic-finishing .finishing-grid {
    margin: -0.5em -1em;
}

.mosaic-finishing .finishing-grid .finishing-grid__item {
    flex-basis: 16.666%;
}

@media (max-width: 1300px) {
    .mosaic-finishing .finishing-grid .finishing-grid__item {
        flex-basis: 20%;
    }
}

.mosaic-finishing__close {
    position: absolute;
    left: 0;
    bottom: 10em;
    cursor: pointer;
    display: inline-block;
    border-bottom: 1px solid #000;
    font-size: 0.85em;
}

.mosaic-finishing__close:hover {
    opacity: 0.6;
}

.padding-boxed {
    padding: 12em 10em 8em 10em;
}

.padding-boxed .halfgrid__item:nth-child(1) {
    padding-right: 4em;
}

.padding-boxed .halfgrid__item:nth-child(2) {
    padding-left: 4em;
}

.testo-padding {
    padding: 4em 2em;
}

.testo-padding-top {
    padding: 4em 0 0 0;
}

.testo-padding h1, .testo-padding h2, .testo-padding h3, .testo-padding h4 {
    margin-bottom: 1.5em;
}

.text-align-center {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.text-align-top {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.text-align-bottom {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.height100 {
    height: 100%;
}

.finitura-title, .finitura-text {
    text-align: center;
}

.finitura-text {
    margin-top: 4em;
    margin-bottom: 4em;
}

section.news {
    padding: 4rem 0;
    margin-top: 6vw;
}

.news-grid {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 -3rem;
}

.news-grid__item {
    position: relative;
    flex-basis: 33.333%;
    padding: 2rem 3rem;
}

.news-grid__item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.news-grid__item .description {
    color: #000;
    margin-top: 2rem;
}

.news-grid__item .description h5 {
    font-weight: 600;
    text-transform: uppercase;
}

.news-grid__item .description h6 {
    margin-top: 0.2rem;
}

.news-grid__item .description p {
    margin-top: 1.2rem;
    overflow: hidden;
}

.news-grid__item .description a {
    color: #000;
    font-size: 0.85em;
}

.readmore, .readless {
    display: inline-block;
    font-weight: 600;
}

.chocolat-center {
    max-height: 60%;
}

.chocolat-top, .chocolat-bottom {
    display: none !important;
}

.chocolat-wrapper .chocolat-left {
    background: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibGVmdEFycm93LXN2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjUuMSIgaGVpZ2h0PSIyMCI+PHBhdGggZD0iTTI1LjEgMTEuMkg0LjNsOSA4LjhIMTBMMCAxMCAxMCAwaDMuM2wtOSA4LjloMjAuOHYyLjN6Ii8+PC9zdmc+);
    background-repeat: no-repeat;
    background-position: center left;
    margin-left: 20px;
    padding-right: 10vw;
    padding-top: 200px;
    padding-bottom: 200px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.chocolat-wrapper .chocolat-right {
    background: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0icmlnaHRBcnJvdy1zdmciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI1LjEiIGhlaWdodD0iMjAiPjxwYXRoIGQ9Ik0wIDguOGgyMC43TDExLjggMGgzLjNsMTAgMTAtMTAgMTBoLTMuM2w5LTguOUgwVjguOHoiLz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: center right;
    margin-right: 10px;
    padding-left: 20vw;
    padding-top: 200px;
    padding-bottom: 200px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.designer-grid {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 -3rem;
}

.designer-grid__item {
    position: relative;
    flex-basis: 25%;
    padding: 2rem 3rem;
    text-align: center;
}

.designer-grid__item img {
    height: 70%;
    width: 70%;
    object-fit: cover;
}

.designer-grid__item .description {
    color: #000;
    margin-top: 2rem;
    text-align: center;
}

.designer-grid__item .description h5 {
    font-weight: 600;
    text-transform: uppercase;
}

.designer-grid__item .description h6 {
    margin-top: 0.2rem;
}

.designer-grid__item .description p {
    margin-top: 1.2rem;
    overflow: hidden;
}

.designer-grid__item .description a {
    color: #000;
    font-size: 0.75rem;
}

.progetto-grid {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4em;
    border-bottom: 1px solid #ccc;
}

.progetto__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4em;
}

.progetto__item__date {
    min-width: 6em;
    text-transform: uppercase;
}

.progetto__item__description {
    flex-basis: 50%;
}

.progetto__item__description h3 {
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 2em;
}

.progetto__item__description h4 {
    text-transform: uppercase;
}

.progetto__item__image {
    padding-left: 4em;
    text-align: right;
    flex-basis: 50%;
}

.progetto__item__image img {
    width: 100%;
    height: auto;
}

.progetto-more {
    position: relative;
    margin-top: 4em;
    display: inline-block;
}

.progetto-more::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 17px) scale(0.7);
    opacity: 0.5;
    content: '';
    display: block;
    width: 75px;
    height: 27px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" id="more-arrows"><polygon points="37.6,27.9 1.8,1.3 3.3,0 37.6,25.3 71.9,0 73.7,1.3 "/></svg>');
}

.progetto-less {
    position: relative;
    margin-top: 4em;
    display: inline-block;
}

.progetto-less::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 17px) scale(0.7) rotate(180deg);
    opacity: 0.5;
    content: '';
    display: block;
    width: 75px;
    height: 27px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" id="more-arrows"><polygon points="37.6,27.9 1.8,1.3 3.3,0 37.6,25.3 71.9,0 73.7,1.3 "/></svg>');
}

section.download {
    padding: 4rem 0;
    margin-top: 6vw;
}

#download-filter ul {
    list-style: none;
}

#download-filter input {
    width: auto;
    display: none;
}

#download-filter input[type='checkbox']:checked+label, #download-filter input[type='radio']:checked+label {
    border-bottom: 1px solid #444;
    color: #444;
}

#download-filter label, #download-filter a {
    cursor: pointer;
    line-height: 2em;
}

.download-cat-list li {
    display: inline-block;
    margin: 1em;
}

.download-cat-list li:first-child {
    margin-left: 0;
}

.download-cat-list li:last-child {
    margin-right: 0;
}

.download-cat-list li label {
    padding: 1em 0;
}

#download-output {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    min-height: calc(100svh - 30em);
    margin-top: 2em;
    position: relative;
}

#download-output>div {
    flex-basis: 25%;
    padding: 1em;
    border-right: 1px solid #ccc;
    min-height: calc(100svh - 30em);
}

#download-output>div:first-child {
    padding-left: 0;
}

#download-output .downloads {
    flex-basis: 50%;
}

#download-output .downloads.noborder {
    border: none;
}

#download-output .spinner {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 0;
}

.download-logout {
    float: right;
}

.xoo-el-header, .xoo-el-section {
    padding: 0;
}

.xoo-el-form-container ul.xoo-el-tabs li {
    width: 50%;
    flex-grow: 0;
    display: none;
    color: #000;
    pointer-events: none;
}

.xoo-el-form-container ul.xoo-el-tabs li.xoo-el-active {
    display: inline-block;
    background-color: #eee;
    color: #000;
}

.xoo-el-form-container button.btn.button.xoo-el-action-btn {
    background-color: #ccc;
    color: #fff;
    border: none;
}

.download .halfgrid {
    align-items: flex-start;
}

.catalogue-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2em;
}

.catalogue-grid__item {
    flex-basis: 16.6666%;
    padding: 2em;
}

.catalogue-grid__item img {
    width: 100%;
    height: auto;
    display: block;
}

.catalogue-description {
    margin-top: 1em;
    text-align: center;
}

.contact .indirizzo p {
    margin: 0;
}

div.wpcf7 .ajax-loader {
    display: block;
    margin: 0 auto;
}

.contact .wpcf7 input, .contact .wpcf7 textarea {
    font-size: 1em;
    padding: 0.5rem 1rem;
    width: 100%;
    border: 1px solid #000;
    background: transparent;
    color: #000;
    font-family: 'Montserrat', sans-serif;
}

.contact .wpcf7-submit {
    float: right;
    width: auto !important;
    margin-top: 10px;
    text-align: right;
    color: #000 !important;
    cursor: pointer;
    outline: none !important;
}

.contact .wpcf7-submit:disabled {
    text-decoration: line-through;
}

.contact div.wpcf7-validation-errors {
    border: 1px solid #979797 !important;
    display: inline-block !important;
    margin-left: 0 !important;
}

.contact .wpcf7 input[type='checkbox'] {
    width: auto;
    padding-left: 0;
    margin: 0;
    vertical-align: bottom;
    width: 15px;
    height: 15px;
}

.contact span.wpcf7-list-item {
    margin: 0;
}

.wpcf7 form .wpcf7-response-output {
    margin: 4em 0;
    padding: 0.5em 1em;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #000;
}

.wrap_svl_center_box, .wrap_svl {
    width: 100%;
}

.img-link picture {
    overflow: hidden;
}

.img-link img {
    transform: scale(1);
    transition: all 800ms ease-in-out;
}

.img-link:hover img {
    opacity: 1;
    transform: scale(1.1);
}

.img-link figcaption {
    overflow: hidden;
    transition: all 800ms ease-in-out;
}

.img-link:hover figcaption {
    background-color: rgba(0, 0, 0, 0.5);
}

.img-link figcaption h4::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: all 400ms ease-in-out;
    opacity: 0;
    transform: translateX(-100%);
}

.img-link:hover figcaption h4::after {
    opacity: 1;
    transform: translateX(0);
}

.img-zoom {
    position: relative;
    overflow: hidden;
}

.img-zoom img {
    transform: scale(1);
    transition: transform 800ms ease-in-out;
}

.img-zoom:hover img {
    transform: scale(1.2);
}

.leather-grid__item a:hover,
.leather-grid__item a:hover img {
    opacity: 1 !important;
}

#cookieChoiceInfo {
    color: #000;
}

.homepage-popup {
    position: fixed;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

.homepage-popup.chocolat-open {
    z-index: 1005;
}

.homepage-popup .chocolat-overlay {
    background: #000;
}

.hero {
    width: 100%;
    position: relative;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 16em;
    padding-bottom: 6em;
}

.hero.sub-hero {
    padding-top: 6em;
}

.hero .caption {
    position: static;
    max-width: 56%;
}

.hero .caption h2 {
    text-transform: uppercase;
    margin-bottom: 0.7em;
}

/* MOBILE MENU HAMBURGER TOGGLE */

.menu-toggle {
    position: absolute;
    top: 24px;
    left: 22px;
    z-index: 999;
    cursor: pointer;
    padding-top: 11px;
    width: 24px;
    height: 30px;
    display: none;
}

.menu-toggle span, .menu-toggle span:before, .menu-toggle span:after {
    -webkit-transition: all 200ms cubic-bezier(0.305, 0.1, 0.485, 0.87);
    -moz-transition: all 200ms cubic-bezier(0.305, 0.1, 0.485, 0.87);
    -o-transition: all 200ms cubic-bezier(0.305, 0.1, 0.485, 0.87);
    transition: all 200ms cubic-bezier(0.305, 0.1, 0.485, 0.87);
}

.menu-toggle span:before {
    top: -7px;
}

.menu-toggle span:after {
    top: 5px;
}

.menu-toggle span, .menu-toggle span:before, .menu-toggle span:after {
    cursor: pointer;
    border-radius: 0;
    height: 2px;
    width: 24px;
    position: relative;
    display: block;
    background-color: #fff;
    content: '';
}

/* .black .menu-toggle span, .black .menu-toggle span:before, .black .menu-toggle span:after {
    background-color: #000;
}

.white .menu-toggle span, .white .menu-toggle span:before, .white .menu-toggle span:after, .menu-mobile-open .menu-toggle span, .menu-mobile-open .menu-toggle span:before, .menu-mobile-open .menu-toggle span:after {
    background-color: #fff;
} */

.menu-toggle.close span {
    background-color: transparent;
    top: 0;
}

.menu-toggle.close span:before {
    top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.menu-toggle.close span:after {
    top: -2px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.cky-btn-revisit-wrapper {
    display: none !important;
}

#mpwp-container {
    margin-bottom: 3em;
}

#mpwp-container h3 {
    letter-spacing: 0em;
}

#mpwp-container input[type="email"],
#mpwp-container input[type="email"]:focus,
#mpwp-container input[type="email"]:active {
    border: none;
    background: transparent;
    border-bottom: 1px solid #8d8d8d;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    outline: none;
}

#mpwp-container input[type="submit"] {
    border: none;
    background: transparent;
    padding: 0;
    color: #fff;
    text-transform: uppercase;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
}

#mpwp-container input[type="submit"]:hover {
    color: #8d8d8d;
}

#mpwp-container input::placeholder,
#mpwp-container input::placeholder,
#mpwp-container input::placeholder {
    color: #fff;
}

section.intro-testo {
    padding: 8rem 6rem 3rem 6rem;
    position: absolute;
    z-index: 9;
    height: auto;
}

section.intro-testo h1,
section.intro-testo h2 {
    letter-spacing: 0;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 1em;
    font-size: 3.1em;
}

section.intro-testo h3,
section.intro-testo h4,
section.intro-testo h5 {
    letter-spacing: 1;
    font-weight: 400;
}

section.intro-testo p {
    line-height: 1.5;
}

/***************************/

.menu-mobile-container {
    display: none;
}

.mobile-only {
    display: none;
}

@media (max-width: 1200px) {
    .product-info__links>a {
        font-size: 0.85em;
    }
}

.grecaptcha-badge {
    display: none !important;
}

/* MOBILE */

@media screen and (max-width: 1023px) {

    .mobile-only {
        display: block;
    }

    .desktop-only {
        display: none !important;
    }

    body {
        font-size: 12px;
    }

    /*     .home .header-container {
        position: absolute;
    }*/
    .fixed.header-container {
        background: #fff;
    }

    .header {
        width: 100%;
        position: relative;
        padding-top: 20px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
    }

    .header-container::before {
        opacity: 1;
        height: 70px !important;
        background: rgba(27, 27, 27, 1);
    }

    .header__top {
        display: none;
    }

    .arrow-down {
        /* bottom: 4.5em; */
        display: none !important;
    }

    .content-boxed, .content-superboxed {
        overflow: hidden;
        padding: 6vw 20px;
    }

    .container {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .header__logo {
        margin-top: 0;
        text-align: center;
    }

    .header__logo svg path, .header__logo svg polygon, .header__logo svg rect {
        fill: #fff;
    }

    .menu-mobile-open .header__logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
    }

    .header__logo a {
        width: 160px;
    }

    .header__menu, .menu-container {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .menu-mobile-container {
        display: block;
        position: fixed;
        z-index: 998;
        top: 70px;
        bottom: 0;
        right: 0;
        width: 100%;
        height: calc(100svh - 70px);
        background: rgba(27, 27, 27, 0.9);
        opacity: 0;
        padding: 25px 25px 0 25px;
        border-top: 1px solid #fff;
        overflow-y: auto;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -ms-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        -webkit-transform: translateY(-150%);
        -moz-transform: translateY(-150%);
        -ms-transform: translateY(-150%);
        -o-transform: translateY(-150%);
        transform: translateY(-150%);
        margin-top: 0;
        margin-bottom: 0;
    }

    .menu-mobile-container.reveal {
        opacity: 1;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
    }

    .menu-mobile {
        width: 100%;
        height: auto;
        display: block;
        margin-top: 20px;
        margin-bottom: 90px;
        float: none;
    }

    .menu-mobile {
        list-style: none;
    }

    .menu-mobile li {
        float: none;
        display: block;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
        margin-bottom: 1em !important;
        color: #fff !important;
        text-transform: uppercase !important;
    }

    .menu-mobile>li.wpml-ls-menu-item {
        display: inline-block;
        margin-right: 0.5em;
    }

    .menu-mobile li a {
        color: #fff !important;
    }

    .menu-mobile .sub-menu {
        column-count: 1 !important;
        max-width: 100% !important;
        padding: 1em 0 0 1em !important;
    }

    .menu-mobile .sub-menu li {
        margin-bottom: 0.85em !important;
        text-align: left;
    }

    #menu-lang {
        margin: 6em 0;
        padding-left: 20px;
    }

    #menu-lang>li {
        display: inline-block;
        padding: 0 0 0 1em;
    }

    #menu-lang>li:first-child {
        padding-left: 0;
    }

    #menu-lang>li>a {
        color: #fff;
    }

    .mobile-body-overlay {
        display: none;
        width: 100vw;
        height: 100svh;
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #000;
        opacity: 0;
    }

    .menu-mobile-open .mobile-body-overlay {
        display: block;
        z-index: 997;
    }

    body.menu-mobile-open {
        overflow-y: hidden;
    }

    input {
        max-width: 100%;
    }

    h1 {
        font-size: 2.2em;
    }

    h2 {
        font-size: 1.8em;
    }

    h3 {
        font-size: 1.5em;
    }

    h4 {
        font-size: 1.2em;
    }

    .homepage-slider__item .caption, .splash-image .caption {
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100%;
        padding: 0 25px;
        bottom: 10px;
    }

    section.news {
        padding: 90px 0 90px 0;
        height: auto !important;
    }

    .home .news__item__date {
        min-width: 1em;
    }

    .home .news__item__image {
        display: none;
    }

    section.social {
        padding: 90px 0 90px 0;
        height: auto !important;
        overflow: visible;
    }

    section.social .container {
        height: auto !important;
    }

    .social-grid {
        position: static;
        display: block;
        width: 100%;
        transform: none;
        margin: 0;
    }

    .social-grid__item {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        display: block;
    }

    .social-grid__item img {
        width: 100%;
        height: auto;
    }

    .footer-menu-container {
        display: block;
    }

    .footer-menu-container .footer-left {
        width: 100%;
    }

    #menu-social {
        justify-content: flex-end;
    }

    #menu-footer {
        padding: 0;
    }

    section.product {
        height: auto !important;
        padding: 90px 0 90px 0;
    }

    .product-grid__item figure, .product-grid__item img {
        width: auto;
        height: 20vh;
    }

    .product-grid__item {
        flex-basis: 100%;
        width: 100%;
        padding: 1em 2em;
    }

    .splash-image .caption .title {
        font-size: 2em;
    }

    .splash-image .caption .subtitle {
        font-size: 1.3em;
    }

    .splash-image .testo-padding-top {
        padding-left: 25px;
        padding-right: 25px;
    }

    .product-view {
        display: block;
    }

    .product-info {
        margin-top: 4em;
        margin-left: 0;
    }

    section.product-galleria-ambientata {
        height: auto !important;
        padding-bottom: 90px;
    }

    .product-ambientata-slider__item img {
        width: auto;
        height: 30vh;
    }

    section.normalscroll-mobile .arrow-down {
        display: none !important;
    }

    .product-technicals-container {
        display: block;
    }

    .product-finishing__menu>li {
        padding: 1em 2em 1em 0;
    }

    .finishing-grid__item {
        flex-basis: 33%;
    }

    .mosaic-finishing {
        width: 100vw;
        padding: 7em 25px;
    }

    .mosaic-finishing.active {
        position: fixed;
        height: 100svh;
    }

    .mosaic-finishing.normal.active {
        position: static;
        height: 100%;
    }

    .mosaic-finishing .finishing-grid .finishing-grid__item {
        flex-basis: 33%;
    }

    .single-finishing .finishing-grid__item,
    .leather-grid__item {
        flex-basis: 50%;
        padding: 1.5em 1em;
    }

    .leather-grid__item figcaption {
        padding: 0;
    }

    .leather-grid__item figcaption p,
    .leather-grid__item figcaption span {
        display: none;
    }

    .leather-grid__item figcaption h5 {
        font-size: 1em;
    }

    .mosaic-finishing__close {
        left: 25px;
        bottom: 3em;
    }

    .designer-grid {
        display: block;
    }

    section.news {
        margin-top: 0;
    }

    .progetto-grid {
        display: block;
    }

    .progetto__item {
        flex-wrap: wrap;
    }

    .progetto__item__description {
        flex-basis: 100%;
        display: block;
        order: 2;
        margin-top: 1em;
    }

    .progetto__item__description h3 {
        margin-bottom: 1em;
    }

    .progetto__item__image {
        flex-basis: 100%;
        display: block;
        padding-left: 0;
        order: 1;
    }

    .page-template-page-collection section.mosaic {
        height: auto !important;
        padding: 90px 0 90px 0;
    }

    .mosaic-grid {
        display: block;
        padding: 0 25px;
    }

    .mosaic-grid__item {
        margin-bottom: 2em;
    }

    .mosaic-grid__item img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .page-template-page-collection section.halfgrid {
        flex-direction: column;
        padding: 0;
        height: 100% !important;
    }

    .page-template-page-collection section.halfgrid .halfgrid__item {
        height: 50%;
        padding: 0;
    }

    .page-template-page-collection section.halfgrid.padding-boxed,
    section.padding-boxed {
        padding: 90px 0 90px 0;
    }

    .page-template-page-collection section.halfgrid.padding-boxed.bottom,
    section.padding-boxed.bottom {
        padding: 0;
    }

    .page-template-page-collection section.halfgrid .halfgrid__item .testo-padding {
        padding: 25px !important;
    }

    .news-grid {
        display: block;
    }

    section.download {
        margin-top: 0;
    }

    .download-cat-list li {
        margin: 0 1em 0 0;
    }

    .download-cat-list li label {
        padding: 0.2em 0;
    }

    #download-output {
        flex-wrap: wrap;
    }

    #download-output>div {
        flex-basis: 50%;
        min-height: auto;
    }

    #download-output .downloads {
        flex-basis: 100%;
        padding: 1em 0;
        border: none;
    }

    section.contact {
        display: block;
        height: auto !important;
        padding: 90px 0 90px 0;
    }

    section.contact .halfgrid__item {
        margin-bottom: 4em;
    }

    .catalogue-grid__item {
        flex-basis: 50%;
    }

    .homepage-slider {
        width: 100%;
        height: auto;
        position: relative;
    }

    .homepage-slider__item, .homepage-slider__item img {
        width: 100%;
        display: block;
        height: auto;
    }

    .home section.fullheight, .home .halfheight,
    .page-template-page-interiors section.fullheight, .page-template-page-interiors .halfheight {
        height: auto;
    }

    .home .halfheight.bgwhite {
        padding: 4rem 0;
    }

    .home .main-content,
    .page-template-page-interiors .main-content,
    .page-template-page-collection .main-content,
    .page-template-page-homepage .main-content {
        margin-top: 70px;
    }

    .home .caption h2 {
        margin-bottom: 0;
    }

    .homepage-slider .caption h3, .homepage-slider .caption p, .home .fullheight .caption h3, .home .halfheight .caption h3 {
        display: none;
    }

    .homepage-slider .caption {
        bottom: 30px;
    }

    section .caption {
        bottom: 18px;
    }

    .product-info__links {
        justify-content: center;
    }

    .product-info__links>a {
        margin-right: 1em;
    }

    .singleimage-text.bottom {
        padding-bottom: 0;
    }

    .singleimage-text.bottom .caption {
        position: absolute;
        color: #fff;
    }

    .fullscreen-video, .fullscreen-video video {
        width: 100%;
        height: auto;
    }

    .hero {
        padding-top: 12em;
        padding-bottom: 2em;
    }

    .hero.sub-hero {
        padding-top: 2em;
    }

    .hero .caption {
        max-width: 100%;
    }

    section.intro-testo {
        padding: 60px 0 60px 0;
        height: auto !important;
        position: static;
    }

    section.intro-testo h1,
    section.intro-testo h2 {
        font-size: 2.2em;
    }

    section.intro-testo p {
        font-size: 12px;
    }
}

@media screen and (orientation: portrait) {

    .home .main-content,
    .page-template-page-interiors .main-content,
    .page-template-page-collection .main-content,
    .page-template-page-homepage .main-content {
        margin-top: 70px;
    }
    
    section.intro-testo {
        padding: 60px 0 60px 0;
        height: auto !important;
        position: static;
    }
}

/***************************/