.navbar {
    --logo-padding-top: 20px;
    --logo-padding-left: 40px;
    --logo-padding-top-offset: 5px;
    --logo-padding-left-offset: 5px;
    --logo-height: 90px;
    --logo-height-offset: 10px;
    --navbar-column-gap: 10px;
    --navbar-padding-right: 1.2rem;
    z-index: 100;
}

    .navbar .cg-logo-wrapper {
        padding: var(--logo-padding-top) 20px 10px var(--logo-padding-left);
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: 90px;
        }

    .navbar .navbar-toggler {
        padding: 0;
        border: 0;
        outline: 0;
    }

        .navbar .navbar-toggler:focus {
            padding: 0;
            border: 0;
            outline: 0;
            box-shadow: none;
        }

        .navbar .navbar-toggler img {
            width: 24px;
            height: auto;
        }

.navbar-close {
    background-color: var(--link-font-color);
    padding-bottom: 20px;
}

    .navbar-close img {
        width: 20px;
        height: auto;
    }

.fixed-top {
    top: -100px;
    transform: translateY(100px);
    transition-property: height, transform;
    transition-timing-function: ease-in-out;
    transition-duration: .5s;
    transition-delay: .2s;
    background-color: var(--bg-color) !important;
}

    .fixed-top .cg-logo-wrapper {
        padding: 0px 20px 0px var(--logo-padding-left);
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: 90px;
        }

    .fixed-top .nav-item a {
        color: #000000 !important;
        cursor: pointer;
    }

.navbar-nav {
    column-gap: calc(6 * var(--navbar-column-gap));
    padding-right: calc(5 * var(--navbar-padding-right));
    flex-grow: 1;
}

    .navbar-nav .nav-item a {
        color: #FFFFFF;
        font-family: var(--secondary-font-family);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 2.25px;
        line-height: 16px;
        cursor: pointer;
    }

.navbar-nav-dark .nav-item a {
    color: var(--header-font-color);
}

.display-none {
    display: none;
}

.offcanvas {
    height: 100vh;
}

    .offcanvas.show, .offcanvas.showing {
        background-color: var(--link-font-color);
    }

        .offcanvas.show .offcanvas-body, .offcanvas.showing .offcanvas-body {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center !important;
            text-align: center;
        }

@media (min-width: 1200px) and (max-width: 1399px) {
    .navbar .cg-logo-wrapper {
        padding-top: calc(var(--logo-padding-top) - var(--logo-padding-top-offset));
        padding-left: calc(var(--logo-padding-left) - var(--logo-padding-left-offset));
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - var(--logo-height-offset));
        }

    .fixed-top .cg-logo-wrapper {
        padding-top: 0;
        padding-left: calc(var(--logo-padding-left) - var(--logo-padding-left-offset));
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - var(--logo-height-offset));
        }

    .navbar-nav {
        column-gap: calc(3 * var(--navbar-column-gap));
        padding-right: calc(3 * var(--navbar-padding-right));
    }

        .navbar-nav .nav-item a {
            font-size: 12px;
        }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .navbar .cg-logo-wrapper {
        padding-top: calc(var(--logo-padding-top) - var(--logo-padding-top-offset));
        padding-left: calc(var(--logo-padding-left) - var(--logo-padding-left-offset));
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - var(--logo-height-offset));
        }

    .fixed-top .cg-logo-wrapper {
        padding-top: 0;
        padding-left: calc(var(--logo-padding-left) - var(--logo-padding-left-offset));
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - var(--logo-height-offset));
        }

    .navbar-nav {
        column-gap: calc(2.5 * var(--navbar-column-gap));
        padding-right: calc(2 * var(--navbar-padding-right));
    }

        .navbar-nav .nav-item a {
            font-size: 11px;
        }
}

@media (min-width: 768px) and (max-width: 991px) {
    .navbar .cg-logo-wrapper {
        padding-top: calc(var(--logo-padding-top) - 2 * var(--logo-padding-top-offset));
        padding-left: calc(var(--logo-padding-left) - 2 * var(--logo-padding-left-offset));
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 2 * var(--logo-height-offset));
        }

    .fixed-top .cg-logo-wrapper {
        padding-top: 0;
        padding-left: calc(var(--logo-padding-left) - 2 * var(--logo-padding-left-offset));
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 2 * var(--logo-height-offset));
        }

    .navbar-nav {
        column-gap: calc(1 * var(--navbar-column-gap));
        padding-right: calc(1 * var(--navbar-padding-right));
    }

        .navbar-nav .nav-item a {
            font-size: 10px;
        }
}

@media (min-width: 576px) and (max-width: 767px) {
    .navbar .cg-logo-wrapper {
        padding-top: calc(var(--logo-padding-top) - 4 * var(--logo-padding-top-offset));
        padding-left: calc(var(--logo-padding-left) - 7 * var(--logo-padding-left-offset));
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 2 * var(--logo-height-offset));
        }

    .fixed-top .cg-logo-wrapper {
        padding-top: 0;
        padding-left: calc(var(--logo-padding-left) - 7 * var(--logo-padding-left-offset));
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 2 * var(--logo-height-offset));
        }

    .fixed-top .nav-item a {
        color: #FFFFFF !important;
    }

    .navbar-nav {
        column-gap: calc(1.5 * var(--navbar-column-gap));
        padding-right: calc(2 * var(--navbar-padding-right));
        flex-grow: 0;
    }

        .navbar-nav .nav-item a {
            font-family: var(--primary-font-family);
            font-size: 42px;
            line-height: 60px;
            text-transform: none;
            font-weight: 300;
        }

    .navbar-nav-dark .nav-item a {
        color: #FFFFFF;
    }

    .navbar .navbar-toggler img {
        width: 35px;
        height: auto;
    }
}

@media (max-width: 575px) {
    .navbar .cg-logo-wrapper {
        padding-top: calc(var(--logo-padding-top) - 4 * var(--logo-padding-top-offset));
        padding-left: calc(var(--logo-padding-left) - 7 * var(--logo-padding-left-offset));
    }

        .navbar .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 4 * var(--logo-height-offset));
        }

    .fixed-top .cg-logo-wrapper {
        padding-top: 0;
        padding-left: calc(var(--logo-padding-left) - 7 * var(--logo-padding-left-offset));
    }

        .fixed-top .cg-logo-wrapper .cg-logo {
            height: calc(var(--logo-height) - 4 * var(--logo-height-offset));
        }

    .fixed-top .nav-item a {
        color: #FFFFFF !important;
    }

    .navbar-nav {
        column-gap: calc(1.5 * var(--navbar-column-gap));
        padding-right: calc(2 * var(--navbar-padding-right));
        flex-grow: 0;
    }

        .navbar-nav .nav-item a {
            font-family: var(--primary-font-family);
            font-size: 42px;
            line-height: 60px;
            text-transform: none;
            font-weight: 300;
        }

    .navbar-nav-dark .nav-item a {
        color: #FFFFFF;
    }
}
