:root {
--white: #fff;
--black: #000;
--red: #D82134;
--gray: #565656;




--accent: #0b84ff;
--muted: #6b7280;
--bg: #ffffff;
--panel-bg: #fbfdff;
--radius: 10px;
}

.woocommerce-notices-wrapper {
display: none;
}

.trx_addons_mouse_helper {
display: none !important;
}

.elementor-6817 .elementor-element.elementor-element-ad20e0f {
overflow: hidden;
}


body .page_content_wrap {
background-color: var(--black);
padding-top: 0;
padding-bottom: 0;
}

body .content_wrap {
width: 100%;
}

body .menu_mobile_content_wrap.content_wrap {
width: var(--theme-var-page);
}

body {
h1, h2:not(.sc_item_title), h3, h4, h5, h6, p, li, span:not(.sc_item_title_text) {
    color: var(--white);
}
.color_style_dark .sc_button_title {
    color: var(--theme-color-bg_color);
}
}

body.woocommerce-page span.amount {
color: var(--white);
}


.hero-packages-cta svg,
.package-cta svg {
animation: arrow-float 1.8s ease-in-out infinite;
will-change: transform;
}

.hero-packages-cta-link:hover + svg {
animation-play-state: paused;
}

@keyframes arrow-float {
0% {
    transform: translateY(0);
}
50% {
    transform: translateY(10px);
    opacity: 1;
}
100% {
    transform: translateY(0);
}
}




/*body {*/
/*    margin: 0;*/
/*    min-height: 100%;*/
/*    background-color: var(--black)!important;*/
/*    !*font-family: $Poppins;*!*/
/*    color: var(--white);*/
/*    font-size: 16px;*/
/*    font-weight: 400;*/
/*    -webkit-font-smoothing: antialiased;*/
/*    -webkit-tap-highlight-color: transparent;*/
/*}*/

body, html {
scroll-behavior: smooth;
}

html {
height: 100%;
}

.container  {
width: 100%;
margin-right: auto;
margin-left: auto;
padding-right: 16px;
padding-left: 16px;
position: relative;
}

@media (min-width: 768px) {
.container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 1560px;
}
}

.overflow-hidden {
overflow: hidden;
}

/*header*/
.header {
position: fixed;
left: 0;
top: 0;
right: 0;
z-index: 1111;
width: 100%;
padding: 20px 0;
transition: background-color .3s ease;
}

.header.sticky {
background-color: var(--black);
}

.header-holder {
display: flex;
align-items: center;
justify-content: space-between;
}

.header-logo {
.desktop {
    display: none;
}
.mobile {
    max-height: 50px;
}
}

.header-burger {
order: 1;
}

.header-btn {
display: none;
}

@media (min-width: 768px) {
.header-burger {
    min-width: 178px;
    order: unset;
}

.header-logo {
    .desktop {
        max-width: 185px;
        max-height: 79px;
        display: block;
    }
    .mobile {
        display: none;
    }
}

.header-btn {
    display: block;
}
}

/*header*/

/*btn*/

.btn {
text-decoration: none;
font-size: 20px;
display: inline-flex;
justify-content: center;
align-items: center;
transition: border .3s ease, background-color .3s ease, color .3s ease;
padding: 10px 35px;
cursor: pointer;
text-transform: uppercase;
border: none;
&:focus,
&:active,
&:hover {
    text-decoration: none;
}
}

.btn-primary {
background-color: transparent;
border: 1px solid var(--white);
color: var(--white);
&:focus,
&:active,
&:hover {
    background-color: var(--white);
    color:  var(--black);
}
}

.btn-secondary {
background: radial-gradient(59.69% 482.51% at 50% 50%, #D82134 0%, #570D15 100%);
color: var(--white);
&:focus,
&:active,
&:hover {
    background-color: var(--white);
    color:  var(--black);
}
}

.btn-footer {
border: 2px solid var(--white);
backdrop-filter: blur(95px);
padding: 10px 25px;
text-align: center;
background-color: transparent;
font-size: 12px;
color: var(--white);
max-width: 419px;
border-radius: 3px;
&:focus,
&:active,
&:hover {
    background-color: var(--white);
    color:  var(--black);
}
}

.btn-learn-more {
background: radial-gradient(56.77% 709.52% at 50% 50%, #FFFFFF 0%, #999999 100%);
color: var(--black);
}



.btn-popup {
border: 1px solid var(--red);
backdrop-filter: blur(95px);
padding: 11px 45px;
text-align: center;
background-color: var(--red);
font-size: 22px;
color: var(--white);
&:focus,
&:active,
&:hover {
    background-color: var(--white);
    color: var(--red);
}
}

@media (min-width: 768px) {
.btn-footer {
    font-size: 20px;
    padding: 10px 65px;
}

.btn-popup {
    font-size: 32px;
}
.btn {
    padding: 10px 44px;
}
}

/*btn*/



/* reservation */


.reservation {
position: relative;
height: 100%;
padding: 100px 0 300px;
overflow-x: hidden;
}

.booking-extras.reservation {
padding: 130px 0 100px;
}




/*@media (min-height: 1200px) {*/
/*    .reservation {*/
/*        height: 100vh;*/
/*    }*/
/*}*/
@media (min-width: 1200px) {

.reservation[data-step="3"]:after,
.reservation[data-step="3"]:before {
    display: none;
}

.reservation:after,
.reservation:before {
    content: '';
    display: block;
    height: 100%;
    width: 600px;
    position: absolute;
    top: 0;
    z-index: 2;
}

.reservation:after {
    background: linear-gradient(90deg, #000000 69.25%, rgba(0, 0, 0, 0) 98.46%);
    right: 22%;
}

.reservation:before {
    background: linear-gradient(268.02deg, #000000 69.28%, rgba(0, 0, 0, 0) 96.74%);
    left: 22%;
}


.reservation-holder:after {
    content: '';
    background-image: url("../img/hero-bg-rect.svg");
    background-size: cover;
    background-repeat: no-repeat;
    /*background: radial-gradient(50% 50% at 50% 50%, rgba(114, 114, 114, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);*/
    display: block;
    width: 1228px;
    height: 1228px;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.reservation-holder:after {
    /*animation: slowRotate 14s ease-in-out infinite;*/
}

/*@keyframes slowRotate {*/
/*    0% {*/
/*        transform: translate(-50%, -50%) rotate(0deg) scale(1);*/
/*        opacity: 0.85;*/
/*    }*/
/*    50% {*/
/*        transform: translate(-50%, -50%) rotate(20deg) scale(1.03);*/
/*        opacity: 1;*/
/*    }*/
/*    100% {*/
/*        transform: translate(-50%, -50%) rotate(0deg) scale(1);*/
/*        opacity: 0.85;*/
/*    }*/
/*}*/

}

.reservation-holder {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
height: 100%;
position: relative;
z-index: 3;
padding: 0 12px;
overflow: hidden;
.occurrences-wrap {
    max-width: 420px;
}
}



.reservation-steps {
display: flex;
gap: 22px;
margin-bottom: 20px;
}


.reservation-step {
display: flex;
flex-direction: column;
justify-content: center;
&.is-active {
    .line {
        background-color: var(--red);
    }
}
.line {
    display: block;
    height: 3px;
    background-color: var(--white);
    border-radius: 4px;
}
.text {
    padding: 8px;
}
}

@media (min-width: 768px) {
.reservation-steps {
    gap: 40px;
}
.text {
    padding: 8px 15px;
}
}

.reservation-title {
max-width: 465px;
margin: 0 auto 30px;
text-align: center;
text-transform: uppercase;
font-size: 22px;
}

@media (min-width: 768px) {
.reservation-title {
    font-size: 32px;
}
}


.reservation-desc {
text-align: center;
}

.reservation-row {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 22px;
}



.reservation-col:nth-child(2) {
max-width: 490px;
}

.reservation-col img {
width: 100%;
}

.reservation-seat {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}

.reservation-table-media {
overflow: hidden;
}



.reservation-seat-price {
display: flex;
align-items: center;
gap: 7px;
.square {
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 3px;
    &.red {
        background-color: #B12828;
    }
    &.yellow {
        background-color: #D6B71D;
    }
    &.green {
        background-color: #2FCC71;
    }
}
}


.reservation-table {
background: radial-gradient(52.68% 52.68% at 50% 50%, #D82134 0%, #72111B 100%);
border: 1px solid #7D0013;
border-radius: 3px;
margin-bottom: 20px;
}

.reservation-table-btn {
background: radial-gradient(59.69% 482.51% at 50% 50%, #D82134 0%, #72111B 100%);
border: none;
font-weight: 500;
font-size: 20px;
color: var(--white);
border-radius: 3px;
padding: 20px;
width: 100%;

}

.reservation-table-header,
.reservation-table-row {
padding: 20px 25px;
display: flex;
justify-content: center;
gap: 15px;
align-items: center;
position: relative;
margin-bottom: 16px;
&:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 49.57%, rgba(255, 255, 255, 0) 100%);
}
}

.space-between {
justify-content: space-between;
}

.flex-end {
justify-content: flex-end;
}

.mb-0 {
margin-bottom: 0;
}









.right-bg.right-bg--group,
.left-bg.left-bg--group {
display: flex;
flex-direction: column;
gap: 30px;
}

.left-bg img, .right-bg img {
width: 100%;
}

@media (min-width: 768px) {

.left-bg, .right-bg {
    position: absolute;
    top: 0;
    height: 100%;
    max-width: 506px!important;
}

.left-bg img, .right-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.left-bg a, .right-bg a {
    display: block;
}

.right-bg--group:not(.right-bg_1x2) a:nth-child(2) img,
.left-bg--group a:nth-child(1) img {
    height: 956px;
}


.right-bg--group a:nth-child(1) img,
.left-bg--group a:nth-child(2) img {
    height: 466px;
}

.left-bg {
    left: 0;
    z-index: 1;
    width: 100%;
    object-fit: cover;
}

.right-bg {
    right: 0;
    z-index: 0;
    display: none;
}

.left-bg {
    width: max-content;
}
.right-bg {
    display: block;
}

.reservation-row {
    gap: 100px;
}

}


/* reservation */

.reservation-form {
max-width: 511px;
margin: 0 auto;
input {
    width: 100%;
    border: 1px solid #FFFFFF80;
    background-color: transparent;
    height: 50px;
    border-radius: 3px;
    margin-bottom: 10px;
    margin-top: 5px;
}
label {

}
}

.reservation-form-inputs,
.reservation-form-promo,
.reservation-form-summary {
background: linear-gradient(0deg, rgba(132, 132, 132, 0.1), rgba(132, 132, 132, 0.1)),
linear-gradient(0deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03));
backdrop-filter: blur(29px);
box-shadow: 0 2px 4px 0 #FFFFFF0D inset;
padding: 16px;
margin-bottom: 20px;
border-radius: 3px;
}






.occurrences-wrap {
margin-bottom: 30px;
background: radial-gradient(53.51% 53.51% at 50% 50%, #E30023 0%, #6F0112 100%);
border: 1px solid #53000D;
backdrop-filter: blur(65px);
box-shadow: 0 0 77px 0 #1716160D inset;
}


.occurrences-wrap .flatpickr-day.selected {
border-color: var(--white);
background-color: transparent;
}

.occurrences-wrap .flatpickr-day.has-session {
background: linear-gradient(0deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)),
linear-gradient(0deg, #FFFFFF, #FFFFFF);
color: var(--red);
transition: all .3s ease;
}

.occurrences-wrap .flatpickr-day.has-session:hover {
border-color: var(--red);
background: transparent;

}

.occurrences-wrap .flatpickr-day.flatpickr-disabled.has-session,
.flatpickr-day.flatpickr-disabled:hover {
color: #A2A2A280;
background: transparent;
}


.occurrences-wrap .flatpickr-day.has-session.selected {
border-color: var(--white);
background: transparent;
color: var(--white);
}

.line-gradient {
background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.5) 48.95%, rgba(255, 255, 255, 0.05) 100%);
}

#occurrenceResults {
min-height: 82px;
}

.confirmed {
background: radial-gradient(70.89% 43.77% at 50% 50%, #D82134 0%, #72111B 99.98%),
radial-gradient(93.06% 93.06% at 49.9% 48.2%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
border-radius: 3px;
padding: 25px;
}

.confirmed-img {
width: 100%;
height: 100%;
max-height: 518px;
object-fit: cover;
margin-top: 30px;
}

.confirmed .reservation-title {
max-width: 400px;
}

.reservation-text {
margin-bottom: 15px;
}


/* footer */

.footer {
position: fixed;
left: 0;
bottom: 0;
right: 0;
z-index: 1111;
width: 100%;
padding: 20px;
backdrop-filter: blur(67px);
background: #FFFFFF0D;
display: flex;
justify-content: center;
align-items: center;

}
.footer-holder {
display: flex;
align-items: center;
svg {
    margin-top: 7px;
}
}
/* footer */




/*  tabs  */


section.reservation {
display: none;
opacity: 0;
transform: scale(0.985);
transition:
        opacity 450ms cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 450ms cubic-bezier(0.22, 0.61, 0.36, 1);
pointer-events: none;
}

section.reservation.is-visible {
display: block;
opacity: 1;
transform: scale(1);
pointer-events: auto;
}




/*  tabs  */

.powered-by p {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
font-size: 11px;
margin: 0;
padding: 9px;
}

.occurrences-list li > a {
color: #fff;
text-decoration: none;
}



/* select table */

.reservation-canvas-table {
position: relative;
height: 100%;
}

.canvas-seat {
position: absolute;
width: 25px;
height: 25px;
background-color: #D6B71D;
border-radius: 3px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}

.canvas-seat:nth-child(1) {
top: 38.8%;
left: 40.3%;
}

.canvas-seat:nth-child(2) {
top: 49.3%;
left: 40.3%;
}

.reservation-table-media img,
.reservation-table-media video {
width: 100%;
height: 100%;
object-fit: cover;
}





.reservation-table-holder {
opacity: 0;
transition: opacity .35s ease;
pointer-events: none;
}

.reservation-table-holder.visible {
opacity: 1;
pointer-events: auto;
}

.reservation-table-empty-text {
text-align: center;
color: var(--white);
font-size: 18px;
margin-bottom: 20px;
}

.canvas-seat.active {
border: 2px solid #2FCC71;
background-color: rgba(47, 204, 113,0.35);
transition: 0.25s ease;
}


.video-wrapper {
position: relative;
height: 100%;
}

.video-wrapper video {
width: 100%;
transition: opacity .3s ease;
display: block;
}

.video-wrapper.playing video {
opacity: 1;
}

.video-play-btn {
position: absolute;
inset: 0;
margin: auto;
width: 93px;
height: 63px;
cursor: pointer;
background-color: rgba(255, 239, 197, 0.28);
box-shadow: 0 0 12px 0 rgba(255, 255, 255, 0.2) inset,
0 3px 6px 0 rgba(0, 0, 0, 0.25);
border: 1px solid rgba(241, 241, 241, 0.6);
border-radius: 12px;
z-index: 3;
transition: opacity .3s ease;
animation: pulsePlay 4s ease-in-out infinite;
transform-origin: center;
}

.video-wrapper.playing .video-play-btn {
opacity: 0;
pointer-events: none;
}


/* select table */



/*@keyframes pulsePlay {*/
/*    0% {*/
/*        transform: scale(1);*/
/*        filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0.75));*/
/*    }*/
/*    50% {*/
/*        transform: scale(1.04);*/
/*        filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.95));*/
/*    }*/
/*    100% {*/
/*        transform: scale(1);*/
/*        filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0.75));*/
/*    }*/
/*}*/


.video-play-btn:hover {
animation-duration: 1.3s;
transform: scale(1.03);
}

@media (min-width: 1200px) {
.reservation-table {
    min-width: 490px;
}
}












/* packages */

/*.gradient-title {*/
/*    font-size: 64px;*/
/*    font-weight: 700;*/
/*    background: linear-gradient(*/
/*            90deg,*/
/*            #8D8D8D 0.01%,*/
/*            #FFFFFF 12.18%,*/
/*            #FFFFFF 87.06%,*/
/*            #8D8D8D 100%*/
/*    );*/

/*    -webkit-background-clip: text;*/
/*    -webkit-text-fill-color: transparent;*/
/*    -webkit-text-stroke: 0.4px var(--white);*/
/*}*/


.hero-packages {
background-repeat: no-repeat;
background-position: right;
padding: 125px 0 0;
margin-bottom: 70px;
}

.hero-packages-title {
text-align: center;
margin-bottom: 50px;
}

.hero-packages-holder {
max-width: 692px;
backdrop-filter: blur(23.200000762939453px);
}

.hero-packages-holder h2 {
font-family: essonnes-display, serif;
font-weight: 400;
font-size: 32px;
line-height: 100%;
text-transform: uppercase;
margin-bottom: 20px;
}

.hero-packages-holder p {
/*font-family: Agenda One, sans-serif;*/
/*font-weight: 400;*/
/*font-size: 24px;*/
/*line-height: 28px;*/
margin-bottom: 16px;
}

.info-block {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 20px;
/*font-family: Agenda One;*/
/*font-weight: 400;*/
/*font-size: 24px;*/
/*line-height: 100%;*/

}

.info-block p {
line-height: 100%;
margin-bottom: 0;
}

.info-block svg {
flex-shrink: 0;
}

.info-block-packages .info-block {
font-size: 24px;
max-width: 1415px;
}

.hero-packages-holder a {
font-weight: 400;
font-size: 22px;
line-height: 22px;
text-decoration: underline;
}


.hero-packages-cta {
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
margin-top: 67px;
}

.hero-packages-cta-link {
font-family: 'lindsey-signature', cursive;
font-size: 60px;
color: var(--white);
text-decoration: none;
}






.packages {
background-size: cover;
background-repeat: no-repeat;
padding: 100px 0 50px;
}

.packages-title {
text-align: center;
margin-bottom: 40px;
font-weight: 400;
font-size: 45px;
line-height: 100%;
text-transform: uppercase;
}

.packages-holder {
display: flex;
flex-wrap: wrap;
gap: 30px;
margin-bottom: 60px;
}

.packages-card {
width: 32%;
}

.packages-card:hover .packages-card-title,
.special-packages-item:hover .packages-card-title {
color: var(--red);
}

.packages-card-media {
overflow: hidden;
display: block;
}

.packages-card-img {
width: 100%;
height: 350px;
object-fit: cover;
transition: transform 0.4s ease;
border-radius: 3px;
}


/*.packages-card:hover .packages-card-img,*/
/*.special-packages-item:hover .packages-card-img {*/
/*    transform: scale(1.2);*/
/*}*/

/*.vsb-extras-grid .packages-card:hover .packages-card-img {*/
/*    transform: unset;*/
/*}*/

.vsb-extras-grid {
position: relative;
}


.packages-card-title {
transition: color .27s ease;
font-family: Essonnes Display;
font-weight: 400;
font-size: 24px;
line-height: 100%;
text-transform: uppercase;
margin-bottom: 10px;
margin-top: 0;
min-height: 48px;
display: flex;
align-items: center;
justify-content: center;
    color: #fff;
}

.packages-card-img {
width: 100%;
}

.packages-card-footer {


width: 80%;
margin: -70px auto 0;
text-align: center;
padding: 20px;
position: relative;
z-index: 1;
}

.packages-card-footer:after {
content: '';
display: block;
width: 100%;
height: 100%;
backdrop-filter: blur(6px);
background: #F0F0F00D;
position: absolute;
top: 0;
left: 0;
z-index: -1;
}

.packages-card-footer > * {
position: relative;
z-index: 1;
}

.packages-card-price {
display: block;
font-family: Essonnes Display;
font-weight: 400;
font-size: 26px;
line-height: 100%;
text-align: center;
margin-bottom: 10px;
}

.packages-card-link {
display: block;
text-align: center;
color: var(--white);
font-size: 20px;
margin-top: 10px;
}

.packages-card-link:hover {
color: var(--red);
}

.packages-card-add-to-cart {
display: inline-flex;
flex-direction: column;
gap: 5px;
}

.packages-card-add-to-cart .added_to_cart {
color: var(--white);
padding: 5px 0!important;
}

.packages-card-add-to-cart .added_to_cart:hover {
color: var(--red);
}

p > a {
color: var(--red);
transition: color .3s ease;
}

p > a:hover {
color: var(--white);
text-decoration: none;
}



.packages-card-media {
position: relative;
display: block;
overflow: hidden;
}

.packages-card-img {
display: block;
width: 100%;
/*height: auto;*/
}

.packages-card-video {
position: absolute!important;
inset: 0;
width: 100% !important;
height: 100% !important;
object-fit: cover;

opacity: 0;
transition: opacity .3s ease;
pointer-events: none;
}

.packages-card.is-hovered .packages-card-video,
.special-packages-item.is-hovered .packages-card-video {
opacity: 1;
}

.packages-card.is-hovered .packages-card-img,
.special-packages-item.is-hovered .packages-card-img {
opacity: 0;
}

.packages-card .mejs-container {
position: absolute;
height: 100%!important;
}

.packages-card .mejs-controls,
.packages-card .mejs-overlay-play,
.special-packages-item .mejs-controls,
.special-packages-item .mejs-overlay-play {
display: none!important;
}

@media (min-width: 1025px) {
.special-packages-item-1 .packages-card-media {
    height: calc(100% - 114px);
}

.special-packages-item-1 .packages-card-img {
    height: 100%;
}

}






























.special-packages-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 60px;
}

.special-packages-item-1 {
    grid-row: 1 / -1;
}




@media (max-width: 1024px) {
    .special-packages-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .package-slider .splide__arrow {
        top: 40%;
    }

    .package-slider .splide__arrow--prev {
        left: 5px;
    }

    .package-slider .splide__arrow--next {
        right: 5px;
    }




    /*.item-1 {*/
    /*    grid-column: 1 / -1;*/
    /*    grid-row: auto;*/
    /*}*/
}

@media (max-width: 600px) {
    .special-packages-grid {
        grid-template-columns: 1fr;
    }
}


/* packages */






/* package */

.package-img {
    width: 100%;
    min-height: 265px;
    object-fit: cover;
}

.package-holder {
    background: #F0F0F00D;
    backdrop-filter: blur(23.200000762939453px);
    max-width: 956px;
    margin: 0 0 20px;
    text-align: center;
    padding: 20px;
    color: #fff;
}

.package-holder * {
    -webkit-text-fill-color: #fff;
}

@media (min-width: 768px) {
    .package-holder {
        margin: -150px auto 70px;
        padding: 30px;
    }
}

.package-title {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 20px;
    margin-top: 0;
}

.package-sub-title {
    font-size: 28px;
    line-height: 100%;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.package-desc {
    font-size: 24px;
    line-height: 100%;
    margin-bottom: 16px;
}



.package-cta {
    display: inline-block;
    margin: 50px auto 70px;
}


@media (max-width: 767px) {
    .package-desc {
        font-size: 18px;
    }
    .package-cta {
        margin: 20px auto;
    }
    .packages-card-link {
        font-size: 16px;
    }
    .packages-title {
        font-size: 30px;
    }
}


.package-cta-holder {
    text-align: center;
}

.package-info {
    position: relative;
    padding: 150px 0 200px;
}



.package-info-holder {
    max-width: 610px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    /*background: #F0F0F00D;*/
    padding: 20px;
    backdrop-filter: blur(23.200000762939453px);
}

.package-info-holder * {
    -webkit-text-fill-color: white;
}

.package-info-holder h2,
.package-info-title {
    font-family: agenda, sans-serif;
    font-weight: 500;
    font-size: 32px;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 20px;
    margin-top: 0;
}



@media (max-width: 767px) {
    .package-info {
        padding: 50px 0;
    }
    .package-info-title,
    .package-info-holder h2 {
        font-size: 24px;
    }
}
.package-add-title {
    font-family: essonnes-display, serif;
    text-align: center;
    margin-top: 0;
}

.package-info-holder ul,
.package-info-list {
    list-style-type: none;
    font-family: agenda, sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 29px;
    padding-left: 0;
}

@media (max-width: 767px) {
    .package-info-holder ul,
    .package-info-list {
        font-size: 18px;
        line-height: 24px;
    }
}

.package-info-holder li,
.package-info-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

.package-info-holder li:before,
.package-info-list li:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='12' y1='6.92969' x2='0.5' y2='6.92969' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23D82134'/%3E%3Cstop offset='1' stop-color='%2372111B'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 6.92969L0 13.8579V0.00148439L12 6.92969Z' fill='url(%23g)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 7px;
    left: 0;
}

.package-info-holder li strong,
.package-info-list li strong,
.package-info-holder li b,
.package-info-list li b {
    color: var(--red);
}

.package-info-desc {
    font-family: agenda, sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 29px;
    margin-bottom: 10px;
}

.package-info-price-holder {
    font-family: essonnes-display, serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.package-info-price-wrap {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

@media (max-width: 767px) {
    .package-info-price-wrap {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .package-info-desc {
        font-size: 18px;
        line-height: 24px;
    }
}

.package-info-price {
    margin-bottom: 20px;
}

.package-add {
    padding: 100px 0;
    background: #33333366;
    backdrop-filter: blur(63.5px);
    position: relative;
    overflow: hidden;
}

.package-add:before {
    content: '';
    display: block;
    width: 338px;
    height: 338px;
    background: #D8213466;
    filter: blur(188.3000030517578px);
    border-radius: 50%;
    position: absolute;
    top: 50px;
    z-index: -1;
}

.package-add:after {
    content: '';
    display: block;
    width: 387px;
    height: 387px;
    filter: blur(188.3000030517578px);
    background: #D8213466;
    border-radius: 50%;
    position: absolute;
    right: -100px;
    bottom: -100px;
    z-index: -1;
}

.package-add-holder {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 50px 0;
    position: relative;
}



.package-add-info {
    max-width: 587px;
    border-radius: 3px;
    background: #F0F0F00D;
    backdrop-filter: blur(31px);
    padding: 40px;
    margin-left: -100px;
    color: #fff;
}

.package-add-img {
    border-radius: 3px;
    max-width: 838px!important;
}

.package-add-decor {
    position: absolute;
    bottom: 15px;
    left: 51%;
    z-index: -1;
}

.package-add-price {
    font-family: Essonnes Display;
    font-weight: 400;
    font-size: 26px;
    line-height: 100%;
    text-align: center;
    display: block;
    margin-bottom: 20px;
}

.package-add-btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 329px;
    margin: 20px auto 0;
}




/* package */







.nav-holder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 32px;
}

.nav-holder .packages-title {
    margin-bottom: 0;
    margin-top: 0;
    max-width: 1125px;
color: #fff!important;
}

/*.skip-step,*/
.previous-step {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--white);
    text-transform: uppercase;
    text-decoration: none;
}

/*.skip-step {*/
/*    color: var(--red);*/
/*}*/

.btn-checkout {
    border: 1px solid #fff;
    border-radius: 3px;
    padding: 9px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    -webkit-transition: color .3s ease-in-out;
    -moz-transition: color .3s ease-in-out;
    -ms-transition: color .3s ease-in-out;
    -o-transition: color .3s ease-in-out;
    transition: color .3s ease-in-out;

    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    transform: translateX(0);
}

.btn-checkout svg {
    transition: transform .3s ease-in-out;
}

.btn-checkout:hover {
    color: var(--red);
}

.btn-checkout:hover svg {
    transform: translateX(5px);
}

/*@media (max-width: 10px) {*/
/*    .packages-card {*/
/*        width: 30%;*/
/*    }*/
/*}*/

@media (max-width: 888px) {
    .package-add-img {
        width: 100%;
    }
    .package-add-info {
        margin-left: 0;
    }

    .packages-card {
        width: 47%;
    }
}

@media (max-width: 576px) {
    .btn-checkout {
        font-size: 18px;
    }
    .packages-card {
        width: 100%;
    }
    .package-add-holder.package-slider {
        display: block;
    }
}


.package-slider > * {
    z-index: 1;
}

.package-slider-decor {
    position: absolute;
    bottom: 5%;
    right: -3%;
    z-index: -1;
}







/* popup */
.modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
}

.modal.is-open {
    display: block;
}

.modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
}

.modal-content {
    position: relative;
    max-width: 1007px;
    margin: 15vh auto;
    background: #000000B2;
    padding: 60px;
    color: #fff;
    backdrop-filter: blur(70.4000015258789px)
}

.modal-title {
    text-align: center;
    margin-bottom: 32px;
    font-family: essonnes-display, serif;
    font-weight: 400;
    text-transform: uppercase;
}

.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    font-size: 28px;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
}

.modal-packages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .modal-packages {
        grid-template-columns: 1fr;
    }
    .modal-content {
        margin: 4vh auto;
        padding: 30px 15px;
    }
}

.modal-card {
    text-align: center;
}

.modal-card img {
    width: 100%;
}

.modal-card .btn {
    width: 100%;
}

.modal-price {
    display: block;
    margin-bottom: 16px;
    font-family: essonnes-display, serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 100%;
    text-align: center;

}

.modal-img-holder {
    position: relative;
    margin-bottom: 20px;
}

.modal-img-holder:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
}


.modal-img-holder h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    margin: 0;
    z-index: 1;
    color: #fff;
}

/* popup */




/* mini-cart */
.mini-cart {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 333px;
    background: #E7E7E7;
    color: var(--black);
    border-radius: 3px;
    padding: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    z-index: 2000;
    transform: translateY(120%);
    opacity: 0;
    transition: .4s ease;
    backdrop-filter: blur(47.5px)
}

.mini-cart.is-open {
    transform: translateY(0);
    opacity: 1;
}

.mini-cart-title {
    text-align: center;
    margin-bottom: 12px;
}

.mini-cart-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 8px 0;
    margin-bottom: 12px;
    position: relative;
}

.mini-cart-item:before,
.mini-cart-item:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(95, 95, 95, 0) 0%, #8F8F8F 28.37%, #8F8F8F 72.6%, rgba(95, 95, 95, 0) 100%);
    position: absolute;
    left: 0;
}

.mini-cart-item:before {
    top: 0;
}

.mini-cart-item:after {
    bottom: 0;
}

.mini-cart-img {
    width: 70px;
    height: 50px;
    object-fit: cover;
}

.mini-cart-info {
    flex: 1;
    font-size: 14px;
}

.mini-cart-remove {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.mini-cart-total {
    text-align: right;
    margin-bottom: 12px;
}

.mini-cart-btn {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--red);;
    border-radius: 3px;
    background: transparent;
    color: var(--red);
    cursor: pointer;
}



/* mini-cart */


















.splide:not(.is-overflow) .splide__arrows {
    display: none;
}

.related-products-holder img {
    height: 425px;
    -o-object-fit: cover;
    object-fit: cover;
}


.related-products-holder.packages-card {
    width: 100%;
}

.services-product-item {
    margin-bottom: 50px;
}







.voucher-title {
    text-align: center;
    font-family: agenda, sans-serif;
    font-size: 32px;
    line-height: 100%;
    margin-bottom: 20px;
}

.voucher-group-title {
    color: var(--red);
    text-transform: uppercase;
    margin-bottom: 5px;
    text-align: center;
}

.voucher-group-subtitle {
    text-align: center;
    font-size: 20px;
    margin-bottom: 0;
}

.voucher-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 40px;
}
.voucher-price {
    font-family: essonnes-display, serif;
    font-size: 40px;
    line-height: 100%;
}

@media (max-width: 767px) {
    .voucher-title {
        font-size: 26px;
    }
    .voucher-group-subtitle {
        font-size: 18px;
    }
    .voucher-row {
        padding: 12px;
    }
}





/* vsb plugin */
.vsb-product-popup {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;

    z-index: 9999999;

    display: flex;
    align-items: stretch;
    justify-content: stretch;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.vsb-product-popup.active {
    opacity: 1;
    visibility: visible;
}

body.overflow-hidden {
    overflow: hidden !important;
}

.vsb-header-under-popup {
    z-index: 0!important;
}

.vsb-popup-content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.vsb-popup-body {
    position: relative;
}

.vsb-popup-close {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 50;
    background: none;
    border: none;
    cursor: pointer;
}


.vsb-ajax-product {
    position: relative;
    width: 100%;
    min-height: 100vh;
    color: #ffffff;
    display: flex;
    align-items: flex-end;
}

.vsb-ajax-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.vsb-ajax-bg img {
    width: 100%;
    height: 50%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.vsb-ajax-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.25),
            rgba(0, 0, 0, 0.95)
    );
}

.vsb-ajax-inner {
    position: relative;
    z-index: 2;

    max-width: 760px;
    margin: 0 auto 50px;

    padding: 20px 50px;

    text-align: center;
    background: rgba(240, 240, 240, 0.05);
    backdrop-filter: blur(31px);
    color: #fff;
}

.vsb-ajax-inner * {
    color: #fff!important;
}

.vsb-ajax-inner .package-info-price-wrap {
    margin-top: 0;
    margin-bottom: 20px;
}

.vsb-ajax-inner h2 {
    font-size: 32px;
}


.vsb-popup-disclaimer a {
    color: #fff;
}

.vsb-popup-disclaimer p {
    text-align: left;
    font-size: 18px;
    color:  rgba(217, 217, 217, 1);
}

.vsb-popup-desc {
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
}

.vsb-popup-includes h4 {
    text-transform: unset;
    margin: 15px 0 0;
}

.vsb-popup-includes-list {
    display: flex;
    flex-wrap: wrap;

    justify-content: center;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.vsb-popup-includes-list li {
    padding: 10px 20px;
    position: relative;
    font-family: agenda, sans-serif;
    font-weight: 500;
    font-size: 20px;
}

.vsb-popup-includes-list li:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -3px;
    display: block;
    width: 6px;
    height: 6px;
    background-color: #fff;
    border-radius: 50%;
}

.vsb-popup-includes-list li:first-child:before {
    display: none;
}


.vsb-popup-choice {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
}

.vsb-popup-choice p {
    margin: 0 20px;
    white-space: nowrap;
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;

}

.vsb-popup-choice::before {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(
            90deg,
            rgba(153, 153, 153, 0) 0%,
            #ffffff 100%
    );

}

.vsb-popup-choice::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(
            90deg,
            #ffffff 0%,
            rgba(153, 153, 153, 0) 100%
    );

}

.vsb-popup-extra {
    font-size: 20px;
}

.vsb-product-popup::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 0;
}

.vsb-popup-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.vsb-popup-body {
    width: 100%;
    max-width: 1075px;
    margin: 0 auto;
    background-color: #000;
    display: flex;
    min-height: 960px;
    padding: 70px 0;
}

.vsb-popup-body .modal-content {
    margin: 0 auto;
    justify-content: center;
}

.vsb-ajax-product {
    min-height: auto;
}


body.overflow-hidden-fixed {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
}


.services-product-title {
    color: var(--red)!important;
}


@media (max-width: 575px) {
    .packages-card-footer {
        padding: 10px;
    }


}

@media (max-width: 767px) {
    .vsb-ajax-inner {
        margin: 0 12px;
        padding: 10px;
    }
    .vsb-ajax-inner h2 {
        font-size: 26px;
    }

    .vsb-popup-desc {
        font-size: 18px;
    }

    .vsb-popup-includes-list li {
        font-size: 18px;
        padding: 5px 15px;
    }
    .vsb-popup-extra {
        font-size: 18px;
    }

    .vsb-popup-disclaimer p {
        font-size: 16px;
    }

    .vsb-ajax-product {
        align-items: center;
    }

    .info-block-packages .info-block {
        font-size: 18px;
    }

}

@media (min-width: 1024px) {
    .previous-step {
        position: absolute;
        top: 10px;
    }

    .nav-holder .packages-title {
        max-width: 888px;
    }
}
@media (min-width: 1366px) {
    .nav-holder .packages-title {
        max-width: 1125px;
    }
}
@media (max-width: 1355px) {
    .package-add-holder {
        justify-content: center;
    }

    .package-add-info {
        margin-left: 0;
        margin-top: -90px;
        width: 95%;
        padding: 15px;
    }
}

@media (max-width: 1440px) {
    .packages-holder {
        gap: 19px;
        justify-content: center;
    }
}


