/* rc-stuff functional styles */
@media all {
    /* toggle */
    .rc-link {
        display: block;
        text-decoration: none;
        color: currentColor;
        cursor: pointer;
    }

    /* rc-load */
    .rc-load-hide {
        display: none;
    }
    .rc-load-show {
        display: block;
    }
    .rc-load-success > .rc-hide-on-success {
        display: none;
    }

    /* rc-container */
    .rc-container-enabled,
    .rc-head .rc-html-orig,
    .rc-open .rc-show-closed,
    .rc-show-opened {
        display: none;
    }

    .rc-show-closed,
    .rc-open .rc-show-opened {
        display: block;
    }

    .rc-container-toggle {
        display: none;
    }
    .rc-container-toggle.rc-head {
        display: block;
    }

    /* rc-collapse */
    .rc-collapse-toggle {
        display: none;
        color: currentColor;
    }

    .rc-collapse-enabled .rc-collapse-toggle {
        display: flex;
    }

    .rc-collapse-enabled {
        position: relative;
        width:0;
        min-width: 2.5rem;
        overflow: hidden;

        -webkit-transition: width .5s ease;
        -moz-transition: width .5s ease;
        -ms-transition: width .5s ease;
        -o-transition: width .5s ease;
        transition: width .5s ease;
    }

    .rc-collapse-enabled.rc-open {
        width: 100%;
    }

    .rc-collapse-enabled .rc-collapse-body {
        position: absolute;
        top: 0;
        left: 2.5rem;
        right: 0;
        bottom: 0;
    }
}

/* mobile toggle  */
@media all {
    .page-header .main-menu {
        display: none;
    }

    .page-search-toggle,
    .nav-toggle-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        color: inherit;
    }

    .page-search-toggle:hover,
    .nav-toggle-link:hover {
        color: inherit;
    }

    .nav-toggle-link > span {
        align-self: center;
    }

    .search-icon-close,
    .nav-icon-close,
    .nav-icon-menu {
        padding: 0.3125rem 0;
        border-top: 0.125rem solid currentColor;
        border-bottom: 0.125rem solid currentColor;
        display: inline-block;
        width: 1.125rem;
        vertical-align: middle;
        position: relative;
    }

    .nav-icon-menu:before {
        content: "";
        background: currentColor;
        display: block;
        height: 0.125rem;
    }

    .search-icon-close,
    .nav-icon-close {
        border: none;
        top: -0.15em;
    }
    .search-icon-close::before,
    .search-icon-close::after,
    .nav-icon-close::before,
    .nav-icon-close::after {
        content: "";
        background: currentColor;
        display: block;
        height: 0.125rem;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        left: 0;
        right: 0;
    }
    .search-icon-close::after,
    .nav-icon-close:after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .nav-show-opened,
    .nav-toggle-open .nav-show-closed {
        display: none;
    }
    .nav-toggle-open .nav-show-opened {
        display: block;
    }

    /* dim page? */
    /*
    .mm-menu.mm-opened ~ .mm-page::before {
        content: "";
        position: absolute;
        z-index: 1000;
        top: 0;
        background: rgba(0,0,0,0.25);
        left: 0;
        width: 100vw;
        height: 100%;
    }
    */

    .mm-menu.mm-opened::before {
        box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.25);
        content: "";
        position: absolute;
        z-index: 1;
        top: 0;
        right: 100%;
        width: 1.25rem;
        height: 100vh;
    }

    .mm-menu a {
        font-weight: 400;
        color: inherit !important;
    }

    .mm-menu_theme-white {

        --mm-color-text: rgb(82, 92, 163);
        --mm-color-dimmed: rgb(82, 92, 163);
        --mm-color-button: rgb(82, 92, 163);
        --mm-color-border: rgba(82, 92, 163, 0.1);

    }
}



/* footernav and to top */
@media all {
    .footernav {
        margin-left: -0.3125rem;
    }


    .footernav .item {
        display: inline-block;
        padding: 0.625rem 0.3125rem;
        color: currentColor !important;
        font-weight: 400;
    }

    .totoplink {
        position: fixed !important;
        right: 0.625em;
        bottom: 0.625em;
        z-index: 10;
        color: rgb(255, 255, 255);
        background: rgb(128, 128, 128);
        opacity: 0.5;
        line-height: 1;
        border-radius: 50%;
        padding: 0.625rem;
        width: 2.5rem;
        height: 2.5rem;
    }
    .totoplink::before {
        content: none !important;
    }
    .totoplink > .fa {
        margin-right: 0;
        padding-right: 0;
    }
}

/* tablet (without print) */
@media (min-width: 47.5em) {
    .footernav li + li:before {
        content: "|";
    }
}

/* desktop */
@media (min-width: 62.5em) {
    /* page header */
    .nav-toggle-link {
        display: none;
    }

    .page-header .main-menu {
        display: flex;
        flex-grow: 1;
        justify-content: flex-start;
        overflow: visible !important;
        margin-right: 1.25rem;
    }

    /* superfish */
    .sf-menu,
    .sf-sub {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .sf-has-sub {
        position: relative;
    }
    .sf-sub {
        position: absolute;
        display: none;
        z-index: 99;
    }
    .sf-sub-sub {
        top: 0;
        left: 100%;
    }
    .sf-hidden {
        display: none;
    }

    .main-menu > li + li {
        margin-left: 0.625rem;
    }

    .main-menu .item {
        font-weight: 600;
        line-height: 1.25rem;
        padding: 1.25rem 0 0.9375rem;
        border-bottom: 0.3125rem solid transparent;
        text-decoration: none !important;
    }

    .main-menu > li:hover > .item {
        border-bottom-color: rgb(82, 92, 163);
    }

    .main-menu .active > .item,
    .main-menu .current > .item {
        border-bottom-color: currentColor;
    }
    .main-menu [data-menu-uid="220"].active > .item {
        border-bottom-color: transparent;
    }

    .sf-sub {
        background-color: rgb(255,255,255);
        border-bottom-right-radius: 1.5rem;
        box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.12);
    }

    .sf-sub li + li {
        border-top: 1px solid rgba(82, 92, 163, 0.1);
    }

    .sf-sub .item {
        border: none;
        min-width: 20em;
        padding: 1.25rem 1.5rem;
    }

    .sf-sub .sf-has-sub > .item {
        padding-right: 3.125rem;
    }

    .sf-sub .item:focus,
    .sf-sub li:hover > .item {
        background-color: rgba(82, 92, 163, 0.07);
    }

    .sf-sub .sf-has-sub > .item::after {
        content: "";
        position: absolute;
        width: 0.625rem;
        height:0.625rem;
        right: 1.25rem;
        top: 50%;
        border: 2px solid rgba(77, 94, 167, 0.3);
        border-width: 0 2px 2px 0;
        transform: translateY(-50%) rotate(-45deg);
    }

    .topnav .item {
        font-weight: 600;
    }
}


@media (min-width: 77.5em) {

    .main-menu > li + li {
        margin-left: 1.25rem;
    }

}

@media (min-width: 93.75em) {

    .main-menu > li + li {
        margin-left: 2.25rem;
    }

}
