* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Overpass", sans-serif;
    font-size: 1.125rem;
    line-height: 1.5;
    margin: 0;
    min-height: 100vh;
    scroll-behavior: smooth;
    color: #44403C;
    background-color: #FFF7ED;
    overflow-x: hidden;
}

/* Typography */
h1, h3 {
    font-family: "Nanum Myeongjo", serif;
    line-height: 1.2;
}

h1 {
    font-size: clamp(2.5rem, 5vw + 1.5rem, 5rem);
    text-align: left;
    margin-bottom: 2rem;
    width: 75%;
}

h2 {
    font-size: clamp(1.5rem, 4vw, 1.875rem);
    margin-bottom: 1rem;
}

h3 {
    font-size: clamp(2.5rem, 5vw + 1.5rem, 5rem);
    margin-bottom: 20px;
}

h4 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}


footer p {
    font-size: 1rem;
}

.highlighted {
    color: #9F3A35;
}

/* Lists */
ul {
    list-style-type: none;
    padding: 0;
}

/* Links */
a {
    color: #00795b;
    text-decoration: none;
    transition: all 0.4s ease;
}

a:hover {
    color: #9F3A35;
}

/* Header Styles */
header .inner-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 2rem;
}

header .btn {
    background-color: #FFF7ED;
    border: none;
    cursor: pointer;
    padding: 0;
}

header .btn svg {
    width: 1cm;
}

header nav {
    flex: 0 0 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height ease-in-out 1s;
    z-index: 99999;
}

header nav.show {
    max-height: 500px;
}

header nav .menu-links li {
    line-height: 1.5rem;
    margin: 0.5rem;
}

header nav a {
    display: block;
    padding-left: 0.75rem;
    margin: 1.5rem;
}

/* Buttons */
button {
    background-color: #8B0000;
    color: white;
    border: none;
    border-radius: 15px;
    cursor: pointer;
    align-items: left;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
}

button:hover {
    background-color: #9F3A35;
}

button.btn:hover {
    background-color: #FFF7ED;
}

img {
    width: 100%;
    height: auto;
    max-width: 100%; /* This ensures images won't overflow */
    margin: 0 0 2rem 0;
    border-radius: 30px;
}

.celebrate-with-us img {
    border-radius: 50%;
}

.celebrate-with-us div {
    border-left: 2px solid black;
    padding-left: 2rem;
}

.celebrate-with-us {
    padding: 6rem 2.5rem;
}

.celebrate-with-us .highlighted {
    font-size: 9rem;
    margin-right: 1rem;
}

.celebrate-with-us h3 {
    text-align: left;
}

.alina-lee-art {
    border-radius: 0 100px;
}

.jessica-carter-art {
    border-radius: 100px 100px 0 0;
}

.liam-bennett-art {
    border-radius: 100px 0;
}

.newest-artists {
    background: url('../img/newest-artist-bg-img.webp') center / cover no-repeat;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 400px;
    color: #fff;
    padding: 3rem 2.5rem;
}

.newest-artists p {
    font-size: 1.3rem;
}

.newest-artists div > div {
    margin-bottom: 2rem;
    border: unset;
    padding-left: unset;
}
.btn-newest-artists {
    text-align: center;
}



.grid-container-gallery div > div p {
    margin-bottom: 1rem;
}

section .first-text > div {
    border-left: 2px solid #0e0e0e;
    padding-left: 1rem;
}

/* Grid */
.grid-container-gallery {
    padding: 2rem 2.5rem;
    
}

/* discover */
.discover {
    padding: 4rem 2.5rem;
    margin: 0 auto;
    background-color: #9F3A35;
}

.discover h3, .discover h4 {
    color: white
}

.discover h4 {
    margin-bottom: unset;
}
.text-col {
    font-size: 1.3rem;
    color: white;
    margin-bottom: 2rem;
    border: 2px 2px solid white;
}

.text-col, .discover-grid {
    border: none;
}

.col {
    border: 2px solid white;
    text-align: center;
    padding: 2rem;
}

.col:hover {
    background-color: #dddcdb; 
    color: #44403C; 
    cursor: pointer; 
}

.col:hover svg {
    fill: #44403C; 
}

.col:hover svg path {
    fill: #44403C;
    
}

.col:hover h4 {
    color: #44403C; 
}

footer {
    background-color: #44403C;
    color: #ffff;
    padding: 1rem 2.5rem;
}

.footer-p {
    font-size: 1rem;
    margin-bottom: 0;
}
/* Media Queries */
@media (min-width: 700px) {
    .grid-container-gallery {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */
        grid-template-rows: auto auto auto;
        gap: 2rem;
    }
    /* grids celebrate */
    .grid-container-celebrate {
        display: grid;
        gap: 2rem;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(3, 1fr);
    }

    .celebrate-with-us > div {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .blue-butterfly {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .artsy {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .art-display {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .forrest {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .girl-painting {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }


    .grid-container-gallery h1 {
        grid-column: 1 / -1;
        text-align: center;
        margin-bottom: 1rem;
        width: 100%;
    }

    .grid-container-gallery img {
        width: 100%;
    }

    .grid-container-gallery .image-1  {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .grid-container-gallery section div  {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .grid-container-gallery .image-2 {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .grid-container-gallery .image-3 {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
     }
     .grid-container-gallery img {
        margin-bottom: unset;
     }

     .newest-artists div {
        border: 0;
     }
     /* discover grid */
     .discover-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-row: 1fr 1fr 1fr 1fr;
     }
     .text-col {
        grid-column: 1 / -1;
        grid-row: 1 / 2;
     }

     .location {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
     }

     .exhibitions {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
     }

     .gal-hours {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
     }

     .accessibility {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
     }

     .shop {
        grid-column: 1 span 3;
     }
}

@media (min-width: 850px) {
    .flex-container {
        display: flex;
        gap: 2rem;
        align-items: stretch;
    }

    header .inner-container {
        align-items: center;
    }
    .newest-artists div > div {
        width: calc((100% / 3) - 1rem);
    }

    /* celebrate grids */

    .artsy {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .celebrate-with-us > div {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .forrest {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }


    .blue-butterfly {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .art-display {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .girl-painting {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }

      /* discover grid */
      .discover-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-row: 1fr 1fr 1fr;
     }
     .text-col {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        padding: 2rem;
     }

     .location {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        width: 100%;
     }
}

@media (min-width: 1000px) {

    header .inner-container {
        flex-direction: row-reverse;
        justify-content: unset;
        gap: 10rem;
        align-items: center;
    }

    header nav a {
        margin: unset;
    }
    
    header .btn {
        display: none;
    }

    header nav {
        flex: 0 1 auto;
        max-height: unset;
    }
    
    .inner-container {
        border-bottom: 4px solid #8c8c8c; 
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    nav ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
        display: flex;
        gap: 20px; 
    }

    nav li {
        position: relative; 
    }


    nav a {
        text-decoration: none;
        color: black;
        padding: 10px 0;
    }

    nav a::after {
        content: "";
        position: absolute;
        bottom: -9.5px; 
        left: 0;
        right: 0;
        height: 2px; 
        background-color: transparent; 
        transition: background-color 0.3s ease, height 0.3s ease; 
    }

    nav a:hover::after {
        background-color: #a33f32;
        height: 4px; 
    }

    

    header nav .menu-links {
        display: flex;
        gap: 1rem;
    }

    header p {
        margin-bottom: 0 !important;
    }

      /* discover grid */
      .discover-section {
        background-color: #9F3A35;
      }
      .discover h3 {
        writing-mode: vertical-lr;
      }
      .discover {
        display: flex;
        gap: 3rem;
        max-width: 1440px;
        align-items: flex-start;
      }
      .discover-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-row: 1fr 1fr;
        margin: 0 auto;
     }
     .text-col {
        grid-column: 1 / 4;
        grid-row: 1 / 2;
        padding: 0 4em 3rem 0;
        margin: 0;
     }

     .location {
        grid-column: 4 / 5;
        grid-row: 1 / 2;
        width: 100%;
     }

     .exhibitions {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
     }

     .gal-hours {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
     }

     .accessibility {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
     }

     .col-shop {
        grid-column: 4 / 5;
        grid-row: 2 / 3;
     }

    /* Celebrate grids */

    .forrest {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .celebrate-with-us > div {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .artsy {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .blue-butterfly {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .art-display {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .girl-painting {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }

    .grid-container-gallery {
        grid-template-columns: 7rem 1fr 1fr;
        grid-row: 1fr 1fr;
    }

    .grid-container-gallery h1 {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        writing-mode: vertical-lr;
    }

    .grid-container-gallery .image-1 {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .grid-container-gallery .first-text {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
    }

    .grid-container-gallery .image-2 {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .grid-container-gallery .image-3 {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
    }

    footer {
        text-align: center;
    }
}

@media (min-width: 1200px) {
   
    h3 {
        text-align: center;
    }
    h1 {
        margin-top: -63.5rem;
        transition: ease-in-out 0.3s;
    }

    .grid-container-gallery, .newest-artists > .flex-container {
        margin: 0 auto;
        max-width: 1440px;
    }

    header {
        margin: 0 auto;
        max-width: 1500px;
    }
}

@media (min-width: 1300px) {
    .celebrate-with-us {
        max-width: 1440px;
    }
    .grid-container-celebrate {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: repeat(4, auto);
        margin: 0 auto;
    }

    .blue-butterfly {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .artsy {
        grid-column: 6 / 7;
        grid-row: 1 / 2;
    }

    .art-display {
        grid-column: 4 / 5;
        grid-row: 2 / 3;
    }

    .forrest {
        grid-column: 5 / 6;
        grid-row: 3 / 4;
    }

    .celebrate-with-us > div {
        grid-column: 1 / 3;
        grid-row: 3 / 5;
    }

    .girl-painting {
        grid-column: 3 / 4;
        grid-row: 4 / 5;
    }

}