/* ======================================================
Table of Contents
==========================================================
1. General Style                          (line 34)
	1.1 Root Style                        (line 47)
	1.2 Header Style                      (line 75)
	1.3 Link and Image Style              (line 116)
	1.4 Text Style                        (line 126)
	1.5 Icon Circle Style                 (line 165)
	1.6 Color Utility Class               (line 248)
	1.7 Background Utility Class          (line 258)
	1.8 Font Size Utility Class           (line 265)
	1.9 Width Utility Class               (line 278)
	1.10 Button Style                     (line 290)
		1.10.1 Navbar Button              (line 312)
	1.11 Default Width                    (line 332)
2. Navbar Style                           (line 342)
3. Hero Style                             (line 420)
4. About Style                            (line 481)
5. CEO Quote Style                        (line 507)
6. Choose Us Style                        (line 539)
7. Service Style                          (line 557)
8. Showcase Style                         (line 599)
9. FAQs Style                             (line 627)
10. Blog Post Style                       (line 675)
11. Video Style                           (line 730)
12. Team Style                            (line 744)
13. Contact Style                         (line 791)
14. Packages Style                        (line 920)
15. 404 Style                             (line 932)
16. Transition Style                      (line 941)
17. Footer Style                          (line 951)
18. Other Style                           (line 1022)
19. Media Queries                         (line 1031)
===========================================================
*/


/* General Style */
@font-face {
	font-family: 'Lato';
	src: url(../font/lato.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}

/* Root Style */
:root {
	/* Main heading color */
	--heading-color: #313d28;
	--color-main: #4a5a3e;
	--color-main2: #c6a34c;
	--color-main3: #b57c18;
	--color-darker: #3c4932;
	/* --color-lighter: #d1b46a; */
	--color-lighter: #6b825b;
	--color-subtle: #FFFBE9;
	--color-border: #fdfdfd;
	--color-error: #E22D2D;
	--color-warning: #E2D52D;
	--color-info: #2663cf;
	--color-success: #20bd3c;
	--text-color-1: #696969;
	--text-color-2: #c7c7c7;
}

/* Header Styles */
h1 {
	font-size: 80px;
	/* Large font size for main headers */
	font-weight: 500;
	/* Medium font weight */
	line-height: 1.1em;
	/* Slightly compact line height */
	letter-spacing: -1.3px;
	/* Tight letter spacing for a cleaner look */
}

h2,
h3,
h4,
h5,
h6 {
	/* Standard header styles with decreasing font sizes */
	font-weight: 500;
	line-height: 1.2em;
}

h2 {
	font-size: 56px;
	/* Slightly smaller than h1 */
	letter-spacing: -1.3px;
}

h3 {
	font-size: 40px;
	letter-spacing: -1.1px;
}

h4 {
	font-size: 32px;
	letter-spacing: -1px;
}

h5 {
	font-size: 24px;
	letter-spacing: -0.8px;
}

h6 {
	font-size: 16px;
	letter-spacing: -0.6px;
}

/* Link and Image Styling */
a {
	text-decoration: none;
	/* Remove underline from links */
	cursor: pointer;
	/* Change cursor to pointer on hover */
}

img {
	object-fit: cover;
	/* Ensures images cover their container without distortion */
}

/* Text Style */
.heading {
	color: var(--heading-color);
	/* Main heading color */
}
.sub-heading {
	color: var(--color-main);
	/* Sub-heading color */
}
.text-subtitle {
	font-size: 24px;
	font-weight: 500;
	line-height: 1, 2;
	letter-spacing: -0.8px;
}
.text-grey {
	font-family: 'Lato';
	font-size: 16px;
	color: var(--text-color-1);
}
.text-white {
	color: white !important;
}
.text-silver {
	font-family: 'Lato';
	font-size: 16px;
	color: var(--text-color-2);
}
.text-color-1 {
	color: var(--text-color-1);
}
.text-color-2 {
	color: var(--text-color-2);
}
.text-success {
	color: var(--color-success) !important;
}

/* Icon Circle Styles */
.icon-circle-37-main,
.icon-circle-32,
.icon-circle-32-main,
.icon-circle-17,
.icon-circle-17-main,
.icon-circle-15-main {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background-color: transparent;
	font-size: 20px;
	cursor: pointer;
}
.icon-circle-37-main {
	width: 32px;
	height: 32px;
	border: 1px solid var(--color-main);
	color: var(--color-main);
}
.icon-circle-32 {
	width: 32px;
	height: 32px;
	border: 1px solid white;
	color: white;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.icon-circle-32:hover {
	color: var(--color-darker);
	background-color: var(--color-subtle);
	border: 1px solid var(--color-subtle);
}
.icon-circle-32-main {
	width: 32px;
	height: 32px;
	border: 1px solid var(--color-main);
	color: var(--color-main);
	transition: background-color 0.3s ease, color 0.3s ease;
}
.icon-circle-32-main:hover {
	color: white;
	background-color: var(--color-main);
	border: 1px solid var(--color-main);
}
.icon-circle-17 {
	width: 25px;
	height: 25px;
	border: 1px solid var(--color-main);
	color: var(--color-main);
}
.icon-circle-17-main {
	width: 25px;
	height: 25px;
	border: 1px solid var(--color-main2);
	color: var(--color-main2);
}
.icon-circle-15-main {
	width: 15px;
	height: 15px;
	border: 1px solid var(--color-main);
	font-size: 13px;
}

/* Testimonial Circle Styles */
.testimonial-circle {
	width: 45px;
	height: 45px;
	background-color: grey;
	border-radius: 50%;
	margin-left: -7px;
}
.testimonial-circle-first {
	width: 45px;
	height: 45px;
	background-color: grey;
	border-radius: 50%;
}

/* Color Utility Classes */
.c-white {
	color: white;
}
.c-silver {
	color: var(--text-color-2);
}
.c-main {
	color: var(--color-main);
}
.c-main2 {
	color: var(--color-main2);
}
.c-main3 {
	color: var(--color-main3);
}
.c-black {
	color: black;
}
.c-text {
	color: rgb(255, 254, 250, 0.6);
}
.c-semi-black {
	color: var(--heading-color);
}
.c-semi-transparent {
	color: #00000080;
}
.c-grey {
	color: var(--text-color-1);
}

/* Background Utility Classes */
.bg-subtle {
	background-color: var(--color-subtle);
}
.bg-semi-white {
	background-color: var(--color-border) !important;
}
.bg-darker {
	background-color: var(--color-darker) !important;
}
.bg-grey {
	background-color: var(--text-color-1);
}
.bg-main {
	background-color: var(--color-main);
}
.bg-success {
	background-color: var(--color-success) !important;
}
.bg-main2 {
	background-color: var(--color-main2);
}
.bg-main3 {
	background-color: var(--color-main3);
}

/* Font Size Utility Classes */
.fs-12 {
	font-size: 12px;
}
.fs-13 {
	font-size: 13px;
}
.fs-14 {
	font-size: 14px;
}
.fs-15 {
	font-size: 15px;
}
.fs-16 {
	font-size: 16px;
}
.fs-17 {
	font-size: 17px;
}
.fs-18 {
	font-size: 18px;
}
.fs-22 {
	font-size: 22px;
}
.fs-24 {
	font-size: 24px;
}
.fs-26 {
	font-size: 26px;
}
.fs-48 {
	font-size: 48px;
}

/* Width Utility Classes */
.w-10 {
	width: 10%;
}
.w-20 {
	width: 20%;
}
.w-30 {
	width: 30%;
}
.w-40 {
	width: 40%;
}
.w-50 {
	width: 50%;
}
.w-60 {
	width: 60%;
}
.w-70 {
	width: 70%;
}
.w-80 {
	width: 80%;
}
.w-90 {
	width: 90%;
}
.w-100 {
	width: 100%;
}

/* Button Styles */
.btn-light,
.btn-dark,
.btn-primary,
.btn-primary2,
.btn-primary3
{
	/* background-color: var(--color-main); */
	/* color: white; */
	border: none;
	border-radius: 25px;
	padding: 12px 24px;
	font-size: 14px;
	max-width: fit-content;
	/* transition: background-color 0.3s ease, color 0.3s ease; */
}
.btn-outline-primary {
   --bs-btn-color: #4a5a3e !important;
   --bs-btn-border-color: #4a5a3e !important;
   --bs-btn-hover-color: #fff !important;
   --bs-btn-hover-bg: #4a5a3e !important;
   --bs-btn-hover-border-color: #4a5a3e !important;
   --bs-btn-focus-shadow-rgb: 220, 53, 69 !important;
   --bs-btn-active-color: #fff !important;
   --bs-btn-active-bg: #4a5a3e !important;
   --bs-btn-active-border-color: #4a5a3e !important;
   --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
   --bs-btn-disabled-color: #4a5a3e !important;
   --bs-btn-disabled-bg: transparent !important;
   --bs-btn-disabled-border-color: #4a5a3e !important;
   --bs-gradient: none !important;
}
.btn-primary
{
   color: #fff;
   background-color: var(--color-main);
   border-color: var(--color-main);
   --bs-btn-hover-color: #fff !important;
   --bs-btn-hover-bg: var(--color-lighter) !important;
   --bs-btn-hover-border-color: var(--color-lighter) !important;
   --bs-btn-active-color: #fff !important;
   --bs-btn-active-bg: var(--color-lighter) !important;
   --bs-btn-active-border-color: var(--color-lighter) !important;
}
.btn-primary2
{
	background-color: var(--color-main2);
   color: #fff;
   border-color: var(--color-main2);
   --bs-btn-hover-color: #fff !important;
   --bs-btn-hover-bg: var(--color-main3) !important;
   --bs-btn-hover-border-color: var(--color-main3) !important;
   --bs-btn-active-color: #fff !important;
   --bs-btn-active-bg: var(--color-main3) !important;
   --bs-btn-active-border-color: var(--color-main3) !important;
}
.btn-primary3
{
	background-color: var(--color-main3);
   color: #fff;
   border-color: var(--color-main3);
   --bs-btn-hover-color: #fff !important;
   --bs-btn-hover-bg: var(--color-main2) !important;
   --bs-btn-hover-border-color: var(--color-main2) !important;
   --bs-btn-active-color: #fff !important;
   --bs-btn-active-bg: var(--color-main2) !important;
   --bs-btn-active-border-color: var(--color-main2) !important;
}
.btn-light {
	--bs-btn-bg: #ccc;
}
/* .btn-light:hover {
	background-color: var(--color-lighter);
	color: var(--text-color-1);
} */

/* .btn-dark:hover {
	background-color: var(--color-darker);
	color: white;
} */

button.nav-link {
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}

button.nav-link:hover {
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}

button.nav-link:focus {
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}

/* Default Width */
.width-base {
	width: 1220px;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
}


/* Navbar Style */
.navbar-toggler {
	width: 30px;
	height: 30px;
	border: none;
	background: none;
	box-shadow: none;
	outline: none;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	padding: 0;
}
.navbar-toggler:focus,
.navbar-toggler:active {
	outline: none;
	box-shadow: none;
	border: none;
}
.navbar-toggler-icon {
	display: block;
	height: 2px;
	width: 30px;
	background-color: white;
	border-radius: 2px;
	transition: none;
}
.navbar-toggler-icon:nth-child(3) {
	width: 22px;
	height: 2px;
	margin-left: 8px;
}
.offcanvas.show .nav-link {
	color: var(--text-color-1);
	font-size: 22px;
}
.offcanvas.show .nav-link:hover {
	color: var(--color-main);
}
.nav-link {
	color: var(--text-color-2);
	font-size: 22px;
}
.nav-link:hover {
	color: white;
}
.dropdown {
	border-radius: 10px;
}
.dropdown-toggle {
	box-shadow: none !important;
}
.dropdown-menu {
	padding: 10px;
	color: var(--text-color-2);
	min-width: 200px;
}
.dropdown-menu a {
	padding-top: 10px;
	padding-bottom: 10px;
}
.dropdown-menu:hover a:hover {
	color: #fff;
	background-color: var(--color-main);
}
.nav-item.dropdown:hover .dropdown-menu {
	display: block;
	opacity: 1;
	visibility: visible;
}
.dropdown-menu {
	transition: opacity 0.3s ease, visibility 0.3s ease;
	opacity: 0;
	visibility: hidden;
}
/* Hero Style */
.content-m {
	margin-top: 6rem;
}
.section-m {
	margin-top: 9rem;
	width: 1220px;
}
.hero-title {
	width: 73%;
}
.banner-title {
	width: 100%;
	font-size: 80px;
	font-weight: 500;
	line-height: 1, 1px;
	letter-spacing: -1.3px;
}
.hero-subtitle {
	width: 60%;
}
.hero-subtext {
	width: 70%;
}
.overlay-hero {
	padding-bottom: 100px;
}
.border-hero {
	border-bottom: 1px solid #c4c4c4;
}
.form-container {
	background: rgba(255, 255, 255, 0.0);
	border-radius: 10px;
	padding: 20px;
	max-width: 1000px;
	width: 100%;
	border: 1px solid white;
}
.form-control::placeholder {
	color: #ccc;
}
.date {
	color-scheme: dark;
}
.about-bg {
	height: 512px;
}
.contact-bg {
	height: 512px;
}
.pages-bg {
	height: 512px;
}
.booking-bg {
	height: 260px;
}
.services-bg {
	height: 512px;
}
.img-about {
	border-radius: 10px;
	width: 100%;
	border: 2px solid var(--color-main);
}
.img-about-last {
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: cover;
	border: 2px solid var(--color-main);
}
.title-about {
	font-size: 40px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1.3px;
}
/* CEO Quote Style */
.bg-ceo {
	width: 100%;
}
.ceo-quote {
	margin: auto;
	width: 60%;
	padding-right: 0;
}
.signature {
	width: 160px;
	height: 34px;
}
.card {
	border: 1px solid #c4c4c4;
	border-radius: 10px;
	overflow: hidden;
}
.card:hover {
	border: 1px solid var(--color-main);
}
.card-body {
	background-color: var(--color-subtle);
	border-radius: 10px;
	padding: 30px;
}

/* Choose Us Style */
.bg-choose-us {
	border-radius: 10px;
}
.bg-darker {
	background-color: var(--color-main);
}
.choose-position {
	top: -90px;
	left: 0;
	right: 0;
	margin: auto;
}

/* Services Style */
.custom-card {
	max-width: 35%;
	width: max-content;
	background: var(--color-border);
	border: 1px solid #c4c4c4;
	border-radius: 10px;
	overflow: hidden;
	position: absolute;
	left: 5%;
	bottom: 10%;
}

/* Showcase Style */
.custom-card-1 {
	background: var(--color-border);
	border: 1px solid #c4c4c4;
	border-radius: 10px;
	overflow: hidden;
}
.subtext-showcase {
	width: 550px;
	font-family: 'Lato';
	font-size: 16px;
	color: var(--text-color-1);
	text-align: center;
}
.img-showcase {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.last-img-showcase {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* FAQS Style */
.img-faqs {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.accordion,
.accordion-button,
.accordion-item,
.accordion-header,
.accordion-body {
	border: none !important;
	box-shadow: none !important;
}
.accordion-button {
	font-family: 'Lato', sans-serif;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.6px;
	color: var(--text-color-1);
	background-color: var(--color-border);
}
.accordion-button:focus {
	box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
	color: var(--heading-color);
	background-color: transparent !important;
}
.accordion-button:hover {
	background-color: #e9ecef;
}
.accordion-button:active {
	background-color: transparent !important;
}
.accordion-item {
	margin-bottom: 10px;
}
.accordion-item {
	border: 1px solid #c4c4c4 !important;
	border-radius: 10px;
}
.accordion-header,
.accordion-body,
.accordion-button {
	border-radius: 10px !important;
}

/* Blog Post Style */
.img-blog-post {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	transform-origin: center;
}
.img-wrapper {
	overflow: hidden;
}
.img-blog-post-2 {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	transform-origin: center;
}
.img-blog-post-2:hover {
	transform: scale(1.1);
}
.img-blog-post-3 {
	width: 100%;
	height: 100%;
	border-radius: 10px;
}
.custom-card-2 {
	background: var(--color-border);
	border: 1px solid #c4c4c4;
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 0.3s ease-in-out;
}
.custom-card-2:hover .img-blog-post {
	transform: scale(1.1) rotate(3deg);
}
.learn-link {
	transition: color 0.3s ease;
}
.learn-link:hover {
	color: var(--text-color-1);
}
.blog-link {
	color: var(--color-main);
	font-size: 16px;
}
.blog-link:hover {
	color: var(--heading-color);
}

/* Video Style */
.video-wrapper {
	position: relative;
	padding-top: 56.25%;
	/* Aspect ratio 16:9 */
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Team Style */
.img-team {
	width: 100%;
	height: 100%;
	border-radius: 10px;
}
.team-member {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.img-team {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}
.team-member .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 10;
}
.team-member .team-name {
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	font-weight: bold;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 11;
}
.team-member:hover .overlay {
	opacity: 1;
}
.team-member:hover .team-name {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Contact Style */
.form-container-2 {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
}
.form {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	border: 1px solid var(--text-color-2);
}
.form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	margin-bottom: 20px;
}
.form-row.full-width {
	flex-direction: column;
}
.form-field {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.form-label {
	font-size: 14px;
	margin-bottom: 5px;
	color: var(--text-color-1);
}
.form-input,
.form-textarea {
	border: none;
	border-bottom: 1px solid var(--text-color-2);
	padding: 8px;
	font-size: 14px;
	transition: border-color 0.3s;
}
.form-input:focus,
.form-textarea:focus {
	border-bottom-color: var(--color-border);
	outline: none;
}
.form-textarea {
	resize: none;
}
.form-button {
	width: 100%;
	align-self: center;
	padding: 10px 20px;
	font-size: 16px;
	color: #fff;
	background-color: var(--color-main);
	border: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s;
}
.form-button:hover {
	background-color: var(--color-darker);
}
.form-select {
	border: none;
	border-radius: 0px;
	border-bottom: 1px solid var(--text-color-2);
	padding: 8px;
	font-size: 14px;
	background-color: transparent;
	transition: border-color 0.3s;
	appearance: none;
}
.form-select:focus {
	border-bottom-color: var(--color-border);
	outline: none;
	box-shadow: none;
}
.form-select::-ms-expand {
	display: none;
}
.form-select-wrapper {
	position: relative;
}
.form-select-wrapper::after {
	font-size: 12px;
	color: var(--text-color-2);
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.popup-message {
	/* display: none; */
	padding: 10px;
	margin-bottom: 10px;
	border-radius: 4px;
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}
.border-radius-10 {
	border-radius: 10px;
}
.contact-image {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	filter: opacity(0.5);
}
.contact-card {
	width: 65%;
	width: max-content;
	background: var(--color-border);
	border: 1px solid #c4c4c4;
	border-radius: 10px;
	overflow: hidden;
	position: absolute;
	right: 10%;
	bottom: 8%;
	z-index: 2;
}
.maps {
	width: 100%;
	height: 420px;
	transition: filter 0.5s;
	display: block;
}

/* Packages Style */
.package-card {
	border: 1px solid var(--text-color-2);
	border-radius: 10px;
	padding: 32px;
	position: relative;
}
.package-card:hover {
	border: 1px solid var(--text-color-1);
}

/* 404 Style */
.bg-404 {
	height: 100vh;
}

/* Transition Style */
.fade-in {
	opacity: 0;
	transition: opacity 0.8s ease-in, transform 0.8s ease-in;
}
.fade-in.visible {
	opacity: 1;
}

/* Footer Style */
.email-input {
	flex: 1;
	background-color: transparent;
	color: white;
	border: none;
	outline: none;
}
.email-input::placeholder {
	color: white;
	opacity: 0.8;
}
.email-input:focus {
	outline: none;
}
.newsletter-container {
	border-bottom: #c9c9c9 1px solid;
	width: 60%;
}
.newsletter-container:hover {
	border-bottom: white 1px solid;
}
.btn-newsletter {
	background: transparent;
	border: none;
	padding: 10px 15px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.newsletter-form {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	border-radius: 5px;
	overflow: hidden;
}
.btn-newsletter i {
	color: #c9c9c9;
}
.btn-newsletter:hover i {
	color: white;
}
.footer-link:hover {
	color: white;
}
.footer-links {
	list-style-type: none;
	padding: 0;
	margin: 0;
	margin-top: 24px;
}
.footer-links li {
	margin: 10px 0;
}
.footer-logo {
	width: 224px;
	object-fit: cover;
}
.subtext-footer {
	width: 60%;
}
.footer-padding {
	padding-top: 60px;
	padding-bottom: 60px;
}

/* Other Style */
.large-padding {
	padding-bottom: 120px;
}
.partner-margin {
	margin-top: -200px;
}

/* Media Query */
@media screen and (max-width: 1220px) {
	.section-m {
		margin-top: 8rem;
		width: 100%;
	}
	.width-base {
		width: 100%;
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

@media screen and (max-width: 992px) {
	h1 {
		font-size: 60px;
		line-height: 1.1em;
	}

	h2 {
		font-size: 40px;
		line-height: 1.2em;
	}

	h3 {
		font-size: 28px;
		line-height: 1.2em;
	}

	h4 {
		font-size: 24px;
		line-height: 1.2em;
	}

	h5 {
		font-size: 22px;
		line-height: 1, 1em;
	}

	h6 {
		font-size: 16px;
		line-height: 1, 2em;
	}
	.border-hero {
		display: none;
	}
	.hero-title {
		margin-top: 24px;
		width: 95%;
		line-height: normal;
	}
	.hero-subtitle {
		width: 80%;
	}
	.section-m {
		margin-top: 3rem;
		width: 100%;
		padding-left: 32px;
		padding-right: 32px;
	}
	.width-base {
		width: 100%;
		padding-top: 50px;
		padding-bottom: 50px;
		padding-left: 32px;
		padding-right: 32px;
	}
	.img-about {
		border-radius: 10px;
		width: 100%;
	}
	.img-about-last {
		border-radius: 10px;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	.ceo-quote {
		width: 90%;
		padding-left: 0;
		padding-right: 0;
	}
	.signature {
		width: 148px;
		height: 32px;
	}
	.custom-card {
		max-width: 60%;
		position: absolute;
		left: 5%;
		bottom: 10%;
	}
	.img-faqs {
		width: 100%;
		height: 100%;
		max-height: 512px;
	}
	.newsletter-container {
		width: 100%;
	}
	.contact-image {
		max-height: 512px;
		border-radius: 10px;
	}
	.dropdown-menu {
		border: none;
	}
	.dropdown-item {
		background-color: white !important;
		font-size: 12px;
		color: var(--text-color-1) !important;
	}
	.dropdown-item:hover {
		color: var(--color-main) !important;
	}
}

@media screen and (max-width: 450px) {
	h1 {
		font-size: 40px;
	}

	h2 {
		font-size: 32px;
	}

	h3 {
		font-size: 24px;
	}

	h4 {
		font-size: 22px;
	}

	h5 {
		font-size: 18px;
	}

	h6 {
		font-size: 16px;
		font-weight: 500;
	}
	.hero-title {
		margin-top: 24px;
		width: 100%;
		line-height: normal;
	}
	.banner-title {
		margin-top: 24px;
		line-height: normal;
		font-size: 24px;
	}
	.hero-subtitle {
		width: 100%;
	}
	.hero-subtext {
		width: 100%;
	}
	.section-m {
		margin-top: 3rem;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.width-base {
		width: 100%;
		padding-top: 50px;
		padding-bottom: 50px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.img-about {
		border-radius: 10px;
		width: 100%;
		height: 100%;
	}
	.img-about-last {
		border-radius: 10px;
		width: 100%;
		height: 256px;
	}
	.title-about {
		font-size: 32px;
	}
	.text-subtitle {
		font-size: 18px;
	}
	.ceo-quote {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.signature {
		width: 70px;
		height: 15px;
	}
	.custom-card {
		max-width: 100%;
		position: static;
	}
	.subtext-showcase {
		width: 100%;
	}
	.last-img-showcase {
		border-radius: 10px;
		width: 100%;
		height: 100%;
		max-height: 256px;
		object-fit: cover;
	}
	.img-faqs {
		width: 100%;
		height: 100%;
		max-height: 256px;
	}
	.subtext-footer {
		width: 100%;
	}
	.newsletter-container {
		width: 100%;
	}
	.about-bg,
	.contact-bg,
	.services-bg,
	.booking-bg,
	.pages-bg 
	{
		height: 400px;
	}
	.contact-image {
		border-radius: 10px;
	}
	.contact-card {
		width: 90%;
		left: 0;
		right: 0;
		margin: auto;
	}
	.dropdown-menu {
		border: none;
	}
	.dropdown-item {
		background-color: white !important;
		font-size: 12px;
		color: var(--text-color-1) !important;
	}
	.dropdown-item:hover {
		color: var(--color-main) !important;
	}
}


.footer-section {
	background: var(--color-main);
	color: #fff;
	padding: 50px 0 25px;
}
.footer-section .container {
	width: 90%;
	max-width: 1400px;
	margin: auto;
}
.footer-top {
	text-align: center;
	margin-bottom: 40px;
}
.footer-logo {
	max-width: 220px;
}
.footer-desc {
	max-width: 650px;
	margin: auto;
	font-size: 18px;
	line-height: 1.8;
	color: #e5e5e5;
}
.social-title {
	margin: 30px 0 20px;
	font-size: 40px;
	font-weight: 300;
}
.social-icons {
	display: flex;
	justify-content: center;
	gap: 15px;
}
.social-icons a {
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: var(--color-main2);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	transition: .3s;
}
.social-icons a:hover {
	transform: translateY(-4px);
}
.footer-divider {
	height: 1px;
	background: rgba(185, 149, 71, .5);
	margin: 50px 0;
}
.footer-content {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
	gap: 40px;
	align-items: start;
}
.footer-col h3 {
	font-size: 24px;
	margin-bottom: 25px;
}
.footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-col ul li {
	margin-bottom: 14px;
	color: #f3f3f3;
}
.footer-col ul li a {
	color: #f3f3f3;
	text-decoration: none;
}
.contact-item {
	display: flex;
	gap: 15px;
	margin-bottom: 25px;
}
.icon-box {
	width: 65px;
	height: 65px;
	border: 1px solid var(--color-main2);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-main2);
	font-size: 24px;
}
.contact-item span {
	display: block;
	color: #fff;
	margin-bottom: 5px;
}
.contact-item h4 {
	color: var(--color-main2);
	margin: 0;
	font-size: 28px;
	font-weight: 500;
	direction: inherit;
}
.booking-card {
	border-radius: 20px;
	overflow: hidden;
	min-height: 300px;
}
.footer-content .booking-card {
	border: 2px solid var(--color-main2);
	border-radius: 22px;
}
.booking-card .overlay {
	background: rgba(0, 0, 0, .55);
	padding: 35px;
	height: 100%;
	width: 100%;
}
.booking-card h3 {
	margin-bottom: 25px;
}
.booking-item {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(185, 149, 71, .4);
	padding: 12px 0;
}
.footer-bottom {
	margin-top: 50px;
	border-top: 1px solid rgba(185, 149, 71, .4);
	padding-top: 25px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-bottom a {
	color: #fff;
	text-decoration: none;
	margin: auto 15px;
}

@media(max-width:991px) {

	.footer-content {
		grid-template-columns: 1fr;
	}
	.footer-bottom {
		flex-direction: column;
		gap: 15px;
		text-align: center;
	}
	.social-title {
		font-size: 28px;
	}
}
/* .hero-content {
	background: rgba(0, 0, 0, .35);
	backdrop-filter: blur(8px);
	padding: 30px;
	border-radius: 20px;
	width: fit-content;
} */

/* animate */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(80px);
	transition: opacity 0.9s ease, transform 0.9s ease;
}
.animate-on-scroll.show {
	opacity: 1;
	transform: translateY(0);
}
.animate-left {
	opacity: 0;
	transform: translateX(-80px);
	transition: opacity 0.9s ease, transform 0.9s ease;
}
.animate-left.show {
	opacity: 1;
	transform: translateX(0);
}
.animate-right {
	opacity: 0;
	transform: translateX(80px);
	transition: opacity 0.9s ease, transform 0.9s ease;
}
.animate-right.show {
	opacity: 1;
	transform: translateX(0);
}
.animate-scale {
	opacity: 0;
	transform: scale(.8);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.animate-scale.show {
	opacity: 1;
	transform: scale(1);
}
.stagger {
	transition-delay: var(--delay);
}
.card,
.custom-card-2 {
	transition: transform .4s ease, box-shadow .4s ease;
}
.card:hover,
.custom-card-2:hover {
	transform: translateY(-10px);
	box-shadow: 0 25px 40px rgba(0, 0, 0, .12);
}
.img-about,
.img-about-last,
.img-blog-post {
	transition: transform .8s ease;
}
.overflow-hidden:hover img,
.col:hover .img-about,
.col:hover .img-about-last {
	transform: scale(1.08);
}
.hero-title,
.hero-subtitle {
	opacity: 0;
	transform: translateY(40px);
}
.hero-loaded .hero-title {
	opacity: 1;
	transform: translateY(0);
	transition: all 1s ease;
}
.hero-loaded .hero-subtitle {
	opacity: 1;
	transform: translateY(0);
	transition: all 1s ease .3s;
}
.contact-details{
	max-width: 500px;
	margin-right: auto;
	border: 2px solid #fff;
	border-radius: 10px;
	padding: 10px;
	color: #fff;
}
.is-invalid{
	border-color: red !important;
}
.services-page.make-appointment {
	min-height: 300px;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.services-page.make-appointment .row {
	align-items: center;
}
.btn-whatsapp {
	position: relative;
	overflow: hidden;
}
.btn-whatsapp::before {
	content: '';
	position: absolute;
	top: 0;
	right: -100%;
	width: 50%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255,255,255,.4),
		transparent
	);
	animation: shine 3s infinite;
}
@keyframes shine {
	100% {
		right: 150%;
	}
}

form .invalid, form .is-invalid .invalid:before, form .is-invalid::before {
	border-color: #ea5455 !important;
}

.position-fixed {
	pointer-events: none;
}
.position-fixed .toast {
	pointer-events: auto;
}
.a-underline{
	text-decoration: underline !important;
}

/* Loading icon */
#site-preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 99999;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}
#site-preloader.fade-out {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
#site-preloader .loader-container {
	text-align: center;
}
#site-preloader .logo-loader {
	position: relative;
	width: 140px;
	height: 140px;
	margin: 0 auto 20px;
}
#site-preloader .outer-ring {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 3px solid rgba(197, 160, 89, 0.2);
	border-top: 3px solid var(--color-main2);
	border-radius: 50%;
	animation: spin 1.8s linear infinite;
}
#site-preloader .golden-swoosh {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 120px;
	height: 120px;
	border: 4px solid transparent;
	border-bottom: 4px solid var(--color-main3);
	border-right: 4px solid var(--color-main2);
	border-radius: 50%;
	animation: spin-reverse 2.2s cubic-bezier(0.53, 0.21, 0.29, 0.87) infinite;
}
#site-preloader .inner-figure {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	animation: pulse 1.5s ease-in-out infinite alternate;
	display: flex;
	align-items: center;
	justify-content: center
}
#site-preloader .loading-text {
	color: var(--color-main2);
	font-size: 0.9rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin: 0;
	opacity: 0.8;
}
/* --- KEYFRAME ANIMATIONS --- */
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes spin-reverse {
	0% { transform: rotate(360deg); }
	100% { transform: rotate(0deg); }
}
@keyframes pulse {
	0% { transform: translate(-50%, -46%) scale(0.95); opacity: 0.8; }
	100% { transform: translate(-50%, -54%) scale(1.05); opacity: 1; }
}

.image-wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.image-wrapper .bg-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}
.z-2{
	z-index: 2;
	position: relative;
}
.brightness-half{
	filter: brightness(0.65);
}