:root {
  --overflowBg: rgba(0, 0, 0, .25);
  --popupBg: #fff;
  --popupShadow: 0 6px 35px 15px rgba(0, 0, 0, .1);
  --blur: 5px;
  --popupPadding: 12px;
  --popupBorderRadius: 8px;
  --transition: .15s ease-in-out;
  --closeBtnUrl: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMTAuNDE0MSIgeT0iOS4yMTMyIiB3aWR0aD0iMzAiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDEwLjQxNDEgOS4yMTMyKSIgZmlsbD0iIzBCMDIxRCIvPgo8cmVjdCB4PSI5IiB5PSIzMC4yMTMyIiB3aWR0aD0iMzAiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKC00NSA5IDMwLjIxMzIpIiBmaWxsPSIjMEIwMjFEIi8+Cjwvc3ZnPgo=");
}

[data-popup] *,
[data-popup] > * {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* popup */

body.lock,
html.lock {
  overflow: hidden !important
}

dialog {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 0;
  margin: 0;
}

.popup-modal {
  position: fixed;
  inset: 0;
  min-width: 100vw;
  width: 100%;
  min-height: 100dvh;
  padding: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--overflowBg);
  z-index: -100;
  opacity: 0;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  .popup-modal {
    -webkit-backdrop-filter: blur(var(--blur));
    backdrop-filter: blur(var(--blur));
    background-color: var(--overflowBg)
  }
}

.popup-modal.popup--active {
  pointer-events: unset;
  z-index: 990;
  opacity: 1;
  pointer-events: unset;
  -webkit-user-select: unset;
  -moz-user-select: unset;
  -ms-user-select: unset;
  user-select: unset
}

.popup-modal.top {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.popup-modal.left {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.popup-modal.right {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.popup-modal.bottom {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.popup__content{
  position: relative;
  padding: var(--popupPadding);
  background: var(--popupBg);
  color: black;
  border: none;
  max-width: 760px;
  width: 100%;
  max-height: 90vh;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  -webkit-transform: translateY(25%);
  -ms-transform: translateY(25%);
  transform: translateY(25%);
  opacity: 0;
  z-index: -100;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-shadow: var(--popupShadow);
  box-shadow: var(--popupShadow);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
  border-radius: var(--popupBorderRadius);
  -webkit-border-radius: var(--popupBorderRadius);
  -moz-border-radius: var(--popupBorderRadius);
  -ms-border-radius: var(--popupBorderRadius);
  -o-border-radius: var(--popupBorderRadius)m
}

.popup-modal.popup--active .popup__content{
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  z-index: 1000;
  pointer-events: all;
  -webkit-user-select: unset;
  -moz-user-select: unset;
  -ms-user-select: unset;
  user-select: unset
}

.popup__content.full_width {
  min-width: 100vw;
}

.popup__content.full_height {
  min-height: 100vh;
  height: 100%;
}

.popup__content.fullscreen {
  min-width: 100vw;
  min-height: 100vh;
}

.popup__content.xxl {
  max-width: 1400px;
}

.popup__content.xl {
  max-width: 1200px;
}

.popup__content.lg {
  max-width: 992px;
}

.popup__content.md {
  max-width: 768px;
}

.popup__content.sm {
  max-width: 575px;
}

.popup__content.xs {
  max-width: 375px;
}

.popup__content.scale {
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

.popup-modal.popup--active .popup__content.scale {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.popup__content.fadeInLeft {
  -webkit-transform: translateX(-25%);
  -ms-transform: translateX(-25%);
  transform: translateX(-25%);
}

.popup-modal.popup--active .popup__content.fadeInLeft {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup__content.fadeInRight {
  -webkit-transform: translateX(125%);
  -ms-transform: translateX(125%);
  transform: translateX(125%);
}

.popup-modal.popup--active .popup__content.fadeInRight {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup__content.fadeInTop {
  -webkit-transform: translateY(-25%);
  -ms-transform: translateY(-25%);
  transform: translateY(-25%);
}

.popup-modal.popup--active .popup__content.fadeInTop {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup__content.shake {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup-modal.popup--active .popup__content.shake {
  -webkit-animation: shake .75s ease-in-out;
  animation: shake .75s ease-in-out;
}

@-webkit-keyframes shake {
  30% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  40%,
  60% {
    -webkit-transform: rotate(-10deg) scale(1.1);
    transform: rotate(-10deg) scale(1.1);
  }

  50% {
    -webkit-transform: rotate(10deg) scale(1.1);
    transform: rotate(10deg) scale(1.1);
  }

  70% {
    -webkit-transform: rotate(0deg) scale(1.1);
    transform: rotate(0deg) scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes shake {
  30% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  40%,
  60% {
    -webkit-transform: rotate(-10deg) scale(1.1);
    transform: rotate(-10deg) scale(1.1);
  }

  50% {
    -webkit-transform: rotate(10deg) scale(1.1);
    transform: rotate(10deg) scale(1.1);
  }

  70% {
    -webkit-transform: rotate(0deg) scale(1.1);
    transform: rotate(0deg) scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.popup__content.shakeX {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup-modal.popup--active .popup__content.shakeX {
  -webkit-animation: shakeX .75s ease-in-out;
  animation: shakeX .75s ease-in-out;
}

@-webkit-keyframes shakeX {

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shakeX {

  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

.popup__content.shakeY {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup-modal.popup--active .popup__content.shakeY {
  -webkit-animation: shakeY .75s ease-in-out;
  animation: shakeY .75s ease-in-out;
}

@-webkit-keyframes shakeY {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}

@keyframes shakeY {

  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}

.popup__content.bounce {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup-modal.popup--active .popup__content.bounce {
  -webkit-animation: bounce .5s ease-in-out;
  animation: bounce .5s ease-in-out;
}

@-webkit-keyframes bounce {
  70% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  80% {
    -webkit-transform: translateY(-15%);
    transform: translateY(-15%);
  }

  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  95% {
    -webkit-transform: translateY(-7%);
    transform: translateY(-7%);
  }

  97% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  99% {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounce {
  70% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  80% {
    -webkit-transform: translateY(-15%);
    transform: translateY(-15%);
  }

  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  95% {
    -webkit-transform: translateY(-7%);
    transform: translateY(-7%);
  }

  97% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  99% {
    -webkit-transform: translateY(-3%);
    transform: translateY(-3%);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.popup__content.bounce2 {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.popup-modal.popup--active .popup__content.bounce2 {
  -webkit-animation: bounce2 .5s ease-in-out;
  animation: bounce2 .5s ease-in-out;
}

@-webkit-keyframes bounce2 {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }

  20% {
    -webkit-transform: scale(.85);
    transform: scale(.85);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9);
  }

  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounce2 {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }

  20% {
    -webkit-transform: scale(.85);
    transform: scale(.85);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9);
  }

  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.popup__close-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  z-index: 995;
  top: 4px;
  right: 16px;
  background: transparent var(--closeBtnUrl) center/cover no-repeat;
  width: 40px;
  height: 40px;
  display: block;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  outline: 0;
  cursor: pointer;
  font-size: 0px;
  color: transparent;
}