/* -------------------------------- 

File#: _2_off-canvas-navigation
Title: Off-Canvas Navigation
Descr: An off-canvas section containing the main navigation
Usage: codyhouse.co/license

-------------------------------- */
.offnav-control {
  --anim-menu-btn-size: 58px;
  --anim-menu-btn-icon-size: 24px;
  --anim-menu-btn-icon-stroke: 2px;
  position: fixed;
  top: var(--space-sm);
  left: var(--space-sm);
  z-index: var(--z-index-fixed-element, 10);
  border-radius: 50%;
  transition: -webkit-transform 0.3s var(--ease-in-out);
  transition: transform 0.3s var(--ease-in-out);
  transition: transform 0.3s var(--ease-in-out), -webkit-transform 0.3s var(--ease-in-out);
  color: var(--color-contrast-high);
  border: 1px solid var(--color-accent-light);
}
.offnav-control.anim-menu-btn--state-b {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.offnav-control__bg {
  display: block;
  fill: var(--color-bg-light);
  stroke-width: 1.5;
  stroke: var(--color-contrast-lower);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.offnav-control--ready-to-animate circle {
  transition: stroke-dashoffset 0.3s 0s;
}

.anim-menu-btn--state-b.offnav-control circle {
  stroke-dashoffset: 0;
  transition-delay: 0.3s;
}

.offnav__link {
  color: var(--color-contrast-high);
  text-decoration: none;
  background-size: 0% 100%;
  background-repeat: no-repeat;
  background-image: linear-gradient(transparent 60%, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2) 60%);
  will-change: background-size;
  transition: background-size 0.3s var(--ease-in-out), color 0.3s;
  font-size: var(--text-2xl);
  font-weight: bold;
}
.offnav__link:hover, .offnav__link[aria-current=page], .offnav__link.offnav__link--current {
  color: var(--color-primary);
}
.offnav__link:hover {
  background-size: 100% 100%;
}

.offnav__a11y-close-btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: var(--z-index-fixed-element, 10);
  background-color: var(--color-contrast-lower);
  padding: var(--space-sm) var(--space-md);
  box-shadow: var(--shadow-lg);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
.offnav__a11y-close-btn:focus {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  outline: 3px solid var(--color-primary);
}

@media (min-width: 64rem) {
  .offnav__label::before {
    content: "";
    display: inline-block;
    width: 2em;
    height: 1px;
    background-color: currentColor;
    vertical-align: middle;
    margin-right: 0.5em;
  }

  .offnav__subnav {
    color: var(--color-contrast-high);
    /* border-top: 1px solid var(--color-contrast-lower); */
  }
}