.modal__container {
    max-height: 95%;
    overflow-y: auto;
}

@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%); }
}

.micromodal-slide {
    display: none;
}

.micromodal-slide.is-open {
    display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform, opacity;
}

@keyframes mmzoomIn {
    from { transform: scale(.9); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
@keyframes mmzoomOut {
    from { transform: scale(1); opacity: 1; }
    to   { transform: scale(.95); opacity: 0; }
}

.micromodal-zoom {
    display: none;
}
.micromodal-zoom.is-open {
    display: block;
}

.micromodal-zoom[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .25s ease;
}
.micromodal-zoom[aria-hidden="false"] .modal__container {
    animation: mmzoomIn .25s ease;
}

.micromodal-zoom[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .25s ease;
}
.micromodal-zoom[aria-hidden="true"] .modal__container {
    animation: mmzoomOut .25s ease;
}

.micromodal-zoom .modal__overlay {
    will-change: opacity;
}

@keyframes mmblurIn {
    from { transform: scale(.92); opacity: 0; filter: blur(6px); }
    to   { transform: scale(1); opacity: 1; filter: blur(0); }
}
@keyframes mmblurOut {
    from { transform: scale(1); opacity: 1; filter: blur(0); }
    to   { transform: scale(.96); opacity: 0; filter: blur(6px); }
}

.micromodal-blur {
    display: none;
}
.micromodal-blur.is-open {
    display: block;
}

.micromodal-blur[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .35s ease;
}

.micromodal-blur[aria-hidden="false"] .modal__container {
    animation: mmblurIn .35s ease;
}

.micromodal-blur[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .35s ease;
}

.micromodal-blur[aria-hidden="true"] .modal__container {
    animation: mmblurOut .35s ease;
}

.micromodal-blur .modal__overlay {
    will-change: opacity;
}

@keyframes mmflipIn {
    from { transform: translateY(0) rotateX(-75deg); opacity: 0; }
    to   { transform: translateY(0) rotateX(0deg);  opacity: 1; }
}

@keyframes mmflipOut {
    from { transform: translateY(0) rotateX(0deg);  opacity: 1; }
    to   { transform: translateY(0) rotateX(75deg); opacity: 0; }
}

.micromodal-flip {
    display: none;
}

.micromodal-flip.is-open {
    display: block;
}

.micromodal-flip .modal__overlay {
    perspective: 1000px;
    will-change: opacity;
}

.micromodal-flip .modal__container {
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    backface-visibility: hidden;
    will-change: transform, opacity;
}

.micromodal-flip[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .25s ease;
}

.micromodal-flip[aria-hidden="false"] .modal__container {
    animation: mmflipIn .35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.micromodal-flip[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .25s ease;
}

.micromodal-flip[aria-hidden="true"] .modal__container {
    animation: mmflipOut .25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes mmdropIn {
    from { transform: translateY(-40px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}
@keyframes mmdropOut {
    from { transform: translateY(0); opacity: 1; }
    to   { transform: translateY(-20px); opacity: 0; }
}

.micromodal-drop {
    display: none;
}
.micromodal-drop.is-open {
    display: block;
}

.micromodal-drop[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s ease;
}

.micromodal-drop[aria-hidden="false"] .modal__container {
    animation: mmdropIn .3s ease;
}

.micromodal-drop[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s ease;
}

.micromodal-drop[aria-hidden="true"] .modal__container {
    animation: mmdropOut .25s ease;
}

.micromodal-drop .modal__overlay {
    will-change: opacity;
}

@keyframes mmswingIn {
    0%   { transform: rotate(-5deg) scale(.95); opacity: 0; }
    60%  { transform: rotate(2deg) scale(1.02); opacity: 1; }
    100% { transform: rotate(0) scale(1); }
}
@keyframes mmswingOut {
    from { transform: rotate(0) scale(1); opacity: 1; }
    to   { transform: rotate(-3deg) scale(.95); opacity: 0; }
}

.micromodal-swing {
    display: none;
}
.micromodal-swing.is-open {
    display: block;
}

.micromodal-swing[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .4s ease;
}

.micromodal-swing[aria-hidden="false"] .modal__container {
    animation: mmswingIn .4s ease;
}

.micromodal-swing[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .4s ease;
}

.micromodal-swing[aria-hidden="true"] .modal__container {
    animation: mmswingOut .25s ease;
}

.micromodal-swing .modal__overlay {
    will-change: opacity;
}

@keyframes mmpopIn {
    0%   { transform: scale(.85); opacity: 0; }
    80%  { transform: scale(1.05); opacity: 1; }
    100% { transform: scale(1); }
}
@keyframes mmpopOut {
    from { transform: scale(1); opacity: 1; }
    to   { transform: scale(.9); opacity: 0; }
}

.micromodal-pop {
    display: none;
}
.micromodal-pop.is-open {
    display: block;
}

.micromodal-pop[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .45s ease-in-out;
}

.micromodal-pop[aria-hidden="false"] .modal__container {
    animation: mmpopIn .45s ease-in-out;
}

.micromodal-pop[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .45s ease-in-out;
}

.micromodal-pop[aria-hidden="true"] .modal__container {
    animation: mmpopOut .25s;
}

.micromodal-pop .modal__overlay {
    will-change: opacity;
}

@keyframes mmslideLeftIn {
    from { transform: translateX(40px); opacity: 0; }
    to   { transform: translateX(0); opacity: 1; }
}
@keyframes mmslideLeftOut {
    from { transform: translateX(0); opacity: 1; }
    to   { transform: translateX(20px); opacity: 0; }
}

.micromodal-slide-left {
    display: none;
}
.micromodal-slide-left.is-open {
    display: block;
}

.micromodal-slide-left[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s ease;
}

.micromodal-slide-left[aria-hidden="false"] .modal__container {
    animation: mmslideLeftIn .3s ease;
}

.micromodal-slide-left[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s ease;
}

.micromodal-slide-left[aria-hidden="true"] .modal__container {
    animation: mmslideLeftOut .25s ease;
}

.micromodal-slide-left .modal__overlay {
    will-change: opacity;
}

@keyframes mmsoftIn {
    from { transform: scale(.97); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
@keyframes mmsoftOut {
    from { transform: scale(1); opacity: 1; }
    to   { transform: scale(.98); opacity: 0; }
}

.micromodal-soft {
    display: none;
}
.micromodal-soft.is-open {
    display: block;
}

.micromodal-soft[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .25s ease;
}

.micromodal-soft[aria-hidden="false"] .modal__container {
    animation: mmsoftIn .25s ease;
}

.micromodal-soft[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .25s ease;
}

.micromodal-soft[aria-hidden="true"] .modal__container {
    animation: mmsoftOut .2s ease;
}

.micromodal-soft .modal__overlay {
    will-change: opacity;
}

@keyframes mmshake {
    0%,100% { transform: translateX(0); }
    25% { transform: translateX(-12px); }
    50% { transform: translateX(12px); }
    75% { transform: translateX(-4px); }
}

.micromodal-shake {
    display: none;
}
.micromodal-shake.is-open {
    display: block;
}

.micromodal-shake[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .4s ease;
}

.micromodal-shake[aria-hidden="false"] .modal__container {
    animation: mmshake .8s ease;
}

.micromodal-shake[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .4s ease;
}

.micromodal-shake .modal__overlay {
    will-change: opacity;
}