.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

.modal.is-open
{
  display: block;
}

.modal__overlay
{
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.9);
  will-change: transform;
}

.modal__content
{
  padding: 20px 5% 100px;
  max-height: 100%;
  overflow-y: scroll;
  position: relative;
}

.modal[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn .3s ease-in-out;
}

.modal[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut .3s ease-in-out;
}

@keyframes mmfadeIn {
  from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mmfadeOut {
  from { opacity: 1; }
    to { opacity: 0; }
}