/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Navigation in header.
 */

[dir="ltr"] .header-nav {
  left: 100%
}

[dir="rtl"] .header-nav {
  right: 100%
}

[dir="ltr"] .header-nav {
  padding-left: 3.125rem
}

[dir="rtl"] .header-nav {
  padding-right: 3.125rem
}

[dir="ltr"] .header-nav {
  padding-right: 3.125rem
}

[dir="rtl"] .header-nav {
  padding-left: 3.125rem
}

.header-nav {
  position: fixed;
  z-index: 501; /* Appear above overlay and contextual links in header. */
  top: 0;
  visibility: hidden;
  overflow-x: hidden;
  /**
   * Ensure that header nav not use additional space and force system branding
   * block text to unnecessarily wrap.
   */
  flex-basis: 0;
  flex-grow: 1; /* Necessary for IE11. */
  width: calc(100% - 6.25rem);
  max-width: 31.25rem;
  height: 100%;
  padding-top: 0;
  padding-bottom: 1.125rem;
  /**
   * Create room for the "close" button. We cannot use margin because The
   * mobile navigation needs to slide beneath the button, but we also cannot
   * use padding because that would enable the button to scroll out of the
   * viewport on short screens.
   */
  background: #007300;
  border-top: solid #007300 54px;
  box-shadow: 0 0 72px rgba(0, 0, 0, 0.1)
}
.header-nav:before {
  content: "";
  position: absolute;
  width: 550px;
  height: 550px;
  bottom: 25px;
  right: -300px;
  z-index: -1;
  background: url(/themes/root802/images/footer-bg.png) no-repeat #007300;
  background-size: cover;
  transform: rotate(20deg);
  transition: 2s;
}
@media (min-width: 600px) {
  .header-nav:before {
    bottom: 75px;
    right: -350px;
    width: 750px;
    height: 750px;
  }
}
.header-nav.is-active {
    visibility: visible;
    transform: translateX(-100%);
}
.header-nav.is-active:before {
  bottom: 25px;
  right: -200px;
  transform: rotate(0deg);
}
@media (min-width: 600px) {
  .header-nav.is-active:before {
    bottom: 75px;
    right: -250px;
    transform: rotate(0deg);
  }
}
.header-nav div {
    visibility: visible;
}
.header-nav a {
  color: #FFF;
  text-decoration: none;
}
.header-nav a:hover {
  color: #8a8;
  text-decoration: none;
}
.header-nav nav.navigation {
    overflow: scroll;
    height: 100%;
}

.header-nav a::before {
  line-height: 1.7em !important;
  padding-right: 0.6em;
  width: 1em;
  text-align: center;
}

.header-nav a.icon-home::before {
  content: "\e3af";
  font: var(--fa-font-solid);
}
.header-nav a.icon-about::before {
  background: url('/themes/root802/images/root802-logo-icon-white.svg') no-repeat;
  background-position: 0 center;
  background-size: 70%;
  content: "";
}
.header-nav a.icon-about:hover::before {
  background: url('/themes/root802/images/root802-logo-icon-88AA88.svg') no-repeat;
  background-position: 0 center;
  background-size: 70%;
  content: "";
}
.header-nav a.icon-services::before {
  content: "\f562";
  font: var(--fa-font-solid);
}
.header-nav a.icon-contact::before {
  content: "\f0e0";
  font: var(--fa-font-solid);
}
.header-nav a.icon-blog::before {
  content: "\f781";
  font: var(--fa-font-solid);
}

@supports (flex-basis: max-content) {

.header-nav {
    flex-basis: max-content
}
  }

@media (min-width: 31.25rem) {

.header-nav {
    border-top-width: 90px
}
  }

@media (min-width: 43.75rem) {

[dir="ltr"] .header-nav {
    padding-left: 3.375rem
  }

[dir="rtl"] .header-nav {
    padding-right: 3.375rem
  }

.header-nav {
    padding-bottom: 3.375rem;
    border-top-width: 126px
}
  }

@media (min-width: 62.5rem) {

.header-nav {
    -ms-grid-column: 5;
    -ms-grid-column-span: 9;
    grid-column: 5 / 14
}
  }

.header-nav {

  /*
   * Ensure top border has the same color as the background when in forced colors.
   */
}

@media (forced-colors: active) {

.header-nav {
    border-top-color: canvas
}
  }

/*
 * Only apply transition styles when JS is loaded. This
 * works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189
 */

html.js .header-nav {
  transition: visibility 0.2s, transform 0.2s;
}

/* Toolbar is fixed, and tray is vertical. */

body.toolbar-vertical .header-nav {
  border-top-width: 93px
}

@media (min-width: 31.25rem) {

body.toolbar-vertical .header-nav {
    border-top-width: 129px
}
  }

/* Toolbar is fixed, and tray is vertical or toolbar is horizontal and tray is closed. */

@media (min-width: 43.75rem) {

body.toolbar-vertical .header-nav,
body.toolbar-horizontal.toolbar-fixed .header-nav {
    border-top-width: 165px
}
  }

/* Toolbar is horizontal fixed, and tray is open. */

@media (min-width: 43.75rem) {

body.toolbar-horizontal.toolbar-fixed.toolbar-tray-open .header-nav {
    border-top-width: 205px
}
  }

@media (min-width: 75rem) {

[dir="ltr"] body:not(.is-always-mobile-nav) .header-nav {
    padding-left: 0
  }

[dir="rtl"] body:not(.is-always-mobile-nav) .header-nav {
    padding-right: 0
  }

[dir="ltr"] body:not(.is-always-mobile-nav) .header-nav {
    padding-right: 0
  }

[dir="rtl"] body:not(.is-always-mobile-nav) .header-nav {
    padding-left: 0
  }

body:not(.is-always-mobile-nav) .header-nav {
    position: static;
    display: flex;
    visibility: visible;
    overflow: visible;
    -ms-grid-column: 5;
    -ms-grid-column-span: 10;
    grid-column: 5 / 15;
    align-items: center;
    justify-content: flex-end;
    max-width: none;
    height: 6.75rem;
    margin-top: auto;
    padding-top: 0;
    padding-bottom: 0;
    transition: transform 0.2s;
    transform: none;
    border-top: 0;
    box-shadow: none
}
  }

body.is-always-mobile-nav {
  /* Toolbar is fixed, and tray is vertical or toolbar is horizontal and tray is closed. */
}

body.is-always-mobile-nav {

  /* Toolbar is horizontal fixed, and tray is open. */
}

#block-brandingmenu {
  margin-bottom: 32px;
}


@media (min-width: 75rem) {

  [dir="ltr"] body.is-always-mobile-nav .header-nav {
      padding-right: 1.125rem
  }

  [dir="rtl"] body.is-always-mobile-nav .header-nav {
      padding-left: 1.125rem
  }


  body.is-always-mobile-nav .header-nav {
      overflow: auto;
      max-width: calc(50vw - 4.40625rem);
      transition: transform 0.2s, visibility 0.2s;
  }
}

@media (min-width: 90rem) {

[dir="ltr"] body.is-always-mobile-nav .header-nav {
      padding-right: calc(100vw - 88.875rem)
  }

[dir="rtl"] body.is-always-mobile-nav .header-nav {
      padding-left: calc(100vw - 88.875rem)
  }

body.is-always-mobile-nav .header-nav {
      max-width: calc(100vw - 48.9375rem)
  }
    }

[dir="rtl"] .header-nav.is-active {
  transform: translateX(100%);
}

[dir="ltr"] .header-nav-overlay {
  left: 0
}

[dir="rtl"] .header-nav-overlay {
  right: 0
}

.header-nav-overlay {
  position: fixed;
  z-index: 101;
  top: 0;
  display: none;
  width: 100%;
  height: 100vh;
  opacity: 0.2;
  background: #000
}

@media (forced-colors: active) {

.header-nav-overlay {
    background: canvastext
}
  }

.is-overlay-active .header-nav-overlay {
    display: block
}
