/*////////////////////////////////////
BASIC HTML STUFF
///////////////////////////////////*/
*, *::before, *::after {
    box-sizing: border-box;
}

body, html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    background-size: cover;
    background-color: #E5E5E5;
}

main {
    margin: auto;
    width: 100%;
    overflow: scroll;
}

p {
    font-family: 'Manrope', serif;
}
/*////////////////////////////////////
IMG GRID CONTAINER
///////////////////////////////////*/

.container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 280px));
    gap: 50px;
    margin: 50px;
    align-content: start;
    justify-content: center;
}

    .link {
        z-index: 1;
    }

    .container img {
        display: block;
        max-width: 100%;
        object-fit: cover;
    }

    
/*////////////////////////////////////
TITLE
///////////////////////////////////*/

.title-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    mix-blend-mode: difference;

}


h1 {
    color: white;
    font-family: 'Raleway', sans-serif;
    margin: 0;
    font-size: 4.4rem;
    font-weight: 900;
}
    
/*////////////////////////////////////
RESPONSIVE
///////////////////////////////////*/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    .container{
        margin: 50px 20px;
        grid-template-columns: repeat(auto-fit, minmax(100px, 280px));
        /* background-color: pink; */
    }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    .container{
        margin: 50px 20px;
        /* background-color: violet; */
    }
}


/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .container{
        margin: 50px 50px;
        /* background-color: blue; */
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .container{
        margin: 50px 100px;
        grid-template-columns: repeat(auto-fit, minmax(100px, 280px));
        /* background-color: #FFDC00; */
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
    .body {
        overflow: scroll;
    }
    .container{
        margin: 50px 50px;
        grid-template-columns: repeat(auto-fit, minmax(100px, 280px));
        /* background-color: red; */
    }
    
}

/* XXXL devices (large laptops and desktops, 1670px and up) */
@media only screen and (min-width: 1670px) {
    .home {
        position: fixed;
        width: 1600px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}
/* Apply custom cursor globally to all elements */
html, body {
    cursor: url('./graphics/custom-cursor.png') 16 16, auto;
}

/* Ensure clickable elements like links and buttons also use the custom cursor */
a, button, .link {
    cursor: url('./graphics/custom-cursor.png') 16 16, pointer;
}

/* Additional examples for other elements */
input[type="text"], textarea {
    cursor: url('./graphics/custom-cursor.png') 16 16, text;
}

input[type="submit"], input[type="button"] {
    cursor: url('./graphics/custom-cursor.png') 16 16, pointer;
}
