* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

p {
    padding-bottom: 1em;
    line-height: 1.4em;
    font-weight: 300;
    color: #FF619D;
    font-family: Oswald, Arial, Helvetica, sans-serif;
    font-size: 20px;
}

h3,
th,
td, i {
    font-family: Oswald, Arial, Helvetica, sans-serif;
    font-size: 20px;
    color: #FF8F19;
}


img {
    width: 100%;
    height: auto;
}

#wrapper {
    /* max-width: 1440px; */
    margin: 0 auto;
    /* display:grid; */
    /* grid-template-columns: repeat(12, 1fr); */
    /* grid-template-rows: auto; */
}

body {
    background-image: url("images/background.png");
    background-color: #652D92;
    /* only for now */
}

/* ---------- HEADER ---------- */

.fa-solid {
    display: none; 
}

nav {
    display: flex;
    position: fixed;
    padding: 1%;
    padding-left: 18%;
    padding-right: 18%;
    z-index: 2;
    /*^ menu is on top of the big picture instead of going under */
    background-color: rgb(4, 30, 87, 0.8);
    /*^ menu has a black box so its easier to see where it ends! */
    width: 100%;
}

.menu {
    display: flex;
    list-style: none;
    gap: 10%;
    flex: 1;
}

.socials {
    display: flex;
    list-style: none;
    gap: 18%;
}

a {
    color: #FF8F19;
    text-decoration: none;
    font-family: Oswald, Arial, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 100;
}

a:hover,
.current_page {
    font-weight: 500;
}

/* makes font "heavier" when hovered over or its the "current page" you're on.
YOU'D THINK :ACTIVE WOULD WORK BUT NO??? */

/* ---------- MAIN ---------- */

main {
    max-width: 1010px;
    /* usually on wrapper but not this time */
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* makes a 12 grid, not actually used for much/anything but industry standard. Usually on wrapper but
    I put it here cause otherwise the pictures would not fill the whole screen like meant to.
    could use background img and a class but that cause me pain/problems with the logo.
    probably did this wrong but oh well- if it works it works? */
}


/* ----- HOME ----- */
.no_bounds {
    max-width: 100%;
}

/* ignores max-width so img is on the whole page */


#fullscreen {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

#fullscreen picture {
    grid-column: 1/-1;
    grid-row: 1/-1;
}

.logo {
    order: 1;
    grid-column: 1/ -1;
    grid-row: 1;
    padding-top: 8%;
    justify-self: center;
    max-width: 427px;
}

.hidden_logos {
    order: 1;
    grid-column: 1/ -1;
    grid-row: 1;
    padding-top: 8%;
    justify-self: center;
    max-width: 427px;
    display: none;
}

/* ----- GALLERY ----- */
#gallery {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(315px, 1fr));
    /* makes the grid move down automatically or something idk */
    gap: 3%;
    padding-top: 15%;
    max-height: 600px;
}

/* --- lightbox --- */
#lightbox-mask {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 2;

    display: grid;
    place-items: center;
}

#lightbox {
    position: fixed;
    margin: 2em auto;
    padding: 10px;
    z-index: 3;
}

#lightbox p {
    font-weight: 600;
    justify-self: center;
}

#lightbox img {
    grid-area: 1 / 1 / 2 / 2;
}

#lightbox-mask.hideThis {
    display: none;
}

/* ----- SYNOPSIS ----- */

#synopsis {
    margin-top: 7%;
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* gap:13%; */
    padding-bottom: 5%;
    background-color: #652D92;
}

table {
    border-spacing: 30px;
}

#peoples {
    grid-row: 2;
    text-align: left;
    justify-self: end;
}

#text {
    grid-row: 3;
}

#synopsis h3 {
    padding-top: 4%;
    grid-row: 2;
    font-size: 35px;
}

/* ----- CAST ----- */

/* Cast page is a mess on media queries, so i've given up :D */

#cast {
    padding-top: 15%;
    grid-column: 1 / -1;
}

.character_left {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding-bottom: 7%;
    gap: 5%;
}

.character_left img {
    grid-column: 1;
    grid-row: 1/-1;
}

.character_left section {
    grid-column: 2 /-1;
    grid-row: 1/-1;
}

.character_right {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding-bottom: 7%;
    gap: 5%;
}

.character_right section {
    grid-column: 1 / 3;
    grid-row: 1/-1;
}

.character_right img {
    grid-column: 3;
    grid-row: 1/-1;
}

/* ---------- FOOTER ---------- */
.footer {
    bottom: 0;
    /* because nav is already a fixed item/container just needs to put "bottom:0;"
    so its at the bottom of the screen all the time!*/
    justify-content: center;
}

/* ---------- MEDIA QUERIES ---------- */

/* Tablets */
@media screen and (max-width:1099px) {
    nav {
        padding-left: 2%;
        padding-right: 10%;
    }

    #synopsis {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 50%;
    }

    #synopsis h3 {
        text-align: center;
        grid-row: 1;
        font-size: 30px;
    }

    p {
        text-align: center;
        grid-row: 3;
    }

    #peoples {
        grid-row: 2;
        place-self: center;
    }

    .character_left {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .character_right {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        /* literally same thing but doesnt work??? Cast page is cursed*/
    }
}


/* Phone */

@media screen and (max-width:700px) {
    #peoples {
        grid-row: 1;
        place-self: center;
    }

    #synopsis h3 {
        text-align: center;
        grid-row: 2;
        font-size: 30px;
    }


    .hidden_logos {
        display: block;
    }
    nav .fa-solid{
        display: block;
        position: absolute;
        top: 5vw;
        right: 5vw;
        font-size: 2em;
    }
    nav ul{
        flex-direction: column;
        padding-top: 5em;
        height: 100vh;
        /* full stretch box idk */
        justify-items: stretch;
    }
    nav {
        position:static;
        background-color: transparent;
    }
    
    nav li {
        padding: 0.5em 0;
        /* full stretch box idk */
        text-align: center;

    }
    
    /* full stretch box idk */
    nav li a {
        height: 100%;
        align-items: center;
        font-size: 40px;

    }

    .socials{
        display:none;
    }

    .footer {
        display:none;
    }
}
