/**
 * The base file that should be imported by every file.
 * There should be no CSS generation in this or from imported scss files at all!
 */
/**
 * Library
 */
/**
 * Variables and functions
 */
#site-header .toggle-wrapper {
  padding: 1em;
  background-color: var(--night);
  left: 0;
  border-radius: 15px;
  position: absolute;
  top: 20px;
  width: 50px;
  height: 50px;
  margin: auto; }

#hamburger-menu-button {
  position: absolute;
  left: 0;
  top: 16px;
  height: 20px;
  margin: auto;
  z-index: 9999;
  right: 0;
  max-width: 20px; }
  #hamburger-menu-button .menu-icon {
    height: 20px;
    width: 20px;
    cursor: pointer;
    background-color: transparent;
    border: 0; }
    #hamburger-menu-button .menu-icon .bar {
      width: 100%;
      height: 2px;
      background-color: var(--white);
      border-radius: 20px; }
    #hamburger-menu-button .menu-icon.open .bar-1 {
      position: absolute;
      inset: 0px 0 0 0; }
    #hamburger-menu-button .menu-icon.open .bar-2 {
      position: absolute;
      inset: 7px 0 0 0; }
    #hamburger-menu-button .menu-icon.open .bar-3 {
      position: absolute;
      inset: 14px 0 0 0; }
    #hamburger-menu-button .menu-icon.close {
      display: none; }
      #hamburger-menu-button .menu-icon.close .bar {
        background: #fff; }
        #hamburger-menu-button .menu-icon.close .bar-1 {
          transform: rotate(45deg);
          position: absolute;
          inset: 8px 0 0 0; }
        #hamburger-menu-button .menu-icon.close .bar-2 {
          transform: rotate(-45deg);
          position: absolute;
          inset: 8px 0 0 0; }

body, html {
  overflow-x: hidden;
  max-width: 100vw; }

.logged-in.admin-bar #site-header .menu-icon {
  top: 16px; }

#site-header {
  position: relative;
  z-index: 999; }
  @media (max-width: 980px) {
    #site-header .desktop-only {
      display: none; } }
  @media (min-width: 981px) {
    #site-header .mobile-only {
      display: none; } }
  #site-header > .container {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 90px; }
    #site-header > .container:before {
      content: '';
      position: absolute;
      width: 100vw;
      top: 0;
      left: -5.5%;
      height: 90px;
      z-index: 9999;
      background: #fff; }
    #site-header > .container #search-header-open {
      padding: 1em;
      border: 1px solid var(--light-gray);
      border-radius: 15px;
      background-color: var(--white); }
    #site-header > .container .logo {
      order: 3;
      position: absolute;
      top: 15px;
      z-index: 99999;
      left: 0;
      right: 0;
      margin: auto; }
      #site-header > .container .logo > a {
        align-items: center; }
    #site-header > .container .toggle-wrapper {
      order: 1;
      z-index: 99999; }
    #site-header > .container .menu-container {
      order: 2; }
      #site-header > .container .menu-container #search {
        position: absolute;
        left: 4.5em;
        z-index: 99999;
        top: 20px; }
    #site-header > .container .mobile-only.btn {
      order: 4;
      position: absolute;
      right: 0;
      height: -moz-fit-content;
      height: fit-content;
      margin: auto;
      top: 20px;
      z-index: 99999; }
  #site-header .logo {
    width: 75px;
    flex-basis: 75px;
    height: 50px; }
    @media (min-width: 480px) {
      #site-header .logo {
        width: 125px;
        flex-basis: 125px; } }
    #site-header .logo svg {
      width: 75px; }
      @media (min-width: 480px) {
        #site-header .logo svg {
          width: 125px; } }
  #site-header .main-nav, #site-header .top-nav {
    position: relative; }
  #site-header .main-nav .menu, #site-header .main-nav > span, #site-header .main-nav #search-overlay {
    display: none; }
  #site-header .top-header {
    position: relative;
    z-index: 1000;
    text-align: center;
    padding: .9em 0; }
    #site-header .top-header .container {
      justify-content: center; }
      #site-header .top-header .container .icon-check-stamp {
        font-size: 15px; }
    #site-header .top-header .top-nav {
      display: none; }
  #site-header.is-menu-on #contrast-toggle {
    display: none; }
  #site-header.is-menu-on .menu-icon.open {
    display: none; }
  #site-header.is-menu-on .menu-icon.close {
    display: block; }
  #site-header.is-menu-on .menu-container {
    width: 100%;
    background: linear-gradient(to bottom, var(--white) 0%, var(--white) 20px, var(--black) 100%);
    min-height: 100%; }
    #site-header.is-menu-on .menu-container .logo {
      top: 8px;
      z-index: 999; }
    #site-header.is-menu-on .menu-container .main-nav .btn.blue {
      display: flex; }
    #site-header.is-menu-on .menu-container .main-nav > span, #site-header.is-menu-on .menu-container .main-nav .contact-block {
      display: block; }
    #site-header.is-menu-on .menu-container .menu {
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
      list-style: none; }
      #site-header.is-menu-on .menu-container .menu > li {
        border-bottom: 1px solid rgba(var(--gray), 0.25);
        margin: 0;
        padding: 0; }
        #site-header.is-menu-on .menu-container .menu > li a {
          padding: .75em 0; }
      #site-header.is-menu-on .menu-container .menu li {
        position: relative; }
        #site-header.is-menu-on .menu-container .menu li.btn {
          border-radius: 0; }
          #site-header.is-menu-on .menu-container .menu li.btn a {
            background: var(--lightblue);
            border-radius: 100px;
            color: var(--white);
            padding: 5px;
            line-height: 35px;
            display: block; }
        #site-header.is-menu-on .menu-container .menu li a {
          line-height: 1;
          font-size: 30px;
          color: var(--white);
          display: block; }
          #site-header.is-menu-on .menu-container .menu li a > .subtitle {
            display: block;
            padding-top: .5em;
            font-weight: normal;
            font-size: 16px;
            height: 26px;
            overflow: hidden; }
          #site-header.is-menu-on .menu-container .menu li a:hover {
            text-decoration: none; }
          #site-header.is-menu-on .menu-container .menu li a:focus, #site-header.is-menu-on .menu-container .menu li a:focus-visible, #site-header.is-menu-on .menu-container .menu li a.focus-visible {
            outline: 2px solid var(--white);
            outline-offset: 3px;
            border-radius: 1px; }
        #site-header.is-menu-on .menu-container .menu li .open-sub-menu {
          position: absolute;
          right: 3px;
          align-items: center;
          justify-content: center;
          top: 10px !important;
          display: flex;
          width: 50px !important;
          border: 1px solid var(--light-gray);
          height: 50px !important;
          font-size: 30px;
          color: var(--white);
          transition: opacity .3s ease-in-out;
          border-radius: 15px; }
          #site-header.is-menu-on .menu-container .menu li .open-sub-menu:before {
            font-family: Icomoon;
            content: '\e906';
            color: var(--white) !important;
            font-size: 10px;
            padding: 1em; }
          #site-header.is-menu-on .menu-container .menu li .open-sub-menu:focus {
            background: none;
            outline: none; }
        #site-header.is-menu-on .menu-container .menu li .sub-menu {
          margin: 0;
          padding: 0;
          padding-top: 1em; }
          #site-header.is-menu-on .menu-container .menu li .sub-menu li {
            background: rgba(var(--white), 0.2);
            position: relative; }
            #site-header.is-menu-on .menu-container .menu li .sub-menu li:last-child.btn {
              border-radius: 0; }
            #site-header.is-menu-on .menu-container .menu li .sub-menu li.current-menu-item a {
              background-color: rgba(var(--white), 0.1) !important; }
          #site-header.is-menu-on .menu-container .menu li .sub-menu a {
            text-transform: none;
            display: block;
            padding: .5em 0; }
      #site-header.is-menu-on .menu-container .menu .menu-item:not(.menu-item-has-children) > a {
        padding-right: 3em; }
        #site-header.is-menu-on .menu-container .menu .menu-item:not(.menu-item-has-children) > a:before {
          content: '';
          position: absolute;
          right: 3px;
          align-items: center;
          justify-content: center;
          top: 0 !important;
          bottom: 0 !important;
          margin: auto !important;
          display: flex;
          width: 50px !important;
          border: 1px solid var(--light-gray);
          height: 50px !important;
          font-size: 30px;
          color: var(--white);
          transition: opacity .3s ease-in-out;
          border-radius: 15px; }
        #site-header.is-menu-on .menu-container .menu .menu-item:not(.menu-item-has-children) > a:after {
          content: "\e904";
          color: var(--white);
          font-family: Icomoon;
          position: absolute;
          right: 25px;
          height: -moz-fit-content;
          height: fit-content;
          top: 0;
          bottom: 0;
          margin: auto;
          font-size: 10px; }
      #site-header.is-menu-on .menu-container .menu .visible > .open-sub-menu:before {
        content: '\e911'; }
      #site-header.is-menu-on .menu-container .menu .visible > .sub-menu-wrap > .sub-menu, #site-header.is-menu-on .menu-container .menu .visible > .sub-menu {
        display: block !important;
        max-height: 90000px !important; }
    #site-header.is-menu-on .menu-container:after {
      content: '';
      background: var(--night);
      position: fixed;
      z-index: 1;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }
  #site-header.is-menu-on #search {
    display: block;
    position: relative;
    z-index: 999999;
    width: 100%; }
    #site-header.is-menu-on #search form {
      width: 90%;
      margin: 0 auto;
      position: relative;
      padding: 10px 0; }
      #site-header.is-menu-on #search form input {
        background: transparent;
        height: 50px;
        font-size: 22px;
        border-bottom: 1px solid var(--white);
        color: var(--gray);
        width: 100%; }
        #site-header.is-menu-on #search form input::-moz-placeholder {
          padding-left: 1em;
          color: var(--gray); }
        #site-header.is-menu-on #search form input::placeholder {
          padding-left: 1em;
          color: var(--gray); }
      #site-header.is-menu-on #search form button {
        position: absolute;
        right: 10px;
        top: 25px;
        border: none;
        background: transparent; }
        #site-header.is-menu-on #search form button span.icon-search {
          display: inline-block;
          font-size: 20px;
          color: var(--white); }

.main-nav {
  position: relative;
  z-index: 99999;
  top: 8.5em;
  max-width: 315px;
  left: 0;
  right: 0;
  margin: auto;
  overflow-y: auto;
  overflow-x: clip; }
  .main-nav .btn.blue {
    padding: 10px 10px 10px 20px;
    line-height: 1;
    font-weight: 600;
    display: flex;
    justify-content: space-between; }
    .main-nav .btn.blue .icon-lock {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--white);
      color: var(--lightblue); }
  .main-nav .btn.blue, .main-nav > span, .main-nav .contact-block {
    display: none; }
  .main-nav > span {
    color: var(--orange);
    font-weight: bold;
    font-size: 16px;
    padding-top: 3em;
    display: block; }
  .main-nav > ul .sub-menu {
    background-color: #00124A !important; }
  .main-nav > ul li:first-child {
    border-top: 16px solid #00124A; }
  .main-nav > ul li .open-sub-menu {
    height: 95% !important;
    background-color: rgba(17, 17, 17, 0.1) !important;
    width: 65px !important;
    top: 0 !important;
    border-left: 4px solid #00124A;
    transform: none !important; }
    .main-nav > ul li .open-sub-menu:before {
      top: 0 !important;
      bottom: 0 !important;
      color: #00124A !important;
      left: 0 !important;
      right: 0 !important;
      margin: auto !important; }
  .main-nav > ul li.current-menu-item > a, .main-nav > ul li.current-menu-parent > a {
    color: var(--orange) !important; }
  .main-nav > ul li .sub-menu-wrap {
    right: -1000%;
    position: absolute;
    transition: right .3s ease-in-out; }
  .main-nav > ul li.mega-menu.megamenu-overlap {
    position: static !important; }
  .main-nav > ul li.mega-menu.smooth-transition .sub-menu-wrap {
    max-height: 0;
    visibility: hidden; }
  .main-nav > ul li .sub-menu-wrap.visible {
    z-index: 9999999;
    right: 0;
    height: calc(100% + 1.5em);
    background-color: var(--night);
    width: 100%;
    top: -1.5em; }
    .main-nav > ul li .sub-menu-wrap.visible li a {
      flex-direction: column;
      font-size: 20px !important;
      display: flex !important;
      min-height: 70px;
      justify-content: center; }
    .main-nav > ul li .sub-menu-wrap.visible .submenu-header {
      display: block !important;
      background-color: #00124A !important;
      color: #fff !important;
      left: 0;
      width: 100%;
      height: 110px; }
      .main-nav > ul li .sub-menu-wrap.visible .submenu-header .back {
        font-size: 16px;
        display: flex;
        gap: 15px;
        padding-bottom: 20px;
        color: var(--white);
        align-items: center; }
        .main-nav > ul li .sub-menu-wrap.visible .submenu-header .back > span {
          background-color: var(--orange);
          border-radius: 10px;
          font-size: 10px;
          display: flex;
          height: 36px;
          width: 36px;
          justify-content: center;
          align-items: center;
          color: var(--white); }
      .main-nav > ul li .sub-menu-wrap.visible .submenu-header > a {
        background-color: #00124A !important;
        color: var(--orange) !important;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 77px; }
        .main-nav > ul li .sub-menu-wrap.visible .submenu-header > a:before {
          color: #fff !important;
          left: 10px !important;
          top: 23px !important; }
    .main-nav > ul li .sub-menu-wrap.visible .sub-menu {
      margin-top: 0 !important; }
  .main-nav > ul > li.no-link > a.open-sub-menu {
    width: 100% !important;
    background-color: transparent !important;
    height: 100% !important; }
    .main-nav > ul > li.no-link > a.open-sub-menu:before {
      position: absolute !important;
      top: 20px !important; }
  .main-nav > ul li.small a {
    font-size: 16px !important;
    font-weight: 400;
    padding-top: 2em !important;
    padding-bottom: 0 !important; }
    .main-nav > ul li.small a .subtitle {
      display: none !important; }
    .main-nav > ul li.small a:before {
      display: none !important; }
    .main-nav > ul li.small a:after {
      display: none; }

/*# sourceMappingURL=mobile-menu.css.map */
