html, body {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'poppins', sans-serif;
    
    /* attempt to force footer to stay at the bottom */
    /* min-height: 130vh;
    display: flex;
    flex-direction: column;
    align-content: space-between; */
}

body > footer {
    position: sticky;
    top: 100vh;
  }

/* nav section */
nav {
    display: flex;
    justify-content: space-between;
    padding: 0 1rem 0 1rem;
}

.menu {
    display: flex;
}

li {
    /* spacing of links */
    margin: 4px 0 0 3rem;

    /* remove bullet points */
    list-style-type: none;
}

.menu li a {
    color: cadetblue;
    font-size: 1rem;

    /* remove underline */
    text-decoration: none;
}

.menu li a:hover {
    color: blueviolet;

}

/* nav links at minimum media width  */
@media only screen and (max-width: 768px) {
    .menu {
    flex-direction: column;
    }
}

/* hero section */
.hero {
    width: 100%;
    height: 60%;

    /* turn on flexbox */
    display: flex;

    /* alignment on the main (x) axis */
    justify-content: center;

    /* alignment on the cross (y) axis */
    align-items: center;

    /* image as a background */
    background-image: url('../images/hero-1.jpg');
    background-size: cover;
    background-position: center;

    /* remove repetition on smaller images */
    background-repeat: no-repeat;
}

h1 {
    font-size: 6rem;
    font-weight: 600;
    color: cadetblue;
    text-align: center;
    line-height: 1;
}

/* gallery section */
.gallery {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    margin-left: min(10%, 150px);
    margin-right: min(10%, 150px);

    /* image text */
    color: white;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    overflow-wrap: break-word;
}

.row {
    display: flex;
    /* flex-direction: row; */
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    /* margin-left: min(10%, 150px);
    margin-right: min(10%, 150px); */
}

.thumbnail {
    flex: 1;
    display: flex;
    justify-content: center;

    align-items: flex-end;
    height: 50vh;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* Responsive to make a 1-column layout instead of a 4-column layout */
@media (max-width: 768px) {
    
    .thumbnail {
        flex: 1 1 calc(50% - 0.4rem);
        height: 30vh;
    }

}


#img1 {
    background-image: url(../images/galleryimages/gallery-image-1.jpg);
}

#img2 {
    background-image: url(../images/galleryimages/gallery-image-2.jpg);
}

#img3 {
    background-image: url(../images/galleryimages/gallery-image-3.jpg);
}

#img4 {
    background-image: url(../images/galleryimages/gallery-image-4.jpg);
}

#img5 {
    background-image: url(../images/galleryimages/gallery-image-5.jpg);
}

#img6 {
    background-image: url(../images/galleryimages/gallery-image-6.jpg);
}

#img7 {
    background-image: url(../images/galleryimages/gallery-image-7.jpg);
}

#img8 {
    background-image: url(../images/galleryimages/gallery-image-8.jpg);
}

#img9 {
    background-image: url(../images/galleryimages/gallery-image-9.jpg);
}

#img10 {
    background-image: url(../images/galleryimages/gallery-image-10.jpg);
}

#img11 {
    background-image: url(../images/galleryimages/gallery-image-11.jpg);
}

#img12 {
    background-image: url(../images/galleryimages/gallery-image-12.jpg);
}

/* footer */
footer {
    height: 50px;
    background-color: #cccccc;
    width: 100%;
    height: 100px;
    font-size: 12px;
    color: black;
    padding-top: 16px;
    padding-bottom: 3rem;
    
    /* footer position */
    margin-top: 160px;
    position: fixed;
    bottom: 0;

    .footerContainer {
        display: flex;
        justify-content: space-between;
        margin-left: min(10%, 150px);
        margin-right: min(10%, 150px);

        .footerLogoContainer {
            flex-direction: column;
            align-content: space-between;
        }
        
        .footerNavLinks {
            margin-top: 16px;
        }

        .footerNavLinks li a {
            color: #666666;
            font-size: 1rem;
            font-size: 14px;
            list-style-type: none;
            line-height: 1.5;
        
            /* remove underline */
            text-decoration: none;
        }
        
        .footerLogo {
            font-size: 20px;
            margin-top: 1rem;
            padding: 0;
        }

        .space {
            height: 14px;
        }

        .footerLegals {
            color: #808080;
            align-self: flex-end;
        }

        .footerNavLinks li a:hover {
            font-weight: 400;
            color: cadetblue;
        
        }

    }
}

/* attempt to force footer to stay at the bottom at minimum media width */
@media only screen and (max-width: 768px) {
    .hero {
        height: 50%;
    }

   }