/* =========================================================
   NAV CONTAINER
========================================================= */

.nav-container {
    display: grid;

    margin-top: 32px;

    width: min(95%, 1400px);

    justify-self: center;
    align-self: start;

    position: relative;

    z-index: 10;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1200px) {

    .nav-container {
        grid-template-columns: 120px 1fr auto;

        align-items: center;

        column-gap: 30px;
    }

}


/* =========================================================
   LOGO
========================================================= */

.logo-container {
    display: grid;

    justify-self: center;
    align-self: center;

    max-width: 90vw;
}

.logo {
    max-width: 150px;
}


@media (min-width: 1200px) {

    .logo-container {
        grid-row: 1;
        grid-column: 1;

        justify-self: start;
        align-self: center;
    }

}


/* =========================================================
   NAV LINKS
========================================================= */

.link-container {

    display: none;

    grid-gap: 8px;

    align-self: center;

    padding: 16px 0;

    box-sizing: border-box;

    justify-self: center;

    text-align: center;
}


/* =========================================================
   DESKTOP LINKS
========================================================= */

@media (min-width: 1200px) {

    .link-container {

        display: grid;

        grid-row: 1;
        grid-column: 2;

        grid-template-columns: repeat(4, auto);

        grid-gap: 20px;

        justify-self: end;

        width: 100%;

        padding: 0;
    }

}


/* =========================================================
   PAGE LINKS
========================================================= */

.page-link {

    font-family: "posterama-2001", sans-serif;

    font-weight: 700;

    font-style: normal;

    text-decoration: none;

    color: #fff;

    text-transform: uppercase;

    text-align: center;

    justify-self: center;
}

.page-link p {

    font-family: "posterama-2001", sans-serif;

    font-weight: 700;

    font-style: normal;

    text-align: center;

    margin: 0;
    
    font-size: 13px;
}

@media (min-width: 768px) {

    .page-link p {
        font-size: 17px;
    }

}


@media (min-width: 1200px) {

    .page-link {
        grid-row: 1;
    }

}


/* =========================================================
   BURGER
========================================================= */

.nav-toggle {

    display: grid;

    align-self: center;

    justify-self: end;

    font-size: 24px;

    padding: 8px;

    box-sizing: border-box;

    /*
    IMPORTANT:
    Removed margin-top so burger aligns
    vertically with the logo.
    */

    margin-top: 0;

    color: #fff;

    cursor: pointer;

    position: relative;

    z-index: 30;
}


@media (min-width: 1200px) {

    .nav-toggle {
        display: none;
    }

}


/* =========================================================
   BURGER ICONS
========================================================= */

.hide-icon {
    display: none;
}


/* =========================================================
   BOOK NOW
========================================================= */

.nav-button {

    padding: 12px 24px;

    font-family: "posterama-2001", sans-serif;

    font-weight: 700;

    text-decoration: none;

    text-transform: uppercase;

    color: #fff;

    background: #cb1d1f;

    border: 2px solid #cb1d1f;

    border-radius: 10px;

    transition: 0.3s ease;

    align-self: center;
}


.nav-button:hover {

    background: transparent;

    backdrop-filter: blur(20px);

    color: #cb1d1f;
}


/* =========================================================
   MOBILE TOP ROW
========================================================= */

@media (max-width: 1199px) {

    .nav-container {

        /*
        Three equal columns keeps everything
        perfectly aligned:
        
        Book Now | Logo | Burger
        */

        grid-template-columns: 1fr 1fr 1fr;

        align-items: center;

        width: 100%;

        padding: 0 20px;

        box-sizing: border-box;
    }


    /* -------------------------
       BOOK NOW
    ------------------------- */

    .nav-button {

        grid-column: 1;
        grid-row: 1;

        justify-self: start;

        padding: 10px 18px;
    }


    /* -------------------------
       LOGO
    ------------------------- */

    .logo-container {

        grid-column: 2;
        grid-row: 1;

        justify-self: center;

        align-self: center;
    }


    /* -------------------------
       BURGER
    ------------------------- */

    .nav-toggle {

        grid-column: 3;
        grid-row: 1;

        justify-self: end;

        align-self: center;

        margin: 0;
    }


    /* =====================================================
       OPEN MOBILE MENU

       IMPORTANT:
       NOT position:absolute.

       This means it pushes the content underneath
       instead of covering it.
    ===================================================== */

    .link-container.show-nav {

        display: grid !important;

        /* Put menu underneath the nav */
        grid-column: 1 / -1;
        grid-row: 2;

        /* Fit the background around the links */
        width: max-content;
        min-width: 220px;

        /* Move menu to the right */
        justify-self: end;

        margin-left: auto;
        margin-right: -20px;

        box-sizing: border-box;

        padding: 25px 30px 30px;

        background-color: #1c1c1c;

        grid-template-columns: 1fr;

        gap: 18px;

        justify-items: end;

        align-items: center;

        text-align: right;

        z-index: 20;
    }


    .link-container.show-nav .page-link {

        width: auto;

        justify-self: end;

        text-align: right;
    }


    .link-container.show-nav .page-link p {

        margin: 0;

        text-align: right;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 767px) {

    .nav-container {

        margin-top: 20px;

        padding: 0 15px;
    }


    .logo {

        max-width: 120px;
    }


    .nav-button {

        padding: 9px 14px;

        font-size: 13px;
    }


    .nav-toggle {

        font-size: 22px;

        padding: 8px;

        margin: 0;
    }


    .link-container.show-nav {

        width: max-content;

        min-width: 220px;

        margin-right: -15px;

        padding: 25px 25px 30px;

        gap: 18px;
    }
}
