:root, [data-bs-theme="light"] {
    --primary: #003b57;
	--light: #f8f9fa;
	--primary-bg: var(--primary);
	--primary-bg-subtle: #c4daea;
	--bs-primary: #003b57;
	--bs-light: #f8f9fa;
	--bs-primary-bg: var(--primary);
	--bs-primary-bg-subtle: #c4daea;
	--bs-primary-rgb: var(--primary);
}

a {
	text-decoration: none;
}
 
.container a {
	text-decoration: none;
    color: #1185b3;
}

.container a:hover {
    color: var(--primary);
}

.footer {
	background-color: var(--primary);
	background-image: var(--primary);
    border-top: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.mod-custom {
	width: inherit;
}

.header.container-header {
	background-color: var(--primary);
	background-image: var(--primary);
}

.container-header.navbar-brand {
	height: 10px;
}

.container-header .container-nav {
	justify-content: center;
}

.container-header .navbar-brand {
	margin-inline-end: unset;
}

.overlap-image {
	width: 100%;
	height: 600px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.overlap-image-container {
	position: relative;
	margin-top: 8vw;
	text-align: center;
}

.carousel-bg {
	background-color: rgba(0, 59, 87, 0.89);
	height: 500px;
}

.carousel-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.text-carousel-bg {
    position: absolute;
    right: 40px;
    top: 80px;
    z-index: 2;
    width: 25vw;
    height: 10vw;
    background-color: rgba(196, 218, 234, 0.8);
}

.thumbnail-container {
	display: flex;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.thumbnail-box {
	flex: 0 0 auto;
	width: 130px;
	height: 90px;
	margin-right: 5px;
	background-color: rgba(0, 0, 0, 0.1);
	cursor: pointer;
}

.thumbnail-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cancellation-policy-bg {
    background-color: #e1d1bd;
	font-size: 18px;
}

.contact-flyout-bg {
	background-color: var(--light);
}

.sightseeing.list-group-item {
	background-size: cover;
	background-position: center;
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sightseeing.list-group-item span {
	color: white;
	font-size: 1.5rem;
	background-color: rgba(0, 0, 0, 0.5);
	padding: 10px 20px;
}

.sightseeing.list-group-item:hover span {
	background-color: rgba(0, 0, 0, 0.7);
}

.maps {
    height: 500px;
    padding: 10px;
}

#spinner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 9999;
}

::selection {
	color: #fcfcfc;
	background: #add992;
}

::-webkit-scrollbar {
    height: 12px; 
}

::-webkit-scrollbar-track {
    background: #f1f1f1; 
    border-radius: 6px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 6px;
    border: 3px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

@media (max-width: 767px) {
    .text-carousel-bg {
        display: none !important;
    }    
	.maps {
        height: 50vw;
    }
}

@media (min-width: 1400px) {
	.overlap-container.container {
		max-width: 800px;
		padding: 0 15px;
		margin: 0 auto; 
	}
}

@media (min-width: 2200px) {
    .cancellation-policy-bg {    
		font-size: 0.65vw;
        position: fixed; 
		right: 40px;
		top: 50%;
		z-index: 2;
		width: 25vw;
		height: 15vw;
    }
	
	.contact-flyout-bg {
		background-color: rgba(0, 59, 87, 0.89);
		color: white;
		font-size: 0.65vw;
        position: fixed; 
		right: 40px;
		bottom: 50%;
		z-index: 2;
		width: 20vw;
		height: 12vw;
    }
	
	.contact-flyout-bg a {
		color: #e1e9f5;
    }
	
	.contact-flyout-bg a:hover {
		color: #fff;
    }
}