/* ----------------------------------------- Animation CSS ----------------------------------------- */
@keyframes pulse {
    from {
        transform: scale3d(1, 1, 1);
    }
    50% {
        transform: scale3d(1.2, 1.2, 1.2);
    }
    to {
        transform: scale3d(1, 1, 1);
    }
}
@keyframes slideUp {
    0% {
        opacity: 0;
        transform: translateY(10%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-50%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes rotate {
    from {
        transform: rotate(-360deg);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes moveAround {
    0% {
        transform: translate(0px, 0px) rotate(0deg);
    }
    20% {
        transform: translate(73px, -1px) rotate(36deg);
    }
    40% {
        transform: translate(141px, 72px) rotate(72deg);
    }
    60% {
        transform: translate(83px, 122px) rotate(108deg);
    }
    80% {
        transform: translate(-40px, 72px) rotate(144deg);
    }
    100% {
        transform: translate(0px, 0px) rotate(0deg);
    }
}
@keyframes moveUpDown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes moveLeftRight {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(-20px);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes ripple {
    0% {
        opacity: 0.45;
    }
    100% {
        opacity: 0;
        transform: scale(2);
    }
}
@keyframes ripple2 {
    0% {
        opacity: 0.45;
    }
    100% {
        opacity: 0;
        transform: scale(1.3);
    }
}
@keyframes run {
    0% {
        top: -50%;
    }
    100% {
        top: 100%;
    }
}
/* ====== Zoom effect ====== */
.mfp-zoom-in {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
    transform: scale(0.8);
    opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
    opacity: 0;
}
/* ====== Newspaper effect ====== */
.mfp-newspaper {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-newspaper .mfp-with-anim {
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.5s;
    transform: scale(0) rotate(500deg);
}
.mfp-newspaper.mfp-bg {
    opacity: 0;
    transition: all 0.5s;
}
.mfp-newspaper.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}
.mfp-newspaper.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-newspaper.mfp-removing .mfp-with-anim {
    transform: scale(0) rotate(500deg);
    opacity: 0;
}
.mfp-newspaper.mfp-removing.mfp-bg {
    opacity: 0;
}
/* ====== Move-horizontal effect ====== */
.mfp-move-horizontal {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-move-horizontal .mfp-with-anim {
    opacity: 0;
    transition: all 0.3s;
    transform: translateX(-50px);
}
.mfp-move-horizontal.mfp-bg {
    opacity: 0;
    transition: all 0.3s;
}
.mfp-move-horizontal.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: translateX(0);
}
.mfp-move-horizontal.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-move-horizontal.mfp-removing .mfp-with-anim {
    transform: translateX(50px);
    opacity: 0;
}
.mfp-move-horizontal.mfp-removing.mfp-bg {
    opacity: 0;
}
/* ====== Move-from-top effect ====== */
.mfp-move-from-top {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-move-from-top .mfp-content {
    vertical-align: top;
}
.mfp-move-from-top .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s;
    transform: translateY(-100px);
}
.mfp-move-from-top.mfp-bg {
    opacity: 0;
    transition: all 0.2s;
}
.mfp-move-from-top.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: translateY(0);
}
.mfp-move-from-top.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-move-from-top.mfp-removing .mfp-with-anim {
    transform: translateY(-50px);
    opacity: 0;
}
.mfp-move-from-top.mfp-removing.mfp-bg {
    opacity: 0;
}
/* ====== 3d unfold ====== */
.mfp-3d-unfold {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-3d-unfold .mfp-content {
    perspective: 2000px;
}
.mfp-3d-unfold .mfp-with-anim {
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transform-style: preserve-3d;
    transform: rotateY(-60deg);
}
.mfp-3d-unfold.mfp-bg {
    opacity: 0;
    transition: all 0.5s;
}
.mfp-3d-unfold.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: rotateY(0deg);
}
.mfp-3d-unfold.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-3d-unfold.mfp-removing .mfp-with-anim {
    transform: rotateY(60deg);
    opacity: 0;
}
.mfp-3d-unfold.mfp-removing.mfp-bg {
    opacity: 0;
}
/* ====== Zoom-out effect ====== */
.mfp-zoom-out {
    /* start state */
    /* animate in */
    /* animate out */
}
.mfp-zoom-out .mfp-with-anim {
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transform: scale(1.3);
}
.mfp-zoom-out.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}
.mfp-zoom-out.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}
.mfp-zoom-out.mfp-ready.mfp-bg {
    opacity: 0.8;
}
.mfp-zoom-out.mfp-removing .mfp-with-anim {
    transform: scale(1.3);
    opacity: 0;
}
.mfp-zoom-out.mfp-removing.mfp-bg {
    opacity: 0;
}