.banner-section .flex-row {
    display: flex;
    align-items: center;
}
.banner-section {
    padding:5% 0;
    background-size:cover!important;
    padding-bottom: 10%;
}
.banner-section .image-col {
   flex:0 0 50%;     
}
.banner-section .text-col {
    flex:0 0 50%;     
    color: #fff;
 }
 .banner-section .title {
    font-size: 2.5rem;
    font-weight: 600
 }
 .banner-section .subtitle {
    font-size: 5rem;
    font-weight: 400;
    line-height: 1.3em;
    font-family: "Ephesis", cursive;
}
 .banner-section .description {
    font-size: 1.5rem;
 }
 .banner-section .time {
    padding: 2%;
    font-size: 1.5rem;
    border-top:1px solid #fff;
    border-bottom:1px solid #fff
}
 .banner-section .subtitle p,  .banner-section .title p {
    margin: 0;
 }
 .banner-divider {
    position: relative;
    z-index: 3;
    margin-top: -15%;
    width:100%;
 }
 .banner-divider img {
     width:100%;
 }
 .rsvp-row {
    width: fit-content;
    max-width: 400px;
 }
 .rsvp-btn {
    border-radius: 3em;
    background-color: #165131;
    color:#fff;
    border: 1px solid #fff;
    font-size: 1.5rem;
    width: fit-content;
    padding:1rem 4rem;
    width: 100%;
    text-align: center;
    display: block;
    text-decoration: none;
    transition: all ease .5s;
    font-weight: 600;
    max-width: 400px;
    margin-left:  auto;
    margin-right: auto;
 }
 .rsvp-btn:hover { 
    color:#165131;
    background-color: #fff;
    border: 1px solid #165131;
}
 .disclaimer {
    font-size: 1rem;
    text-align: center;
 }
 .info-section {
    background-image: url('../assets/image/joyful-gifting/info-section-bg.png');
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -5%;
    padding:7% 0;
    padding-top: 7%;
    padding-bottom: 5%;
    position: relative;
    z-index: 2; 
}
.info-section .container {
    width: 80%;
}
 .bulletin-board {
    background-image: url('../assets/image/joyful-gifting/snow-board.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    max-width: 1175px;
    margin: 0 auto;
    text-align: center;
    width: 90%;
    padding: 9vw 11%;
    padding-left: 15%;
    padding-bottom: 8vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
    margin-bottom: 10%;
}
.event-description {
    max-width:750px;
    margin:0 auto
}
.santa-board-image {
    width: 30%;
    position: absolute;
    right: -12%;
    z-index: 1;
}
.bulletin-board-wrap {
    position: relative;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
.complementary {
    font-size: 1.4rem;
    color:#165131;
    text-align: center;
    font-weight: 700;
}
.signboard {
    height: 20vw;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4vw;
    padding-left: 1%;
    max-width: 22vw;
    width: 30%;
    color: #fff;
    background-size: 100% 100%;
    position:absolute;
    z-index: 3;
    text-align: center;
    font-weight: 600;
}
.signboard .title {
    font-weight: 600;
    font-size: 1.2rem;
}
.signboard-1 {
    left: -7vw;
    bottom: 20%;
    padding-left: 3%;
}
.signboard-2 {
    right: -9vw;
    bottom: 10%;
}
.register-section {
    background-image: url('../assets/image/joyful-gifting/register-bg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 7%;
    position: relative;
    padding:7% 0;
    padding-bottom:9%;
    color:#fff;
    margin-top: -3%;
}
.register-section .container {
    max-width: 1175px;
    width: 80%;
}
.register-section .register-list {
    display: flex;
    justify-content: center;
    gap:20px;
} 
.register-section .register-list > * {
    width:calc(50% - 20px);
    flex:0 0 calc(50% - 20px);
    text-align: center;
    text-decoration: none;
}
.register-section .register-item .title {
    font-size: 1.1rem;
    font-weight: 600;
}
.register-section a.register-item {
    color:#fff;
}
.register-section .register-item .image{
    transition: all ease .5s;
}
.register-section .register-item .image img {
    width: 70%;
}
.register-section .register-item:hover .image{
    transform: scale(1.07);
}
.vendors-section .vendors {
    display: flex;
    justify-content: space-between;
}
.vendors-section .vendors .vendor img {
    height: 70px;
    object-fit: contain;
}
.vendors-section .section-title {
    color:#D50404;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
}
.gift-section {
    background-image: url('../assets/image/joyful-gifting/gift-section-bg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    color:#fff;
}
.gift-section .container  {
    max-width: 1440px;
    width: 80%;
}
.gift-section .paragraph {
    display: flex;
    align-items: center;
    gap:5%
}
.gift-section .paragraph .img-col {
    flex:0 0 40%;
    width: 40%;
    position:relative
}
.gift-section .paragraph .text-col {
    flex:0 0 55%;
    width: 40%;
}
.gift-section .paragraph .title {
    font-size: 2rem;
    font-weight: 600;
}
.gift-section .paragraph-2 .img-col .logo{
    display: flex;
    background: #fff;
    border-radius: 50%;
    width: 10rem;
    height: 10rem;
    position: absolute;
    align-items: center;
    justify-content: center;
    padding: 10px;
    bottom: 0;
    right: 0
}
.gift-section .paragraph-2 .img-col .image img{
    width: 90%;
    margin: 0 auto;
}
.gift-section .paragraph-2 .img-col .deer-deco {
    width: 33%;
    position: absolute;
    left: -25%;
    bottom: 0;
}
.ribbon-divider {
    position: relative;
    margin-top: -6%;
    margin-bottom: -9%;
    z-index: 2;
}
.countup-section {
    background-image: url('../assets/image/joyful-gifting/red-curtain-bg.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    position: relative;
}
/* Container for the progress section */
.progress-container {
    position: relative;
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
    padding: 20px;
    border-radius: 15px;
    color: white;
    display: flex;
    align-items: center;
}

/* Tree Icon */
.tree {
    position: absolute;
    bottom: 20px;
    top: 50%;
    display: flex;
    z-index: 2;
    transform: translateY(-50%);
    flex: 0 0 16vw;
    width: 16vw;
    height: 12vw;
    left: -3%;
}

/* Progress Bar */
.progress-bar {
    position: relative;
    width: 90%;
    height: 1.5rem;
    margin: 40px 0;
    background-color: #ddd;
    border-radius: 10px;
}

/* Filled portion of the progress bar */
.progress-fill {
    height: 100%;
    background-color: #4CAF50;
    width: 30%; /* Adjust based on progress (in this case, 150/500) */
}

/* Moving gift box */
.gift-box {
    position: absolute;
    left: 30%; /* Match progress-fill width */
    top: -3vw;
    width: 7vw;
    font-size: 2.5rem;
    transform: translateX(-50%);
}

/* Present count */
.present-count {
    position: absolute;
    top: auto;
    font-size: 1.1rem;
    font-weight: bold;
}

/* Santa Icon */
.santa {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 4rem;
}

/* Total Value */
.total-value {
    position: absolute;
    right: 7%;
    top: 10%;
    background-image: url('../assets/image/joyful-gifting/green-board.png');
    background-repeat: no-repeat;
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); */
    padding-bottom: 15px;
    text-align: center;
    width: 16vw;
    height: 10vw;
    background-size: 100%;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color:#fff;
}
.total-value .title {
    font-size: .8rem;
}
.total-value .amount {
    font-size: 3rem;
    font-weight: bold;
}
/* Target indicator */
.target {
    position: absolute;
    right: -5%;
    bottom: 3%;
    background-color: #22784D;
    color: white;
    padding: 5px 11px;
    border-radius: 50%;
    font-size: 1.2rem;
    text-align: center;
    height: 7.5vw;
    width: 7.5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 4;
    text-transform: uppercase;
}
.target:after {
    content: '';
    width: 90%;
    height: 90%;
    border: 2px solid #fff;
    position: absolute;
    top: 5%;
    bottom: 5%;
    left: 5%;
    right: 5%;
    border-radius: 50%;
}
.target .icon img{
    width: 1.5vw;
}
.target .title {
    font-size: .8rem;
}
.target .target-amount {
    font-size: 1.5vw;
    font-weight: 700;
}
.santa-present {
    margin-left: -6%;
    position: relative;
    z-index: 2;
}
.vendors-section {
    padding-bottom: 4rem;
}
@media screen and (max-width: 991px){
    .banner-section .image-col {
        margin-bottom: 20px;
    }
    .banner-section .title {
        font-size:1.8rem
    }
    .banner-section .subtitle {
        font-size: 3rem;
    }
    .banner-section .time {
        font-size: 1.2rem;
    }

    .banner-section .description {
        font-size: 1.3rem;
     }
    .banner-section {
        padding-bottom: 15%;
        background-position: center;
        padding-top: 15%;
    }
    .rsvp-btn {
        font-size: 1.3rem;
    }
    .disclaimer {
        font-size: .7rem;
    }
    .info-section {
        padding-bottom: 15%;
    }
    .info-section .container {
        width: 100%;
    }
    .bulletin-board {
        background-size: 145% 100%;
        background-position: 60% 100%;
        max-width: 100%;
        width: 100%;
        padding: 22vw 5%;
        padding-top: 29%;
        padding-left: 5%;
        margin-bottom: 10px;
    }
    .signboard {
        position: relative; 
        height: 23vw;
        width: 45%;
        max-width: 100%;
        background-size: 95% 170%;
        background-position: 50% -3%;
        margin: 0 auto;
        justify-content: center;
        left: -2%;
        margin-bottom: 20px;
    }
    .bulletin-board-wrap {
        margin-top: 7%;
    }
    .santa-board-image {
        top:-10%;
        right: 7%;
    }
    .complementary {
        font-size: 1.2rem;
    }
    .register-section {
        margin-top: -5%;
        padding-top: 10%;
        background-position: 50% 50%;
    }
    .register-section .container {
        width: 90%;
    }
    .total-value .amount {
        font-size: 2.5rem;
    }
    .total-value {
        width: 25vw;
        height: 15vw;
    }
    .tree {
        height: 16vw;
    }
    .santa-present {
        width: 40vw;
    }
    .target {
        height: 12.5vw;
        width: 12.5vw;
    }
    .target .target-amount {
        font-size: 2.2vw; 
    }
    .target .icon img {
        width: 2vw;
    }
    .gift-section .container {
        width: 90%;
    }
    .gift-section {
        background-position: 95% 100%;
    }
    .gift-section .paragraph {
        margin-bottom: 5%;
    }
    .gift-section .paragraph-2 .img-col .deer-deco {
        left: -12%;
    }
    .gift-section .paragraph-2 .img-col .logo {
        width: 8rem;
        height: 8rem;
    }
    .present-count {
        top:-5vw;
        font-size: 1rem;
        width:200%
    }
    .ribbon-divider {
        margin-bottom: -10%;
    }
    .santa-present {
        margin-left: -7%;
    }
    .progress-bar {
        height: .8rem;
    }
}
@media screen and (max-width: 767px){ 
    .banner-section {
        padding-bottom: 20%;
        background-position: center;
        padding-top: 20%;
    }
    .vendors-section .section-title {
        font-size: 2rem;
    }
    .rsvp-row  {
        margin: 0 auto;
    }

    .santa-board-image {
        top: -5%;
    }
    .banner-section .image-col,  .banner-section .text-col {
        width: 100%;
        flex:0 0 100%
    }
    .banner-section .text-col { 
        text-align: center;        
    }
    .disclaimer {
        font-size: .8rem;
    }
    .signboard {
        height: 42vw;
        width: 70%;
        padding-left: 10%;
        padding-top: 10%;
        margin-top: -22%;
    }
    .register-section {
        margin-top: -9%;
        padding-top: 15%;
    }
    .register-section .register-item .image img {
        width:95%;
    }
    .register-section .register-item .text{
        font-size: .9rem;
    }
    .gift-section {
        padding: 5% 0;
    }
    .gift-section .paragraph  {
        flex-wrap: wrap;
    }
    .gift-section .paragraph .text-col, .gift-section .paragraph .img-col {
        width:100%;
        flex:0 0 100%;
        text-align: center;
    }
    .gift-section .paragraph .img-col img,.gift-section .paragraph-2 .img-col .image img{
        width: 60%;
        margin: 0 auto;
    }
    .gift-section .paragraph .img-col {
        order: 1;
        margin-bottom:20px;
    }
    .gift-section .paragraph .text-col {
        order: 2;
    }
    .gift-section {
        background-position: 68% 100%;
    }
    .gift-section .paragraph-2 .img-col .deer-deco {
        left: -5%;
    }
    .vendors-section .vendors {
        flex-wrap: wrap;
        gap:2%;
    }
    .vendors-section .vendors .vendor {
        flex:0 0 calc(50% - 2%);
    }
    .total-value {
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 40vw;
        height: 25vw;
        top: 10%;
        color: #fff;
    }
    .total-value .title {
        font-size: .7rem;
        margin-bottom: 5px; 
    }
    .progress-container {
        margin-top: 15%;
        padding:0;
    }
    .target {
        height: 20.5vw;
        width: 20.5vw;
        top: -90%;
        font-size: 1rem;
    }
    .target .title{
        font-size: .7rem;
    }
    .target .target-amount {
        font-size: 3.5vw;
    }
    .target .icon img {
        width: 3vw;
    }
    .gift-box {
        width: 9vw;
    }
    .present-count {
        top:-6vw;
        font-size: .8rem;
    }

}