.site-header {
    position: relative;
    width: 100%;
    background: var(--campaign-light-blue);
    color: var(--text-white);
    z-index: 1000;
}

.header-inner {
    height: 68px;

    display: flex;
    align-items: center;

    padding: 0 16px;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.14);
}

/* =========================================================
   LOGO
========================================================= */

.logo {
    text-decoration: none;

    display: flex;
    flex-direction: column;

    line-height: 1;
}

.logo-main {
    font-size: 16px;
    font-weight: 900;
    letter-spacing: -0.3px;

    white-space: nowrap;
}

.logo-laura {
    color: var(--text-white);
}

.logo-prosko {
    color: var(--campaign-yellow);
}

.logo-subtitle {
    color: var(--campaign-gold);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;

    margin-top: 7px;
}

/* =========================================================
   MOBILE DONATE
========================================================= */

.mobile-header-donate {
    margin-left: auto;

    height: 32px;
    padding: 0 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 5px;

    background:
        var(--campaign-yellow);

    color:
        var(--campaign-blue);

    text-decoration: none;

    font-size: 12px;
    font-weight: 800;
}

/* =========================================================
   HAMBURGER
========================================================= */

.menu-toggle {
    width: 40px;
    height: 40px;

    margin-left: 17px;

    background: transparent;
    border: 0;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}

.hamburger {
    width: 18px;
    height: 16px;

    position: relative;
}

.hamburger span {
    position: absolute;
    left: 0;

    width: 18px;
    height: 2px;

    background:
        var(--text-white);

    transition:
        top 0.25s ease,
        transform 0.25s ease,
        opacity 0.15s ease;
}

.hamburger span:nth-child(1) {
    top: 0;
}

.hamburger span:nth-child(2) {
    top: 7px;
}

.hamburger span:nth-child(3) {
    top: 14px;
}

.menu-toggle.active
.hamburger span:nth-child(1) {
    top: 7px;

    transform:
        rotate(45deg);
}

.menu-toggle.active
.hamburger span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active
.hamburger span:nth-child(3) {
    top: 7px;

    transform:
        rotate(-45deg);
}

/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu {
    max-height: 0;

    overflow: hidden;

    background:
        var(--campaign-light-blue);

    opacity: 0;

    transition:
        max-height 0.35s ease,
        opacity 0.25s ease;
}

.mobile-menu.open {
    max-height: 500px;
    opacity: 1;
}

.mobile-menu-inner {
    padding:
        30px
        16px
        15px;
}

.mobile-nav {
    display: flex;
    flex-direction: column;

    gap: 29px;

    padding-left: 16px;
    margin-bottom: 29px;
}

.mobile-nav a {
    color:
        var(--text-white);

    text-decoration: none;

    font-size: 19px;
    line-height: 23px;
    font-weight: 650;
}

.mobile-nav a:hover {
    color:
        var(--campaign-yellow);
}

.mobile-actions {
    display: flex;
    flex-direction: column;

    gap: 6px;

    width: 100%;
}

.mobile-action {
    width: 100%;
    min-height: 44px;

    display: flex;
    justify-content: center;
    align-items: center;

    text-decoration: none;

    font-size: 18px;
    font-weight: 800;

    border-radius: 5px;
}

.mobile-action-donate {
    background:
        var(--campaign-yellow);

    color:
        var(--campaign-blue);
}

.mobile-action-contact {
    background:
        var(--campaign-blue);

    color:
        var(--text-white);
}

.desktop-nav,
.desktop-actions {
    display: none;
}

/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 768px) {

    .header-inner {
        width: 100%;
        max-width: 1232px;

        height: 64px;

        margin: 0 auto;
        padding: 0;

        display: grid;

        grid-template-columns:
            1fr
            auto
            1fr;

        border-bottom: 0;
    }

    .logo {
        justify-self: start;
    }

    .logo-main {
        font-size: 20px;
    }

    .logo-subtitle {
        font-size: 11px;
        margin-top: 6px;
    }

    .desktop-nav {
        display: flex;
        align-items: center;

        gap: 24px;

        justify-self: center;
    }

    .desktop-nav a {
        position: relative;

        color:
            var(--text-white);

        text-decoration: none;

        font-size: 16px;
        font-weight: 650;

        white-space: nowrap;

        transition:
            color 0.15s ease;
    }

    .desktop-nav a:hover,
    .desktop-nav a.active {
        color:
            var(--campaign-yellow);
    }

    .desktop-nav a.active::after {
        content: "";

        position: absolute;

        left: 0;
        right: 0;
        bottom: -8px;

        height: 2px;

        background:
            var(--campaign-yellow);

        border-radius: 999px;
    }

    .desktop-actions {
        display: flex;
        align-items: center;

        gap: 8px;

        justify-self: end;
    }

    .desktop-button {
        min-height: 34px;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 5px;

        text-decoration: none;

        font-size: 15px;
        font-weight: 800;

        transition:
            transform 0.18s ease,
            filter 0.18s ease;
    }

    .desktop-button:hover {
        transform:
            translateY(-1px);

        filter:
            brightness(1.03);
    }

    .desktop-donate {
        width: 82px;

        background:
            var(--campaign-yellow);

        color:
            var(--campaign-blue);
    }

    .desktop-contact {
        width: 142px;

        background:
            var(--campaign-blue);

        color:
            var(--text-white);
    }

    .mobile-header-donate,
    .menu-toggle,
    .mobile-menu {
        display: none;
    }
}

/* =========================================================
   SMALL DESKTOP
========================================================= */

@media
(min-width: 768px)
and
(max-width: 1280px) {

    .header-inner {
        padding-left: 24px;
        padding-right: 24px;
    }

    .desktop-nav {
        gap: 22px;
    }
}