
/* ___ BANNER ___ */
.banner .container {max-width: 100%; padding: 0;}
.banner .wrapper {position: relative;}
.banner .images picture img {width: 100%; height: 780px; object-fit: cover;}
.banner .main {position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: flex-end; width: 100%; max-width: var(--container-size); height: 100%; padding: 42px var(--container-padding); margin-inline: auto;}
.banner .content {max-width: 450px; background-color: var(--_c-bg-white); padding: 36px; box-shadow: 0px 4px 4px rgba(0, 0, 0, 25%); border: 2px solid #000; border-radius: 22px;}
.banner .content > :first-child  {font-size: var(--fs-xl, 42px); font-weight: 800; line-height: 1; margin-bottom: 10px;} 
.banner .content > :first-child * {color: var(--c-primary);}
.banner .content p {max-height: 175px;}
.banner .slick-arrow {position: absolute; top: 48%; width: 50px; height: 50px; z-index: 50;}
.banner .slick-arrow img {width: 30px; height: 30px; filter: invert(1);}
.banner .prev-btn {left: 2%;}
.banner .next-btn {right: 2%;}

/* ___ DESCRIPTION ___ */
.description {padding-top: 60px;}
.description .content {max-height: 247px;}
.description .content > :first-child {font-size: var(--fs-xl, 42px); font-weight: 800; line-height: 1.3; margin-bottom: 6px;}
.description .content > :first-child * {color : var(--c-primary);}
.description .content p {width: 98%; font-size: calc(var(--fs-base, 16px) + 2px); line-height: 1.4;}
.description .content p:not(:last-of-type) {margin-bottom: 24px;}

/* ___ CTA ___ */
.cta {padding-block: 80px;}
.cta .wrapper {position: relative; display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center; background: linear-gradient(to right, rgba(230, 59, 48, 1), rgba(160, 35, 27, 1)); padding: 80px 70px; border-radius: 20px;}
.cta .content {max-width: 670px;}
.cta .content > :first-child {font-size: var(--fs-2xl, 54px); font-weight: 800; line-height: 1.2; color: #fff; margin-bottom: 10px;}
.cta .content p {height: 81px; font-size: calc(var(--fs-base, 16px) + 2px); line-height: 1.5; color: #fff;}
.cta .image {position: absolute; top: -18%; right: 22%;}
.cta .contact {width: fit-content; text-align: center; margin-left: auto;}
.cta .contact > :first-child {display: block; font-family: var(--ff-secondary); font-size: var(--fs-sm, 20px); font-weight: 700; line-height: 1; color: #fff; margin-bottom: 10px;}
.cta .contact a {font-size: var(--fs-md, 26px); font-weight: 800; background-color: var(--c-primary); color: #fff; padding: 6px 18px; border-radius: 15px;}
.cta .contact a:hover {background-color: #fff; color: var(--c-primary); transition: var(--transition);}
.cta *::selection {background-color: #fff; color: var(--c-primary);}

/* ----<PERFECT PLAN>---- */
.plan {padding-block: 60px 120px; margin-top: 60px; background: var(--c-primary); --_c-dark: #3C3C3C; --_c-grey: #505050;}
.plan .head {text-align: center; max-width: 85%; margin: 0 auto 82px;}
.plan .head > :first-child {font-size: var(--fs-xl, 42px); font-weight: 800; color: #fff;}
.plan .head p {font-size: calc(var(--fs-base, 16px) + 2px); line-height: 1.4; color: #fff; margin-top: 13px;}
.plan .head *::selection {background-color: #fff; color: var(--c-primary);}
.plan .wrapper {position: relative; display: flex; align-items: flex-start; justify-content: space-between;}
.plan .content {width: 100%; height: fit-content; background-color: #fff; padding: 30px;}
.plan .content:hover {transform: scale(1.05); box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 25%); z-index: 5; transition: .8s ease;}
.plan .content > * {font-family: var(--ff-secondary); text-align: center;} 
.plan .content > :first-child {display: block; font-size: var(--fs-lg, 32px); font-weight: 700; line-height: 1; margin-bottom: 10px; color: var(--c-primary);}
.plan .content > :nth-child(2) {display: block; font-size: calc(var(--fs-base, 16px) + 2px); font-weight: 600; line-height: 1; color: var(--_c-dark); margin-bottom: 30px;}
.plan .content > :nth-child(3) {color: var(--c-primary); font-size: calc(var(--fs-sm, 20px) + 4px); font-weight: 700; line-height: 1; margin-bottom: 10px;}
.plan .content > :nth-child(4) {display: block; font-size: calc(var(--fs-2xl) + 20px); font-weight: 700; margin-bottom: 12px; line-height: 1;}
.plan .content > :nth-child(5) {font-size: var(--fs-2xl); font-weight: 400; margin-bottom: 13px; text-decoration: line-through;}
.plan .content > :nth-child(6) {display: block; font-weight: 500; line-height: 1; margin-bottom: 25px; font-size: 20px;} 
.plan .content p {text-align: start; color: var(--_c-dark); border-top: 1px solid #a5a4a4; padding-top: 20px; margin-bottom: 36px;}
.plan .content .btn__primary {width: 100%; font-family: var(--ff-primary); font-size: calc(var(--fs-base, 16px) + 2px); border-radius: 12px; margin-top: 20px;}
.plan .content > :nth-child(9) {display: block; width: fit-content; font-size: var(--fs-sm, 20px); font-weight: 700; color: var(--_c-dark); margin-bottom: 12px;}
.plan .content:nth-of-type(1) {border-radius: 15px 0 0 15px;}
.plan .content:nth-of-type(1):hover {border-radius: 15px}
.plan .content:nth-of-type(2) {position: relative; padding-bottom: 60px; border-radius: 0 0 15px 15px; box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 25%); margin-inline: auto;}
.plan .content:nth-of-type(2):hover {border-radius: 0 0 15px 15px;}
.plan .content:nth-of-type(2)::before {position: absolute; inset: -48px 0 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; font-family: var(--ff-secondary); font-size: var(--fs-sm, 20px); font-weight: 600; background: linear-gradient(63deg, rgba(0,0,0,1) 0%, rgba(65,65,65,1) 50%, rgba(78,78,78,1) 75%, rgba(111,111,111,1) 90%, rgba(153,153,153,1) 100%);; color: #fff; border-radius: 15px 15px 0 0; content: 'Recommended';}
.plan .content:nth-of-type(2) .btn__primary:hover {background: #fff; color: var(--c-primary);}
.plan .content:nth-of-type(3) {border-radius: 0 15px 15px 0;}
.plan .content:nth-of-type(3):hover {border-radius: 15px}
.plan .content:nth-of-type(2) .btn__primary {background: linear-gradient(to right, rgba(230, 59, 48, 1), rgba(160, 35, 27, 1));}

/* ----<EXCEPTIONAL>---- */
.exceptional {padding-top: 30px;}
.exceptional .wrapper {display: grid; grid-template-columns: minmax(257px, 663px) minmax(630px, 862px); gap: 42px; place-items: center; margin-top: 30px;}
.exceptional .wrapper > img {border-radius: 20px;}
.exceptional .content :where(h2, h3, h4, h5, h6) {margin-bottom: 15px;}
.exceptional .content > :first-child {font-size: var(--fs-xl, 32px); font-weight: 800; line-height: 1.2; margin-bottom: 8px;}
.exceptional .content > :first-child * {color: var(--c-primary);}
.exceptional .content p {max-height: 100px; font-size: calc(var(--fs-base, 16px) + 2px); line-height: 1.4; margin-bottom: 15px;}
.exceptional :where(ul, ol) {display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding-left: 10px;}
.exceptional :where(ul, ol):has(+ *) {margin-bottom: 15px;}
.exceptional li {width: fit-content; font-size: calc(var(--fs-base, 16px) + 2px); font-weight: 600; line-height: 1.4; padding-left: 30px; position: relative;}
.exceptional li:hover {color: var(--c-primary); transition: color .4s ease;}
.exceptional li::before {position: absolute; top: 50%; left: 0; height: 14px; width: 20px; background: no-repeat center / cover url("https://www.partyenergizers.com/theme/website/images/icons/arrow.png"); content: ""; transform: translateY(-50%); transition: var(--transition);}
.exceptional li:hover::before {left: 6px;}
.exceptional li img {margin-right: 5px;}
 
/* ----<INCLUDED PACKAGES>---- */
.packages {padding-top: 60px;}
.packages .head {margin-bottom: 30px;}
.packages .head > :first-child {font-size: var(--fs-xl, 42px); font-weight: 800; line-height: 1.3; text-align: center;}
.packages .head > :first-child span {color : var(--c-primary);}
.packages .wrapper {display: flex; align-items: center; gap: 40px;}
.packages .slider {max-width: calc(50% - 20px); position: relative;}
.packages .slick-track {display: flex; gap: 20px;}
.packages .slick-track img {height: 648px; object-fit: cover; border-radius: 20px;}
.packages .textContent {width: 100%;}
.packages .textContent ul {display: flex; flex-direction: column; gap: 13px; max-height: 640px; padding-right: 15px;}
.packages .textContent li {position: relative; font-size: var(--fs-sm, 20px); font-weight: 500; line-height: 1.4; background-color: var(--_c-gray); padding: 19px 18px; padding-left: 48px; border: 1px solid #000; border-radius: 12px;} 
.packages .textContent li::before {position: absolute; top: 35px; left: 16px; height: 22px; width: 22px; background: no-repeat center / cover url("https://www.partyenergizers.com/theme/website/images/icons/tick.png"); content: ""; transform: translateY(-50%);}
.packages .slick-dots{width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; color: #fff; position: absolute;  bottom: 30px;}
.packages .slick-dots li {height: 10px; width: 10px; background: #fff; border-radius: 100%; cursor: pointer;}
.packages .slick-dots button {display: none;}
.packages .slick-dots .slick-active {height: 18px; width: 18px;}

/* ----<AVAILABLE QUOTE>---- */
.availability {padding-block: 70px;}
.availability .content {background: no-repeat center / contain url('https://www.partyenergizers.com/theme/website/images/cta-2-bg.webp'), linear-gradient(175.99deg, var(--_c-gradient-light) -10.88%, var(--_c-gradient-dark) 111.52%); padding: 60px 30px; border-radius: 40px;}
.availability .text {display: flex; flex-direction: column; align-items: center; justify-content: center;}
.availability .text> :first-child {font-size: var(--fs-sm, 10px); text-transform: uppercase; color: #fff; margin-bottom: 4px;}
.availability .text> :nth-child(2) {max-width: 550px; font-size: var(--fs-xl, 42px); font-weight: 800; line-height: 1.3; text-align: center; color: #fff;}
.availability .text .btn__primary {width: 170px; padding-block: 8px; margin-top: 22px;} 
.availability *::selection {background-color: #fff; color: var(--c-primary);}

@media only screen and (max-width: 1400px) {
    .cta .wrapper {position: relative; grid-template-columns: 1fr;}
    .cta .content {max-width: 700px;}
    .cta .image {right: 5%;}
    .cta .contact {text-align: start; margin: 0;}
    .cta .contact > :first-child {margin-left: 18px;}
    .cta .contact a {background-color: var(--c-primary-drk);}
}

@media only screen and (max-width: 1200px) {
    /* CTA */
    .cta .content {max-width: 650px;}
    .cta .image {top: 35px; right: 0; width: 249px; height: 420px;}
    /* Exceptional */
    .exceptional .wrapper {gap: 20px;}
    .exceptional ul {margin-left: 0;}
    /* packages */
    .packages .wrapper {gap: 20px;}
    .packages .textContent ul {max-height: 475px;}
    /* Plan */
    .plan .content {padding: 20px 20px 30px;}
    .plan .content:nth-of-type(2) {padding-bottom: 50px;}
}

@media only screen and (max-width : 991px) {
    /* Banner */
    .banner .images picture img {max-height: 540px;}
    .banner .content {padding: 30px;}
    .banner .slick-arrow {top: 25%;}
    /* Description */
    .description {padding-top: 40px;}
    /* CTA */
    .cta {padding-block: 40px;}
    .cta .wrapper {gap: 20px; padding: 60px 50px;}
    .cta .content {text-align: center; max-width: 100%;}
    .cta .content p {height: auto; max-height: 110px;}
    .cta .image {display: none;}
    .cta .contact {text-align: center; margin-inline: auto;}
    .cta .contact > :first-child {margin-left: 0;}
    /* Exceptional */
    .exceptional .wrapper {grid-template-columns: 1fr; gap: 12px; margin-top: 10px;}
    .exceptional .content > :first-child {max-width: 100%; text-align: center;}
    /* Included packages */
    .packages {padding-top:  50px;}   
    .packages .head {margin-bottom: 15px;}
    .packages .wrapper {flex-direction: column;}
    .packages .slider {max-width: 500px; width: 100%;}
    .packages .slick-track img {height: 450px;}
    .packages .slick-dots {bottom: 20px;}
    /* plan */
    .plan {padding-top: 50px;}
    .plan .head {max-width: 100%;}
    .plan .wrapper {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
    .plan .content:nth-of-type(n+1) {order: 2; max-width: 460px; border-radius: 24px;}
    .plan .content:nth-of-type(2) {order: 1; grid-area: 1 / 1 / 2 / 3; position: relative; inset: 0; transform: none; padding-bottom: 30px; border-radius: 0 0 24px 24px;}
    /* Availability content */
    .availability {padding-block: 50px;}
}

@media only screen and (max-width: 767px) {
    /* Banner */
    .banner .main {height: 100%; align-items: center; justify-content: center; padding-block: 0;}
    .banner .slick-arrow {top: 0; bottom: 0; margin-block: auto;}
    /* Exceptional */
    .exceptional .head p {margin-right: 15px;}
    /* Plan */
    .plan .content {padding: 15px 15px 24px;}
    .plan .content > :nth-child(4) {font-size: calc(var(--fs-2xl) + 8px);}
}

@media only screen and (max-width: 575px) {
    /* Banner */
    .banner .images picture img {max-height: 400px;}
    .banner .content {padding: 24px;}
    .banner .slick-arrow {top: auto; bottom: 4%; margin: 0;}
    /* Description */
    .description {padding-top: 24px;}
    /* CTA */
    .cta {padding-block: 20px 0;}
    .cta .wrapper {padding: 40px 30px;}
    .cta .content {text-align: center; max-width: 100%;}
    .cta .content::before {content: none;}
    .cta .content > :first-child {margin-bottom: 5px;}
    /* Exceptional */
    .exceptional {padding-top: 20px;}
    .exceptional .scroll {margin-top: 10px;}
    .exceptional :where(ul, ol) {grid-template-columns: 1fr; gap: 10px;}
    .exceptional .content p {max-height: 120px;}
     /* Included packages */
    .packages {padding-top:  40px;} 
    .packages .textContent ul {max-height: 460px;}
    .packages .textContent li {padding-left: 38px;}
    .packages .textContent li::before {width: 18px; height: 18px; top: 32px; left: 12px;}
    .packages .slick-track img {height: 350px;}
    /* plan */
    .plan {padding-top: 30px;} 
    .plan .head {margin-bottom: 70px;}
    .plan .head p {margin-top: 8px;}
    .plan .wrapper {grid-template-columns: 1fr; place-items: center;}
    .plan .content > :is(ul, ol) {height: auto;}
    .plan .content:nth-of-type(2) {grid-area: initial;}
    .plan .content p {text-align: center;}
    .plan .content .btn__primary {line-height: 1.4; margin-top: 8px;}
    /* availability */
    .availability {padding-block: 30px;}
    .availability .content {padding: 40px 20px;}
    .availability .text .btn__primary {width: 140px; margin-top: 14px; padding-block: 6px;}
}

@media only screen and (max-width: 475px) {
    /* Banner */
    .banner .images picture img {max-height: 350px;}
    /* CTA */
    .cta .wrapper {padding: 30px 20px;}
    /* Included packages */
    .packages .textContent li {padding: 10px; padding-left: 35px;}
    .packages .textContent li::before {height: 15px; width: 15px; top: 22px; left: 11px;}
}

@media only screen and (max-width: 360px) {
    /* CTA */
    .cta .wrapper {gap: 15px; padding: 20px 15px;}
    .cta .content > :first-child {font-size: calc(var(--fs-xl) + 4px);}
    .cta .content p {max-height: 121px;}
}
 