/*
** .header
*/

.header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: var(--z-index-max);
  width: 100%;
}

.header__inner {
  position: relative;
  display: grid;
  grid-template-columns: auto max-content;
  grid-auto-rows: auto;
  justify-content: space-between;
  grid-column-gap: 2rem;
  align-items: center;
  width: 100%;
  height: 7rem;
  background-color: var(--base);
  border-bottom: 1px solid var(--gray);
  padding: 1rem;
}

.header__site-name img {
  max-height: 5rem;
}


/*
** #menu-toggle
*/

#menu-toggle {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: 0.3rem;
  justify-content: center;
  align-content: space-around;
  width: 5rem;
  height: 5rem;
  padding: 1rem;
}

@media (hover: hover) and (pointer: fine) {
  #menu-toggle {
    cursor: pointer;
  }
}

#menu-toggle span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--font);
  transition: var(--transition);
}

.header__menu.open #menu-toggle span:nth-child(1) {
  transform: translateY(1rem) rotateZ(35deg);
  -webkit-transform: translateY(1rem) rotateZ(35deg);
  -ms-transform: translateY(1rem) rotateZ(35deg);
}

.header__menu.open #menu-toggle span:nth-child(2) {
  visibility: hidden;
  opacity: 0;
}

.header__menu.open #menu-toggle span:nth-child(3) {
  transform: translateY(-1rem) rotateZ(-35deg);
  -webkit-transform: translateY(-1rem) rotateZ(-35deg);
  -ms-transform: translateY(-1rem) rotateZ(-35deg);
}


/*
** .header__drawer
*/

.header__drawer {
  position: absolute;
  top: 7rem;
  right: 0;
  z-index: var(--z-index-mid);
  display: none;
  width: 100%;
  height: calc(100vh - 7rem);
}

.header__drawer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--base);
  opacity: 0.9;
}

.header__drawer-inner {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 3em 5vw max(6em, calc(100vh - 100svh));
}

.header__global-menu {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
  grid-row-gap: 2em;
  font-size: 1.2em;
}

.header__global-menu .menu-item a {
  display: block;
  border-bottom: 2px solid var(--main);
  padding: 0.5em;
}

/*
@media (hover: hover) and (pointer: fine) {
  .header__global-menu .menu-item a:hover {
    border-color: var(--light);
  }
} */