/* =========================================
   GALLERY
   Anna Utopia Giordano
   ========================================= */


/* =========================================
   PAGE RESET
   ========================================= */

html {
    scroll-behavior: smooth;
    overflow-x: auto;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: visible;
}


/* =========================================
   GALLERY PAGE
   ========================================= */

.gallery-page {
    display: flex;
    align-items: flex-start;

    width: max-content;
    min-width: max-content;

    height: calc(93vh - 52px);

    margin: 0;
    padding: 0;

    overflow: visible;

    text-align: justify;
}

/* =========================================
   LINKS
   ========================================= */

.gallery-page a {
    color: inherit;
    font-style: italic;
    text-decoration: none;
}

.gallery-page a:hover {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}


/* =========================================
   INTRO
   ========================================= */

.gallery-intro {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;

    width: 60vw;
    height: calc(93vh - 52px);

    padding: 35px 60px;

    overflow: visible;
}


/* =========================================
   INTRO CONTENT
   ========================================= */

.gallery-intro-content {
    width: 100%;
    margin: 0;
}


/* =========================================
   LABEL
   ========================================= */

.gallery-label {
    margin: 0 0 10px;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;

    text-transform: uppercase;
    letter-spacing: 0.3em;
}


/* =========================================
   TITLE
   ========================================= */

.gallery-intro h1 {
    margin: 0 0 20px;

    text-align: left;
}


/* =========================================
   META
   ========================================= */

.gallery-meta {
    margin: 0 0 24px;
    font-size: 14px;
}


/* =========================================
   DESCRIPTION
   ========================================= */

.gallery-description {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
}

/* =========================================
   SELECTED EXHIBITIONS
   ========================================= */

.gallery-info-block {
    margin-top: 28px;
    font-size: 0.8em;
    line-height: 1.3;
}


/* =========================================
   SELECTED PRESS
   ========================================= */

.gallery-press {
    width: 100%;
    margin-top: 28px;
    padding: 0;
    font-size: 0.8em;
    line-height: 1.3;
}


/* =========================================
   EXHIBITIONS AND PRESS TITLES
   ========================================= */

.gallery-info-block > p:first-child,
.gallery-press > p:first-child {
    margin: 0 0 12px;
    padding: 0;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}


/* =========================================
   PRESS QUOTE
   ========================================= */

.gallery-press blockquote {
    margin: 0 0 14px;
    padding: 0;
}

/* =========================================
   IMAGE GALLERY
   ========================================= */

.gallery-images {
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;

    gap: 10px;

    height: calc(93vh - 52px);

    margin: 0;
    padding: 35px 60px;

    white-space: nowrap;
}


/* =========================================
   FIGURES
   ========================================= */

.gallery-images figure {
    display: block;
    flex: 0 0 auto;

    margin: 0;
    padding: 0;

    line-height: 0;
}


/* =========================================
   IMAGES
   ========================================= */

.gallery-images img {
    display: block;

    width: auto;
    height: calc(93vh - 52px);
    max-width: none;

    margin: 0;
    padding: 0;
}


/* =========================================
   VIDEO
   ========================================= */

.gallery-video {
    display: block;
    flex: 0 0 auto;

    width: min(70vw, 1120px);
    aspect-ratio: 16 / 9;

    margin: 0;
    padding: 0;
}

.gallery-video iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}


/* =========================================
   MOBILE
   ========================================= */

@media screen and (max-width: 768px) {

    html,
    body {
        width: 100%;
        height: auto;

        overflow-x: hidden;
        overflow-y: auto;
    }


    /* =====================================
       PAGE
       ===================================== */

    .gallery-page {
        display: block;

        width: 100%;
        min-width: 0;

        height: auto;

        overflow: visible;
    }


    /* =====================================
       INTRO
       ===================================== */

    .gallery-intro {
        display: block;

        width: 100%;
        min-width: 0;

        height: auto;
        min-height: calc(93vh - 52px);

        padding: 35px 25px 55px;

        overflow: visible;
    }


    /* =====================================
       INTRO CONTENT
       ===================================== */

    .gallery-intro-content {
        width: 100%;
    }


    /* =====================================
       TITLE
       ===================================== */

    .gallery-intro h1 {
        margin-bottom: 22px;

        font-size: 3rem;
        line-height: 1.05;
    }


    /* =====================================
       DESCRIPTION
       ===================================== */

    .gallery-description {
        width: 100%;

        font-size: 16px;
        line-height: 1.5;
    }


    /* =====================================
       EXHIBITIONS
       ===================================== */

    .gallery-info-block {
        width: 100%;

        margin-top: 28px;

        font-size: 13px;
        line-height: 1.5;
    }

    .gallery-info-block p {
        margin: 0 0 7px;
    }


    /* =====================================
       PRESS
       ===================================== */

    .gallery-press {
        width: 100%;

        margin-top: 28px;

        font-size: 13px;
        line-height: 1.5;
    }

    .gallery-press blockquote {
        max-width: none;

        font-size: 13px;
        line-height: 1.5;
    }


    /* =====================================
       IMAGE GALLERY
       ===================================== */

    .gallery-images {
        display: block;

        width: 100%;
        min-width: 0;

        height: auto;

        margin: 0;
        padding: 0 25px 50px;

        overflow: visible;

        white-space: normal;
    }


    /* =====================================
       FIGURES
       ===================================== */

    .gallery-images figure {
        width: 100%;
        max-width: 100%;

        margin: 0 0 10px;
    }

    .gallery-images figure:last-child {
        margin-bottom: 0;
    }


    /* =====================================
       IMAGES
       ===================================== */

    .gallery-images img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
	
	    /* =====================================
       VIDEO
       ===================================== */

    .gallery-video {
        width: 100%;
        aspect-ratio: 16 / 9;

        margin: 0 0 10px;
    }

    .gallery-video iframe {
        width: 100%;
        height: 100%;
    }

}