.navigation {
  position: relative;
}
.navigation__state-control {
  display: none;
  -webkit-appearance: none;
          appearance: none;
  opacity: 0;
}
.navigation__state-control:checked ~ .navigation__panel {
  visibility: visible;
  opacity: 1;
}
.navigation__state-control:checked ~ .navigation__panel--left {
  -ms-transform: translateX(400px);
      transform: translateX(400px);
}
.navigation__state-control:checked ~ .navigation__panel--right {
  -ms-transform: translateX(-400px);
      transform: translateX(-400px);
}
.navigation__panel {
  visibility: hidden;
  display: block;
  position: fixed;
  top: 0px;
  z-index: 1000;
  will-change: transform, opacity;
  opacity: 0;
  transition-property: transform, opacity, visibility;
  transition-duration: 400ms;
  transition-timing-function: ease-in-out;
}
.navigation__panel--left {
  left: -400px;
  -ms-transform: translateX(0);
      transform: translateX(0);
}
.navigation__panel--right {
  right: -400px;
  -ms-transform: translateX(0);
      transform: translateX(0);
}

.navigation__button {
  display: block;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.navigation__button--burger {
  width: 34px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg viewBox=%270 0 34 26%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect y=%2722%27 width=%2734%27 height=%274%27 fill=%27%23000000%27/%3E%3Crect y=%2711%27 width=%2734%27 height=%274%27 fill=%27%23000000%27/%3E%3Crect width=%2734%27 height=%274%27 fill=%27%23000000%27/%3E%3C/svg%3E");
}
.navigation__button--close {
  width: 27px;
  height: 27px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg viewBox=%270 0 27 27%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect x=%273.72792%27 y=%270.899495%27 width=%2732%27 height=%274%27 transform=%27rotate%2845 3.72792 0.899495%29%27 fill=%27%23000000%27/%3E%3Crect x=%270.957062%27 y=%2723.5845%27 width=%2732%27 height=%274%27 transform=%27rotate%28-45 0.957062 23.5845%29%27 fill=%27%23000000%27/%3E%3C/svg%3E");
}

.navigation__panel {
  width: 100%;
  height: 100%;
  max-width: 400px;
  background-color: rgba(255, 255, 255, 0.95);
}
.navigation__list {
  display: block;
}
.navigation__item {
  list-style: none;
}

.navigation {
  display: inline-block;
}
.navigation__panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
}
.navigation {
  font-size: 1.125em;
}
@supports ((-webkit-backdrop-filter: ) or (backdrop-filter: )) {
  .navigation__panel {
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }
}
.navigation__list {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.navigation__item {
  padding: 0;
  margin: 0;
}
.navigation__link {
  display: block;
  padding: 16px 8px;
  background-color: #f9f9f9;
  color: #333;
  font-weight: bold;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.navigation__link:hover {
  background-color: #f1f1f1;
  color: #000;
}
.navigation__button--close {
  margin: 8px;
  float: right;
}
@media (min-width: 756px) {
  .navigation {
    display: block;
  }
  .navigation__panel {
    position: static;
    display: block;
    width: auto;
    max-width: none;
    height: auto;
    background: transparent;
    opacity: 1;
    -ms-transform: none;
        transform: none;
    transition: none;
    visibility: visible;
  }
  .navigation__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
  }
  @supports ((-webkit-backdrop-filter: ) or (backdrop-filter: )) {
    .navigation__panel {
      -webkit-backdrop-filter: none;
              backdrop-filter: none;
    }
  }
  .navigation__list {
    padding: 0;
    margin: 0;
  }
  .navigation__link {
    padding: 0;
  }
  .navigation__button {
    display: none;
  }
}
