/* @import url('https://fonts.googleapis.com/css2?family=Geist+Pixel&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist+Pixel&family=Montenegrin+Gothic+One&display=swap'); */

:root {
    --base-color: rgb(0, 0, 0);
    --text-color: rgb(255, 255, 255);
    --primary-color: red;
    --secondary-color: yellow;
    --color-1: rgb(0, 0, 0);
    --color-2: rgb(0, 0, 0);
    --color-3: rgb(0, 0, 0);
} /*store colors in central place */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
} /*remove default spacing */

html {
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: var(--text-color);
} /*define base styles */

body {
    padding: 1em;
    background-color: var(--base-color);

}

h1, h2, h3 {
    font-family: Arial, Helvetica, sans-serif;
}

nav {
    margin: 1em auto 3em auto; /*top, right, bottom, left */
    width: min(1000px, 100%); /*centered horizontally on page */
} 

nav ul {
    display: flex; /*horizontal row*/
    align-items: center; /*center vertically*/
    list-style-type: none; /*removes default bulletpoints*/
    gap: 2em; /*adds spacing between links*/
} /*style list inside nav */

nav li:first-child {
    margin-right: auto;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    font-weight: bold;
}

nav a {
    text-decoration: none;
    color: var(--text-color);
}

nav a:hover {
    text-decoration: underline;

}

header, section {
    margin: .5em auto;
    width: min(75em, 100%);
    background-color: var(--color-1);
    padding: min(.2em, 15%);
    border-radius: .2em; /*CURVES CORNERS */
}

.flex-container {
    display: flex;
    justify-content: center;
    align-items: normal;
    flex-wrap: wrap;
    gap: .1em;
}

header img {
    max-width: 100%;
    border-radius: .3em;
    object-fit: cover;
    object-position: bottom;
}

.text-container {
    flex: 0 1 26em;

}

h1 {
    font-size: 2.5rem;
}

h3 {
    font-size: 4rem;
}

.text-container p {
    margin: .75em 0 1em 0;
    font-size: 1.25rem;

}

.cta-button {
    display: inline-block;
    text-decoration: none;
    color: white;
    background-color: var(--primary-color);
    padding: .75em 1.25em;
    border-radius: .5em;
    font-weight: 600;
}

.secondary {
    background-color: var(--secondary-color);
}
section {
    padding: 1em min(2em, 15%);
    background-color: var(--color-2);
    text-align: center;
}

section p {
    margin-top: 1em;
    font-size: 1.25rem;
}

section#image-grid {
    background-color: var(--color-3);
}

.grid-container {
    margin-top: 1em;
    margin-bottom: 1em;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 1fr;
    grid-template-areas: 
    "img-1 img-2 img-3 img-4"
    "img-5 img-6 img-7 img-8"
    "img-9 img-10 img-11 img-12"
    "img-13 img-14 img-15 img-16"
    "img-17 img-18 img-19 img-20"
    "img-21 img-22 img-23 img-24"
    "img-25 img-26 img-27 img-28"
    "img-29 img-30 img-31 img-32";
    gap: 1em;
}

.grid-container img {
    height: 100%;
    width: 100%;
    border-radius: .5em;
    transition: 100ms ease;
}

.grid-container img:hover {
    scale: 1.05;

}

.grid-container-two {
    margin-top: .1em;
    margin-bottom: .1em;
    display: grid;
    width: 150%;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 1fr;
    grid-template-areas: 
    "img-1";
    gap: .1em;
}

.grid-container-two img {
    height: 100%;
    width: 30%;
    border-radius: .5em;
    transition: 100ms ease;
}

.grid-container-two img:hover {
    scale: 2;

}

@media(max-width: 988px) {
    header {
        text-align: center;
    }

    header .text-container {
        padding-top: 0;
    }
    
}

@media(max-width: 640px) {
    nav li {
        display: none;
    }

    nav li:first-child,
    nav li:last-child {
        display: block;
    }

    header {
        margin-top: 0;
    }

    .cta-button {
        margin-top: .5em;
        width: 100%;
    }

    .grid-container {
        display: flex;
        flex-direction: column;
    }

    .text-container p {
        font-size: 1rem;
    }

    h2{
        font-size: 1.5rem;
    }
}

img {
    width: 700px;
    height: 500px;
    object-fit: cover;
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------- */
.slider-container {
            position: relative;
            max-width: 800px;
            width: 100%;
            margin: 50px auto;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }

        .slider {
            display: flex;
            transition: transform 0.5s ease-in-out;
            width: 100%;
        }

        .slide {
            min-width: 100%;
            position: relative;
        }

        .slide img {
            width: 100%;
            height: 500px;
            object-fit: cover;
            display: block;
        }

        /* .slide-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(0, 0, 0, 0.6);
            color: white;
            padding: 15px;
            text-align: center;
            font-size: 18px;
        } */

        .nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(0, 0, 0, 0.7);
            color: #15ff00;
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            font-size: 24px;
            cursor: pointer;
            transition: background 0.3s;
            z-index: 10;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .nav-btn:hover {
            background: rgba(0, 255, 21, 0.9);
        }

        .prev-btn {
            left: 20px;
        }

        .next-btn {
            right: 20px;
        }

        .dots-container {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 10;
        }

        .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.5);
            cursor: pointer;
            transition: background 0.3s;
            border: 2px solid rgb(255, 0, 0);
        }

        .dot.active {
            background: rgb(255, 0, 0);
        }

        /* Responsive design */
        @media (max-width: 768px) {
            .slider-container {
                max-width: 100%;
                margin: 20px;
            }

            .slide img {
                height: 300px;
            }

            .nav-btn {
                width: 40px;
                height: 40px;
                font-size: 18px;
            }
        }