.x-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.x-modal {
  z-index: 999;
  height: 100vh;
  width: 100vw;
  position: relative;
  display: flex;
}
.x-modal.modal-slide {
  display: none;
}
.x-modal.modal-slide .x-modal-container,
.x-modal.modal-slide .x-modal-overlay {
  will-change: transform;
}
.x-modal.modal-slide.is-open {
  display: block;
}
.x-modal.modal-slide[aria-hidden=false] .x-modal-overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.x-modal.modal-slide[aria-hidden=false] .x-modal-container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.x-modal.modal-slide[aria-hidden=true] .x-modal-overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0.4, 0, 1, 1);
}
.x-modal.modal-slide[aria-hidden=true] .x-modal-container {
  animation: mmslideOut 0.3s cubic-bezier(0.4, 0, 1, 1);
}
