/*! HEADER ===== */

.fl-page-header {
    border-bottom-style: solid;
    border-color: rgba(112, 112, 112, 0.26);
    position: fixed;
    top: 50px !important;
    width: 100%;
    height: 90px;
    max-width: 100%;
    z-index: 102;
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease-in-out;
}

.fl-page-header,
.fl-page-header-wrap {
    width: 100%;
    max-width: 100%;
    display: flex;
}

.fl-page-header-wrap {
    height: 90px;
}

/*! Admin bar offsets */
.admin-bar .fl-page-header {
    top: 96px !important;
    position: fixed;
    transition: all 0.2s ease-in-out;
}

.has-top-bar .fl-page-header {
    top: 40px !important;
}

.admin-bar.has-top-bar .fl-page-header {
    top: 86px !important;
}

/*! Scroll states */
.shiftnav--scroll-down .fl-page-header,
.admin-bar.shiftnav--scroll-down .fl-page-header {
    top: 50px !important;
}

.has-top-bar.shiftnav--scroll-down .fl-page-header,
.admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header,
.admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header-wrap {
    top: 40px !important;
}

/*! Fixed header */
.fl-page-header.rw-fixed-header,
.fl-page-header.rw-fixed-header .fl-page-header-wrap {
    padding-top: 0;
    padding-bottom: 0;
    position: fixed;
}

/*! Header container */
.fl-page-header-container {
    justify-content: center;
    height: auto;
}

.fl-page-nav-right .fl-page-header-container {
    display: flex;
    width: 100%;
    padding: 10px 20px;
}

/*! Header row */
.fl-page-nav-right .fl-page-header-row {
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
}

/*! Logo */
.fl-page-header-logo-col,
.rw-fixed-header .fl-page-header-logo-col {
    padding: 0;
}

.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-header-logo {
    text-align: left;
    margin: auto;
}

.fl-page-header-primary .fl-logo-img {
    width: 100% !important;
    max-width: 130px !important;
    transition: all 0.2s ease-in-out;
}

/*! Nav column */
.fl-page-nav-right .fl-page-header-row .fl-page-nav-col {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: center !important;
    padding: 0;
}

/*! Header text / phone */
.rw-header-text {
    width: 100%;
    margin-bottom: 10px;
}

.rw-header-text .btn {
    display: none;
}

.rw-header-phone {
    font-size: clamp(0.9rem, 3vw, 1.8rem);
    font-weight: 700;
    margin-bottom: 0;
    text-align: right;
    color: var(--blue-dark);
    line-height: 1;
}

.rw-header-phone a {
    color: var(--red);
}

.rw-header-phone a:hover {
    color: var(--fire-orange);
    text-decoration: none;
}

/*! Nav wrap */
.fl-page-nav-right .fl-page-nav-wrap {
    width: 100%;
}

.fl-page-nav-right .fl-page-nav-wrap .fl-page-nav {
    margin-right: 0;
}


/*! HEADER RESPONSIVE ===== */

@media (min-width: 400px) {

    .fl-page-header-logo-col,
    .rw-fixed-header .fl-page-header-logo-col {
        padding: 0;
    }

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-header-logo {
        margin: 0 !important;
        text-align: left;
    }

    .fl-page-nav-right .fl-page-header-row .fl-page-nav-col {
        flex-direction: column;
        justify-content: center;
    }

    .rw-header-text {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        padding-right: 0;
    }

    .fl-page-nav-right .fl-page-nav-wrap {
        width: 100%;
    }

    .fl-page-nav-right .fl-page-nav-wrap .fl-page-nav {
        align-content: center;
    }
}

@media (min-width: 480px) {

    .fl-page-header,
    .fl-page-header-wrap {
        height: 100px;
    }

}

@media (min-width: 601px) {

    .admin-bar.shiftnav--scroll-down .fl-page-header,
    .admin-bar.shiftnav--scroll-down .fl-page-header-wrap,
    .admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header,
    .admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header-wrap {
        top: 96px !important;
    }
}

@media (min-width: 768px) {

    .fl-page-header,
    .fl-page-header-wrap {
        height: 120px;
    }

    .home .fl-page-header-container {
        justify-content: flex-start;
    }

    .fl-page-nav-wrap {
        background-color: transparent;
    }

    .fl-page-nav-right .fl-page-header-row.row {
        margin: 0;
    }

    .fl-page-nav-right .fl-page-header-logo {
        padding-left: 0;
        padding-right: 0;
    }

    .fl-page-header-primary .fl-logo-img {
        max-width: 160px !important;
    }

    .fl-page-header .rw-header-text .btn {
        display: block;
        padding: 10px 20px 11px !important;
    }

    .fl-page-nav-right .fl-page-nav-wrap .fl-page-nav {
        align-content: flex-end;
    }

    .fl-page-nav-toggle-visible-always .fl-page-header-wrap .fl-page-header-container,
    .fl-page-nav-toggle-visible-medium-mobile .fl-page-header-wrap .fl-page-header-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (min-width: 769px) {

    .fl-page-nav-toggle-visible-always .fl-page-header-wrap .fl-page-header-container,
    .fl-page-nav-toggle-visible-medium-mobile .fl-page-header-wrap .fl-page-header-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (min-width: 783px) {

    .admin-bar .fl-page-header,
    .admin-bar.shiftnav--scroll-down .fl-page-header,
    .admin-bar.shiftnav--scroll-down .fl-page-header-wrap,
    .admin-bar.has-top-bar .fl-page-header,
    .admin-bar.has-top-bar .fl-page-header-wrap,
    .admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header,
    .admin-bar.has-top-bar.shiftnav--scroll-down .fl-page-header-wrap {
        top: 82px !important;
    }
}

@media (min-width: 992px) {

    .fl-page-header,
    .fl-page-header-wrap {
        height: 140px;
    }

    .fl-full-width .fl-page-header-container {
        width: 100%;
    }

    .fl-page-header-logo-col,
    .rw-fixed-header .fl-page-header-logo-col {
        padding: 0 15px 0 0;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .fl-page-header-primary .fl-logo-img {
        max-width: 200px !important;
    }

    .fl-page-nav-col {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        flex: 0 0 75%;
        max-width: 75%;
        position: unset !important;
    }

    .fl-page-nav-right .fl-page-header-row .fl-page-nav-col {
        padding: 0 0 0 15px;
    }

    .rw-header-text {
        margin-bottom: 10px;
    }
}

@media (min-width: 1100px) {
    .fl-full-width .fl-page-header-container.container {
        max-width: 100%;
    }

    .fl-page-nav-toggle-visible-always .fl-page-header-wrap .fl-page-header-container,
    .fl-page-nav-toggle-visible-medium-mobile .fl-page-header-wrap .fl-page-header-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}


/*! Mobile header overrides */
@media (max-width: 991px) {

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-header-logo-col,
    .fl-framework-bootstrap-4 .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-header-logo-col,
    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-nav-col,
    .fl-framework-bootstrap-4 .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-nav-col {
        flex-basis: 50%;
        max-width: 50%;
    }

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile {
        position: fixed;
    }

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-header-row .fl-page-header-logo {
        padding-bottom: 0;
    }
}

/*! Small mobile: logo 70% / nav 30% */
@media (max-width: 399px) {

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-header-logo-col,
    .fl-framework-bootstrap-4 .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-header-logo-col {
        flex-basis: 50%;
        max-width: 50%;
    }

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-nav-col,
    .fl-framework-bootstrap-4 .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile.fl-page-nav-right .fl-page-nav-col {
        flex-basis: 50%;
        max-width: 50%;
    }
}


/*! MAIN NAVIGATION ===== */

.fl-page-nav-wrap,
.fl-page-nav .navbar-nav>li>a.nav-link {
    transition: background 0.2s ease-in-out;
}

.fl-page-nav-wrap {
    border: none;
    position: unset !important;
}


/*! Mobile nav toggle */
@media (max-width: 991px) {

    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav-col,
    .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .navbar {
        position: relative;
    }

    .shiftnav-toggle-button {
        display: inline-block;
    }
}

@media (min-width: 992px) {
    .shiftnav-toggle-button {
        display: none;
    }
}

/*! NAV RIGHT ===== */

.fl-page-nav-right .fl-page-nav-wrap {
    height: 45px;
    display: flex;
    justify-content: flex-end;
}

.fl-page-nav .navbar-nav {
    float: none;
    display: flex;
    gap: 30px;
}

.fl-page-nav .navbar-nav,
.fl-page-nav .navbar-nav a {
    font-weight: 700;
    font-family: var(--font-heading);
    font-size: var(--nav-font-size);
}

.fl-page-nav-right .fl-page-nav .navbar-nav>li {
    margin-right: 1px;
}

.fl-page-nav-right .fl-page-nav .navbar-nav>li>a.nav-link {
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
    color: var(--blue-dark);
    padding: 0 0 3px;
}

.fl-page-nav-right .fl-page-nav .navbar-nav>li>a.nav-link::before {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--red);
    transition: width 0.3s ease;
}

.fl-page-nav-right .fl-page-nav .navbar-nav>li>a.nav-link:hover {
    color: var(--red);
}

.fl-page-nav-right .fl-page-nav .navbar-nav>li>a.nav-link:hover::before {
    width: 100%;
}

/*! Current / active nav states */
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-ancestor>a,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-parent>a,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-item>a {
    color: var(--red);
}

.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-ancestor>a::before,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-parent>a::before,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-item>a::before {
    width: 100%;
}

.fl-submenu-indicator .fl-page-nav ul.navbar-nav>li.menu-item-has-children>a:after {
    font-size: 17px;
}

@media (min-width: 992px) {

    .fl-page-nav .navbar-nav {
        gap: 20px;
    }

}

@media (min-width: 1100px) {

    .fl-page-nav .navbar-nav {
        gap: 30px;
    }

}

@media (max-width: 991px) {
    .fl-page-nav-right .fl-page-nav-container {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/*! SUBMENU / DROPDOWN ===== */

.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children:hover a {
    color: var(--red);
}

.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-ancestor>a {
    color: var(--red);
    opacity: 1;
}

.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children:hover a::before,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-ancestor>a::before {
    width: 100%;
}

.fl-page-nav-right .fl-page-nav ul.sub-menu {
    background-color: var(--red-dark);
    border-top: none;
    padding: 10px;
    width: 300px;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.2), inset 0 8px 8px 0 rgba(0, 0, 0, 0.1);
    top: 126%;
    z-index: 1;
}

.fl-page-nav-right .fl-page-nav ul.sub-menu li a,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children ul.sub-menu li a {
    background-color: rgba(196, 18, 48, 0.5);
    border-radius: 3px;
    margin: 0 0 1px;
    font-size: var(--subnav-font-size);
    letter-spacing: 0.01em;
    text-transform: uppercase;
    transition: background 0.2s ease-in-out;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 700;
    display: block;
    padding: 5px 10px;
}

.fl-page-nav-right .fl-page-nav ul.sub-menu li a:hover,
.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children ul.sub-menu li a:hover {
    background-color: var(--red);
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
}

@media (min-width: 992px) {
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 15px;
        padding-left: 15px;
    }

    .fl-page-nav ul.sub-menu li a {
        padding: 11px 0 13px 15px !important;
        font-size: 16px;
    }

    .fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children ul.sub-menu ul.sub-menu li a {
        margin: 0;
        position: relative;
        font-weight: 400 !important;
        color: rgba(255, 255, 255, 0.6) !important;
        padding: 7px 0 9px 20px !important;
        transition: all 0.2s ease;
        font-size: 14px;
    }

    .fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.menu-item-has-children ul.sub-menu ul.sub-menu li a:hover {
        color: rgba(255, 255, 255, 1) !important;
        text-decoration: none;
    }

    /* Nested submenu items */
    .fl-page-nav-right .fl-page-nav-wrap .navbar-nav ul.sub-menu li ul.sub-menu li ul.sub-menu li a {
        padding: 5px 15px 5px;
        font-size: 14px;
    }

}