:root {
  --mobile-nav-base-size: 1rem;
  --mobile-nav-height: 3.5em;
  --mobile-nav-bg-color: #fff;
  --burger-color: #333;
  --mobile-logo-height: 2.3em;
  --drawer-width: 16em;
  --drawer-bg-color: #fff;
  --drawer-item-hover-bg-color: rgba(0, 0, 0, 0.05);
  --drawer-item-hover-color: #333;
  --drawer-item-active-bg-color: rgba(255, 114, 0, 0.1);
  --drawer-item-active-color: #ff7200;
  --drawer-item-min-height: 2.5em;
  --drawer-section-border: rgba(0, 0, 0, 0.1);
  --drawer-font-color: #333;
}

header#mobile-header {
  position: sticky;
  z-index: 100;
  background-color: var(--mobile-nav-bg-color);
  top: 0;
  height: var(--mobile-nav-height);
  font-size: var(--mobile-nav-base-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0 0.125em 0.125em rgba(0, 0, 0, 0.2);
          box-shadow: 0 0.125em 0.125em rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.25s ease-in-out;
  transition: -webkit-transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out;
  transition: transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
}
@media screen and (min-width: 62.563em) {
  header#mobile-header {
    display: none;
  }
}
header#mobile-header.hidden {
  -webkit-transform: translateY(calc(-1 * var(--mobile-nav-height)));
          transform: translateY(calc(-1 * var(--mobile-nav-height)));
}

#mobile-menu-container {
  font-size: 1rem;
  z-index: 101;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  pointer-events: none;
}
@media screen and (min-width: 62.563em) {
  #mobile-menu-container {
    display: none;
  }
}
#mobile-menu-container.open {
  pointer-events: all;
}
#mobile-menu-container.open > #mobile-menu-backdrop {
  opacity: 1;
}
#mobile-menu-container.open > #menu-drawer {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
#mobile-menu-container > #mobile-menu-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
#mobile-menu-container > #menu-drawer {
  background-color: var(--drawer-bg-color);
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--drawer-width);
  height: 100%;
  overflow: hidden;
  -webkit-transform: translateX(calc(-1 * var(--drawer-width)));
          transform: translateX(calc(-1 * var(--drawer-width)));
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
#mobile-menu-container > #menu-drawer > #drawer-header {
  height: var(--mobile-nav-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#mobile-menu-container > #menu-drawer > .navigation {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  overflow-y: auto;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section {
  padding: 0.75em 0;
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section:not(:last-child) {
  border-bottom: 0.063em solid var(--drawer-section-border);
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section a {
  padding: 0 1.5em;
  min-height: var(--drawer-item-min-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  color: var(--drawer-font-color);
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section a:hover {
  background-color: var(--drawer-item-hover-bg-color);
  color: var(--drawer-item-hover-color);
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section a.active {
  font-weight: bolder;
  background-color: var(--drawer-item-active-bg-color);
  color: var(--drawer-item-active-color);
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section .nav-section {
  margin-left: 1em;
  position: relative;
}
#mobile-menu-container > #menu-drawer > .navigation > .nav-section .nav-section:after {
  content: "";
  position: absolute;
  width: 0.25em;
  border-radius: 0.625em;
  top: 0.37em;
  bottom: 0.37em;
  background-color: rgba(51, 51, 51, 0.1);
}

a.mobile-logo {
  height: var(--mobile-logo-height);
}
a.mobile-logo img {
  height: 100%;
}

.mobile-menu-btn {
  padding: 0.75em;
  cursor: pointer;
  margin: 0 0.3em;
}
.mobile-menu-btn.open > .burger > span:nth-child(1) {
  -webkit-transform: rotate(45deg) scaleX(1.1) translate(0.313em, 0.375em);
          transform: rotate(45deg) scaleX(1.1) translate(0.313em, 0.375em);
}
.mobile-menu-btn.open > .burger > span:nth-child(2) {
  -webkit-transform: scale(0.2);
          transform: scale(0.2);
  opacity: 0;
}
.mobile-menu-btn.open > .burger > span:nth-child(3) {
  -webkit-transform: rotate(-45deg) scaleX(1.1) translate(0.313em, -0.375em);
          transform: rotate(-45deg) scaleX(1.1) translate(0.313em, -0.375em);
}
.mobile-menu-btn .burger {
  height: 1.188em;
  width: 1.875em;
  position: relative;
}
.mobile-menu-btn .burger > span {
  display: block;
  position: absolute;
  height: 0.188em;
  width: 100%;
  background: var(--burger-color);
  border-radius: 0.563em;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg) scale(1) translate(0, 0);
          transform: rotate(0deg) scale(1) translate(0, 0);
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
.mobile-menu-btn .burger > span:nth-child(1) {
  top: 0;
}
.mobile-menu-btn .burger > span:nth-child(2) {
  top: 0.5em;
}
.mobile-menu-btn .burger > span:nth-child(3) {
  bottom: 0;
}

