.OpenDoorEffect,
.timelineSlide {
    position: relative;
    overflow: hidden
}

.OpenDoorEffect,
.timelineSlide,
body.BGlock-scroll,
body.no-scroll {
    overflow: hidden
}

.OpenDoorEffect .ladi-image-background,
.timelineSlide .slide-item {
    width: 100%;
    background-position: center;
    background-size: cover
}

.timelineSlide {
    border-radius: 16px
}

.timelineSlide .slider-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.OpenDoorEffect {
    border-radius: 40px !important
}

.ripple,
.spark {
    pointer-events: none;
    border-radius: 50%
}

.OpenDoorEffect .ladi-image-background {
    height: 100%
}

.OpenDoorEffect.active .ladi-image-background {
    opacity: 0
}

.OpenDoorEffect.open,
.OpenDoorEffect.open .door {
    pointer-events: none
}

.OpenDoorEffect .door {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform 1s;
    z-index: 0;
}

.OpenDoorEffect .door.left {
    left: .5px;
    background-position: left center
}

.OpenDoorEffect .door.right {
    right: .5px;
    background-position: right center
}

.OpenDoorEffect.open .door.left {
    transform: translateX(-101%)
}

.OpenDoorEffect.open .door.right {
    transform: translateX(101%)
}

.hint {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 28px;
    color: rgba(0, 0, 0, .4);
    animation: 9s ease-in-out infinite fadeInOut;
    pointer-events: none
}

@keyframes fadeInOut {

    0%,
    100% {
        opacity: .2
    }

    50% {
        opacity: 1
    }
}

.QRcodeMungCuoi {
    position: relative;
    overflow: visible
}

.BGpanel,
.water {
    overflow: hidden;
    height: 100%
}

.QRMungCuoi {
    position: relative;
    z-index: 1
}

.QRTitle.hide {
    animation: 2s ease-in-out forwards hideQR
}

@keyframes hideQR {
    0% {
        transform: scale(1);
        opacity: 1
    }

    100% {
        transform: scale(0);
        opacity: 0
    }
}

.QRTitle .borderBox {
    animation: 2s ease-in-out forwards borderBox
}

@keyframes borderBox {
    0% {
        border-radius: 0
    }

    100% {
        border-radius: 500px
    }
}

.spark {
    position: absolute;
    z-index: 9999;
    background: radial-gradient(circle, #fff 0, rgba(255, 255, 255, .6) 40%, rgba(255, 255, 255, 0) 70%);
    box-shadow: 0 0 8px rgba(255, 255, 255, .8), 0 0 16px rgba(255, 255, 255, .6), 0 0 24px rgba(255, 255, 255, .4);
    animation: 3s cubic-bezier(.22, 1, .36, 1) forwards bloom
}

@keyframes bloom {
    0% {
        transform: translate(0, 0) scale(.3);
        opacity: 0
    }

    20% {
        opacity: 1
    }

    100% {
        transform: translate(var(--x), var(--y)) scale(2.5);
        opacity: 0
    }
}

.QR-fade-out {
    opacity: 0;
    transition: opacity .8s
}

.water {
    width: 100%;
    position: relative
}

.BGpanel,
.BGpanel::after,
.BGpanel::before,
.ripple {
    position: absolute
}

.ripple {
    filter: blur(1px);
    border: 2px solid rgba(255, 255, 255, .5);
    transform: scale(0);
    animation: 4s linear forwards rippleEffect
}

@keyframes rippleEffect {
    to {
        transform: scale(4);
        opacity: 0
    }
}

:root {
    --time: 1200ms;
    --ease: cubic-bezier(0.77, 0, 0.18, 1)
}

#BGcurtain {
    position: fixed;
    inset: 0;
    z-index: 99
}

.BGpanel {
    top: 0;
    width: 50%;
    transition: transform var(--time) var(--ease)
}

.BGpanel::before {
    content: "";
    inset: 0;
    background: var(--bg);
    background-size: 200% 100%
}

.BGleft::before,
.BGright::after {
    background-position: left center
}

.BGleft::after,
.BGright::before {
    background-position: right center
}

.BGpanel::after {
    content: "";
    inset: 0;
    background-image: var(--img);
    background-size: cover;
    background-repeat: no-repeat
}

.BGleft {
    left: 0
}

.BGright {
    right: 0
}

#BGcurtain.BGopen .BGleft {
    transform: translateX(-100%)
}

#BGcurtain.BGopen .BGright {
    transform: translateX(100%)
}

.countDown_border .ladi-box {
    border: 3px solid transparent !important;
    border-radius: 16px !important;
    background: linear-gradient(#ecdbd4, #fff) padding-box, linear-gradient(45deg, #ac7134, #f8e6b5) border-box !important;
    box-shadow: 0 0 12px rgba(172, 113, 52, .4) !important
}

.countDown_customize .ladi-box {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    height: 100%;
    font-family: inherit
}

.countdown-item {
    display: flex;
    flex-direction: column;
    align-items: center
}

.countdown-number {
    font-size: 300%;
    font-weight: 700;
    line-height: 1
}

.countdown-label {
    font-size: 200%;
    opacity: .8
}