/* stylelint-disable order/order */
/* stylelint-enable order/order */
/*
* Used to add the CSS Grid properties for the 12-column grid.
*
* @return string  The CSS Grid properties for the 12-column grid.
*/
/****************
 * Fonts
 *
 * The font settings are defined via the gulp figma task creates variables in the css/__base-includes/figma/_figma-font-styles.scss file based on the Figma file. Additional variables are defined here.
 ****************/
/****************
 * Colors
 *
 * The primary colors are defined via the gulp figma task creates variables in the css/__base-includes/figma/_figma-color-variables.scss file based on the Figma file. Additional variables are defined here.
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
/*
This file can be used for optional additions to the Figma-generated font style mixins in the figma/_figma-font-styles.scss file.

For example, if you want to add styles to the @overline mixin, just create a mixin here called @overline-custom and that CSS will be added to the primary mixin:

@mixin overline-custom() {
	font-weight: 700;
}
*/
.block-primary-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media (max-width: 61.98rem) {
  .block-primary-nav {
    margin-right: -0.75rem;
    margin-left: auto;
  }
}
@media (min-width: 62rem) {
  .block-primary-nav {
    flex-grow: 1;
  }
}
.block-primary-nav::before, .block-primary-nav::after {
  top: 0;
  left: 0;
  content: "";
  width: 100vw;
  width: calc(var(--vw, 1vw) * 100);
  height: 100%;
}
.block-primary-nav::before {
  position: fixed;
  z-index: 995;
  background-color: rgba(13, 13, 13, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease-in-out;
}
body.primary-menu-open .block-primary-nav::before, body.primary-submenu-open .block-primary-nav::before {
  opacity: 1;
}
.block-primary-nav::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: 998;
  height: 100%;
  background-color: #fcfcfc;
  transition: transform 0.4s ease-in-out, background-color 0.4s ease-in-out;
}
@media (max-width: 61.98rem) {
  body.primary-submenu-open.primary-menu-open:not(.search-open) .block-primary-nav::after {
    transform: translateX(-100vw);
  }
}
@media (max-width: 61.98rem) {
  body.primary-menu-open:not(.search-open) .block-primary-nav::after {
    width: 100vw;
  }
}
body.page-has-alt-nav:not(.primary-submenu-open):not(.primary-menu-open):not(.scrolled) .block-primary-nav::after {
  background-color: transparent;
}
@media (max-width: 61.98rem) {
  .block-primary-nav__menu {
    position: fixed;
    top: 4rem;
    left: 0;
    z-index: 998;
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100 - 4rem);
    transform: translateY(calc(var(--vh, 1vh) * -100));
    transition: transform 0.4s ease-in-out;
  }
}
@media (min-width: 62rem) {
  .block-primary-nav__menu {
    display: contents;
  }
}
@media (max-width: 61.98rem) {
  body.admin-bar .block-primary-nav__menu {
    top: calc(32px + 4rem);
  }
}
@media screen and (max-width: 782px) {
  body.admin-bar .block-primary-nav__menu {
    top: calc(46px + 4rem);
  }
}
@media (max-width: 61.98rem) {
  body.primary-menu-open .block-primary-nav__menu {
    visibility: visible;
    transform: none;
  }
}
@media (max-width: 61.98rem) {
  body.primary-submenu-open:not(.search-open) .block-primary-nav__menu {
    transform: translateX(-100vw);
  }
}
@media (max-width: 61.98rem) {
  body.primary-submenu-open:not(.primary-menu-open):not(.search-open) .block-primary-nav__menu {
    transform: translate(-100vw, calc(var(--vh, 1vh) * -100));
  }
}
@media (max-width: 61.98rem) {
  .block-primary-nav__menu.hidden {
    visibility: hidden;
  }
}
@media (max-width: 61.98rem) {
  .block-primary-nav__menu-content {
    width: 100%;
    max-height: 100%;
    padding-bottom: 1.25rem;
    background-color: #fcfcfc;
    overflow: auto;
  }
}
@media (min-width: 62rem) {
  .block-primary-nav__menu-content {
    display: contents;
  }
}
@media (min-width: 62rem) {
  .block-primary-nav__menu-content::before {
    position: absolute;
    left: -1px;
    bottom: 0;
    content: "";
    z-index: 999;
    width: 1px;
    height: 3px;
    background-color: #4bc031;
    transform: translateX(var(--menuUnderlinePosition, 0)) scaleX(var(--menuUnderlineWidth, 0));
    transform-origin: bottom left;
    pointer-events: none;
    transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
  }
}
@media (min-width: 62rem) {
  .block-primary-nav__menu-content::after {
    position: absolute;
    top: 4rem;
    left: 0;
    content: "";
    z-index: 995;
    width: 0.0625rem;
    height: calc(var(--openMenuBottom, 0px) - 4rem);
    background-color: #fcfcfc;
    transform: translateX(var(--openMenuLeft, 50vw)) scaleX(var(--openMenuWidth, 0));
    transform-origin: bottom left;
    pointer-events: none;
    transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out, height 0.4s ease-in-out;
  }
}
@media (min-width: 62rem) {
  body.menu-underline-init .block-primary-nav__menu-content::before {
    transition: opacity 0.4s ease-in-out;
  }
}
@media (min-width: 62rem) {
  body.mega-menu-init .block-primary-nav__menu-content::after {
    transition: opacity 0.4s ease-in-out;
  }
}
body.resizing .block-primary-nav__menu-content::before, body.resizing .block-primary-nav__menu-content::after {
  transition: none !important;
}
@media (min-width: 62rem) {
  .block-primary-nav__search {
    order: 500;
    margin-right: 0;
    margin-left: auto;
  }
}
.block-primary-nav__search .block-primary-nav-mega-menu__inner {
  top: 4rem;
  z-index: 995;
  transform: translateY(calc(-100% - 4.0625rem)) !important;
}
@media (min-width: 62rem) {
  .block-primary-nav__search .block-primary-nav-mega-menu__inner {
    top: 0;
    transform: translate(-50%, calc(-100% - 4.0625rem)) !important;
  }
}
.block-primary-nav__search .block-primary-nav-mega-menu__heading {
  display: none;
}
.block-primary-nav__search > .wp-block-button {
  border: none !important;
}
@media (min-width: 62rem) {
  .block-primary-nav__search > .wp-block-button {
    padding-right: 0 !important;
  }
}
.block-primary-nav__search > .wp-block-button.active + .block-primary-nav-mega-menu .block-primary-nav-mega-menu__inner {
  transform: none !important;
}
@media (min-width: 62rem) {
  .block-primary-nav__search > .wp-block-button.active + .block-primary-nav-mega-menu .block-primary-nav-mega-menu__inner {
    transform: translate(-50%, 0) !important;
  }
}
.block-primary-nav__search > .wp-block-button.active + .block-primary-nav-mega-menu .block-primary-nav__search-button::before {
  content: "\ea13";
}
.block-primary-nav__search .block-primary-nav-mega-menu__content {
  --menuOffset: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0rem;
}
@media (min-width: 62rem) {
  .block-primary-nav__search .block-primary-nav-mega-menu__content {
    min-width: clamp(40rem, -8.7142857143rem + 78.5714285714vw, 62rem);
    padding: clamp(1.75rem, 0.8928571429rem + 1.7857142857vw, 2.5rem) clamp(1.25rem, -1.8928571429rem + 6.5476190476vw, 4rem) clamp(1.75rem, 0.3214285714rem + 2.9761904762vw, 3rem);
  }
}
.block-primary-nav__search form {
  width: 100%;
}
.block-primary-nav__search-button {
  position: relative;
  z-index: 9999;
  padding: 0.375rem;
  line-height: 0;
  border: none;
  background-color: transparent;
  -webkit-appearance: none;
  transition: transform 0.4s ease-in-out, color 0.2s linear !important;
}
.block-primary-nav__search-button::before {
  content: "\ea37";
  font-weight: 400;
  font-size: 24px;
  font-family: "iconfont-propel";
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.block-primary-nav__search-button::after {
  display: none;
}
@media (max-width: 61.98rem) {
  body.primary-submenu-open.primary-menu-open:not(.search-open) .block-primary-nav__search-button {
    transform: translateX(-100vw);
  }
}
.wp-block-button.active > .block-primary-nav__search-button::before {
  content: "\ea13";
  font-weight: 400;
  font-size: 24px;
  font-family: "iconfont-propel";
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.block-primary-nav__hamburger {
  position: relative;
  z-index: 9999;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  margin-right: 0;
  margin-left: 0.5rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}
@media (min-width: 62rem) {
  .block-primary-nav__hamburger {
    display: none;
  }
}
.block-primary-nav__hamburger span {
  position: absolute;
  left: 0.5rem;
  display: block;
  width: 1.3125rem;
  height: 2px;
  border-radius: 2px;
  background-color: #0d0d0d;
  opacity: 1;
  transform: rotate(0deg);
  transition: 0.45s ease-in-out;
}
body.page-has-alt-nav:not(.primary-submenu-open):not(.primary-menu-open):not(.scrolled) .block-primary-nav__hamburger span {
  background-color: #fcfcfc;
}
.block-primary-nav__hamburger span:nth-child(1) {
  top: 0.8125rem;
  transform-origin: left center;
}
.block-primary-nav__hamburger span:nth-child(2) {
  top: 1.1875rem;
  transform-origin: left center;
}
.block-primary-nav__hamburger span:nth-child(3) {
  top: 1.5625rem;
  transform-origin: left center;
}
.block-primary-nav__hamburger.active span:nth-child(1) {
  top: 0.6875rem;
  left: 0.6875rem;
  transform: rotate(45deg);
}
.block-primary-nav__hamburger.active span:nth-child(2) {
  width: 0;
  opacity: 0;
}
.block-primary-nav__hamburger.active span:nth-child(3) {
  top: 1.625rem;
  left: 0.6875rem;
  transform: rotate(-45deg);
}
.block-primary-nav .wp-block-button.is-style-text .wp-block-button__link {
  font-weight: var(--nav-1-font-weight);
  font-size: var(--nav-1-font-size);
  font-family: var(--nav-1-font-family);
  line-height: var(--nav-1-line-height);
  text-align: left;
  text-decoration: none;
}