/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

#sticky-bottom {
	box-shadow: 0 0 .3rem 0 rgba(0, 0, 0, .3);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
}

#sticky-bottom.visible {
  opacity: 1;
  visibility: visible;
}

.gb-element-f54bb48d::after {
	content:'';
	position: absolute;
    width: 20%;
    background: var(--hlh-gray);
    right: 0px;
    top: 0px;
    height: 100%;
}

.wishlist-btn,
.wishlist-link {
  background: none;
  border: none;
  cursor: pointer;
}
.wishlist-btn .heart-icon {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}
.wishlist-btn.in-wishlist .heart-icon {
  fill: red;
  stroke: red;
}
.wishlist-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.wishlist-count {
  font-size: 0.8em;
  background: red;
  color: #fff;
  border-radius: 50%;
  padding: 2px 6px;
  margin-right: 4px;
  min-width: 1.2em;
  text-align: center;
}


.facetwp-sort-radio {
    display: flex;
	gap: 5px;
}

.facetwp-radio {
    background-image: none !important;
    padding: 13px 15px !important;
    border: 1px solid #D5CFC8!important;
	margin: 0!important;
	font-size: 14px;
    font-weight: 600;
    line-height: 1;
	border-radius: 100px;
}

.facetwp-radio.checked {
    background: #fff!important;
}

.flickity-page-dots {
	display: none;
}

.gchoice {
	flex: 1!important;
	height: 100%!important;
}

.checkout-left {
	border: 1px solid #e7e9ec;
    border-radius: 10px;
    box-shadow: 0 -4px 0 0 rgba(5, 52, 89, .0588235294) inset, 0 4px 20px -4px rgba(7, 86, 148, .1019607843);
}

.order-table {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 .25rem .5rem rgba(0,0,0,.05);
}

.order-header {
    border-radius: 5px 5px 0 0;
	display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    color: #122140;
    font-size: 15px;
    font-weight: 400;
    line-height: 150%;
}

.table-row {
	padding: 15px 20px;
    border: 1px solid #e7e9ec;
    width: 100%;
}

.cruise-review-single {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cruise-review-single span {
    margin-left: 10px;
}

.dynamic-featured-img {
	opacity: 1;
  	transition: opacity 0.3s ease-in-out;
}
/* Popup Styles */

.room-popup {
	display: none;
    position: fixed;
    z-index: 99999; /* Ensure the popup stays on top */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Background dimming */
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Prevent scrolling of the entire page when popup is open */
}

.room-popup-content {
    height: 80%; /* Set height to allow scrolling within popup */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	background: #fff;
    max-width: 780px;
	width: 100%;
    border-radius: 24px;
    padding: 40px 24px;
	position: relative;
}

.room-popup-inner-content {
	overflow-y: auto; /* Enable scrolling if content overflows */
}

.close-popup-btn {
	position: absolute;
	top: 10px;
	right: 20px;
}

.cruise-nav-bar {
    max-width: var(--gb-container-width);
    margin: 0 auto;
	padding-left: 20px;
}

nav.rank-math-breadcrumb span.separator {
	opacity: 50%;
}

nav.rank-math-breadcrumb a {
    color: #000;
	opacity: 50%;
}

.custom-cruise-menu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style-type: none;
    gap: 2em;
}

.custom-cruise-menu ul li a {
	color: #fff;
	font-family: Satoshi;
    font-size: 18px;
    font-weight: 500;
}

.bluehead {
	color: var(--005671);
}

.booking-detail ul {
	margin: 0px;
}

h4.final_price span {
	font-size: 17px;
	color: #222;
}

.gradient-text {
    background-image: linear-gradient(to right, #E1A905, #F8E193);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 24px;
    font-weight: bold;
}

.ribbon {
    position: absolute;
    top: 0px;
    left: 0px;
    color: #fff;
    background: var(--base);
    font-size: 11px;
    padding: 3px 5px;
    text-align: center;
	border-radius: 5px 0px 0px 0px;
	display: flex;
	gap: 5px;
	align-items: center;
}

.label {
	color: var(--base);
}

.private-link {
    color: inherit;
	text-decoration: underline;
	font-weight: bold;
}

.private-link:hover {
	color: var(--base);
}

.save-up {
	color: #5F646D;
}

.center-dot {
    display: flex;
    align-items: center; /* Vertically center the content */
    justify-content: center; /* Horizontally center the content */
    font-size: 8px; /* Larger font size for visibility */
  }

input.facetwp-slider-reset {
    box-shadow: none;
    padding: 5px 10px;
    margin-top: 10px;
}

.facetwp-slider-wrap {
    padding-top: 10px;
}

.noUi-horizontal {
    height: 5px!important;
}

.noUi-horizontal .noUi-handle {
    border-radius: 20px!important;
    top: -7px!important;
}
.noUi-target {
    border: none!important;
    padding: 0px 11px!important;
}

.noUi-connect {
	background: var(--base)!important;
}

.facetwp-checkbox {
    background: url('data:image/svg+xml,<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="20" height="20" rx="4" stroke="%23D5CFC8"/></svg>') 0 50% no-repeat!important;
    background-size: 20px!important;
	padding-left: 30px!important;
	margin-bottom: 10px!important;
}

.facetwp-checkbox.checked {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 4C0 1.79086 1.79086 0 4 0H16C18.2091 0 20 1.79086 20 4V16C20 18.2091 18.2091 20 16 20H4C1.79086 20 0 18.2091 0 16V4Z" fill="%23005671"/><path d="M15.6667 6L8.33333 13.3333L5 10" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>')!important;
}

.tour-box {
    margin-bottom: 20px;
    border-radius: 10px;
    border: 1px solid var(--global-color-10);
	display: grid;
	background: #fff;
	color: inherit;
	position: relative;
}

.tour-box img {
    object-fit: cover;
    width: 100%;
	height: 100%;
    border-radius: 10px 10px 0px 0px;
}

.tour-info {
	padding: 20px;
}

.tour-info h3 {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 17px;
}

.tour-info span.guarantee {
	background: var(--base);
	color: #fff;
	padding: 5px;
	font-size: 11px;
}

.tour-info span.nofee {
	background: #EFEFF0;
	padding: 5px;
	font-size: 11px;
}

.tour-destinations {
	margin-top: 10px;
	display: flex;
    align-items: center;
	font-size: 14px;
}

.tour-destinations span {
	color: var(--base);
}

ul.tour-spec {
	margin: 0px;
	padding: 0px;
	list-style: none;
	margin-top: 30px;
	font-size: 14px;
}

ul.tour-spec li {
	border-bottom: 1px dashed #D2D4D8;
	display: flex;
	gap: 5px;
	padding: 5px 0px;
}

ul.tour-spec li .label {
	color: #5F646D;
	width: 35%;
}

ul.tour-spec li .content {
	width: 65%;
}

.tour-price {
	padding: 20px;
}

.price-info {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
}

.price-info span {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 14px;
}

.original_price {
	font-size: 20px;
	color: #000;
}

.final_price {
	font-size: 30px;
	font-weight: bold;
}

.day-amount {
	font-size: 30px;
	font-weight: bold;
	color: #000;
}

.price-amount {
	font-size: 30px;
	font-weight: bold;
	color: #000;
}

.price-info > div {
	border: 1px solid #EFEFF0;
	padding: 20px 10px;
	flex: 1;
	color: #5F646D;
}

.tour-price .gb-button {
	width: 100%;
    justify-content: center;
}

.highlight-box {
	cursor: pointer;
}

.highlight-box::after {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 1) 100%);
	border-radius: 10px;
}

.highlight_description {
	display: block; /* Change to block to allow for opacity transition */
  	opacity: 0;
  	transition: opacity 1s ease; /* Increase the duration to 1s for a slower transition */
  	height: 0;
  	overflow: hidden;
	z-index: 1;
}

.highlight-box:hover .highlight_description {
  opacity: 1;
  height: auto; /* Adjust the height as necessary */
}

.tippy-box[data-theme~='white'] {
  	background-color: #fff;
  	color: var(--contrast);
	box-shadow: 1px 0 12px rgba(0,0,0,.13);
}

.tippy-box[data-theme~='white'][data-placement^='top'] > .tippy-arrow::before {
  	border-top-color: white;
}
.tippy-box[data-theme~='white'][data-placement^='bottom'] > .tippy-arrow::before {
  	border-bottom-color: white;
}
.tippy-box[data-theme~='white'][data-placement^='left'] > .tippy-arrow::before {
  	border-left-color: white;
}
.tippy-box[data-theme~='white'][data-placement^='right'] > .tippy-arrow::before {
  	border-right-color: white;
}

.swiper-cruise .swiper-slide {
	height: auto;
}

.secondary-navigation .menu-toggle {
      display: none;
}

li.active a {
  	border-bottom: 1px solid #fff;
}

body.single-cruise .navigation-stick #primary-menu {
    display: none!important;
}

body.single-cruise #secondary-navigation {
	display: none;
}

body.single-cruise .navigation-stick #secondary-navigation {
	display: block!important;
	padding: 10px 0px;
}

.grid-cols-4 {
	display: grid;
    gap: 20px;
}

.flyout-row h3 {
	font-size: 17px;
}

.facetwp-facet {
    margin-bottom: 0px!important;
}

.inside-left-sidebar .facetwp-facet {
    margin-bottom: 20px!important;
}

.facetwp-selections {
    margin-left: auto;
}

.facetwp-type-reset {
	border-bottom: 1px solid rgba(0,0,0,0.06);
	padding-bottom: 15px;
}

a.facetwp-reset {
    color: #000;
	font-weight: 600;
	background: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.75039 15.7484L15.9754 9.52344C16.7254 8.84844 16.7254 7.72344 15.9754 6.97344L11.7754 2.77344C11.1004 2.02344 9.97539 2.02344 9.22539 2.77344L2.02539 9.97344C1.27539 10.6484 1.27539 11.7734 2.02539 12.5234L5.25039 15.7484H16.5004M3.75039 8.24844L10.5004 14.9984" stroke="black" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat;
	background-size: 18px !important;
    padding-left: 25px !important;
}

.swiper-b-next, .swiper-b-prev, .swiper-u-next {
    cursor: pointer;
	transition: transform 0.3s ease-in-out;
}

.swiper-b-next:hover, .swiper-b-prev:hover, .swiper-u-next:hover {
  	transform: scale(1.2); 
	transform-origin: left center; 
}

.box {
    background: #fff;
    display: flex;
    flex-direction: column;
	border-radius: 10px;
	color: inherit;
}

.p2 {
	padding: 20px;
}

.box h4 {
	color: var(--contrast);
	padding: 0px 20px;
}

.box img {
	margin-bottom: 20px;
	border-radius: 10px 10px 0px 0px;
}

.mobile-toggle-content {
    display: none;
}

.review-container .gv-diy-view {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border-bottom: 1px solid #ddd;
    padding: 20px 0px;
}

.review-author {
	display: flex;
	flex-direction: column;
}

.popup.popup {
	font-family: inherit!important;
}

.popup.popup .popup-header {
    padding: 20px;
	justify-content: space-between!important;
    gap: 40px;
	text-align: left!important;
	height: auto!important;
	align-items: flex-start!important;
	margin: 0px!important;
}

.popup-close {
    position: relative!important;
    line-height: 100%!important;
	right: 0px!important;
    font-size: 40px!important;
}

.popup-title {
	font-size: 26px!important;
	margin-top: 0px!important;
}

.popup.popup .popup-content {
	height: 80%!important;
	overflow-y: auto;
}

.popup.popup .popup-body {
	font-size: inherit!important;
	text-align: left!important;	
	margin: 0!important;
	padding: 0px 20px!important;
}

/* cruise details */ 
.grid-gallery {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 10px;
}

.rank-math-question {
    cursor: pointer;
    position: relative;
    display: block;
	background: rgba(124, 124, 124, 0.1);
    margin-bottom: 20px;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 5px;
    gap: 20px;
	font-size: 18px;
}

.rank-math-question:after {
    content: "\2715";
    transform: rotate(-45deg);
    transition: all 150ms ease-in-out;
}

.rank-math-question.collapse:after {
    transform: rotate(0deg);
}

.rank-math-question:hover {
    opacity: 0.8;
}

.cruise-box-img {
    position: relative;
	overflow: hidden;
}

.cruise-box-img img {
	width: 100%;
	height: 100%;
	transition: transform 0.3s ease-in-out;
	display: block;
}

.cruise-box-img:hover img {
  	transform: scale(1.3);
	border-radius: 4px 4px 0px 0px;
}

.swiper-cruise {
	position: relative;
}

.wp-block-rank-math-toc-block {
    padding: 40px;
    background: var(--contrast-3);
    margin-bottom: 20px;
    border-radius: 10px;
}

.wp-block-rank-math-toc-block ul {
    list-style: none;
    margin: 0;
}

.wp-block-rank-math-toc-block ul li>ul {
    margin-left: 1.5em;
}

.flyout-row h5 {
	margin-bottom: 10px;
}

.flyout-row .flyout-item {
	margin-bottom: 20px;
}

.shadow2 {
	border-radius: 10px;
	border: 1px solid #e2e7ee;
    box-shadow: 0 2px 4px rgba(8,8,61,.1);
    box-sizing: border-box;
}

.top-section {
	background: radial-gradient(65.74% 100% at 50% 0,#f1f4f9 0,#fff 100%);
}

.image-choices-field {
    max-width: 100%;
    margin-right: -3%;
}
.image-choices-field .image-choices-choice,
.gform_wrapper .gfield.image-choices-field li.image-choices-choice {
    display: inline-block;
	position: relative;
	padding: 13px !important;
	overflow: visible;
	margin-bottom: 80px !important;
	border-color: #d8e3ec;
	transition: all 0.3s;
	border-radius: 3px;
	width: 100%;
	margin-right: 3% !important;
}
.image-choices-field .image-choices-choice,
.image-choices-field .image-choices-choice.image-choices-choice-hover {
	background-color: #f6fbfd;
}
.image-choices-field .image-choices-choice:after {
	content: "\2714" !important;
	width: 40px;
	height: 40px;
	overflow: hidden;
	border-radius: 50%;
	pointer-events: none;
	opacity: 0;
	transition: all .3s;
	text-align: center;
	line-height: 40px;
	color: #fff;
	display: block;
	position: absolute;
	left: 50%;
	top: 60%;
	margin: -20px 0 0 -20px;
	background-color: #00a7f7;
}
.image-choices-field .image-choices-choice.image-choices-choice-other:after {
	top: 70%;
}
.image-choices-field .gfield_label {
	font-size: 1.6em;
	margin-bottom: 1.6em;
	display: block;
}
.image-choices-field .image-choices-choice label,
.gform_wrapper .gfield.image-choices-field li.image-choices-choice label {
	padding: 0 !important;
	display: block;
}
.image-choices-field .image-choices-choice.image-choices-choice-focus label {
    border-color: #00a7f7;
}
.image-choices-field .gfield_radio .image-choices-choice.image-choices-choice-focus.image-choices-choice-selected label {
    border-color: transparent;
}
.image-choices-field .image-choices-choice-image-wrap {
	background-size: cover;
	width: 100%!important;
	height: auto!important;
	padding-bottom: 100%;
}
.image-choices-field.image-choices-show-labels .image-choices-choice-text {
	padding: 7px 13px;
	margin: 0;
	position: absolute;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
	bottom: -50px;
	transition: all 0.3s;
}
.image-choices-field.image-choices-show-labels .image-choices-choice-text,
.image-choices-field.image-choices-show-labels .image-choices-choice-price {
	font-size: inherit;
}
.image-choices-field .image-choices-choice.image-choices-choice-selected,
.image-choices-field .image-choices-choice.image-choices-choice-selected.image-choices-choice-hover {
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.2);
	border-color: #00a7f7;
	background-color: #fff;
}
.image-choices-field .image-choices-choice.image-choices-choice-selected:after {
	color: #fff;
	opacity: 1;
	top: 50%;
}
.image-choices-field .image-choices-choice.image-choices-choice-other.image-choices-choice-selected:after {
	top: 60%;
}
.image-choices-field .image-choices-choice.image-choices-choice-selected .image-choices-choice-text {
	background-color: #00a7f7;
	color: #fff;
}

@media only screen and (max-width: 736px) {

	.image-choices-field .image-choices-choice, 
	.gform_wrapper .gfield.image-choices-field li.image-choices-choice {
		width: 48%;
		margin-right: 2% !important;
	}

}

@media only screen and (max-width: 480px) {

	.image-choices-field .image-choices-choice, 
	.gform_wrapper .gfield.image-choices-field li.image-choices-choice {
		width: 98%;
		margin-right: 2% !important;
	}

}

.gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
    background: #034bd5!important;
    color: #fff!important;
}

.gform_wrapper.gravity-theme .gf_step_number {
    border: 2px solid #034bd5!important;
}

body.page-id-9784 {
	background: var(--contrast-3);
}

.info-box {
	display: flex;
	flex-wrap: wrap;
	max-width: 900px;
	align-items: center;
}

.info-box .info-img {
	flex: 1;
	width: 50%;
}


.info-box .info-img img {
	border-radius: 50px;
}

.info-box .info-content {
	flex: 1;
	width: 50%;
	color: #fff;
	text-align: left;
	margin-left: 40px;
}

.info-box .info-content a {
	color: 	var(--contrast-2);
}

body #gform_wrapper_9 .gform_page_footer {
    text-align: center;
}

.visiting {
	font-size: 13px;
    padding-top: 10px;
}

.booking-conditions {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	gap: 20px;
}


.booking-conditions svg {
	margin-right: 5px;
}

.booking-conditions a {
	display: flex;
	border-radius: 4px;
    box-shadow: 0 1px 8px rgb(0 0 0 / 20%);
    box-sizing: border-box;
	flex: 1;
	cursor: pointer;
    align-items: center;
    padding: 20px;
}

.booking-conditions a span {
	color: #000;
}

.error404 .search-form {
    display: none;
}

.cruise-filter-hr {
	display: flex;
	gap: 20px;
}

.cruise-filter-hr .facetwp-facet {
	width: 15%;
	margin-bottom: 20px!important;
}

.cruise-filter-hr .facetwp-type-sort {
    margin-left: auto;
    text-align: right;
}

.facetwp-type-sort select, button.facetwp-load-more, .facetwp-selections .facetwp-selection-value {
    border-radius: 100px;
    background: transparent;
    border: 1px solid #D5CFC8;
	font-size: 14px;
	font-weight: 600;
	color: #000;
}

.facetwp-selections .facetwp-selection-value {
	padding: 13px 25px 13px 15px!important;
	background-position: right 10px center!important;
	
}

span.facetwp-selection-label {
    display: none;
}

.facetwp-selections ul {
	margin: 0px;
}

body.cruise-category select.facetwp-dropdown {
	background-color: #fff;
    border-color: #fff;
    border-radius: 10px;
}

.cruise-box-hr {
	margin-bottom: 30px;
	border-radius: 10px;
    border: 1px solid #e2e7ee;
    box-shadow: 0 2px 4px rgb(8 8 61 / 10%);
    box-sizing: border-box;
}

.cruise-box-hr img {
	width: 100%;
}

.cruise-box-hr a {
	color: #000;
}

.cruise-img {
	position: relative;
}

.itineraries-list {
    display: flex;
    flex-wrap: wrap;
	gap: 20px;
}

.itineraries-list > a {
	flex: 1;
	position: relative;
	cursor: pointer;
	margin-bottom: 20px;
}

.itineraries-list > a:after {
	content: '';
	position: absolute;
	background: #000;
	opacity: 0.3;
    width: 100%;
    left: 0px;
    top: 0px;
    height: 100%;
}

.itineraries-list > a > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 20px;
	font-family: Epilogue, sans-serif;
    font-weight: 600;
	color: #fff;
	text-align: center;
	z-index: 1;
}


.facetwp-counter {
    display: none;
}

.facetwp-sort {
    text-align: right;
	margin-bottom: 20px;
}

select.facetwp-sort-select {
	background: #fff;
	border: 1px solid #bdbdbd;
    border-radius: 3px;
}

.gform_wrapper li.hidden_label input {
	margin: 0px!important;
}

.cruise-box {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
	height: 100%;
}

.cruise-box-img {
	position: relative;
}

.cruise-box-img a {
	height: 100%;
	display: inline-flex;
}

.cruise-box-img img {
	object-fit: cover;
	border-radius: 4px 4px 0px 0px;
}

.cruise-box-content {
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
}

.cruise-box, .content-box, .cruise-list > .listing-item {
	border-radius: 10px;
	border: 1px solid #e2e7ee;
    box-shadow: 0 2px 4px rgba(8,8,61,.1);
    box-sizing: border-box;
	
}

.cruise-box {
	background: #fff;
}

.cruise-route {
    background: var(--global-color-8);
    display: inline-flex;
	align-items: center;
    padding: 5px 10px;
	margin: 10px 10px 0px 10px;
    border-radius: 20px;
	gap: 5px;
	font-size: 12px;
	color: var(--contrast);
}

.cruise-box h3 {
	margin-bottom: auto;
	color: var(--contrast);
	font-size: 17px;
	padding: 20px 10px 0px 10px;
}

span.badge a {
	color: #fff;
}

span.badge.blue {
    background-color: #5aa0e5;
	color: #fff;
	font-size: 12px;
	padding: 2px 3px;
	border-radius: 3px;
	width: fit-content;
}

.cruise-box .cruise-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 12px;
	margin: 10px;
	color: var(--contrast);
}

.cruise-box .cruise-meta .price {
	color: var(--base);
	font-size: 20px;
	text-align: right;
}

.logos {
	display: inline-flex;
    justify-content: space-evenly;
}

.logos img {
	width: 120px;
	height: 120px;
	margin: 0px 20px;
}

.cruise-heading {
	padding: 20px;
}

.cruise-heading span.badge {
	margin-right: 10px;
}

.gallery-cols-3 {
    width: 33.33%;
	display: flex;
    flex-wrap: wrap;
}



ul.room-spec {
	margin-left: 10px;
	list-style-type: none;
}

#category-section {
	display: none;
}

#category-section h2 {
	color: #fff;
}

.category-list {
	display: flex;
}

.category-box {
	flex: 1;
	min-height: 500px;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
	cursor: pointer;
	border: 3px solid #034bd5;
	position: relative;
}

.category-box:hover {
    border: 3px solid #fcbf30;
}

.category-box p {
    z-index: 1;
	text-shadow: 0 2px 4px rgba(0,0,0,.5);
	font-size: 22px;
	margin: 0px;
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.2);
    cursor: pointer;
}

.overlay:hover {
	background-color: transparent;
}


/* Go from zero to full opacity */
@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}
.rotate {
    -moz-transition: all .1s linear;
    -webkit-transition: all .1s linear;
    transition: all .1s linear;
}
.rotate.down {
    -moz-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}


@media (max-width: 768px) {

.room-popup-content {
	height: 100%;
	border-radius: 0px;
}
	
.cruise-item .title {
	padding: 10px 20px;
	display: block;
}	
	
.cruise-item .title a {
	font-size: 20px;
}

.cruise-list {
  	grid-template-columns: repeat(1, 1fr);
}
	
	.bottom-area {
	padding: 30px 10px 30px 10px;
}
	
	body.cruise-category .cruise-box .cruise-meta .price {
		text-align: left;
	}
	
	.tabcontent_1 ul, .mobile-toggle-content ul {
	margin-left: 2em;
	}
	
.swiper-testimonial .swiper-slide {
	flex-direction: column;
}
}

@media (min-width: 769px) {
}

@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
}
@media (min-width: 1025px) {

.cruise-images {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
    margin: auto;
    position: relative;
}
	
.cruise-images .carousel-cell {
    overflow: hidden;
    border-radius: 10px;
}

.cruise-images .carousel-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}

.cruise-images .carousel-cell:first-child {
    grid-column: span 2; /* Takes 2 out of 4 columns */
    grid-row: span 2; /* Takes 2 rows */
}

/* Second and third images placed on top-right */
.cruise-images .carousel-cell:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
}

.cruise-images .carousel-cell:nth-child(3) {
    grid-column: 4;
    grid-row: 1;
}

/* Fourth and fifth images placed below 2 and 3 */
.cruise-images .carousel-cell:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
}

.cruise-images .carousel-cell:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
}

.cruise-images .carousel-cell:nth-child(n+6) {
    display: none;
}
	
.view-more {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 8px 15px;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background 0.3s;
}

.view-more:hover {
    background: rgba(0, 0, 0, 0.9);
}

.view-more span {
    display: flex;
    align-items: center;
}

.view-more::before {
    content: "📷"; /* Camera Icon */
    font-size: 16px;
}
	
.swiper-cruise .swiper-button-prev {
    left: -20px!important;
}

.swiper-cruise .swiper-button-next {
    right: -20px!important;
}
	
.grid-cols-4 {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
	grid-gap: 20px;
}
	
.grid-cols-5 {
	display: grid;
    grid-template-columns: repeat(5, 1fr);
	grid-gap: 20px;
}
	
.review-container .gv-diy-view {
	flex-direction: row;
}

.review-author {
	width: 20%;
    align-items: center;
}
	
.review-content {
	width: 80%;
}
	
body.single-post .swiper-cruise {
	margin-left: -160px;
	margin-right: -160px;
}
	
.relative .swiper {
    padding: 10px;
}
	
	.booking-conditions a {
		max-width: 50%;
	}
	
	 .modal {
      padding-top: 100px; /* Location of the box */
    }
	
   .modal-content {
	  padding: 20px;
      width: 70%;
    }

.room-popup-container .mySwiper2 {
	flex: 1;
}
	
.room-popup-container .room-info {
	flex: 1;
	order: unset;
	margin-left: 20px;
}

.info-benefit {
    display: flex;
}
	
.info-benefit > div {
	flex: 1 50%;
}
	
.itineraries-list > a > span {
	font-size: 40px;
}
	
.featherlight .featherlight-content {
	max-width: 700px;
}

.datepicker-container {
	font-size: 13px!important;
	width: 280px!important;
}

.datepicker-panel > ul > li[data-view="years current"], .datepicker-panel > ul > li[data-view="year current"], .datepicker-panel > ul > li[data-view="month current"] {
    width: 200px!important;
}

.datepicker-panel > ul > li {
	width: 40px!important;
}
	
.grid-cols-3 {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
	
.grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

.cruise-box {
	flex-direction: column;
	margin-bottom: 0px;
}
	
.cruise-box-img {
	width: 100%;
}
	
.cruise-box-content {
	width: 100%;
}
	
.room-box-container {
	display: flex;
	padding: 20px;
}
	
.room-box-container > .room-image {
	width: 25%;
}
	
.room-box-container > .room-rate {
	flex: 1 1 0%;
	margin-left: 20px;
	padding: 0px;
}

/* cruise detail */
	
.swiper-cruise-gallery .swiper-button-prev, .swiper-cruise-gallery .swiper-button-next {
	display: none;
}

.experience-gallery {
	display: grid!important;
	grid-template-columns: repeat(5, 1fr);
    grid-gap: 10px;
}
	
.r-all {
	display: flex;
	text-align: left;
	width: 40%;
	padding: 0px;
}
	
.r-all > div {
	flex: 1;
}

.r-qty span {
	display: none;
}
	
.r-booknow {
    width: 25%;
	padding: 0px 20px 0px 20px;
}
	
ul.room-spec {
	margin: 0px;
}
	
ul.cruise-specifications li {
	flex: 1;
}
	
.cruise-name {
	font-weight: bold;
}
	
.checkout-form {
	display: flex;
	background: #fff;
	box-shadow: 1px 0 12px rgba(0,0,0,.13);
    border-radius: 4px;
}

.checkout-form-l {
	width: 70%;
	padding: 40px 24px 40px 40px;
	box-sizing: border-box;	
}

.checkout-form-r {
	width: 30%;
	border-radius: 0px 4px 0px 0px;
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
		
.review-info {
    width: 25%;
	text-align: right;
}
	
.swiper-cruise-gallery .swiper-wrapper {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		grid-gap: 5px;
	}

.swiper-cruise-gallery .swiper-wrapper .swiper-slide:nth-child(1) {
	  grid-column: span 2;
	  grid-row: span 2;
	}
	
.swiper-cruise-gallery .swiper-wrapper .swiper-slide:nth-child(2) {
	  grid-column: span 2;
	  grid-row: span 2;
	}

	.tab span:not(:first-child) {
	margin-left: 40px;
	}
	
	.tab span {
    display: inline-block;
}
	
	.tabcontent {
    padding-left: 50px;
}
}

#test