:root {

    /* Main navigation */
    --primary-nav--font-family: var( --global--font-primary);
    --primary-nav--font-family-mobile: var(--global--font-primary);
    --primary-nav--font-size: var(--global--font-size-md);
    --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
    --primary-nav--font-size-mobile: var(--global--font-size-sm);
    --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
    --primary-nav--font-size-button: var(--global--font-size-md);
    --primary-nav--font-style: normal;
    --primary-nav--font-style-sub-menu-mobile: normal;
    --primary-nav--font-weight: normal;
    --primary-nav--font-weight-button: 500;
    --primary-nav--color-link: var(--theme-colour-white);
    --primary-nav--color-link-hover: var(--theme-colour-white);
    --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
    --primary-nav--border-color: var(--theme-colour-white);
    --primary-nav--color-text: var(--theme-colour-white);
    --primary-nav--color-background: var(--theme-colour-black);


    --global--spacing-unit: 20px;
    --global--spacing-measure: unset;
    --global--spacing-horizontal: 25px;
    --global--spacing-vertical: 30px;

    --button--padding-vertical: 15px;
    --button--padding-horizontal: calc(2 * var(--button--padding-vertical));

    /* Admin-bar height */
    --global--admin-bar--height: 0px;
}

.admin-bar {
    --global--admin-bar--height: 32px;
}
@media only screen and (max-width: 782px) {

    .admin-bar {
        --global--admin-bar--height: 46px;
    }
}

.menu-button-container {
    display: none;
    justify-content: space-between;
    position: absolute;
    right: 0;
    padding-top: 0;
    padding-bottom: 0;
}
@media only screen and (max-width: 1023.98px) {

    .menu-button-container {
        display: flex;
    }
}


.menu-button-container #primary-mobile-menu {
    display: flex;
    margin-left: auto;
    padding: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit)) calc(0.5 * var(--button--padding-horizontal));
    font-size: var(--primary-nav--font-size-button);
    font-weight: var(--primary-nav--font-weight-button);
    background-color: transparent;
    border: none;
    color: var(--primary-nav--color-link);
}

.menu-button-container #primary-mobile-menu .dropdown-icon {
    display: flex;
    align-items: center;
}

.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
    margin-left: calc(0.25 * var(--global--spacing-unit));
}

.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
    position: relative;
    top: -1px;
}

.menu-button-container #primary-mobile-menu .dropdown-icon.close {
    display: none;
}

.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
    display: none;
}

.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
    display: flex;
}

.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
    animation-name: twentytwentyone-close-button-transition;
    animation-duration: 0.3s;
}


.primary-navigation-open .menu-button-container {
    width: 100%;
    z-index: 500;
    background-color: var(--primary-nav--color-background);
}

.primary-navigation-open .menu-button-container #primary-mobile-menu {
    position: static;
}

.primary-navigation {
    position: absolute;
    /*top: var(--global--admin-bar--height);*/
    top: 0;
    right: 0;
    color: var(--primary-nav--color-text);
    font-size: var(--primary-nav--font-size);
    line-height: 1.15;
    margin-top: 0;
    margin-bottom: 0;
}

.primary-navigation > .primary-menu-container {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-top: calc(1.5 * var(--primary-nav--font-size-button) + 42px + 5px);
    padding-left: var(--global--spacing-unit);
    padding-right: var(--global--spacing-unit);
    padding-bottom: var(--global--spacing-horizontal);
    background-color: var(--primary-nav--color-background);
    transform: translateY(var(--global--spacing-vertical));
}
@media (prefers-reduced-motion: no-preference) {

    .primary-navigation > .primary-menu-container {
        transition: all 0.15s ease-in-out;
    }
}
@media only screen and (max-width: 1023.98px) {

    .primary-navigation > .primary-menu-container {
        height: 100vh;
        z-index: 499;
        overflow-x: hidden;
        overflow-y: auto;
        border: 2px solid transparent;
    }

    .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
        position: fixed;
        transform: translateY(0) translateX(100%);
    }

    .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
        top: var(--global--admin-bar--height);
    }

    .admin-bar .primary-navigation > .primary-menu-container {
        height: calc(100vh - var(--global--admin-bar--height));
    }

    .primary-navigation > .primary-menu-container:focus {
        border: 2px solid var(--global--color-primary);
    }
}
@media only screen and (max-width: 1023.98px) {

    .primary-navigation-open .primary-navigation {
        width: 100%;
        position: fixed;
        z-index: 2;
    }
}

.primary-navigation-open .primary-navigation > .primary-menu-container {
    position: relative;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
    display: none;
}

@media only screen and (max-width: 1023.98px) {

    .primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
        transform: translateX(0) translateY(0);
    }
}
@media only screen and (min-width: 1024px) {

    .primary-navigation {
        position: relative;
        /*margin-left: auto;*/
    }

    .primary-navigation > .primary-menu-container {
        visibility: visible;
        opacity: 1;
        position: relative;
        padding: 0;
        background-color: transparent;
        overflow: initial;
        transform: none;
    }

    .primary-navigation #toggle-menu {
        display: none;
    }

    .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
        display: none;
    }

    .admin-bar .primary-navigation {
        top: initial;
    }

    .admin-bar .primary-navigation > .primary-menu-container {
        top: initial;
    }
}

.primary-navigation > div > .menu-wrapper {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    max-width: none;
    padding-left: 0;
    position: relative;
}
@media only screen and (max-width: 1023.98px) {

    .primary-navigation > div > .menu-wrapper {
        padding-bottom: 100px;
    }

    .primary-navigation > div > .menu-wrapper ul {
        padding-left: 0;
        border: none;
        width: 100%;
    }
}

.primary-navigation > div > .menu-wrapper li {
    display: block;
    position: relative;
    width: 100%;
}
@media only screen and (min-width: 1024px) {

    .primary-navigation > div > .menu-wrapper {
        justify-content: center;
    }

    .primary-navigation > div > .menu-wrapper li {
        margin: 0;
        width: inherit;
    }

    .primary-navigation > div > .menu-wrapper li:last-child {
        margin-right: 0;
    }
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
    display: flex;
    height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
    width: 44px;
    padding: 0;
    justify-content: center;
    align-items: center;
    background: transparent;
    color: currentColor;
    border: none;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
    outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
}
@media only screen and (max-width: 1023.98px) {

    .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
        /*display: none;*/
    }
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
    height: 100%;
    display: flex;
    align-items: center;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
    margin-top: -1px;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
    display: none;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
    display: flex;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
    display: none;
}

.primary-navigation > div > .menu-wrapper > li > .sub-menu {
    position: relative;
}
@media only screen and (min-width: 1024px) and (prefers-reduced-motion: no-preference) {

    .primary-navigation > div > .menu-wrapper > li > .sub-menu {
        transition: all 0.5s ease;
    }
}
@media only screen and (min-width: 1024px) {

    .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
        display: none;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu {
        left: 0;
        margin: 0;
        min-width: max-content;
        position: absolute;
        top: 100%;
        padding-top: 3px;
        z-index: 88888;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
    .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        top: -10px;
        left: var(--global--spacing-horizontal);
        border-style: solid;
        border-color: var(--primary-nav--border-color) transparent;
        border-width: 0 7px 10px;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
        top: -9px;
        border-color: var(--primary-nav--color-background) transparent;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
        background: var(--primary-nav--color-background);
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {

        /* rtl:ignore */
        left: 0;

        /* rtl:ignore */
        right: auto;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before,
    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {

        /* rtl:ignore */
        left: var(--global--spacing-horizontal);

        /* rtl:ignore */
        right: auto;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {

        /* rtl:ignore */
        right: 0;

        /* rtl:ignore */
        left: auto;
    }

    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before,
    .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {

        /* rtl:ignore */
        left: auto;

        /* rtl:ignore */
        right: var(--global--spacing-horizontal);
    }
}

.primary-navigation .primary-menu > .menu-item:hover > a {
    color: var(--primary-nav--color-link-hover);
}

.primary-navigation .primary-menu-container > ul > .menu-item {
    display: flex;
    flex-wrap: wrap;
}

@media only screen and (min-width: 1024px) {

    .primary-navigation .primary-menu-container {
        margin-right: calc(0px - var(--primary-nav--padding));
        margin-left: calc(0px - var(--primary-nav--padding));
    }

    .primary-navigation .primary-menu-container > ul > .menu-item {
        display: flex;
    }

    .primary-navigation .primary-menu-container > ul > .menu-item > a {
        padding-left: var(--primary-nav--padding);
        padding-right: var(--primary-nav--padding);
    }

    .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
        margin-left: calc(5px - var(--primary-nav--padding));
    }
}

.primary-navigation a {
    display: block;
    font-family: var(--primary-nav--font-family-mobile);
    font-size: var(--primary-nav--font-size-mobile);
    font-weight: var(--primary-nav--font-weight);
    padding: var(--primary-nav--padding) 0;
    text-decoration: none;
}
@media only screen and (min-width: 1024px) {

    .primary-navigation a {
        display: block;
        font-family: var(--primary-nav--font-family);
        font-size: var(--primary-nav--font-size);
        font-weight: var(--primary-nav--font-weight);
    }
}

.primary-navigation a + svg {
    fill: var(--primary-nav--color-text);
}

.primary-navigation a:hover,
.primary-navigation a:link,
.primary-navigation a:visited {
    color: var(--primary-nav--color-link-hover);
}

.primary-navigation a:hover {
    text-decoration: underline;
    /*text-decoration-style: dotted;*/
}

.primary-navigation a:focus {
    position: relative;
    z-index: 99999;
    outline-offset: 0;
    text-decoration-thickness: 2px;
}

.primary-navigation .current-menu-item > a:first-child,
.primary-navigation .current_page_item > a:first-child {
    text-decoration: underline;
    text-decoration-style: solid;
}

.primary-navigation .current-menu-item > a:first-child:hover,
.primary-navigation .current_page_item > a:first-child:hover {
    text-decoration: underline;
    /*text-decoration-style: dotted;*/
}

.primary-navigation .sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-left: var(--primary-nav--padding);
    border: 1px solid var(--primary-nav--border-color);
}

.primary-navigation .sub-menu .sub-menu {
    border: none;
}
@media only screen and (min-width: 1024px) {

    .primary-navigation .sub-menu > .menu-item > .sub-menu {
        padding: 0;
    }
}
@media only screen and (max-width: 1023.98px) {

    .primary-navigation .sub-menu .menu-item:last-child {
        margin-bottom: 0;
    }
}

.primary-navigation .sub-menu .menu-item > a {
    padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
    display: block;
    font-size: var(--primary-nav--font-size-sub-menu-mobile);
    font-style: var(--primary-nav--font-style-sub-menu-mobile);
}
@media only screen and (min-width: 1024px) {

    .primary-navigation .sub-menu .menu-item > a {
        font-size: var(--primary-nav--font-size-sub-menu);
        font-style: var(--primary-nav--font-style);
    }
}

.primary-navigation .menu-item-has-children > .svg-icon {
    display: none;
}
@media only screen and (min-width: 1024px) {

    .primary-navigation .menu-item-has-children > .svg-icon {
        display: inline-block;
        height: 100%;
    }

    .primary-navigation .menu-item-has-children .sub-menu .svg-icon {
        display: none;
    }
}

.primary-navigation .menu-item-description {
    display: block;
    clear: both;
    font-size: var(--global--font-size-xs);
    text-transform: none;
    line-height: 1.7;
}

.primary-navigation .menu-item-description > span {
    display: inline-block;
}

@media only screen and (max-width: 1023.98px) {

    .lock-scrolling .site {
        position: fixed;
        max-width: 100%;
        width: 100%;
    }
}
@keyframes twentytwentyone-close-button-transition {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* MEGA MENU MODE */
/*hide native button*/
.menu-button-container {
    display: none !important;
}

#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary {
    margin-top: 76px;
}
#mega-menu-wrap-primary .mega-menu-toggle ~ button.mega-close:before {
    display: none;
}

#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open:after {
    opacity: 0;
}

#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary > li.mega-menu-item {
    /*align-items: center;*/
}

.mega-menu-primary-mobile-open #richSnippetReviewsWidget-defaultContainer,
.mega-menu-primary-mobile-open .joinchat {
    display: none;
}

@media screen and (min-width: 1023.99px) and (max-width: 1300px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 1023.98px) {
    .mega-menu-primary-mobile-open .header {
        background-color: #000;
        min-height: 50vh;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        align-items: center;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item .mega-menu-link {
        width: 100%;
        justify-content: center;
        font-weight: 600 !important;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item li.mega-menu-item li.mega-menu-item .mega-menu-link {
        justify-content: flex-start;
        margin-left: 25%;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item .mega-menu-link > span.mega-indicator {
        margin-left: 0;
        justify-content: center;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu {
        width: 100%;
    }
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {

    }

}


@media only screen and (max-width: 640px) {
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item li.mega-menu-item li.mega-menu-item .mega-menu-link {
        margin-left: 25%;
    }
}
@media only screen and (max-width: 400px) {
    .mega-menu-primary-mobile-open #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item li.mega-menu-item li.mega-menu-item .mega-menu-link {
        margin-left: 2%;
    }
}

@media only screen and (min-width: 1024px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
        justify-content: center;
    }
    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > ul.mega-sub-menu span.mega-indicator {
        margin-left: 0;
    }
}