/* Utilities */
/* p:last-of-type {
    margin-bottom: 0;
} */
 body.modal-open {
    overflow: hidden;
}
.bg-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    filter: blur(4px);
    transition: filter 0.3s ease;
    cursor: pointer;
    z-index: 99;
}
 a.link__cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
}
.text-xs {
    font-size: 10px;
}
.text-s {
    font-size: 12px;
}
.text-m {
    font-size: 14px;
}

.text-lg {
    font-size: 2rem;
}

.spacer-82 {
    padding-top: 82px;
}

.block__header p:last-of-type {
    margin-bottom: 0;
}

.bg-grey {
    background-color: #E6E7E8;
}

.bg-green {
    background-color: var(--green);
}

.text-green {
    color: var(--green);
}

h2.section__title_accent{
    font-size: 32px;
    margin-bottom: 2rem;
    color: #2c5530;
}
.chevron {
    display: flex;
    align-items: center;
}
.chevron::before {
	border-style: solid;
	border-width: 1px 1px 0 0;
	content: '';
	display: inline-block;
	height: 0.35em;
	left: 0;
	position: relative;
	/* top: 0.15em; */
	transform: rotate(-45deg);
	vertical-align: top;
	width: 0.35em;
}

.chevron.right:before {
	transform: rotate(45deg);
}

.chevron.bottom:before {
	top: 0;
	transform: rotate(135deg);
}

.chevron.left:before {
	transform: rotate(-135deg);
}
.inner__wrapper--box-shadow {
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.pb-82 {
    padding-bottom: 82px;
}
section:last-of-type:not(.dtmg__header):not(.section-breadcrumbs) {
    margin-bottom: 120px;
}
section.bg-green {
    padding: 100px 0;
    color: var(--white);
}
/* Hero Section */
.booking__hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--green);
    color: var(--white);
    padding: 3rem 0;
}
.booking__hero .cruise__price .item__icon{
    background-color: var(--white);
    color: var(--green);
}
.booking__hero .cruise__price sub {
    font-size: 14px;
    bottom: 0px;
}

.cruise__details_divider  .line {
    height: 1px;
    width: 100%;
    border-bottom: 1px dashed #fff;
}

.tbc__product_hero {
    position: relative;
    height: 60vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tbc__product_hero .video-header-embed {
    display: flex;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.tbc__product_hero .video-header-embed video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tbc__product_hero .hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.tbc__product_hero .hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    display: block;
}

.tbc__product_hero .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 4;
}

.tbc__product_hero .hero-gradient-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.3) 50%,
            rgba(255, 255, 255, 0.8) 80%,
            rgba(255, 255, 255, 1) 100%);
    z-index: 6;
    display: flex;
    align-items: flex-end;
}

.tbc__product_hero .hero-content {
    text-align: left;
    color: #1C4B3C;
    z-index: 1;
}

.tbc__product_hero .hero-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: normal;
    margin-bottom: 1rem;
    font-family: var(--secondary-font);
    /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); */
}

/* Overview Section */
.overview {
    padding: 4rem 0;
    background: white;
    position: relative;
    z-index: 1;
}

/* .overview-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        } */

.overview-secondary-nav {
    display: flex;
    margin-bottom: 3rem;
    border-bottom: 1px solid #eee;
}

.overview-secondary-nav a {
    color: #212121;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.overview-secondary-nav a.active,
.overview-secondary-nav a:hover {
    color: #1C4B3C;
    border-bottom-color: #1C4B3C;
}

/* .overview-content {
            display: grid;
            grid-template-columns: 60% 40%;
            gap: 3rem;
        } */

.inner__card {
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.inner__card_content {
    padding: 1.5rem 2rem;
}

.inner__card_content:nth-last-child(1) {
    padding: 1.5rem 2rem 3rem;
}
/* 
.overview-content .section__header h2,
.overview-text h2 {
    font-size: 32px;
    margin-bottom: 1.5rem;
    color: #1C4B3C;
} */

.overview-text p {
    color: #666;
    line-height: 1.8;
}
.overview-text p:not(:last-of-type) {
    margin-bottom: 1.5rem;
}

.overview-highlights {
    /* margin-bottom: 2rem; */
    padding: 0;
}
.overview-highlights ul {
    list-style: none;
    padding:0;
}

.overview-highlights li {
    padding: 0.5rem 0;
    color: #666;
    position: relative;
    padding-left: 1.5rem;
}

.overview-highlights li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #2c5530;
    font-weight: bold;
}

.overview-card {
    background: #1C4B3C;
    color: white;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.overview-card.bg-grey {
    background: #E6E7E8;
    color: #333;
    box-shadow: none;
}

.overview-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.overview-card-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.overview-card-item .cruise-info {
    display: flex;
    align-items: flex-end;
    gap: 4px;
}

.overview-card-item h5,
.overview-card-item p {
    margin: 0;
    padding: 0;
}

.overview-card.bg-grey h4 {
    color: var(--green);
}

.overview-card.bg-grey ul {
    list-style-type: disc;
}

.overview-card-item .item-divider {
    flex: 1;
    border-bottom: 1px dotted #fff;
    margin-bottom: 4px;
}

.product__price {
    margin-bottom: 1.5rem;
}
.product__price .item__icon {
    background-color: rgba(174, 152, 119, 0.3);
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 26px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
    margin-right: 8px;
    font-size: 15px;
}

.product__price sup {
    top: 0;
    line-height: 1;
}

.product__price .main__price span,
.main__price span.text-lg {
    font-size: 2rem;
    font-weight: bold;
}

.product__price .main__price sub,
.main__price sub.text-xs {
    bottom: 12px;
}

.overview-card ul {
    list-style: none;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.30px;
}

.overview-card li {
    padding: 0.3rem 0;
    font-size: 0.9rem;
}

#overview .block__passengers {
    padding:0 0 20px;
    background-color: transparent;
    border-radius: initial;
}

#overview .block__passengers .nice-select .option {
    color: var(--text);
    line-height: 1;
    display: flex;
    align-items: center;
}
#overview .block__passengers .nice-select .option.selected.focus {
    background-color: var(--mint-green);
}
#overview .block__passengers .nice-select .option.selected.focus:hover {
    color: var(--green);
}
#overview .block__passengers .nice-select .option:hover {
    color: var(--white);
}

#overview .block__passengers .stepper-input .input button,
#overview .block__passengers .stepper-inputs .input button{
    width: 32px;
    height: 32px;
    padding: 10px;
    font-size: 18px;
    line-height: 18px;
    margin: 0;
}

#overview .block__passengers hr {
    margin: 10px 0;
    border-color: var(--white);
    opacity: 1;
}

#overview .block__passengers .data__adults {
    border-bottom: none;
}
#overview .block__passengers .data__children {
    margin-top: 0px;
}

#overview .block__passengers .data__adults h2, #overview .block__passengers .data__children h2 {
    color: var(--white);
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 0;
}
#overview .block__passengers .stepper-input,
#overview .block__passengers .stepper-inputs {
    width: 142px;
    height: 32px;
}
#overview .block__passengers .stepper-input .input .range .list span,
#overview .block__passengers .stepper-inputs .input .range .list span {
    color: var(--white);
    font-size: 20px;
    height: 80px;
    line-height: 30px;
}

#overview .block__passengers .children__age {
    margin-top: 1rem;
    gap: 0.5rem;
}

#overview .block__passengers .child-age {
    flex-direction: column;
    align-items: start;
    justify-content: initial;
    gap:4px;
}

#overview .block__passengers .child-age p {
    margin-bottom: 6px;
    color: #FFF;
}

#overview .block__passengers .child-age .nice-select {
    width: 100%;
    max-width: none;
}

#overview .dtmg__btn.book-now-btn span.btn-spinner {
    display: none;
}
#overview .dtmg__btn.book-now-btn.loading span.btn-spinner {
    display: inline-block;
}
#overview .dtmg__btn.book-now-btn.loading.arrow--right::after {
    display: none;
}

/* Expedition Itinerary */
.expedition {
    padding: 4rem 0;
    background: #fff;
}

.expedition-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.itinerary-item {
    background: white;
    margin-bottom: 1rem;
    border-radius: 4px;
    overflow: hidden;
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
    border: 1px solid #112211;
}

.itinerary-header h3 {
    margin: 0;
}

.itinerary-header {
    padding: 1.5rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: white;
    border-bottom: 1px solid #eee;
}

.itinerary-header:hover {
    background: rgba(244, 239, 234, 0.3);
}

.itinerary-header h3 {
    color: var(--green);
    font-size: 18px;
}

.itinerary-toggle {
    font-size: 18px;
    color: var(--green);
    transition: transform 0.3s ease;
}

.itinerary-item.active .itinerary-toggle {
    transform: rotate(180deg);
}

.itinerary-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.itinerary-item.active .itinerary-content {
    max-height: 100%;
}

.itinerary-inner {
    padding: 2rem;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 2rem;
}

.itinerary-description {
    color: var(--text);
    line-height: 1.8;
}

.itinerary-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.content-slider.content-slider--ship {
    margin: 0;
}
.asterisk-note p {
    color: #4F4F4F;
    font-weight: 500;
    line-height: 1.4;
}
.asterisk-note::before {
	content: '';
	display: inline-block;
	width: 24px;
	min-width: 24px;
	height: 24px;
	background-image: url(../images/icons/code-asterix.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
    margin-top: 6px;
}

/*
/*=============== OFFERS BLOCK / TEAM SLIDER ===============*/

.offers__container .offers__slider .slick-slide,
.team__slider .slick-slide,
.tabs__container .offers__slider .slick-slide {
    margin: 0 12px;
}

.offers__container .offers__slider .slick-track,
.team__slider .slick-track,
.tabs__container .offers__slider .slick-track {
    display: flex;
}

.offers__container .offers__slider .slick-track .slick-slide,
.team__slider .slick-track .slick-slide,
.tabs__container .offers__slider .slick-track .slick-slide {
    display: flex;
    height: auto;
}

.offers__container .block__item .inner__wrapper,
.tabs__container .block__item .inner__wrapper {
    box-shadow: 0px 8px 10px #00000029;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}
.team__slider .block__item {
    border-radius: 16px;
    box-shadow: 0px 8px 14px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.offers__container .card__title--banner,
.tabs__container .card__title--banner {
    font: normal normal 600 18px/120% 'Manrope';
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

.offers__container .block__image,
.team__slider .block__image,
.tabs__container .block__image {
    height: 250px;
    overflow: hidden;
    border-radius: 4px 4px 0 0;
    position: relative;
}

.offers__container .cruise__details img,
.tabs__container .cruise__details img {
    width: 100px;
    height: auto;
}

.offers__container .block__info .included,
.tabs__container .block__info .included {
    gap: 0 25px;
}

.offers__container .block__info h2.card__title--banner,
.team__slider .block__info h2.card__title--banner {
    margin: 12px 0 24px 0;
}

.offers__container .block__info hr {
    margin: 24px 0;
}

.offers__container .block__info,
.team__slider .block__info,
.tabs__container .block__info {
    padding: 24px;
    background-color: var(--white);
    color: var(--text);
}

.offers__container .block__info .divider-v,
.tabs__container .block__info .divider-v {
    height: 80%;
    width: 1px;
    background-color: #DEDEDE;
}

.offers__container .cruise__details .price-was,
.tabs__container .cruise__details .price-was {
    color: #cfcfcf;
    text-decoration: line-through;
    white-space: nowrap;
}

.offers__container .cruise__price h2,
.tabs__container .cruise__price h2 {
    color: var(--primary);
    font-size: 16px;
    font-weight: 600;
}

.offers__container .cruise__price sub,
.tabs__container .cruise__price sub {
    color: var(--primary);
    font-weight: 700;
    font-size: var(--smaller-font-size);
    bottom: 0;
    line-height: 1;
}

.offers__container .offers__cta,
.tabs__container .offers__cta {
    background-color: var(--green);
    color: var(--text);
    display: block;
    line-height: 2;
    padding: 20px;
    color: var(--white);
    font-weight: 700;
    text-align: center;
    transition: all .3s ease-out;
    border-radius: 0 0 20px 20px;
}

.offers__container .block__image_cruise .img__cover,
.team__slider .block__image_cruise .img__cover {
    border-radius: 20px 20px 0 0;
}

.offers__container .offers__cta:hover,
.tabs__container .offers__cta:hover {
    background-color: var(--accent);
}

.offers__slider .block__item:hover .offers__cta,
.team__slider .block__item:hover .offers__cta,
.tabs__container .block__item:hover .offers__cta {
    background-color: var(--accent);
}

.offers__ribbon {
    background: var(--green);
    position: absolute;
    z-index: 2;
    min-width: 98px;
    top: 10px;
    left: 0;
    -webkit-clip-path: polygon(100% 0%, calc(100% - 1.25rem) 50%, 100% 100%, 0 100%, 0% 50%, 0 0);
    clip-path: polygon(100% 0%, calc(100% - 1.25rem) 50%, 100% 100%, 0 100%, 0% 50%, 0 0);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.03rem;
    margin: 1rem 0;
    padding: 1rem 2rem 1rem 1rem;
}

.fave {
    background: transparent;
    position: absolute;
    z-index: 20;
    width: 50px;
    height: 50px;
    top: 20px;
    right: 20px;
    border: 2px solid #fff;
    border-radius: 100%;
    color: #fff;
    margin: 1rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .4s ease-in-out;
}

.fave:hover {
    background-color: #00000066;
    color: var(--white);
}

.cruise__details .item__icon {
    background-color: #f2f2f2;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 32px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cruise__details .item__icon img {
    width: 15px;
    height: auto;
}

.offers__slider .slick-list {
    padding: 0 15% 0 0;
}

.offers__container .slider__controls,
#staterooms .slider__controls,
#team__slider .slider__controls {
    margin-top: 32px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 70px;
}
.slider-prev-btn.slick-arrow,
.slider-next-btn.slick-arrow {
    position: absolute;
    top: 30%;
    left: -2%;
}
.slider-next-btn.slick-arrow {
    left: auto;
    right: -2%;
}

.slider-prev-btn.slick-arrow,
.slider-next-btn.slick-arrow,
.slider__controls .prev-btn.slick-arrow,
.slider__controls .next-btn.slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 30px;
    background-color: var(--green);
    color: var(--white);
}

.offers__container .slick-dots,
#staterooms .slick-dots,
#team__slider .slick-dots {
    height: 6px;
    width: 100%;
    max-width: 250px;
    display: flex;
    align-items: center;
    background-color: rgba(28, 74, 60, 0.2);
    position: relative;
    margin-left: 30px;
    padding: 0;
    border-radius: 6px;
    bottom: 0;
}

.offers__container .slick-dots li,
#staterooms .slick-dots li,
#team__slider .slick-dots li {
    flex: 1;
    margin: 0;
    position: relative;
    display: inline-block;
    width: 20px;
    height: 6px;
    border-radius: 4px;
    padding: 0;
    cursor: pointer;
}

.offers__container .slick-dots li.slick-active,
#staterooms .slick-dots li.slick-active,
#team__slider .slick-dots li.slick-active {
    background-color: var(--green);
}

.offers__container .slick-dots li button:before,
#staterooms .slick-dots li button:before,
#team__slider .slick-dots li button:before {
    display: none;
}

.offers__container .slick-dots button,
#staterooms .slick-dots button,
#team__slider .slick-dots button {
    padding: 0;
    width: 1px;
    height: 1px;
    display: none;
}

.offers__container .slick-dots li:only-child,
#staterooms .slick-dots li:only-child,
#team__slider .slick-dots li:only-child {
    display: none;
    background-color: none;
}
#cruise__offers hgroup h1,
#cruise__offers hgroup h2,
#cruise__offers hgroup h3 {
    font-family: var(--secondary-font);
    color: var(--green);
}
/*
 *=============== RECIPES / TEAM BTN ===============*/

.recipes__slider .slick-list {
    padding-bottom: 30px;
}
.team__slider a.dtmg__btn--white,
.recipes__slider a.dtmg__btn--white {
    border: 1px solid var(--green);
    height: 38px;
    padding: 8px 22px;
    margin-top: 20px;
}
.post-item a.dtmg__btn--white {
    border: 1px solid var(--green);
}
.team__slider a.dtmg__btn--white.dtmg__btn.arrow--right-green::after,
.recipes__slider a.dtmg__btn--white.dtmg__btn.arrow--right-green::after {
    width: 14px;
    height: 14px;
}
.post-item a.dtmg__btn--white:hover,
.team__slider a.dtmg__btn--white:hover,
.recipes__slider a.dtmg__btn--white:hover {
    background-color: var(--accent);
    border-color: var(--accent);
}

/*
==========================================================================
CATEGORIES CARD (TYPE === BANNER)
==========================================================================
*/

.cat__card {
    position: relative;
}

.cat__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.three-cols .cat__list {
    grid-template-columns: repeat(3, 1fr);
}

.cat__list a,
.cat__list .cat__card {
    width: 100%;
    padding: 0;
    cursor: pointer;
}

.cat__card .card__body {
    position: absolute;
    width: 80%;
    left: 50%;
    top: auto;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 20;
    color: var(--white);
    /* min-height:80px; */
}

.card__img {
    height: 190px;
    overflow: hidden;
    position: relative;
    border-radius: 8px;
}

.card__img .cat__img,
.card__img .cat__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    transition: all .4s ease-in-out;
}

.cat__card .card__body .card__subtitle p {
    text-align: center;
}

.cat__card .card__img::before,
.destinations__grid_item::before,
.grid__slider_item .image__wrapper:not(.no-gradient):before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, rgba(2, 2, 2, 0) 0%, rgba(31, 31, 31, 0.9) 68%, #1e1e1d 100%);
    z-index: 10;
    pointer-events: none;
}

.cat__card .card__img::before {
    opacity: 0.7;
    transition: all .4s ease-in-out;
}

.cat__card:hover .card__img::before {
    opacity: 1;
}
.cat__card .dtmg__btn--no-bg.arrow--right::after {
    transition: all .3s ease-in-out;
}
.cat__card:hover .dtmg__btn--no-bg.arrow--right::after {
    margin-left:14px;
    transition: all .3s ease-in-out;
}
.grid__block_item.cat__card .card__img::before {
    display: none;
}

.cat__card:hover .card__img .cat__img {
    transform: var(--img-scale);
}

.cat__card .card__title--banner {
    font-size: var(--h2-font-size);
    line-height: 1.2;
    margin-bottom: 10px;
    font-family: var(--secondary-font);
    color: var(--white);
}

@media (max-width: 992px) {

    /* .inner {
        max-width: 960px;
    } */
    .destinations__slider_mobile .slick-list {
        padding: 0 10% 0 0;
    }

    .destinations__slider_mobile .slick-list .cat-item {
        margin: 0 12px;
    }

    .destinations__slider_mobile .slick-list .cat-item .card__img {
        height: 280px;
    }
    .home-slider .hero .slider__controls,
    #header-search {
        position: initial;
    }
    .home-slider .hero .slick-dots li {
        width: 10px;
        height: 10px;
        background-color: rgba(255, 255, 255, 0.4);
        border-radius: 10px;
        flex: 0 0 10px;
    }
    .home-slider .hero .slick-dots li.slick-active {
        width: 20px;
        height: 10px;
        background-color: rgba(255, 255, 255, 1);
        border-radius: 10px;
        flex: 0 0 20px;
    }
    .home-slider .hero .slick-dots {
        height: 3px;
        width: 120px;
        display: flex;
        align-items: center;
        background: none;
        position: relative;
        margin: 0 auto;
        padding: 0;
        border-radius: 0;
        bottom: 0;
        column-gap: 0.5rem;
    }
    #header-search {
        left:initial;
        bottom: initial;
        right: initial;
        top: initial;
        transform: initial;
    }
    .home-slider .hero {
        height: auto;
        padding: 32px 10px;
    }
    .home-slider .hero .controls-wrapper {
        display: flex;
        flex-direction: column-reverse;
    }
    .hero .slick-slide {
        height: 360px;
    }
    .hero .awards__block {
        top: 10px;
        right: 10px;
    }
    .hero .awards__block .award-logo {
        width: 100px;
        height: auto;
    }
    #header {
        background: #FFF;
        position: sticky;
        top: 0;
        width: 100%;
        box-shadow: none;
    }
}

/*=============== TESTIMONIAL SLIDER ===============*/
.testimonial__section {
    background: linear-gradient(to bottom, #F4EFEA 60%, #FAFBFC 0%);
    margin-bottom: 60px;
}

.testimonial-slider .slick-list {
    overflow: visible;
}

.testimonial-slider .slick-track {
    padding: 104px 0 60px;
    display: flex;
    align-items: flex-end;
}

.testimonial-slider .slider-container {
    width: 100%;
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
}

/* Slick slider overrides */
.testimonial-slider {
    position: relative;
}


.testimonial-slider .slick-slide {
    padding: 0 15px;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scale(0.85) translateY(20px);
    /* opacity: 0.6; */
}

.testimonial-slider .slick-slide.slick-center {
    transform: scale(1.1) translateY(-20px);
    opacity: 1;
    z-index: 2;
    position: relative;
}

.testimonial-slider .testimonial-card {
    background: #E2E8E7;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: left;
    /* box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); */
    position: relative;
    transition: all 0.3s ease;
    min-height: 282px;
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
    gap: 16px;
}

.testimonial-slider .slick-slide.slick-center .testimonial-card {
    background: #112211;
    color: var(--white);
}

.testimonial-slider .testimonial-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #427b69, #1C4B3C);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    overflow: hidden;
}

.testimonial-slider .testimonial-info {
    text-align: left;
}

.testimonial-slider .testimonial-text {
    font-size: 18px;
    line-height: 1.6;
    color: #555;
    /* margin-bottom: 25px;
    flex-grow: 1;
    display: flex; */
}

.testimonial-slider .testimonial-author {
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
    font-size: 1.1rem;
}

.testimonial-slider .testimonial-role {
    color: #888;
    font-size: 0.9rem;
}

.testimonial-slider .slick-slide.slick-center .testimonial-role {
    color: #AE9877;
}

.testimonial-slider .slick-slide.slick-center .testimonial-text,
.testimonial-slider .slick-slide.slick-center .testimonial-author {
    color: var(--white);
}

.testimonial-slider .quote-icon {
    background: var(--green);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    /* display: flex; */
    align-items: center;
    justify-content: center;
    /* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); */
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    opacity: 0;
    display: none;
    margin: 20px auto;
}

.testimonial-slider .quote-icon i {
    font-size: 1.5rem;
    color: var(--accent);
}

.testimonial-slider .slick-center.slick-active.slick-current .quote-icon {
    /* transform: translateX(-50%) scale(1); */
    opacity: 1;
    display: flex;
}

/* Custom arrow styles */
.slider-container .prev-btn,
.slider-container .next-btn {
    position: absolute;
    left: -25px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    z-index: 3;
    transition: all 0.3s ease;
    color: var(--green);
}

.slider-container .next-btn {
    left: auto;
    right: -25px;
}

.slider-container .prev-btn:hover,
.slider-container .next-btn:hover {
    background: white;
    transform: scale(1.1);
}

/* Custom dots */
.testimonial-slider .slick-dots {
    bottom: 0px;
}

.testimonial-slider .slick-dots li {
    margin: 0 5px;
}

.testimonial-slider .slick-dots li button:before {
    font-size: 12px;
    color: rgba(174, 152, 119, 0.27);
    opacity: 1;
}

.testimonial-slider .slick-dots li.slick-active button:before {
    color: var(--green);
    transform: scale(1.2);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .testimonial-slider .slick-list {
        overflow: hidden;
    }

    .testimonial-slider {
        padding: 40px 0;
    }

    .testimonial-slider .testimonial-card {
        padding: 30px 20px;
        min-height: 300px;
    }

    .testimonial-slider.testimonial-text {
        font-size: 1rem;
    }

    .testimonial-slider .slick-prev {
        left: -15px;
    }

    .testimonial-slider .slick-next {
        right: -15px;
    }

    .testimonial-slider .slick-slide {
        transform: scale(0.9) translateY(10px);
    }

    .testimonial-slider .slick-slide.slick-center {
        transform: scale(1.05) translateY(-10px);
    }

    .itinerary-inner {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
}

@media (max-width: 480px) {
    .testimonial-slider .slick-slide {
        padding: 0 10px;
    }

    .testimonial-card {
        padding: 25px 15px;
        min-height: 280px;
    }

    .testimonial-avatar {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
}

/* Loading animation */
.testimonial-slider .slider-container {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out 0.3s forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Smooth entrance for cards */
.testimonial-card {
    animation: slideInScale 0.6s ease-out backwards;
}

@keyframes slideInScale {
    from {
        opacity: 0;
        transform: scale(0.8) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Stagger animation delays for cards */
.slick-slide:nth-child(1) .testimonial-card {
    animation-delay: 0.1s;
}

.slick-slide:nth-child(2) .testimonial-card {
    animation-delay: 0.2s;
}

.slick-slide:nth-child(3) .testimonial-card {
    animation-delay: 0.3s;
}

.slick-slide:nth-child(4) .testimonial-card {
    animation-delay: 0.4s;
}

.slick-slide:nth-child(5) .testimonial-card {
    animation-delay: 0.5s;
}

.slick-slide:nth-child(6) .testimonial-card {
    animation-delay: 0.6s;
}

/*=============== IMAGE GRID BLOCK ===============*/
.content-gallery {
    margin-bottom: 82px;
}

/*=============== CANCELATION POLICY ===============*/
.product__cancellation_container {}

/*=============== LOGO SLIDER ===============*/
.logo__section {
    margin-bottom: 82px;
}

.logo__container {
    /* display: flex;
    flex-direction: column;
    align-items: center; */
}

.logo-slider .slick-track {
    padding: 32px 0;
    ;
}

.logo-slider .slider-item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 176px;
    background: var(--white);
    box-shadow: 0 10px 14px rgba(0, 0, 0, 0.1);
    margin: 0 16px;
    border-radius: 8px;
}

.logo-slider .slider-item a {
    padding: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.logo-slider .slider-item img {
    width: auto;
    max-height: 120px;
}

.logo__section .logo-slider .slick-dots li.slick-active button::before {
    color: var(--green);
}

.logo__section .logo-slider .slick-dots li button::before {
    color: rgba(174, 152, 119, 0.27);
    opacity: 1;
    font-size: 12px;
}

/*
==========================================================================
CABIN CARD
==========================================================================
*/
#staterooms {
    background: linear-gradient(to bottom, #F4EFEA 40%, #fafbfc 0%);
}
.cabin__list_item {
    background-color: var(--white);
    box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
}
.cabin__list_item .cabin__image {
    flex: 0 0 50%;
    height: auto;
    min-height: 380px;
    border-radius: 5px 5px 0 0;
    width: 486px;
    height: auto;
}
.cabin__list_item .cabin__image .img__cover {
    border-radius: 20px 0px 0px 20px;
}
.cabin__list_item .cabin__info {
    padding:24px;
}
.cabin__list_item .cabin__info h4 {
    font-size: 14px;
    color: var(--accent);
    font-weight: 600;
}
.cabin__list_item .cabin__info h2 {
    font-size: 18px;
    color: var(--green);
    font-weight: 600;
}
.cabin__list_item .cabin__info ul {
    margin-bottom: 20px;
}
.cabin__list_item .cabin__info li {
    margin-bottom: 4px;
}
.cabin__list_item .cabin__info li::marker {
    font-size: 10px;
}
.cabin__list_item .cabin__info hr {
    border-color: var(--text);
    opacity: 1;
}
@media (max-width: 920px) {
    .cabin__list_item {
        border-radius: 10px;
    }
    .cabin__list_item .cabin__image {
        height: 180px;
        min-height: initial;
        width: 100%;
    }
    .cabin__list_item .cabin__image .img__cover{
        border-radius: 10px 10px 0 0;
    }
}
/*
==========================================================================
SIMILAR CRUISES
==========================================================================
*/
.similar__cruises .section__footnote {
    margin: 20px 0 30px;
}

.similar-cruises-list {
    /* margin: 35px 0 0 0; */
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.similar-cruises-list-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px 15px;
    border-radius: 16px;
    background-color: var(--white);
}

.similar-cruises-list-item {
    padding: 32px;
}
.similar-cruises-list-item > div:first-child {
    padding: 0;
}
/* .similar-cruises-list-item .similar__title,
.similar-cruises-list-item .similar-cruises-list-item-link{
    grid-column: span 2;
} */

.similar-cruises-list-item > div {
    display: flex;
    /* align-items: center; */
    width: 100%;
}
.similar-cruises-list-item > div:not(:first-child):not(:last-child) > div:not(.similar-cruises-price-info) {
    flex-grow:1;
    border-right: 1px dashed #efefef;
}
.similar-cruises-list-item h4 {
    margin: 0;
}

.similar-cruises-list-item .item__icon {
    background-color: rgba(174, 152, 119, 0.3);
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 32px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.similar-cruises-list-item .price__item--sim .item__icon {
    margin-top: 4px;
}
.similar-cruises-list-item:hover {
    background: #f3f3f3;
}

.similar-cruises-list-item div:last-child {
    /* padding: 0 15px 0 0; */
    display: flex;
    justify-content: space-between;
}

.similar-cruises-list-item div:last-child a.similar-cruises-price-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 120px;
    height: 100%;
    background: var(--green);
    color: var(--white);
    transition: var(--transition);
    border-radius: 0 16px 16px 0;
}

.similar-cruises-list-item div:last-child a.similar-cruises-price-link:hover {
    background: var(--accent);
}

.similar-cruises-list-item .label {
    font-size: 12px;
    color: #112211;
}
.similar-cruises-list-item .item__text div:last-of-type {
    font-size: 18px;
    color: #112211;
    font-weight: 600;
}
 .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.similar-cruises-price-info span {
    /* font: normal normal bold 18px/22px var(--body-font); */
    font: normal normal normal 12px/20px var(--body-font);
    letter-spacing: -0.36px;
    color: var(--green);
}

 .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp h3 {
    font-size: 22px;
}

/* .similar-cruises-price-info span:last-child {
    font: normal normal normal 12px/20px var(--body-font);
    color: var(--text);
} */

.similar-cruises p:last-child {
    margin: 10px 0 0 0;
    text-align: left;
    font: normal normal normal 14px/16px var(--body-font);
    color: var(--ca-grey);
}

.similar-cruises-price-info .price__item {
    flex-direction: column;
    width: auto;
    flex-shrink: 0;
}

.similar-cruises-price-info .price__item h6 {
    color: var(--text);
}

.price__item .call-for-price {
    font-size: 16px;
}
.price__item .call-for-price a {
    color: var(--primary);
}
.price__item .call-for-price a:hover {
    color: var(--primary-darker);
}
.price__item .call-for-price a {
    color: var(--primary);
}

.similar-cruises-list-item a {
    color: var(--text);
    /* text-decoration: underline; */
}

.similar-cruises-list-item a:hover {
    color: var(--primary);
    transition: var(--transition);
}

.similar-cruises-list-item .similar-cruises-list-item-price sub {
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    bottom:10px;
}

.cruise__details .cruise__price h2 {
    font-family: var(--body-font);
    line-height: 0.9;
}

.cruise__details .cruise__price h2 sub {
    bottom: 0;
}

.similar-cruises-list-item .similar-cruises-price-info .inline-price-pp .pp-small-screens {
    display: none;
}

@media screen and (min-width: 920px) {
    .similar-cruises-list-header {
        border-bottom: 1px solid #E0E0E0;
        font-weight: 700;
        text-align: left;
        color: var(--white);
        min-height: 70px;
        background-color: var(--primary-darker);
    }

    .similar-cruises-list-header,
    .similar-cruises-list-item {
        display: grid;
        grid-template-columns: minmax(180px, 1.2fr) minmax(120px, 1fr) minmax(80px, 1fr) minmax(120px, 1fr) minmax(220px, 1.2fr) minmax(120px, 1fr);
        gap: 24px;
        padding: 0;
    }
    .similar-cruises-list-item > div:not(:first-child):not(:last-child) {
        padding: 32px 0;
    }
    .similar-cruises-list-item > div:first-child {
        padding: 32px 0 32px 32px;
    }

}

@media screen and (max-width: 920px) {
    #header-logo img {
        width: auto;
        max-width: 100%;
        height: 65px;
    }
    hgroup.sm-block-header {
        padding: 1.5rem 1rem 0;
    }
    hgroup.sm-block-header h4 {
        margin-bottom: 0;
    }
    #itinerary .itinerary-item {
        border: none;
        margin-bottom: 0;
    }
    #itinerary .itinerary__cta {
        margin-top: 24px;
    }
    #itinerary .itinerary-item .itinerary-header h3 {
        color: var(--text);
        font-size: 16px;
    }
    #itinerary .itinerary-item .itinerary-toggle {
        color: #C9C8C8;
        font-size: 14px;
    }
    .inner__card_content {
        padding: 0.75rem 1rem;
        margin-top: 32px;
    }
    .overview-text .inner__card_content {
        padding: 26px 20px;
    }
    .tbc__product_hero {
        height: 260px;
    }
    h2.section__title_accent {
        font-size: 22px;
        font-weight: 600;
        letter-spacing: -0.2px;
        margin-bottom: 1rem;
    }
    .similar-cruises-list-item {
        padding: 0;
    }
    .similar-cruises-list-item > div:not(:last-child):nth-child(odd) {
        padding-right: 24px;
    }
    .similar-cruises-list-item > div:not(:last-child):nth-child(even) {
        padding-left: 24px;
    }
    .similar-cruises-list-item div.similar__title {
        padding: 24px 24px 0;
    }
    .similar-cruises-list-item {
        row-gap: 28px;
        column-gap: 16px;
    }
    .similar-cruises-list-item .similar__title,
    .similar-cruises-list-item .similar-cruises-list-item-link{
        grid-column: span 2;
    }
    .similar-cruises-list-item .item__text div:last-of-type {
        font-size: 16px;
    }
    .similar-cruises-list-item .similar-cruises-list-item-link{
        height: 58px;
        border-radius: 0px 0px 16px 16px;
    }
    .similar-cruises-list-item div:last-child a.similar-cruises-price-link {
        border-radius: 0px 0px 16px 16px;
    }
    .similar-cruises-list-item > div:not(:first-child):not(:last-child) > div:not(.similar-cruises-price-info) {
        border-right: 0;
    }
    .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp h3 {
        font-size: 20px;
    }
    #footer__newsletter .frm_style_formidable-style.with_frm_style .form-field {
        margin-bottom: 1rem;
    }
    .overview {
        padding: 0;
    }
    section:last-of-type:not(.dtmg__header):not(.section-breadcrumbs) {
        margin-bottom: 62px;
        padding-bottom: 0;
    }
    .spacer-82 {
        padding-top: 32px;
    }
    .col-lg-offset-right-1 {
        margin-right: 0;
    }
    .overview-highlights {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    .inner__card_content.active .overview-highlights {
        max-height: 100%;
    }
    .inner__card_content--mobile {
        padding: 1.5rem;
        margin: 0;
        cursor: pointer;
        align-items: center;
        background: white;
        border-bottom: 1px solid #eee;
    }
    .inner__card_content--mobile:hover {
        background: rgba(244, 239, 234, 0.3);
    }
    .inner__card_content--mobile:nth-last-child(1) {
        border-bottom: none;
        padding: 1.5rem;
    }
    .inner__card_content--mobile hgroup h3 {
        color: var(--text);
        font-size: 16px;
    }
    .inner__card_content--mobile .itinerary-toggle {
        color: #C9C8C8;
        font-size: 14px;
    }
    .inner__card_content--mobile.active .itinerary-toggle {
        transform: rotate(180deg);
    }
}

@media screen and (max-width: 420px)  {
    .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp h3 {
        font-size: 16px;
    }
    .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp span.pp-small-screens {
        display: inline-block;
    }
    .similar-cruises-list-item .similar-cruises-price-info .inline-price-pp span.pp {
        display: none;
    }
    .similar-cruises-list-item > div:not(:last-child):nth-child(odd) {
        padding-right: 18px;
    }
    .similar-cruises-list-item > div:not(:last-child):nth-child(even) {
        padding-left: 18px;
    }
    .similar-cruises-list-item div.similar__title {
        padding: 18px 18px 0;
    }
}

.booking__sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.booking__summary {
    font-family: var(--body-font);
    background: var(--mint-green);
    color: var(--green);
    padding: 24px;
    border-radius: 8px;
}
.booking__summary h5 {
    font-size: 18px;
}
.booking__summary .overview-card-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.booking__summary .overview-card-item li h5 {
    font-size: 20px;
}
.booking__summary .overview-card-item p {
    font-size: 16px;
}
.booking__summary .summary__cabin__info img {
    width: 120px;
    height: 120px;
    border-radius: 8px;
    flex-shrink: 0;
}
.booking__confirmation .booking__overview_header .overview__thumb {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 8px;
    flex: 0 0 72px;
}
.booking__confirmation .inner__card {
    box-shadow: none;
    padding: 32px;
    background: var(--white);
    border-radius: 8px;
}
.booking__confirmation .inner__card ul.booking__details_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.booking__confirmation .inner__card ul.booking__details_list li {
    display: flex;
    gap:8px;
    align-items: flex-start;
}
.booking__confirmation .inner__card ul.booking__details_list img {
    width: 14px;
    margin-top: 2px;
}
.booking__confirmation .inner__card .inner__card_content {
    border: 1px dashed rgba(0, 0, 0, 0.20);
    padding: 48px 42px;
    border-radius: 8px;
    transition: all 0.3s ease;
}
.booking__confirmation .inner__card .inner__card_content hr {
    border-top: 1px dashed rgba(0, 0, 0, 0.20);
    margin: 28px 0;
    opacity:1;
}

.booking__additional_info {
    background: linear-gradient(to bottom, var(--green) 50%, #fafbfc 0%);
}
.booking__additional_info .form-wrapper {
    background: var(--white);
    padding: 60px 32px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.booking__additional_info .form-wrapper .nice-select {
    background: rgba(244, 239, 234, 0.255);
    border-color: rgba(244, 239, 234, 0.255);
    color: var(--text);
    transition: all 0.3s ease;
    padding-left: 0;
}
.booking__additional_info .form-wrapper .nice-select.open {
    background: var(--white);
    border-color: var(--green);
    padding-left: 0;
    color: var(--text);
}
.booking__additional_info .form-wrapper .nice-select .option.focus, .booking__additional_info .form-wrapper .nice-select .option.selected.focus, .nice-select .option:hover {
    background: var(--green);
    color: var(--white);
}
.booking__additional_info .form-wrapper form textarea {
    background: rgba(244, 239, 234, 0.255);
    border-color: rgba(244, 239, 234, 0.255);
    color: var(--text);
}
.booking__additional_info .form-wrapper .frm_style_formidable-style.with_frm_style .form-field textarea:focus {
    background: var(--white);
    border-color: var(--green);
    color: var(--text);
    box-shadow: none;
}
.booking__additional_info .form-wrapper .frm_style_formidable-style.with_frm_style .frm_primary_label {
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
}
.booking__additional_info .form-wrapper .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus {
    box-shadow: none;
    border: none;
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
}
.booking__additional_info .form-wrapper .frm_style_formidable-style.with_frm_style .frm_submit button {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
    border-radius: 30px;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
}
.image__wrapper_mix {
    position: relative;
    height: 620px;
    width: 100%;
    overflow: hidden;
}
/* .image__wrapper_mix img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
} */
.image__wrapper_mix img:first-child {
    border-radius: 24px;
    height: auto;
    width: 282px;
}
.image__wrapper_mix img:not(:first-child):not(:last-child) {
    position: absolute;
    top: 15%;
    right: 0;
    transform: translateX(-15%);
    height: auto;
    width: 232px;
    border-radius: 24px;
    border: 8px solid white;
}
.image__wrapper_mix img:last-child {
    position: absolute;
    bottom: 20%;
    left: 50%;
    transform: translate(-50%, -20%);
    height: 220px;
    width: auto;
    min-width:260px;
    border-radius: 24px;
    border: 8px solid white;
}
.booking__need_help {
    background: var(--accent-lighter);
}

/*
==========================================================================
CONTACT PAGE
==========================================================================
*/
section.contact__details {
    padding: 60px 0;
}
section.contact__details .contact-info-item .inner__wrapper {
    box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.1);
    padding: 32px;
    border-radius: 16px;
    height: 100%;
}
section.contact__details .contact-info-item .icon {
    width: 70px;
    height: 70px;
    border-radius: 70px;
    background: var(--green);
    color: var(--white);
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
}
section.contact__details .contact-info-item h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--green);
}
section.contact__details .contact-info-item p {
    margin-bottom: 10px;
}
section.contact__us_form {
    background: linear-gradient(to bottom, var(--green) 60%, #FAFBFC 0%);
    color: var(--white);
    padding: 82px 0 0;
}
section.contact__us_form .form__wrapper {
    background: var(--white);
    margin-top: 48px;
    padding: 60px 32px;
    border-radius: 16px;
    box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.1);
}
section.contact__us_form h2 {
    font-size: 48px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_submit button {
    width: auto;
    background-color: var(--green);
    transition: all .3s ease-in-out;
    border: 1px solid var(--green);
    text-transform: normal;
    font-weight: 600;
    font-size: 18px;
    height: 58px;
    border-radius: 999px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_submit .dtmg__btn.arrow--right::after {
    height: 18px;
    width: 18px;
    min-width: 18px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
    background-color: var(--accent);
    border-color: var(--accent);
}

section.contact__us_form .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]), .frm_full select {
    background: rgba(231, 231, 232, 0.48);
    border-color: rgba(231, 231, 232, 0.48);
    height: 56px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_full textarea {
    background: rgba(231, 231, 232, 0.48);
    border-color: rgba(231, 231, 232, 0.48);
    height: 180px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_required,
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_primary_label {
    color: var(--text)
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_primary_label {
    font-weight: 600;
    font-size: 14px;
    padding-bottom: 8px;
}
section.contact__us_form .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus,
section.contact__us_form .frm_style_formidable-style.with_frm_style .frm_full textarea:focus {
    border-color: var(--green);
    box-shadow: none;
}

section.green-slider {
    background: var(--green);
    color: var(--white);
    padding-top: 82px;
}
section.green-slider .block__header {
    margin-bottom: 30px;
}
section.green-slider .block__header h1 {
    margin: 0 0 16px;
}
section.green-slider .block__header .green-slider__description p {
    margin: 0;
}
#main.page-learn section.green-slider {
    padding-top: 30px;
}
section.green-slider .slider__image {
    height: 650px;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    position: relative;
}
section.green-slider .slider__controls .slick-dots {
    padding: 56px 0;
}
section.green-slider .slider__controls .slick-dots {
    position: initial;
    display: flex;
    justify-content: center;
    align-items: center;
}
section.green-slider .slider__controls .slick-dots li button::before {
    line-height: 1;
    transition: all .3s ease-in-out;
}
section.green-slider .slider__controls .slick-dots li.slick-active button::before {
    content: ' ';
    display: inline-block;
    width: 32px;
    height: 11px;
    border-radius: 32px;
    background-color: var(--white);
    transition: all .3s ease-in-out;
}

.info-cards-block .info-card {
    border-radius: 12px;
    overflow: hidden;
}
.info-cards-block .info-card .image__wrapper,
.info-cards-block .info-card img {
    border-radius: 0;
}
.info-card__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 90px;
    overflow: hidden;
}
.info-card__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 48px;
    overflow: hidden;
}
.info-card__title,
.info-card__title p {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    color: var(--green);
}

/*####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######



 ######  ########  ##     ## ####  ######  ########    ######## ##    ##  #######  ##     ## #### ########  ##    ##
##    ## ##     ## ##     ##  ##  ##    ## ##          ##       ###   ## ##     ## ##     ##  ##  ##     ##  ##  ##
##       ##     ## ##     ##  ##  ##       ##          ##       ####  ## ##     ## ##     ##  ##  ##     ##   ####
##       ########  ##     ##  ##   ######  ######      ######   ## ## ## ##     ## ##     ##  ##  ########     ##
##       ##   ##   ##     ##  ##        ## ##          ##       ##  #### ##  ## ## ##     ##  ##  ##   ##      ##
##    ## ##    ##  ##     ##  ##  ##    ## ##          ##       ##   ### ##    ##  ##     ##  ##  ##    ##     ##
 ######  ##     ##  #######  ####  ######  ########    ######## ##    ##  ##### ##  #######  #### ##     ##    ##



####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #######*/



#cruise-enquiry, #enquiry-top, #email__signup { opacity:0;visibility:hidden;display:flex;align-items:center;justify-content:center;position:fixed;z-index:1000;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);transition:all .3s; }
	#cruise-enquiry.open, #enquiry-top.open, #email__signup.open { opacity:1;visibility:visible;z-index: 99999; }
	#cruise-enquiry .content, #enquiry-top .content { position:relative;top:-30px;background:#fff;padding:20px;width:680px;max-height:90%;overflow:auto;display:flex;flex-direction:column; align-items:flex-start;transition:top .3s; }
		#cruise-enquiry.open .content, #enquiry-top.open .content { top:0; }

		#cruise-enquiry .cruise-preview { position:relative;margin:0; }
			#cruise-enquiry .cruise-preview .cruise-form { width:100%; }
			#cruise-enquiry .cruise-preview img { display:block;width:500px;height:auto; }
			#cruise-enquiry .cruise-preview-content { position:absolute;bottom:0;left:0;width:100%;background:rgba(0, 0, 0, 0.5);color:#fff;padding:10px; }
			#cruise-enquiry .cruise-preview-content h3 { margin:0 0 5px; }
			#cruise-enquiry .cruise-preview-content p { margin:0; }

		#cruise-enquiry p.description { color:var(--primary);font-size:22px;font-weight:700;margin:0 0 20px; }
		#cruise-enquiry p.close { cursor:pointer;color:var(--light-grey);font-size:16px;font-weight:700;margin:0 0 20px;transition:color .3s; }
			#cruise-enquiry p.close:hover { color:var(--grey); }

		#cruise-enquiry .frm_screen_reader,
		#cruise-enquiry .frm_verify,
		#cruise-enquiry .frm_primary_label,
		#cruise-enquiry .frm_error,
		.dtmg-popup-form .frm_error_style,
        .dtmg-popup-form .frm_screen_reader,
		.dtmg-popup-form .frm_verify,
		.dtmg-popup-form .frm_primary_label,
		.dtmg-popup-form .frm_error,
		.dtmg-popup-form .frm_error_style { display:none; }
		#cruise-enquiry .frm_form_field,
        .dtmg-popup-form .frm_form_field { width:100%;margin:0 0 10px; }
			#cruise-enquiry .frm_form_field input,
			#cruise-enquiry .frm_form_field textarea,
            .dtmg-popup-form .frm_form_field input,
			.dtmg-popup-form .frm_form_field textarea { font:16px/16px 'DM Sans', Helvetica, Arial, sans-serif;width:100%;border:0;border-radius:6px;padding:15px;border:1px solid var(--lightgrey);background:var(--lightgrey); }

			#cruise-enquiry .frm_blank_field input,
            .dtmg-popup-form .frm_blank_field input { border-color:var(--red); }

		#cruise-enquiry .frm_two_col,
        .dtmg-popup-form .frm_two_col { display:flex;align-items:center;justify-content:space-between; }
			#cruise-enquiry .frm_two_col .frm_form_field,
            .dtmg-popup-form .frm_two_col .frm_form_field { width:49%; }

		#cruise-enquiry .frm_submit,
        .dtmg-popup-form .frm_submit { text-align:center;margin:16px 0 0; }
			#cruise-enquiry .frm_submit button,
            .dtmg-popup-form .frm_submit button { margin:0; }
			#cruise-enquiry .content,
            .dtmg-popup-form .content { border-radius: 8px; }
			#cruise-enquiry .frm_three_col,
            .dtmg-popup-form .frm_three_col {
				display: flex;
				flex-direction: column;
			}
			#cruise-enquiry .frm_field_text_xs,
            .dtmg-popup-form .frm_field_text_xs {
				font-size: var(--small-font-size);
			}
			#cruise-enquiry .frm_two_col,
            .dtmg-popup-form .frm_two_col {
				display: flex;
				flex-direction: column;
				gap: 1rem;
				font-family: var(--body-font);
			}
			#cruise-enquiry h4,
            .dtmg-popup-form h4 {
				font-weight: bold;
				font-size: var(--h3-font-size);
			}
			#cruise-enquiry #frm_field_25_container .frm_opt_container,
            .dtmg-popup-form .frm_opt_container {
				display: flex;
				align-items: center;
				gap: 2rem;
			}
			#cruise-enquiry #frm_field_25_container label,
            #cruise-enquiry #frm_field_25_container label {
				display: flex;
				gap: 4px;
				font-size: var(--small-font-size);
			}
			#cruise-enquiry .frm_form_field input[type=checkbox],
            .dtmg-popup-form .frm_form_field input[type=checkbox] {
				width: 16px;
				height: 16px;
				outline: 0;
				border-radius: 6px;
				padding: 0;
				border: 1px solid var(--lightgrey);
				background: var(--lightgrey);
			}
			@media screen and (min-width: 768px){
				#cruise-enquiry .frm_three_col,
                .dtmg-popup-form .frm_three_col {
					flex-direction: row;
					gap:.5rem;
					align-items: center;
					justify-content: space-between;
				}
				#cruise-enquiry .frm_two_col,
                .dtmg-popup-form .frm_two_col {
					flex-direction: row;
					align-items: center;
					justify-content: initial;
					gap: 1rem;
				}
			}

/*
==========================================================================
Cruise Enquiry pop up
==========================================================================
*/

.cruise-preview,
.cruise-form {
	width: 100%;
}

#cruise-enquiry .details__item i {
	color: var(--blue);
	display: inline-block;
	width: 16px;
	margin-top: 4px;
}

#cruise-enquiry .details__item {
	font-family: var(--body-font);
}

#cruise-enquiry .header,
.dtmg-popup-form .header {
	display: flex;
	justify-content: space-between;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-grey);
	width: 100%;
	align-items: center;
}
.dtmg-popup-form h1 {
    color: var(--green);
}
#cruise-enquiry .header h3,
.dtmg-popup-form .header h3 {
	font: normal normal 900 28px/28px 'DM Sans';
	color: var(--secondary);
	margin-bottom: 0;
}

#cruise-enquiry .header span,
.dtmg-popup-form .header span {
	background-color: var(--green);
	border-radius: 100%;
	color: var(--white);
	width: 38px;
	height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
    flex-shrink: 0;
}

#cruise-enquiry .cruise-preview,
.dtmg-popup-form .cruise-preview {
	margin-top: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-grey);
	display: flex;
	gap: 20px;
}
#cruise-enquiry .cruise-preview .form__card, .dtmg-popup-form .cruise-preview .form__card {
    width: 100%;
}

#cruise-enquiry .cruise-preview span {
    display: flex;
    align-items: center;
}

#cruise-enquiry .cruise-form,
.dtmg-popup-form .cruise-form {
	margin-top: 12px;
}

#cruise-enquiry .cruise-form .frm_message {
	display: none !important;
}

#cruise-enquiry .frm_form_field .frm_opt_container,
.dtmg-popup-form .frm_form_field .frm_opt_container {
	display: flex;
	gap: 36px;
}

#cruise-enquiry .frm_form_field .frm_opt_container .frm_checkbox,
.dtmg-popup-form .frm_form_field .frm_opt_container .frm_checkbox {
	margin-bottom: 0;
}

#cruise-enquiry .frm_form_field .frm_opt_container .frm_checkbox label,
.dtmg-popup-form .frm_form_field .frm_opt_container .frm_checkbox label {
	font: normal normal normal 14px/20px 'DM Sans';
	letter-spacing: 0px;
	color: #999999;
	height: 30px;
}

#cruise-enquiry .frm_form_field.cruise-link,
.dtmg-popup-form .frm_form_field.cruise-link {
    display: none;
}

.with_frm_style .frm_checkbox input[type=checkbox]:not([disabled]):checked {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
}
.with_frm_style .frm_form_fields > fieldset {
    padding:0;
}

#cruise-enquiry .frm_form_field input[type=checkbox],
.dtmg-popup-form .frm_form_field input[type=checkbox] {
	border-radius: 0;
	border: 1px solid #707070;
	background: transparent;
}

#cruise-enquiry .frm_form_fields .section-title,
.dtmg-popup-form .frm_form_fields .section-title {
	font: normal normal 900 18px/18px 'DM Sans';
	letter-spacing: 0px;
	color: var(--secondary);
    margin-bottom: 0;
    margin-top: 1rem;
}

#cruise-enquiry .frm_form_field input,
#cruise-enquiry .frm_form_field select,
#cruise-enquiry .frm_form_field textarea,
.dtmg-popup-form .frm_form_field input,
.dtmg-popup-form .frm_form_field select,
.dtmg-popup-form .frm_form_field textarea {
	background: #FFFFFF;
	border: 1px solid #CED4DA;
	border-radius: 4px;
	padding: 8px 14px;
}

#cruise-enquiry .frm_form_field input[type="text"],
#cruise-enquiry .frm_form_field input[type="email"],
#cruise-enquiry .frm_form_field select,
.dtmg-popup-form .frm_form_field input[type="text"],
.dtmg-popup-form .frm_form_field input[type="email"],
.dtmg-popup-form .frm_form_field input[type="tel"],
.dtmg-popup-form .frm_form_field select {
    height: 42px;
}

#cruise-enquiry .frm_form_field textarea,
.dtmg-popup-form .frm_form_field textarea {
	resize: none;
}

#cruise-enquiry .frm_form_field .nice-select,
.dtmg-popup-form .frm_form_field .nice-select {
	background: #FFFFFF;
	border: 1px solid #CED4DA;
	/* border-radius: 25px; */
}

#cruise-enquiry .frm_form_field .nice-select input,
.dtmg-popup-form .frm_form_field .nice-select input {
	border: none;
	padding: 0;
	height: 100%;
}

.with_frm_style input[type=radio]:focus,
.with_frm_style input[type=checkbox]:focus,
#cruise-enquiry .frm_form_field .nice-select input:focus,
#cruise-enquiry .frm_form_field .nice-select input:focus-visible,
.dtmg-popup-form .frm_form_field .nice-select input:focus,
.dtmg-popup-form .frm_form_field .nice-select input:focus-visible {
	box-shadow: none !important;
}

#cruise-enquiry .frm_submit button,
#enquiry-top.dtmg-popup-form .frm_submit button {
	font-family: var(--body-font);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.2px;
	color: #FFFFFF;
	background-color: var(--green);
    border: none;
	width: 100%;
	border-radius: 4px;
    height: 50px;
	padding: 8px;
	transition: all .3s ease-in-out;
}

#cruise-enquiry .frm_submit button:hover,
#enquiry-top.dtmg-popup-form .frm_submit button:hover {
	background-color: var(--accent);
}
.dtmg-popup-form .frm_style_formidable-style.with_frm_style .form-field {
    margin-bottom: 10px;
}

/*Thank you popup*/
#enquiry__thank_you.open .thank__you_popup {
	top: 0;
}

#enquiry__thank_you.open {
	opacity: 1;
	visibility: visible;
}

#enquiry__thank_you {
	opacity: 0;
	visibility: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	transition: all .3s;
}


#enquiry__thank_you .thank__you_popup {
	position: relative;
	top: -30px;
	background: #fff;
	width: 90%;
	max-width: 680px;
	max-height: 90%;
	overflow: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: top .3s;
	border-radius: 5px;
}

#enquiry__thank_you .thank__you_popup .close {
	position: absolute;
	right: 15px;
	top: 15px;
	display: flex;
	width: 38px;
	height: 38px;
	color: white;
	align-items: center;
	border-radius: 4px;
	background-color: var(--primary);
	border-radius: 100%;
	justify-content: center;
	flex: 0 0 auto;
	z-index: 20;
	cursor: pointer;
    transition: all .4s ease-in-out;
}

#enquiry__thank_you .thank__you_popup .close:hover {
    background-color: var(--secondary);;
}

#enquiry__thank_you .thank__you_popup .image__inner {
	border-radius: 5px 5px 0 0;
    width: 100%;
	min-height: 364px;
	max-height: 364px;
}

#enquiry__thank_you .thank__you_popup .image__inner img {
    width: 100%;
}

#enquiry__thank_you .thank__you_popup .image__inner h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	color: var(--white);
	z-index: 10;
	font: italic normal normal 45px/48px 'Playfair Display';
	transform: translatex(-50%) translateY(-50%);
}

#enquiry__thank_you .popup__body {
	padding: 40px;
	width: 100%;
	display: flex;
	flex-direction: column;
	text-align: center;
}

#enquiry__thank_you .popup__body h2 {
	font: normal normal 900 28px/28px 'DM Sans';
	color: var(--secondary);
}

#enquiry__thank_you .popup__body p {
	font: normal normal normal 16px/24px 'DM Sans';
	color: var(--black);
}

#enquiry__thank_you .popup__body a {
	margin: auto;
}

#enquiry__thank_you .popup__body a button {
	font: normal normal 500 15px/20px 'DM Sans';
}
