/*! Pushy - v1.4.0 - 2020-12-28
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */
/* Menu Appearance */
.pushy {
  position: fixed;
  width: clamp(20rem, 0rem + 100vw, 47.938rem);
  height: 100%;
  top: 0;
  z-index: 502;
  background: rgb(var(--dark-color));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* enables momentum scrolling in iOS overflow elements */
  color: rgb(var(--light-color));
}

.pushy a {
  display: block;
  color: rgb(var(--light-color));
  padding: clamp(0.75rem, 0.631rem + 0.596vw, 1rem) clamp(1rem, 0.762rem + 1.192vw, 1.5rem);
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(1.125rem, 0.946rem + 0.894vw, 1.5rem);
}

.pushy a:hover {
  color: rgb(var(--primary-color));
}

.pushy ul:first-child {
}

.pushy.pushy-left {
  left: 0;
}

.pushy.pushy-right {
  right: 0;
}

.pushy-content {
  visibility: hidden;
}

/* Menu Movement */
.pushy-left {
  -webkit-transform: translate3d(calc(clamp(20rem, 0rem + 100vw, 47.938rem) * -1), 0, 0);
  -ms-transform: translate3d(calc(clamp(20rem, 0rem + 100vw, 47.938rem) * -1), 0, 0);
  transform: translate3d(calc(clamp(20rem, 0rem + 100vw, 47.938rem) * -1), 0, 0);
}

.pushy-open-left #container,
.pushy-open-left .push {
  -webkit-transform: translate3d(200px, 0, 0);
  -ms-transform: translate3d(200px, 0, 0);
  transform: translate3d(200px, 0, 0);
}

.pushy-right {
  -webkit-transform: translate3d(200px, 0, 0);
  -ms-transform: translate3d(200px, 0, 0);
  transform: translate3d(200px, 0, 0);
}

.pushy-open-right #container,
.pushy-open-right .push {
  -webkit-transform: translate3d(-300px, 0, 0);
  -ms-transform: translate3d(-300px, 0, 0);
  transform: translate3d(-300px, 0, 0);
}

.pushy-open-left .pushy,
.pushy-open-right .pushy {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pushy-open-left .pushy-content,
.pushy-open-right .pushy-content {
  visibility: visible;
}

/* Menu Transitions */
#container,
.pushy,
.push {
  transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.pushy-content {
  transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

/* Site Overlay */
.site-overlay {
  display: none;
}

.pushy-open-left .site-overlay,
.pushy-open-right .site-overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 300;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-animation: fade 500ms;
  animation: fade 500ms;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Submenu Appearance */
.pushy-submenu {
  /* Submenu Buttons */
  /* Submenu Icon */
  border-bottom: 1px solid rgb(var(--dark-color), 0.1);
}

.pushy-submenu > ul {
  padding-left: 15px;
  transition: max-height 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.pushy-submenu > ul .pushy-link {
  transition: opacity 0.2s ease-in-out;
}

.pushy-submenu button {
  width: 100%;
  color: currentColor;
  text-align: left;
  background: transparent;
  border: 0;
  position: absolute;
  transform: translateY(-50%) rotate(-90deg);
  top: 50%;
  right: 16px;
  width: clamp(0.75rem, 0.571rem + 0.894vw, 1.125rem);
  height: clamp(0.75rem, 0.571rem + 0.894vw, 1.125rem);
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--anim);
  padding: 0;
}

.pushy-submenu button:hover {
  color: rgb(var(--primary-color));
}

.pushy-submenu > a,
.pushy-submenu > button {
  position: relative;
}

.pushy-submenu > a::after,
.pushy-submenu > button::after {
  content: "";
  display: block;
  height: 11px;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 15px;
  background: url("../img/arrow.svg") no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: transform 0.2s;
}

/* Submenu Movement */
.pushy-submenu-closed > ul {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
}

.pushy-submenu-closed .pushy-link {
  opacity: 0;
}

.pushy-submenu-open {
  /* Submenu Icon */
  border: none;
}

.pushy-submenu-open > ul {
 /* max-height: 1000px;*/
  visibility: visible;
}

.pushy-submenu-open .pushy-link {
  opacity: 1;
}

.pushy-submenu-open > a::after,
.pushy-submenu-open > button::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

.pushy ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pushy-submenu-open>div>button {
    transform: translateY(-50%);
}

.pushy::-webkit-scrollbar {
  width: 4px;               /* ÑˆÐ¸Ñ€Ð¸Ð½Ð° scrollbar */
}
.pushy::-webkit-scrollbar-track {
  background: rgb(var(--light-color), 0.7);        /* Ñ†Ð²ÐµÑ‚ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸ */
}
.pushy::-webkit-scrollbar-thumb {
  background-color: rgb(var(--dark-color), 0.8);    /* Ñ†Ð²ÐµÑ‚ Ð¿Ð»Ð°ÑˆÐºÐ¸ */
}

.pushy ul>li>ul {
    background-color: rgb(var(--dark-color), 0.05);
}

.pushy-link {
    border-bottom: 1px solid rgb(var(--light-color), 0.1);
}

.pushy ul>li>ul>li:first-child {
    border-top: 1px solid rgb(var(--dark-color), 0.1);
}