/*  
SECTIONS TEMPLATES
-----------------------------------------------------*/

:root {
    --site-lateral-spacing: 38px;
    --site-vertical-spacing: 12px;
    --site-section-spacing: 70px;
    --site-columns-spacing: 17px;
    --site-initial-spacing: 110px;

    --site-paragraph-spacing: var(--site-lateral-spacing);
    --site-lateral-info-spacing: var(--site-lateral-spacing);
    --site-max-page-width: 1800px;
    --site-bleed-area: calc(calc(100vw - min(100vw, var(--site-max-page-width)))/2);

    --caption-distance: 6px;

    --menu-height: 74px;
    --menu-spacing: 40px;
    --menu-window-spacing: 22px;

    --footer-height: 466px;
    --footer-max-width: 1000px;
    --footer-row-spacing: 30px;
    --footer-column-spacing: 50px;

    --left-column: 230px;

    --cover-text-offset: 105px;
    --gallery-horizontal-height: 700px;
    --gallery-horizontal-info-height: 80px;

    --editorial-spacing: 55px;
    --video-spacing: 55px;

    --gallery-window-image-top-spacing: 25px;

    --checkbox-size-checked: 9px;
}

.mobile {
    --footer-height: var(--window);
    --gallery-horizontal-height: 200px;
    --footer-mobile-top-spacing: 70px;
    --footer-mobile-bottom-spacing: 200px;
    --site-initial-spacing: 50px;
    --site-paragraph-spacing: 20px;
}

/*  
COLORS
-----------------------------------------------------*/

:root {
    --theme-color-dark: #464545 !important;
    --theme-color-light: white !important;
    --color-text-light: white;
    --color-text-dark: black;
    --theme-color-footer: rgb(0, 0, 0);
    --color-text: var(--color-text-dark, black);
    --color-text-caption: grey;
    --color-text-footer-info: rgb(255, 255, 255);

}

#main-site>footer a {
    color: white;
    text-decoration: underline;
}

#main-site>footer p {
    color: white;
}

#main-site>footer h5 {
    color: white;
}

#main-site>footer>div.section-footer-inner>div.section-footer-column.section-footer-column-full.link-underline>h5 {
    color: white;
}

#wpcf7-f182-o1>form>p>span.fl_acceptance>span>span>span>label>span {
    color: white;
}

#wpcf7-f182-o1>form>p>span.fl_acceptance>span>span>span>label>span>a {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(2)>h5 {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(3)>h5 {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(4)>h5 {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(2)>div>div>div:nth-child(2)>div>div:nth-child(1)>a {
    color: white;
    text-decoration: none;
}

#main-site>footer>div.section-footer-bottom>div {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(3)>div>p>a {
    color: white;
    text-decoration: none;

}

#main-site>footer>div.section-footer-inner>div:nth-child(2)>div>p {
    color: white;
}

#main-site>footer>div.section-footer-inner>div.section-footer-column.section-footer-column-full>h5 {
    color: white;
}

#main-site>footer>div.section-footer-inner>div:nth-child(2)>div>p>a:nth-child(2) {
    color: white;
    text-decoration: none;
}

#main-site>footer>div.section-footer-inner>div:nth-child(2)>div>p>a:nth-child(5) {
    color: white;
    text-decoration: none;
}

#main-site .section-footer .wpcf7-list-item-label {
    color: white;
}

#main-site .section-footer .wpcf7-response-output {
    color: white;
}

.section-text-gray {
    --color-text: var(--gray)
}



.section-image-caption,
.section-gallery .gallery-info {
    --color-text: var(--color-text-caption)
}

/* Body Colors
    -----------------------------------------------------*/

.theme-sections {
    background-color: var(--theme-color-footer);
}

.theme-sections #inner-content {
    background: var(--theme-color-dark);
    box-shadow: 0px 0px 60px rgba(121, 121, 121, 0.3);
}

.theme-sections.theme-light .page-sections {
    background: var(--theme-color-light);
    --color-text: var(--color-text-dark);
}

.theme-sections .page-sections {
    background: var(--theme-color-dark);
    --color-text: var(--color-text-light);
}

.theme-sections.theme-light #inner-content {
    background: var(--theme-color-light);
}

.section-text-light {
    --color-text: var(--color-text-light);
}

.section-text-dark {
    --color-text: var(--color-text-dark);
}

/* Header Colors
    -----------------------------------------------------*/
.section-menu,
.section-menu-sticky-background {

    background-color: white;
    --color-text: var(--color-text-light);
}

.theme-light .section-menu {
    background-color: var(--theme-color-light);
    --color-text: var(--color-text-dark);
    width: calc(100% - 26px);
    margin: 13px;
    --site-lateral-spacing: 13px;
    padding-left: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing);
}

.theme-light .section-menu.section-menu-text-light {
    --color-text: var(--color-text-light);
}

.section-menu.section-menu-text-dark {
    --color-text: var(--color-text-dark);
}

.section-menu li.current-menu-item {
    text-decoration: underline
}

.section-menu li:hover {
    text-decoration: underline
}

.section-menu-window {
    background: var(--theme-color-light);
    --color-text: var(--color-text-light)
}

.theme-light .section-menu-window {
    background-color: var(--theme-color-light);
    --color-text: var(--color-text-dark);
}

.theme-light .section-menu.section-menu-text-light+.section-menu-window {
    /*   background: var(--theme-color-dark); */
    --color-text: var(--color-text-light)
}

.section-menu.section-menu-text-dark+.section-menu-window {
    background-color: var(--theme-color-light);
    --color-text: var(--color-text-dark);
}

/* Footer Colors
    -----------------------------------------------------*/
.section-footer .section-footer-bottom {
    --color-text: var(--color-text-footer-info)
}

/*  
UTILITY
-----------------------------------------------------*/

img {
    max-width: 100%
}

/* Extra
    -----------------------------------------------------*/

.link-underline a,
.ft-more {
    text-decoration: underline;
}

.link-no-underline {
    text-decoration: none !important;
}

.align-to-section-title {
    position: relative;
    top: -0.2em;
}

/* Form
    -----------------------------------------------------*/

.contact-email {
    --contact-button-width: 50px;
}

.contact-email input[type=email] {
    border: none;
    padding-left: 0;
    margin-bottom: 6px;
    background: var(--contact-color);
    padding: 12px 15px;
    height: 38px
}



.contact-email input[type=submit] {
    justify-content: flex-end;
    margin-right: 15px;
    margin-top: 5px;
}

.contact-email input[type="checkbox"] {
    border-radius: 50%;
    height: 14px;
    width: 14px;
    background: var(--checkbox-color);
    border: none;
}

.contact-email input[type="checkbox"] {
    position: relative;
    margin-top: 2px
}

.contact-email input[type="checkbox"]:checked:after {
    background: var(--checkbox-color-checked, black);
    width: var(--checkbox-size-checked, 80%);
    height: var(--checkbox-size-checked, 80%)
}

.ft-request-title {
    margin-bottom: 8px
}

/*  
LAYOUT
-----------------------------------------------------*/

/* Body
    -----------------------------------------------------*/
.theme-sections #content {
    padding-bottom: 1px;
}

.theme-sections #inner-content {
    padding-top: var(--menu-height);
    z-index: 1;
    position: relative;
    margin-bottom: var(--footer-height);
    padding-bottom: var(--site-section-spacing);
}

.mobile.theme-sections #exhibitions-page #inner-content {
    padding-top: 45px;
}

/* Spacing
    -----------------------------------------------------*/

.spacing-right {
    padding-right: var(--site-lateral-spacing)
}

.spacing-left {
    padding-left: var(--site-lateral-spacing)
}

.spacing-vertical {
    padding-top: var(--site-lateral-spacing);
    padding-bottom: var(--site-lateral-spacing);
}

.spacing-lateral {
    padding-left: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing);
}

.spacing-column-right {
    padding-left: var(--left-column);
    padding-right: var(--site-lateral-spacing);
}

.spacing-top-page {
    padding-top: var(--site-initial-spacing)
}

/*  
SECTIONS
-----------------------------------------------------*/

.page-sections {
    margin: 0 auto
}

.section {
    width: 100%;
    max-width: var(--site-max-page-width);
    margin: 0 auto;
    right: 0;
    left: 0;
}

.section-full {
    max-width: none
}

.section+.section {
    padding-top: var(--site-section-spacing);
}

.section .section-inner {
    display: block;
    width: 100%;
    position: relative;
}

.section .section-content-left {
    padding-right: var(--site-lateral-spacing)
}

.section .section-inner {
    padding-left: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing);
}

.section .section-content p+p {
    margin-top: var(--site-paragraph-spacing)
}


/* Elements
    -----------------------------------------------------*/

.section-link {
    height: 100%;
    position: relative;
}

.section-button {
    position: absolute;
    top: 0;
    right: 0;
    padding-right: var(--site-lateral-spacing)
}

.section-empty-title {
    display: none
}

.section-image-caption {
    padding-top: var(--caption-distance)
}

/* Footer
    -----------------------------------------------------*/

.section-footer {
    position: fixed;
    z-index: 0;
    left: 0;
    bottom: 0;
    max-width: var(--site-max-page-width);
    margin: 0 auto;
    left: 0;
    right: 0;
    width: 100%;
    height: var(--footer-height);
}

.section-footer .section-footer-inner {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.section-footer .section-footer-inner {
    max-width: var(--footer-max-width);
    margin: 0 auto;
}

.section-footer .section-footer-inner {
    row-gap: var(--footer-row-spacing);
    column-gap: var(--footer-columnn-spacing);
}

.section-footer .section-footer-column-full {
    grid-column-end: 4;
    grid-column-start: 1;
}

.section-footer .section-footer-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 10px;
}

.section-footer .section-footer-title {
    margin-bottom: 4px
}

.mobile .section-footer {
    padding: 20px;
    padding-top: calc(var(--menu-height) + var(--footer-mobile-top-spacing));
    padding-bottom: var(--footer-mobile-bottom-spacing);
}

.mobile .section-footer .section-footer-inner {
    display: flex;
    flex-flow: column;
    height: 100%;
    justify-content: space-between;
}

.mobile .section-footer-column .footer-column {
    display: grid;
    grid-template-columns: 120px 1fr;
    column-gap: var(--site-lateral-spacing)
}

.mobile .section-footer .section-footer-title {
    margin-bottom: 6px
}

/* Menu
    -----------------------------------------------------*/

.section-menu {

    position: fixed;
    z-index: 3;
}

.section-menu,
.section-menu-sticky-background {

    top: 0;
    /*     width: 100%; */
    height: var(--menu-height);
    width: calc(100% - 26px);
    margin: 13px;
    --site-lateral-spacing: 13px;
    padding-left: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing);

}

.section-menu-sticky-background {
    position: sticky;
    z-index: 1;
}

.section-menu li+li {
    margin-left: var(--menu-spacing, 60px)
}

.section-menu.menu-no-background {
    width: calc(100% - 26px);
    margin: 13px;
    background: white;
    box-sizing: border-box;
}

.section-menu li a {
    transition: color 0.5s;
}

.theme-sections.theme-light .section-menu:not(.section-menu-text-light) .logo-light,
.section-menu.section-menu-text-dark .logo-light {
    display: none
}

.theme-sections:not(.theme-light) .section-menu:not(.section-menu-text-dark) .logo-dark,
.section-menu.section-menu-text-light .logo-dark {
    display: none
}

.section-menu-window {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.section-menu-window {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--site-lateral-spacing);
    /*     modifiche aggiunte per margine */
    width: calc(100% - 20px);
    margin: 10px;
    height: calc(100% - 20px);
    background: white;
    box-sizing: border-box;
}


.section-menu-window li {
    padding: var(--menu-window-spacing, 20px) 0;
    display: block;
    text-align: center
}

.section-menu-window {
    transition: 0.5s right
}

.section-menu-window.open {
    right: 0
}

/* Columnns & Grid 
    -----------------------------------------------------*/

.section-columns {
    --row: 1fr 1fr 1fr;
}

.section-columns .section-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: var(--site-columns-spacing);
}

.section-columns .section-content-left {
    grid-column-start: 1;
    grid-column-end: 3;
    padding-right: 0
}

.section-columns.no-right-column .section-content-left {
    grid-column-end: 4;
}

.section:not(.section-columns) .section-content-left+.section-content-right {
    margin-top: var(--row-spacing, var(--site-columns-spacing));
}

.section:not(.section-columns) .section-content-left {
    padding-right: 0
}

.section-grid .section-content {
    display: grid;
    grid-template-columns: var(--layout, repeat(var(--columns, 2), 1fr));
}

.section-grid .section-content {
    column-gap: var(--column-spacing, var(--site-columns-spacing));
    row-gap: var(--row-spacing, var(--site-columns-spacing));
}

.section-grid .section-content img {
    width: 100%
}

.section-columns-preview .preview-inner {
    display: grid;
    grid-template-columns: var(--column-preview-left, 33%) var(--column-preview-right, 1fr);
}

.section-columns-preview .preview-inner {
    column-gap: var(--column-spacing);
    row-gap: var(--row-spacing);
}

.section-borderless-image .section-inner {
    padding: 0;
}

.section-borderless-image .section-inner .section-title {
    padding-left: var(--site-lateral-spacing);
}

.section-borderless-image .section-inner .preview-content {
    padding-left: var(--site-lateral-spacing);
}


/* Cover
    -----------------------------------------------------*/

.section+.section.section-cover {
    padding-top: 0;
}

.section-cover .section-inner,
.section-cover {
    /* height: calc(var(--window) - var(--menu-height)); */
    height: var(--window);
    align-items: center;
    position: relative;
}

.section-cover .section-background {
    width: 100%;
    height: calc(100% - var(--cover-text-offset));
    /* padding-left: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing); */
    padding-left: 0px;
    padding-right: 0px;
}

/* #exhibitions-page {
    margin-top: -45px;

} */

.section-cover .section-background * {
    width: 100%;
    height: 100%;
}

.section-cover .section-background img {
    object-fit: cover
}

.section-cover .section-content {
    align-items: flex-end
}

.section-cover.section-cover-full {
    margin-top: calc(-1*var(--menu-height));
    height: var(--window);
}

.section-cover.section-cover-full .section-background {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.section-cover.section-cover-full .section-inner {
    background: white;
    position: absolute;
    bottom: 0px;
    width: calc(100% - 26px);
    height: auto;
    margin: 13px;
    padding-top: 10px;
    padding-left: 26px;
    padding-right: 26px;
    padding-bottom: 22px;
}

/* .mobile .section-cover.section-cover-full .section-inner {
    width: calc(100% - 20px);
    margin: 10px;
    padding-top: 13px;
    padding-left: 10px;
    padding-right: 10px;
    bottom: calc(var(--window)/2);
    position: absolute;
    transform: translateY(50%);
} */

#exhibitions-page>div.section.section-cover.section-columns.exhibitions-cover.section-cover-boxed.ft-cover.home-cover.section-cover-full.ex-cover>div>div>div:nth-child(2)>div {
    background: white;
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: auto;
    margin: 0px;

}

.section-cover.section-cover-full .section-background {
    padding: 0;
}

.section-cover .section-content-top {
    bottom: calc(var(--window)/2);
    position: absolute;
    transform: translateY(50%);
}

/*mask*/
.section-cover .js-menu-mask {
    position: absolute;
    bottom: 0;
    width: 100%;
    overflow: hidden;
}


/*  Slideshow 
    -----------------------------------------------------*/

/* Section Artists slideshow */
.section-slideshow {
    --slideshow-width: calc(50vw - calc(2*var(--site-lateral-spacing)));
}

.section-slideshow {
    --row: 1fr var(--slideshow-width);
    --spacing: var(--site-lateral-spacing)
}

/* slideshow */
.slideshow {
    position: sticky;
    position: -webkit-sticky;
    top: var(--menu-height);
}

.slideshow img {
    width: var(--slideshow-width);
    height: calc(0.75 * var(--slideshow-width));
    object-fit: cover;
}

.slideshow a {
    position: absolute;
    top: 0;
    left: 0;
}

.slideshow a:not(.active) {
    opacity: 0;
    pointer-events: none;
}

.slideshow a {
    transition: opacity .9s;
}

/* Section List */
.section-list .section-item+.section-item {
    margin-top: 76px;
}

/* Content
    -----------------------------------------------------*/
.section-right-title {
    margin-bottom: 2px;
}

.section-right-block .contact-email {
    margin-top: 6px;
}

.section-right-block+.section-right-block {
    margin-top: var(--site-lateral-info-spacing)
}

/* Content Editorial
    -----------------------------------------------------*/

.section-editorial .section-content {
    row-gap: var(--editorial-spacing, var(--site-paragraph-spacing))
}

.section-editorial-image-aside {
    position: relative;
}

.section-editorial.section-columns .section-editorial-image-aside:not(:last-child) .aside-image-container {
    position: absolute;
    width: 100%;
    height: auto
}

.section-editorial:not(.section-columns) .section-editorial-image-aside .aside-image-container {
    display: grid;
    grid-template-columns: 1fr var(--full-editorial-caption-aside-width, 120px);
    align-items: flex-end
}

.section-editorial:not(.section-columns) .section-editorial-image-aside .aside-image-container {
    column-gap: var(--column-spacing, var(--site-columns-spacing));
}

.section.section-editorial:not(.section-columns) .section-content>div+div {
    margin-top: var(--editorial-spacing, var(--site-paragraph-spacing))
}

/* Gallery/Video
    -----------------------------------------------------*/
.section-gallery .gallery {
    position: relative
}

.section-gallery.section-gallery-horizontal .section-content {
    padding-right: 0
}

.section-gallery .gallery-horizontal {
    width: calc(calc(100vw - calc(var(--site-bleed-area) + var(--site-lateral-spacing))));
}

.section-gallery .gallery-horizontal .slide-wrapper li {
    margin-right: var(--gallery-spacing, var(--site-columns-spacing))
}

.section-gallery .gallery-horizontal .slide-wrapper li .gallery-image {
    height: var(--gallery-horizontal-height);
    width: auto;
}

.section-gallery .gallery-grid .gallery-image-list {
    column-gap: var(--gallery-column-spacing, var(--site-columns-spacing));
    row-gap: var(--gallery-row-spacing, var(--site-columns-spacing));
}

.section-gallery .gallery-info {
    padding-top: var(--caption-distance);
}

.section-gallery .gallery-info-caption {
    margin-top: 2px
}

.section-gallery .gallery-image-list li {
    position: relative;
    padding-bottom: var(--gallery-info-height, 0);
}

.section-gallery .gallery-info {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%
}

.section-gallery .gallery-horizontal .gallery-info {
    bottom: auto;
    top: var(--gallery-horizontal-height);
}

.section-gallery .gallery-nav {
    position: absolute;
    top: calc(var(--gallery-horizontal-height)/2);
    transform: translateY(-50%);
    right: var(--site-lateral-spacing);
    border-radius: 50px;
    background: var(--color-1);
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 5px;
}

.section-gallery .end-icon {
    display: none;
}

.section-gallery .gallery.gallery-end .next-icon {
    display: initial;
}

.section-gallery .gallery.gallery-end .gallery-next,
.section-gallery .gallery.gallery-start .gallery-prev {
    opacity: 0.5;
    pointer-events: none;
    cursor: auto
}

.section-video .section-content+.section-content {
    margin-top: var(--video-spacing, var(--site-columns-spacing));
}

.section:not(.section-columns).section-video {
    --row-spacing: 0
}

/* Gallery Window
    -----------------------------------------------------*/
.gallery-window {
    display: grid;
    grid-template-columns: 1fr 280px;
    column-gap: var(--site-lateral-spacing);
    padding-right: var(--site-lateral-spacing)
}

.gallery-window {
    background: var(--theme-color-light);
    position: fixed;
    width: 100%;
    height: var(--window);
    z-index: 4;
    bottom: -100%;
}

.gallery-window .gallery-close {
    position: absolute;
    right: var(--site-lateral-spacing);
    top: var(--site-lateral-spacing);
    z-index: 2;
}

.js-gallery-window.gallery-window-left li:not(.current) {
    display: block;
}

.gallery-window .gallery-window-left {
    height: var(--window);
}

.gallery-window .gallery-window-left li {
    padding: var(--site-lateral-spacing);
    width: 100%;
}

.gallery-window .gallery-window-left ul li+li {
    margin-top: calc(-1*var(--site-lateral-spacing));
    position: relative
}

.gallery-window .gallery-window-left li img {
    object-fit: contain;
    width: 100%;
    max-height: calc(var(--window) - calc(2*var(--site-lateral-spacing)));
}

.gallery-window .gallery-window-right {
    height: 100%;
    padding: var(--site-lateral-spacing) 0;
    position: relative;
    align-items: center;
    display: flex;
}

.gallery-window-right-bottom {
    position: absolute;
    bottom: var(--site-lateral-spacing);
    right: 0;
}

.section-gallery-window.gallery-window .gallery-nav {
    position: absolute;
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 6px;
    top: var(--site-lateral-spacing);
    z-index: 2;
    right: 50px;
}

.section-gallery-window.gallery-window .gallery-window-left ul li {
    margin-top: 0;
}

.section-gallery-window.gallery-window .gallery-window-left li .gallery-image {
    width: calc(100vw - calc(calc(2*var(--site-lateral-spacing))));
    height: calc(var(--window) - calc(calc(2*var(--site-lateral-spacing)) + var(--gallery-window-image-top-spacing, 0)));
    margin-top: var(--gallery-window-image-top-spacing, 0);
}

.section-gallery-window.gallery-window .gallery-window-left li .lazy-image-wrapper {
    width: 100%;
    height: 100%;
}

.section-gallery-window.gallery-window .gallery-window-left li img {
    max-width: none;
    max-height: none;
    width: 100%;
    height: 100%;
}

.section-gallery-window .gallery.gallery-end .gallery-next,
.section-gallery-window .gallery.gallery-start .gallery-prev {
    opacity: 0.3;
    cursor: auto;
}

.section-gallery-window .end-icon {
    display: none;
}

.section-gallery-window .gallery.gallery-end .next-icon {
    display: initial;
}