#main-wrapper {
    overflow: hidden;
}

.page-id-176473 .ip-banner{
    background-image: url(https://cdn.agentimagehosting.com/DDbwWCFpEXfquueq6nXfy/2024/12/ip-banner-christmas.jpg);
}

.page-id-176473 .ip-banner canvas{
    aspect-ratio: 2000/800;
}

#inner-page-wrapper {
    margin: 0 0 63px;
}

#inner-page-wrapper > .container {
    width: 100%;
    max-width: 1600px;
}

#breadcrumbs {
    position: relative;
    z-index: 2;
}

#content .entry {
    line-height: normal;
    padding: 19px 0 0;
}

.sp-bg {
    width: calc(100% + calc(100vw - 100%));
    height: auto;
    position: absolute;
    top: 0;
    left: calc(calc(-100vw + 100%) / 2);
    z-index: 1;
}

.sp-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 1) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.sp-bg canvas {
    display: block;
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    filter: grayscale(1);
}

.sp-title {
    position: relative;
    z-index: 1;
    margin: 0 0 16px;
}

.sp-title span {
    display: block;
    font-family: 'Old Standard TT', serif;
    font-size: 30px;
    font-weight: 400;
    color: #000;
}

.sp-title h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 50px !important;
    font-weight: 500 !important;
    line-height: 1;
    color: #000;
    text-transform: uppercase;
    margin: 0 !important;
}

.sp-intro {
    position: relative;
    z-index: 1;
}

.sp-intro p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.867 !important;
    color: #000;
    margin: 0 !important;
}

.sp-items {
    position: relative;
    z-index: 1;
    margin: 62px 0 0;
}

.sp-item {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 70px;
}

.sp-item.invert {
    flex-flow: row-reverse;
}

.sp-item.full {
    flex-flow: column;
}

.sp-item-photo {
    width: 60.527%;
    position: relative;
    overflow: hidden;
}

.sp-item.full .sp-item-photo {
    width: 100%;
}

.sp-item-photo canvas {
    display: block;
    width: 100%;
    height: auto;
}

.sp-item-photo img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.sp-item-title-text {
    width: calc(39.473% + 116px);
    margin: 0 0 0 -116px;
    background: #9c9064;
    padding: 47px 50px;
    box-shadow: 0px 0px 57px 0px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1;
}

.sp-item.full .sp-item-title-text {
    width: 78%;
    margin: -146px 0 0;
}

.sp-item.white .sp-item-title-text {
    background: #fff;
}

.sp-item.black .sp-item-title-text {
    background: #000;
}

.sp-item.invert .sp-item-title-text {
    margin: 0 -116px 0 0;
}

.sp-item-title {
    margin: 0 0 19px;
}

.sp-item-title span {
    display: block;
    font-family: 'Old Standard TT', serif;
    font-size: 30px;
    font-weight: 400;
    color: #fff;
}

.sp-item.white .sp-item-title span {
    color: #000;
}

.sp-item-title h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 50px !important;
    font-weight: 500 !important;
    line-height: 1;
    color: #fff;
    text-transform: uppercase;
    margin: 0 !important;
}

.sp-item.white .sp-item-title h2 {
    color: #000;
}

.sp-item-text {}

.sp-item-text p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.867 !important;
    color: #fff;
    margin: 0 !important;
}

.sp-item.white .sp-item-text p {
    color: #000;
}

.sp-video {
    position: relative;
    margin: 30px 0 0;
}

.sp-video canvas {
    display: block;
    width: 100%;
    height: auto;
}

.sp-video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.star {
    position: absolute;
    top: -20px;
    color: #fff;
    animation: animate 5s linear forwards;
    /* you can set infinite too */
  }
  
  .star::before {
    content: "\b0174";
    font-family: agentimage!important;
    text-shadow: 0 0 5px #fff, 0 0 20px #fff, 0 0 50px #fff;
  }
  
  @keyframes animate {
    0% {
      transform: translateY(0) rotate(0deg);
      opacity: 1;
    }
  
    80% {
      opacity: 1;
    }
  
    100% {
      transform: translateY(100vh) rotate(360deg);
      opacity: 0;
    }
  }

@media only screen and (max-width: 991px) {
    .sp-item {
        flex-flow: column !important
    }
    .sp-item-photo {
        width: 100% !important;
    }
    .sp-item-title-text {
        width: 100% !important;
        margin: 0 !important;
    }

    .star {
        font-size: 8px;
    }
}

@media only screen and (max-width: 480px) {
    .sp-item-title-text {
        padding: 47px 30px;
    }
}