/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

* {
    box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scrolling */
    width: 100%;
    font-size: 16px;
}


.banner {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    height: 500px;
    background-color: white;
    font-family: "dm-sans", "Helvetica", "sans serif";
    text-align: center;
    padding: 0;
    box-sizing: border-box;
    justify-content: center; /* Space out the title and description */
    align-items: center;
}

#two-names {
    padding-bottom: 6vw;
}

.featured-title {
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    margin: 0;
    width: 100%; /* Optional: Ensures the title spans the full width */
    text-align: center; /* Ensures centered text */
}

.description {
    font-family: "dm-sans";
    font-weight: 200;
    position: absolute;
    bottom: 0rem;
    left: 30px;
    padding: 10px;
    max-width: 80%;
    box-sizing: border-box;
    text-align: left;
    align-self: flex-start;
}

.main-image-container {
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    padding: 0px;
    margin-top: 20px;
    justify-content: center;
    align-items: center;

}

.main-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;

}

.title-banner {
    width: 100%;
    height: auto;
    display: grid;
    margin-left: 30px;
}

.image-caption, .image-caption-1 {
    text-align: left;
    margin-left: 15px; /* Ensure there’s no unnecessary margin pushing the caption */
    display: block; /* Keep block display for control */
    width: 100%;
    margin-top: 7px;
}

.featured-subtitle {
    font-family: "dm-sans", Arial, Helvetica, sans-serif;
    line-height: 10vh;
    padding-top: 7vw;
    padding-bottom: 2vw;
    padding-left: 7vw;
    font-weight: 100;
}

.article-text {
    width: 70%;
    height: auto;
    font-family: "dm-sans", Arial, Helvetica, sans-serif;
    font-weight: 300;
    margin-left: 25vw;
    line-height: 1.2;
    padding: 1rem;
}


.description, .article-text {
    max-width: 100%; /* Ensure the content doesn't exceed the viewport */
    overflow-wrap: break-word; /* Break long words */
    word-wrap: break-word;
    word-break: break-word;
}



.two-images {
    display: flex;
    width: 97%;
    justify-content: center;
    align-items: center center;
    margin: 17vh auto;
    gap: 30px;
  
}



.image-solo {
    display: flex;
    justify-content: flex-end;
    width: 97%;
    margin: 17vh auto ;
}



.image-solo-2 {
    display: flex;
    justify-content: flex-start;
    width: 97%;
    margin: 17vh auto ;
}



.image-container-1 {
    width: 50%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: top;
}



.image-container-3 {
    width: 48.5%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0px;
    margin: 0px;
    margin-bottom: 40px;
}


.image-container-4 {
    width: 48.5%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;

}

.image-container-4-1 {
    width: 48.5%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

}





.image-1, .image-2 {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
}

.image-3, .image-4, .image-5, .image-6, .image-7 
{
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: right;
}


em {
    font-style: italic;
    font-weight: 200; /* Ensure emphasis is italicized */
}

sup {
    font-size: 0.5rem;
    vertical-align: super;
}


.notes {
    display: flex;
    width: 60%;
    height: auto;
    margin-left: 25vw;
    line-height: 1;
    gap: 20px;
}

.primary-column {
    display: inline-block;
    width:10%;

}

.secondary-column {
    display: inline-block;
    width:45%;
}

.numbers {
  
    margin: 0;
    padding: 0;
    text-align: right; /* Align numbers to the right */
}



.footnotes {
    margin-left: 8vw;
    margin-top: 2vw;
    margin-bottom: 4vw;
}

.info {
    display: flex;
    width: 70%;
    height: auto;
    font-family: "dm-sans", Arial, Helvetica, sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: 2vw;
    margin-bottom: 4vw;
    line-height: 1;
    gap: 20px;
}

.courtesy {
    display: inline-block;
    width:20%;

}

.artist-bio {
    display: inline-block;
    width: 50%;
}

@media (min-width: 1367px) {
    .info {
        margin-bottom: 4vw;
    }

    #exhibition-description {
        font-size: 2.3vw;
        line-height: 2.9vw;
        font-weight: bold;
        padding-top: 10vh;
    }
    
    #exhibition-description-suite {
        padding-top: 4vh;
        font-size: 1.4vw;
        line-height: 1.65vw;
        font-weight: 300;
    }
}

@media (max-width: 1367px) {
    .info {
        margin-bottom: 4vw;
    }

    #exhibition-description {
        font-size: 2.3vw;
        line-height: 2.9vw;
        font-weight: bold;
        padding-top: 10vh;
    }
    
    #exhibition-description-suite {
        padding-top: 4vh;
        font-size: 1.4vw;
        line-height: 1.65vw;
        font-weight: 300;
    }
}

@media (max-width: 1024px) {
    .info {
        margin-bottom: 4vw;
    }

    #exhibition-description {
        font-size: 3.5vw;
        line-height: 4.3vw;
        font-weight: bold;
        padding-top: 3vh;
    }
    
    #exhibition-description-suite {
        padding-top: 4vh;
        font-size: 2.4vw;
        line-height: 2.9vw;
        font-weight: 300;
    }

    .two-images, .two-images-2, .image-solo, .image-solo-2 {
        margin: 13vh 0;
        padding: 0;
    }
}

/* Mobile Phones (Landscape) and small tablets */
@media (max-width: 768px) {
   

    .banner {
        display: flex;
        flex-direction: column;
        align-items: center; /* Center child elements horizontally */
        text-align: center; /* Center text */
    }
   

    .description, .article-text, .notes, .notes-2, .info {
        width: 100%; /* Full width */
        text-align: left; /* Left-align text */
        margin: 0; /* Remove margins to avoid extra spacing */
        padding-left: 10px; /* Add padding to give space from the edge */
    }

    #exhibition-description {
        font-size: 5.3vw;
        line-height: 6.1vw;
        font-weight: bold;
        padding-top: 3vh;
    }
    
    #exhibition-description-suite {
        padding-top: 4vh;
        font-size: 3vw;
        line-height: 3.4vw;
        font-weight: 300;
    }


    .two-images, .two-images-2, .image-solo, .image-solo-2 {
        margin: 5vh 0;
    }

    .two-images, .two-images-2 {
        display: flex;  /* Keep this for flex properties */
        flex-direction: column;  /* Change to column */
        width: 100%;
        height: auto;
        text-align: left;
    }

    .two-images-2 {
        gap: 5vh;
    }
    
    .image-solo {
        display: flex;
        justify-content: flex-start; /* Aligns the solo image */
        width: 100%; /* Full width */
    }


    .image-solo-2, .image-solo-3 {
        display: flex;
        justify-content: flex-start; /* Aligns the solo image */
        width: 100%;
    }

    /* Ensure images also adapt to a column layout */
    .main-image-container, .image-container-1, .image-container-1-1, .image-container-2, .image-container-3, .image-container-4, .image-container-4-1, .image-container-5, .image-container-6, .image-container-7  {
        width: 100%; /* Full width */
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content:  center;
        align-items: center;
    }

    

    .image-1, .image-2, .image-4 {
        width: 100%; /* Ensure images take full width */
        height: auto;
        object-fit: cover;
        object-position: center center;
    }

    .image-7 {
        object-fit: cover;
        width: 100%; /* Full width */
        height: auto;
    }





    .info {
        padding-top: 7vw;
        padding-bottom: 7vw;
        width: 100%;
    }   

    .artist-bio {
        width: 70%;
    }

        
        .image-caption-1 {
            padding-left: 15vw;
        }
}

/* Mobile Phones (Portrait) */
@media (max-width: 500px) {
   

   .image-solo, .two-images, .two-images-2 {
        display: flex;  /* Keep this for flex properties */
        flex-direction: column;  /* Change to column */
        width: 100%;
        height: auto;
        text-align: left;
    }

    .two-images-2 {
        margin: 0;
        padding: 0;
    }


    #exhibition-description {
        font-size: 6.3vw;
        line-height: 7.3vw;
        font-weight: bold;
        padding-top: 3vh;
    }
    
    #exhibition-description-suite {
        padding-top: 4vh;
        font-size: 4.4vw;
        line-height: 5.2vw;
        font-weight: 300;
    }



    .image-1, .image-2, .image-3, .image-5, .image-6, .image-7 {
        width: 100%; /* Ensure images take full width */
        height: auto;
        object-fit: cover;
        object-position: center center;
    }

    .image-4 {
        width: 100%; /* Ensure images take full width */
        height: auto;
        object-fit: cover;
        object-position: center;
    }

}