/* ==========================
   Header
========================== */

.site-header .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ==========================
   Logo
========================== */

.logo {
    overflow: hidden;
}

.logo a {
    display: inline-block;
}

.logo img {
    width: 280px;
    display: block;
    transform: translateY(60px) scale(1);
    opacity: 0;
    transition:
        transform 0.8s cubic-bezier(.22, 1, .36, 1),
        opacity 0.8s ease;
    will-change: transform, opacity;
}

.logo.animate img {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.logo:hover img {
    transform: translateY(0) scale(0.68);
}

/* ==========================
   Navigation (Sidebar on all screens)
========================== */

/* ==========================
   Sidebar
========================== */

.site-navigation {
    position: fixed;
    top: 90px;
    right: -420px;
    width: 380px;
    height: calc(100vh - 90px);

    background: var(--navy);

    padding: 60px 40px;

    transition: .35s ease;

    z-index: 1001;

    overflow: auto;

    display: flex;
    flex-direction: column;
}

.site-navigation.active {
    right: 0;
}


/* Overlay */

.sidebar-overlay {
    position: fixed;
    inset: 0;

    background: rgba(0, 0, 0, .45);

    opacity: 0;
    visibility: hidden;

    transition: .3s;

    z-index: 1000;
}

.sidebar-overlay.active {
    opacity: 1;
    visibility: visible;
}


/* Close */

.close-sidebar {
    position: absolute;

    top: 25px;
    right: 25px;

    background: none;
    border: none;

    color: #fff;

    font-size: 34px;

    cursor: pointer;

    transition: .3s;
}

.close-sidebar:hover {
    transform: rotate(90deg);
}


/* Menu */

.primary-menu {

    list-style: none;

    margin: auto 0;

    padding: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 32px;

    width: 100%;
}

.primary-menu li {
    width: 100%;
}

.primary-menu a {

    display: block;

    width: 100%;

    text-align: center;

    color: #fff !important;

    font-size: 24px;

    font-weight: 600;

    text-decoration: none;

    transition: .3s;
}

.primary-menu a:hover {
    color: var(--gold);
    transform: translateX(6px);
}

/* Menu */

.primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu li {
    width: 100%;
}

.primary-menu a {
    display: block;
    width: 100%;
    color: #fff !important;
    text-decoration: none;
    font-size: 18px;
    padding: 8px 0;
}

/* ==========================
   Burger (Always Visible)
========================== */

.burger {
    display: flex;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 28px;
    color: var(--navy);
    align-items: center;
    justify-content: center;
    transition: .3s;
    position: relative;
    z-index: 1002;
}

.burger i {
    transition: .3s;
}

.burger:hover i { transform: rotate(90deg); }