/* -------------------- Google Fonts ------------------- */
@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@400;700&display=swap');
* {
	font-family: 'Gabarito', sans-serif;
}

/* -------------------- Bootstrap 5.2.3 Reboot ------------------- */

@media (min-width: 1920px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1600px;
	}
}

dl, ol, ul {
	margin-bottom: unset;
}

.form-check-label, .form-check-input {
	cursor: pointer;
}

.form-check-input[type=checkbox], .form-check-input[type=radio] {
	border-radius: 0.125em;
}

.form-check-input:checked {
	background-color: var(--brand-primary);
	border-color: var(--brand-primary);
}

.form-check-input[type=radio]:checked {
	--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked + * {
	color: var(--brand-primary);
}

.btn-primary {
	--bs-btn-color: var(--brand-white);
	--bs-btn-bg: var(--brand-primary);
	--bs-btn-border-color: var(--brand-primary);
	--bs-btn-hover-color: var(--brand-white);
	--bs-btn-hover-bg: var(--brand-black);
	--bs-btn-hover-border-color: var(--brand-black);
	--bs-btn-focus-shadow-rgb: 49,132,253;
	--bs-btn-active-color: var(--brand-white);
	--bs-btn-active-bg: var(--brand-black);
	--bs-btn-active-border-color: var(--brand-black);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--brand-primary);
	--bs-btn-disabled-bg: var(--brand-white);
	--bs-btn-disabled-border-color: var(--brand-white);
}

.btn-secondary {
	--bs-btn-color: var(--brand-black);
	--bs-btn-bg: var(--brand-secondary);
	--bs-btn-border-color: var(--brand-secondary);
	--bs-btn-hover-color: var(--brand-white);
	--bs-btn-hover-bg: var(--brand-black);
	--bs-btn-hover-border-color: var(--brand-black);
	--bs-btn-focus-shadow-rgb: 49,132,253;
	--bs-btn-active-color: var(--brand-white);
	--bs-btn-active-bg: var(--brand-black);
	--bs-btn-active-border-color: var(--brand-black);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--brand-primary);
	--bs-btn-disabled-bg: var(--brand-white);
	--bs-btn-disabled-border-color: var(--brand-white);
}

.btn-white {
	background-color: var(--brand-white);
}

.btn-black {
	color: var(--brand-white);
	background-color: var(--brand-black);
}

.accordion-item {
	border: unset;
	border-bottom: 1px solid var(--brand-primary-200);
	border-radius: unset !important;
}

.accordion-item:first-of-type {
	border-top: 1px solid var(--brand-primary-200);
}

.accordion-button {
	font-size: 1.5rem;
	padding-left: 0;
	padding-right: 1rem;
}

.accordion-button:not(.collapsed) {
	color: inherit;
	background-color: unset;
	border-bottom: unset;
	box-shadow: unset;
}

.accordion-button:focus {
	box-shadow: unset;
}

.accordion-body {
	padding: 0;
}

.breadcrumb-item a {
	color: var(--brand-black);
	text-decoration: none;
	opacity: 0.5;
}

.breadcrumb-item a:hover {
	opacity: 1;
}

.breadcrumb-item.active {
	color: var(--brand-black);
}

@media (min-width: 992px) {
	.flex-wrap.gap-3 .col-lg-4 {
		width: calc(33.33333333% - 1rem);
	}
}

.font-weight-bold {
	font-weight: 700;
}

/* ------------------------ Root Variables ----------------------- */
:root {
	--bs-primary-rgb: 255, 133, 0;
	--bs-light-rgb: 244, 251, 255;
	--bs-warning-rgb: 255, 237, 185;

	--brand-black: #1A1A1A;
	--brand-white: #FFFFFF;
	--brand-white-200: #F4F5F9;
	--brand-grey: #A4A4A4;
	--brand-grey-200: #F4F5F9;
	
	--brand-black-rgb: 26, 26, 26;
	--brand-white-rgb: 255, 255, 255;
	
	--brand-primary: #ff8500;
	--brand-primary-200: #dd770a;
	--brand-primary-300: #aa5b08;
	--brand-secondary: #FFFFFF;
	--brand-secondary-400: #FFFFFF;

	--bs-border-color: #1A1A1A;

	--bs-border-radius: .75rem;
	--bs-border-radius-sm: .5rem;
	--bs-border-radius-lg: 1rem; 
	--bs-border-radius-xl: 1.25rem
}

/* ------------------------ Global Styles ------------------------ */

*:focus-visible {
	outline: none!important
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1200px;
}

h1, .h1 {
	font-size: 38px;
	font-weight: 700;
}

h2, .h2 {
	font-size: 30px;
	font-weight: 700;
}

h3, .h3 {
	font-size: 30px;
	font-weight: 400;
}

h4, .h4 {
	font-size: 26px;
	font-weight: 400;
}

h5, .h5 {
	font-size: 26px;
	font-weight: 700;
}

h6, .h6 {
	font-size: 18px;
	font-weight: 700;
}

p, .p {
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
}

input, select {
	padding: 5px 10px;
	border-radius: 6px;
	border: none;
}

.form-control, .form-select {
	padding: 1rem!important;
}

.btn.btn-primary {
	font-weight: 700;
}

.btn.btn-white {
	color: var(--brand-primary);
	font-weight: 700;
}

.btn.btn-white:hover {
	background-color: rgba(255, 255, 255, 0.85);
}

.btn.btn-black {
	color: var(--brand-white);
	font-weight: 700;
}

.btn.btn-black:hover {
	background-color: rgba(26, 26, 26, 0.85);
}

@media only screen and (max-width: 770px) {
	.text-center-mobile, .text-center-mobile * {
		text-align: center;
	}

	.mx-xs-auto {
		margin: 0 auto;
	}
}

.form-control, .form-select {
    border: 1px solid #ff8500;
}

/* ------------------------ Header ------------------------ */
header p {
	width: fit-content;
	text-align: center;
}

header #header-details  {
	width: fit-content;
}

header #header-details p b  {
	font-size: 26px;
    color: var(--brand-primary);
}

header p.mx-auto  {
	background-color: var(--brand-primary);
    padding: 10px 20px;
    border-radius: 15px;
    color: #ffff;
}

.header-details a {
	color: var(--brand-primary);
}

@media only screen and (max-width: 770px) {
	header img {
		max-width: 300px;
		margin: 0 auto;
		display: block;
	}

	header #header-details, header #header-details p {
		width: 100%;
		text-align: center;
	}

	header #header-details {
		margin: 12px 0 0 0;
	}
}

/* ------------------------ Navigation ------------------------ */
nav ul {
	list-style: none;
	padding: 0;
}

nav a {
	color: #fff;
	text-decoration: none;
}

nav {
	position: sticky;
    top: 0;
    z-index: 999;
	box-shadow: 1px 1px 8px rgb(0 0 0 / 11%);
}

nav ul {
	position: relative;
    top: 0;
    left: 0;
}

@media only screen and (min-width: 1100px) {
	#menu-toggle {
		display: none;
	}

	#navigation-menu {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	nav ul .dropdown:hover {
		display: flex!important;
	}

	nav ul .dropdown .dropdown-group {
		width: 48%;
	}

	nav ul .dropdown .dropdown-group.months-width {
		width: 35%;
	}

	nav ul .dropdown .dropdown-group.regions-width {
		width: 65%;
	}

	nav ul .dropdown .dropdown-divide {
		height: 240px;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
	}

	nav .dropdown-group * {
		color: #000;
	}

	nav .dropdown-group {
		background-color: #fff;
		margin: 10px;
		padding: 10px 15px;
		border-radius: 16px;
	}
}

nav #menu-toggle {
	background-color: transparent;
    border: none;
    font-weight: 700;
    color: #fff;
}

.parent img {
	pointer-events: none;
}

@media only screen and (max-width: 1100px) {
	#menu-toggle {
		display: block;
	}

	#navigation-menu {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}

	.dropdown {
		position: relative;
	}

	.dropdown .list-fade {
		background: rgb(255,133,0);
		background: -moz-linear-gradient(0deg, rgba(255,133,0,1) 0%, rgba(255,255,255,0) 100%);
		background: -webkit-linear-gradient(0deg, rgba(255,133,0,1) 0%, rgba(255,255,255,0) 100%);
		background: linear-gradient(0deg, rgba(255,133,0,1) 0%, rgba(255,255,255,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff8500",endColorstr="#ffffff",GradientType=1);
		position: sticky;
		bottom: 0;
		pointer-events: none;
		padding: 1rem!important;
		display: block!important;
	}

	#navigation-menu {
		max-height: 0px;
		overflow: hidden;
		transition: max-height .5s ease;
	}

	#navigation-menu.show {
		max-height: 500px;
	}

	#navigation-menu .dropdown {
		width: 100%;
		max-height: 0;
		transition: max-height .5s ease;
		overflow-y: scroll;
		padding: 0 0 0 10px;
	}

	#navigation-menu .dropdown::-webkit-scrollbar {
		width: 10px;
	}

	#navigation-menu .dropdown::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.2);
		border-radius: 6px;
	}

	#navigation-menu .dropdown::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 1);
		border-radius: 6px;
	}

	#navigation-menu .dropdown::-webkit-scrollbar-thumb:hover {
		background: rgba(255, 255, 255, 0.6);
	}

	#navigation-menu .dropdown.mob-show {
		max-height: 500px;
	}

	#navigation-menu .dropdown a {
		width: 100%;
		text-align: center;
		display: block;
	}

	nav #navigation-menu hr {
		display: none;
	}
}

@media only screen and (min-width: 1100px) {
	nav ul .dropdown {
		display: none;
		position: absolute;
		top: 32px;
		background-color: rgb(255 133 0 / 90%);
		width: 100%;
		width: calc(100% + 37px);
		padding: 20px;
		border-radius: 0 0 10px 10px;
		
		left: 50%;
		transform: translateX(-50%);
	}

	nav ul .dropdown.show {
		display: flex;
	}

	nav #navigation-menu hr {
		margin: .5rem 0;
	}
}

/* ------------------------ Footer ------------------------ */

footer ul {
	list-style: none;
    padding: 0;
}

footer a {
	text-decoration: none;
	color: #fff;
}

/* Availability */

#availability select {
	width: 100%;
}

#availability #roomList select {
	width: calc(100% - 44px);
}

#availability #roomList button {
	border-radius: 0 .75rem .75rem 0;
    width: 44px;
	border: 1px solid #ff8500;
}

.float-right {
	float: right;
}

.order-buttons .btn {
	width: 150px;
}

@media only screen and (min-width: 770px) {
	.float-md-right {
		float: right;
	}
}

@media only screen and (max-width: 770px) {
	.order-buttons .btn {
		width: 100%;
		margin-bottom: 25px;
	}
}

/* Passengers */

.ins-label {
	font-size: 14px;
}

/* Seating Plan */

#SeatPlan_Plan {
    display: flex;
    justify-content: center;
    gap: 4px;
}
  
.SeatPlan_Row {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
  
.SeatPlan_Seat {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    border-radius: .25rem;
}

.SeatPlan_Seat[data-seat-type="0"] {
    pointer-events: none;
}

.SeatPlan_Seat[data-seat-type="1"] {
    background-color: transparent;
    border: 1px solid var(--brand-primary);
    cursor: pointer;
    pointer-events: auto;
}

.SeatPlan_Seat[data-seat-type="1"]:hover {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.SeatPlan_Seat.selected[data-seat-type="1"] {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.SeatPlan_Seat[data-seat-type="2"] {
    background-color: var(--brand-grey);
    border: 1px solid var(--brand-grey);
}

@media (min-width: 992px) {
    #Seating {
        width: clamp(500px, 50%, 100%);
    }
}

@media (max-width: 384px) {
    #SeatPlan_Plan {
        flex-direction: column;
    }

    #SeatPlan_Label > small:nth-of-type(2) {
        display: none;
    }

    .SeatPlan_Row {
        flex-direction: row-reverse;
        flex-wrap: nowrap;
    }
}

/* gift voucher */

.gift-voucher input {
	border: 1px solid #ff8500;
    margin-bottom: 15px;
}

@media only screen and (min-width: 1100px) {
	.navCategory-1 {
		color: #EE1D23!important;
	}
	.navCategory-2 {
		color: #008FD5!important;
	}
	.navCategory-3 {
		color: #AC78B3!important;
	}
	.navCategory-4 {
		color: #AAD598!important;
	}
	.navCategory-5 {
		color: #F9B280!important;
	}
	.navCategory-6 {
		color: #95979A!important;
	}
	.navCategory-7 {
		color: #F499C2!important;
	}
	.navCategory-8 {
		color: #F58520!important;
	}
	.navCategory-9 {
		color: #2E3092!important;
	}
	.navCategory-32 {
		color: #00A54F!important;
	}
	.navCategory-33 {
		color: #A6228E!important;
	}
	.navCategory-34 {
		color: #509CB7!important;
	}
	.navCategory-35 {
		color: #8D0052!important;
	}
	.navCategory-36 {
		color: #00AEEF!important;
	}
	.navCategory-54 {
		color: #c5168c!important;
	}
}

#results .item-body-text {
	min-height: 120px;
}

.itinerary-banner a:nth-child(1n + 4) {
	display: none;
}

@media only screen and (min-width: 770px) {
	.itinerary-banner {
		display: grid;
		grid-template-columns: 3fr 5fr;
		grid-gap: 10px;
	}
}

@media only screen and (max-width: 770px) {
	.itinerary-banner a:nth-child(2), .itinerary-banner a:nth-child(3) {
		display: none;
	}

	.itinerary-banner .banner-img {
		min-height: 350px;
	}

	.view-images p {
		bottom: 0!important;
	}
}

.tab-heading {
	padding: 5px 15px;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
}

.tab-heading img {
    height: 15px;
    float: right;
    margin-top: 8px;
    pointer-events: none;
    transform: rotate(0deg);
    transition: transform .5s ease;
}

.tab-heading img.rotate {
	transform: rotate(180deg);
}

.tab-container {
    overflow: hidden;
    max-height: 0;
    transition: max-height .5s ease;
}

.tab-container.show {
	max-height: 2222px;
}

/*
.tab-container .item-body-text a {
	display: block;
    padding: 10px 60px 10px 25px;
    background-color: var(--brand-primary);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    width: fit-content;
    border-radius: 6px;
    background-image: url(/images/icons/search.svg);
    background-repeat: no-repeat;
    background-position: 90% center;
	margin: 10px auto;
}
*/

.sl-overlay {
	opacity: 0.85!important;
	background: #000!important;
}

.sl-prev, .sl-next, .sl-close {
	color: #fff!important;
}

.btn-wishlist {
	background-color: #232323;
	color: #fff;
	font-weight: bold;
}

.view-images {
	height: 0;
	width: 0;
	overflow: visible;
	float: right;
	position: relative;
}

.view-images p {
	width: 180px;
	text-align: center;
	position: absolute;
	right: 15px;
	bottom: 25px;
	padding: 10px 25px;
	border-radius: 40px;
	background-color: rgb(255 255 255 / 98%);
	pointer-events: none;
}

@media only screen and (max-width: 770px) {
	.tab-heading {
		text-align: left;
	}

	.tab-container .item-body-text a {
		margin: 0 auto;
	}

	.shadow {
		box-shadow: 0 0 8px rgba(0,0,0,0.2)!important;
	}
}

.itin-box, .itin-box * {
	z-index: 1;
}

.image-fix img {
	max-width: 100%;
	height: auto;
}

#seatingPlan {
    display: flex;
	justify-content: center;
}

.seat {
    width: 25px;
    height: 25px;
    border: 1px var(--brand-primary) solid;
    margin: 3px;
    border-radius: 3px;
}

.seat.space {border: none;}

.seat.seat_taken {
    border: 1px darkgrey solid;
    background-color: darkgrey;
}

.seat.seat_wheel {
    background-image: url(/images/icons/driver.svg);
    border: none;
}

.mobile-labels {
	display: none;
}

@media only screen and (max-width: 500px) {
	#seatingPlan {
		flex-direction: column;
		align-items: center;
		transform: rotateY(180deg);
	}

	#seatingPlan .column {
		display: flex;
	}

	.desktop-labels {
		display: none!important;
	}

	.mobile-labels {
		display: block;
	}

#Details_Expiry select {
	padding: 1rem 30px 1rem 15px!important;
}

.cardcontbtn {
	display: none;
}