body::-webkit-scrollbar{
	width: 0px;
	background-color: #F5F5F5;
}

.text-primary {
    color: #e91e63 !important;
}

.wpo-hero-style-4:before {
    opacity: 0;
    background: transparent;
}
.wpo-hero-style-4 {
    min-height: 100vh;
    background: transparent;
}

.wpo-hero-style-4 .shape-1 img {
    height: 60px;
}
#bg-overlay {
    background-color: #ffffffa9;
    background: linear-gradient(to right, #fff -30%, transparent 70%);
    transition: all 2s ease;
    height: 100%;
    width: 100%;
}

.wpo-lower-footer img {
    height: 60px;
}

#snow {
    background: none;
    background-image: url(../images/snow/sn1.png), url(../images/snow/sn2.png), url(../images/snow/sn3.png);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3;
    -webkit-animation: snow 10s linear infinite;
    -moz-animation: snow 10s linear infinite;
    -ms-animation: snow 10s linear infinite;
    animation: snow 10s linear infinite;
}

section {
    z-index: 4 !important;
    position: relative;
}

footer,section,section::before,section::after {
    background: transparent !important;
    /* background: linear-gradient(to right, #fff -30%, transparent 70%); */
    /* background: #ffffff !important; */
}
@keyframes snow {
    0% {
        background-position: 0px 0px, 0px 0px, 0px 0px;
    }
    50% {
        background-position: 500px 500px, 100px 200px, -100px 150px;
    }
    100% {
        background-position: 500px 1000px, 200px 400px, -100px 300px;
    }
}

@-moz-keyframes snow {
    0% {
        background-position: 0px 0px, 0px 0px, 0px 0px;
    }
    50% {
        background-position: 500px 500px, 100px 200px, -100px 150px;
    }
    100% {
        background-position: 400px 1000px, 200px 400px, 100px 300px;
    }
}

@-webkit-keyframes snow {
    0% {
        background-position: 0px 0px, 0px 0px, 0px 0px;
    }
    50% {
        background-position: 500px 500px, 100px 200px, -100px 150px;
    }
    100% {
        background-position: 500px 1000px, 200px 400px, -100px 300px;
    }
}

@-ms-keyframes snow {
    0% {
        background-position: 0px 0px, 0px 0px, 0px 0px;
    }
    50% {
        background-position: 500px 500px, 100px 200px, -100px 150px;
    }
    100% {
        background-position: 500px 1000px, 200px 400px, -100px 300px;
    }
}

.preloader .preloader-title {
    font-size: 20pt;
    color: #e91e63;
    line-height: 1;
    position: absolute;
    top: 60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    font-family: 'Great Vibes', cursive !important
}

.preloader .preloader-title small {
    color: currentColor;
    line-height: .9;
    font-size: 12pt
}

.loading-heart {
    fill: transparent;
    stroke: #f44336;
    stroke-width: 11;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    display: inline-block
}

.loading-heart svg {
    overflow: visible;
    width: 16rem
}

.loading-heart path {
    stroke-dashoffset: 0;
    stroke-dasharray: 1550;
    transform-origin: center;
    -webkit-animation: stroke-animation 3s ease-in-out infinite forwards;
    -khtml-animation: stroke-animation 3s ease-in-out infinite forwards;
    -moz-animation: stroke-animation 3s ease-in-out infinite forwards;
    -ms-animation: stroke-animation 3s ease-in-out infinite forwards;
    -o-animation: stroke-animation 3s ease-in-out infinite forwards;
    animation: stroke-animation 3s ease-in-out infinite forwards
}

@keyframes stroke-animation {
    0% {
        stroke-dashoffset: 0
    }
    30% {
        stroke-dashoffset: 1550
    }
    60% {
        stroke-dashoffset: 3100;
        fill: transparent;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
    100% {
        stroke-dashoffset: 3100
    }
}

.tiny-heart {
    position: absolute;
    opacity: 0;
    background-color: #f44336;
    box-shadow: 0px 0px 50px 4px #e91e628e;
    animation: animated-heart infinite ease-in;
}

.tiny-heart:before,
.tiny-heart:after {
    content: '';
    position: absolute;
    border-radius: 50%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f44336;
}

.tiny-heart:before {
    transform: translateX(-50%);
}

.tiny-heart:after {
    transform: translateY(-50%);
}

@keyframes animated-heart {
    0% {
        opacity: 0;
        transform: translate(0, 0) rotate(45deg);
    }
    50% {
        opacity: 1;
        transform: translate(0, -40%) rotate(45deg);
    }
    100% {
        opacity: 0;
        transform: translate(0, -1000%) rotate(45deg);
    }
}

.heart_7 {
    position: absolute;
    top: -50%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -m-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.heart_7:before {
    position: absolute;
    top: -50%;
    left: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: 100%;
}

.heart_7:after {
    position: absolute;
    top: 0;
    right: -50%;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: 100%;
}

@keyframes love_7 {
    0% {
        top: 110%;
    }
}

@-webkit-keyframes love_7 {
    0% {
        top: 110%;
    }
}

/* slider */
.zs-enabled {
    position: relative
}

.zs-enabled .zs-slide,
.zs-enabled .zs-slides,
.zs-enabled .zs-slideshow {
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    padding: 0
}

.zs-enabled .zs-slides,
.zs-enabled .zs-slideshow {
    position: fixed;
    max-height: 100vh
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide {
    background: transparent none no-repeat 50% 50%;
    background-size: cover;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    filter: grayscale(1%)
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide.active {
    visibility: visible;
    opacity: 1
}

.zs-enabled .zs-slideshow .zs-bullets {
    position: absolute;
    z-index: 4;
    bottom: 20px;
    left: 0;
    width: 100%;
    text-align: center
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet {
    display: inline-block;
    cursor: pointer;
    border: 2px solid #ccc;
    width: 14px;
    height: 14px;
    border-radius: 8px;
    margin: 10px;
    background-color: #4a4a4a
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet.active {
    background-color: #ccc
}

.zs-enabled .zs-slideshow:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: transparent none repeat 0 0
}

.wpo-portfolio-section .shape-1 {
    position: absolute;
    left: 0;
    top: 20%;
    z-index: -1;
    min-height: 100%;
}

.wpo-portfolio-section .shape-1 .sticky-shape {
    position: -webkit-sticky;
    position: sticky;
    top: 50px;
}
  
.wpo-portfolio-section .shape-1 img {
    width: 100%;
}

.wpo-portfolio-section .shape-2 {
    position: absolute;
    right: 0;
    top: 20%;
    z-index: -1;
    text-align: right;
    min-height: 100%;
}

.wpo-portfolio-section .shape-2 .sticky-shape {
    position: -webkit-sticky;
    position: sticky;
    top: 50px;
}

.wpo-portfolio-section .shape-2 img {
    width: 100%;
}

.box-youtube {
    display: flex;
    border: 15px solid #fff; width: 100%;
    margin-bottom: 15px;
}
.box-youtube iframe {
    width: 100%;
    aspect-ratio: 19 / 10.7;
}
  
@media (min-width: 767px) {
    .video-player {
        z-index: 1000;
    }
}

@media (max-width: 1700px) {
    .wpo-portfolio-section .shape-1 img {
        width: 70%;
      }
    .wpo-portfolio-section .shape-2 img {
        width: 70%;
    }
}

@media (max-width: 1600px) {
    .wpo-portfolio-section .shape-1 img {
        width: 70%;
      }
    .wpo-portfolio-section .shape-2 img {
        width: 70%;
    }
    .wpo-lower-footer img {
        height: 50px;
    }
}

@media (max-width: 1440px) {
    .wpo-portfolio-section .shape-1 img {
        width: 60%;
    }
    .wpo-portfolio-section .shape-2 img {
        width: 60%;
      }
    .wpo-hero-style-4 .shape-1 img {
        height: 50px;
    }
    .box-youtube {
        display: flex;
        width: calc(100% + 3px);
        margin-left: -2px;
        margin-bottom: 10px;
    }
}

@media (max-width: 1200px) {
    .wpo-portfolio-section .shape-1 img {
        width: 40%;
    }
    .wpo-portfolio-section .shape-2 img {
        width: 40%;
    }
}

@media (max-width: 767px) {
    .wpo-portfolio-section .shape-1 {
        display: none;
    }
    .wpo-portfolio-section .shape-2 {
        display: none;
    }
    .wpo-hero-style-4 .shape-1 {
        margin-top: 10px;
    }
    .wpo-hero-style-4 .shape-1 img {
        height: 30px;
    }
    .wpo-hero-style-4:before {
        background: linear-gradient(to right, #fff -10%, transparent);
    }

    .wpo-lower-footer img {
        height: 50px;
    }

    .wpo-hero-style-3 .wedding-announcement, .wpo-hero-style-4 .wedding-announcement {
        top: -20px;
    }

    .fancybox-wrap {
        top: 90px !important;
    }

    .fancybox-inner {
        height: calc(100vh - 120px) !important;
        width: calc(100vw - 70px) !important;
    }

    .fancybox-image, .fancybox-iframe {
        height: calc(100vh - 150px) !important;
        width: calc(100vw - 70px) !important;
        object-fit: contain;
    }
    .fancybox-opened .fancybox-skin,.fancybox-wrap {
        height: calc(100vh - 120px) !important;
        width: calc(100vw - 40px) !important;
    }
    .couple-section .couple-area .couple-item .couple-text p {
        text-align-last: center;
    }
    .box-youtube {
        display: flex;
        width: calc(100% + 6px);
        margin-left: -3px;
        margin-bottom: 8px;
    }
    .box-youtube iframe {
        width: 100%;
        aspect-ratio: 19 / 18;
    }
}