.bg-love-gift {
    object-position: top;
    width: 100%;    
    height: calc(100% + 1rem);
    object-fit: cover;    
    mask-image: linear-gradient(0.5turn, transparent 0%, black 20%, black 30%, black 70%, transparent 100%);
}

.bg-wedding-date {
    object-position: right;
    width: 100%;
    right: 0;
    height: 100%;
    object-fit: cover;    
    mask-image: linear-gradient(0.5turn, transparent 0%, black 50%, black 30%, black 70%, transparent 100%);
}

.bg-groom {
    object-position: top;
    width: 50%;
    right: 0;
    top: -2rem;
    height: auto;
    object-fit: cover;
    mask-image: linear-gradient(0.5turn, black 60%, black 40%, transparent);
}

.bg-bride {
    object-position: top;
    width: 50%;
    left: 0;
    top: -2rem;
    height: auto;
    object-fit: cover;
    mask-image: linear-gradient(0.5turn, black 60%, black 40%, transparent);
}

.video-cover {
    width: 100%;
    height: 13rem;
    max-width: 100%;
    max-height: 13rem;
    object-fit: cover;
}

.text-video-cover {
    backdrop-filter: blur(0.15rem) !important;
    padding-top: 5em;
    height: 13rem;
    max-height: 13rem;
}

section#home {
    height: auto; /* default */
}

section#home img.opening-photo{
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

@media (min-height: 751px) {
    section#home {
        height: calc(100vh - 58px);
    }
    
    section#home img.opening-photo{
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
}

.opening-photo{
    height: 19.5rem;
    border-radius: 300px 300px 300px 300px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.26);
}

img.groom-bride {
    -webkit-mask-image: url('/assets/frame1.webp');
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    width: 200px;
    height: 300px;
    object-fit: cover;
    object-position: top center;
    image-rendering: high-quality;
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    z-index: 0;
    position: relative;
    background-color: #93aec5;
}

.groom, .bride {            
    display: inline-block;
    position: relative;
}

.groom::after, .bride:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    left: 100px;
    right: 100px;
    width: 210px;
    /* Atur ukuran overlay */
    height: 310px;
    background: url('/assets/frame2.webp') center center / contain no-repeat;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
}

.groom .bunga5 {
    right: -53px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    bottom: 32px;
    text-align: left;
    position: absolute;
    transform: scaleX(-1) rotate(-9deg);
    z-index: -1;
}

.bride .bunga5 {
    left: -53px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    bottom: 32px;
    text-align: left;
    position: absolute;
    transform: scaleX(1) rotate(-9deg);
    z-index: -1;
}

.groom .bunga5 img, .bride .bunga5 img {
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;

    animation: bunga5 2.5s infinite linear;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: right bottom
}

.groom .bunga4 {
    right: 0px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    bottom: -60px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(-1) rotate(-35deg);
    z-index: -1;
}

.bride .bunga4 {
    left: 0px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    bottom: -60px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(1) rotate(-35deg);
    z-index: -1;
}

.groom .bunga4 img, .bride .bunga4 img {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
    text-align: right;    
                
    animation: bunga4 1.8s infinite linear;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: right top;            
}

.groom .bunga3 {
    left: -15px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    top: -43px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(-1) scaleY(-1) rotate(-23deg);
    z-index: -1;
}

.bride .bunga3 {
    right: -5px;
    max-width: 100%;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    top: -20px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(1) scaleY(-1) rotate(23deg);
    z-index: -1;
}

.groom .bunga3 img, .bride .bunga3 img {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
    text-align: right;    
                            
    animation: bunga3 1.8s infinite linear;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: left                                              
}

.groom .bunga1 {
    left: 62px;
    max-width: 100%;
    pointer-events: none;
    width: 65%;
    max-width: 65%;
    bottom: 32px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: rotate(27deg);
    z-index: 3;
}

.bride .bunga1 {
    right: 62px;
    max-width: 100%;
    pointer-events: none;
    width: 65%;
    max-width: 65%;
    bottom: 32px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(-1) rotate(27deg);
    z-index: 3;
}

.groom .bunga1 img, .bride .bunga1 img {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
    text-align: right;    
                            
    animation: bunga1 4s infinite linear;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: left top                                         
}

.groom .bunga2 {
    left: 49px;
    max-width: 100%;
    pointer-events: none;
    width: 85%;
    max-width: 85%;
    bottom: 42px;
    text-align: left;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(-1) rotate(1deg);
    z-index: 3;
}

.bride .bunga2 {
    right: 49px;
    max-width: 100%;
    pointer-events: none;
    width: 85%;
    max-width: 85%;
    bottom: 42px;
    text-align: left;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(1) rotate(1deg);
    z-index: 3;
}

.groom .bunga2 img, .bride .bunga2 img {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
    text-align: right;    
                            
    animation: bunga2 2.5s infinite linear;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: right bottom
}

.groom .bunga0 {
    left: -17px;
    max-width: 100%;
    pointer-events: none;
    width: 85%;
    max-width: 85%;
    bottom: 41px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(-1) rotate(0deg);
    z-index: 3;
}

.bride .bunga0 {
    right: -17px;
    max-width: 100%;
    pointer-events: none;
    width: 85%;
    max-width: 85%;
    bottom: 41px;
    text-align: right;
    margin-block-end: 0;
    margin-bottom: 0;
    position: absolute;
    transform: scaleX(1) rotate(0deg);
    z-index: 3;
}

.groom .bunga0 img, .bride .bunga0 img {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
    text-align: right;    
                            
    animation: bunga0 4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    transform-origin: right bottom;
}

@keyframes bunga5 {
    from {
        transform: rotate(5deg) scale(1)
    }

    to {
        transform: rotate(0deg) scale(1.05)
    }
}

@keyframes bunga4 {
    from {
        transform: rotate(0deg) scale(1)
    }

    to {
        transform: rotate(-3deg) scale(1.05)
    }
}

@keyframes bunga3 {
    from {
        transform: rotate(-3deg) scale(1)
    }

    to {
        transform: rotate(0deg) scale(1.05)
    }
}

@keyframes bunga1 {
    0%, 100% {
        transform: scale3d(1,1,1);
    }

    50% {
        transform: scale3d(1.05,1.05,1.05);
    }
}

@keyframes bunga2 {
    from {
        transform: rotate(5deg) scale(1)
    }

    to {
        transform: rotate(0deg) scale(1.05)
    }
}

@keyframes bunga0 {
    0%, 100% {
        transform: scale3d(1,1,1);
    }

    50% {
        transform: scale3d(1.05,1.05,1.05);
    }
}