html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	/* font-family: "Poppins", Sans-serif; */
	font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
	/* background-color: #51525b !important; */
	background-color: #212529 !important;
}

.bg-image-vertical {
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 100%;
}

.px-6 {
	padding-left: 4rem !important;
	padding-right: 4rem !important;
}
.py-6 {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

.px-7 {
	padding-left: 5rem !important;
	padding-right: 5rem !important;
}
.py-7 {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

.px-8 {
	padding-left: 6rem !important;
	padding-right: 6rem !important;
}
.py-8 {
	padding-top: 6rem !important;
	padding-bottom: 6rem !important;
}

.px-9 {
	padding-left: 7rem !important;
	padding-right: 7rem !important;
}
.py-9 {
	padding-top: 7rem !important;
	padding-bottom: 7rem !important;
}

.mb-6 { margin-bottom: 4rem !important; }
.mb-7 { margin-bottom: 5rem !important; }
.mb-8 { margin-bottom: 6rem !important; }
.mb-9 { margin-bottom: 7rem !important; }
.mb-10 { margin-bottom: 8rem !important; }
.mb-11 { margin-bottom: 9rem !important; }

.btn-black{
	background-color: #000;
}

.txt-white{
	color: #fff;
}

.border-none {
    border: none !important;
}

.btn-submit{
    color: #ffffff !important;
	width: 150px;
    padding: 12px 24px;
    /* font-size: 18px; */
    font-weight: 400;
    border-style: solid;
	border-color: #ffb22c;
	background-color: #ffb22c;
}

.btn-submit:hover,
.btn-submit:active,
.btn-submit:focus {
    background-color: #ffb22c !important;
    color: #fff !important;
    border: 1px solid #ffb22c !important;
    box-shadow: none !important;
    outline: none !important;
}

.submit-btn:hover,
.submit-btn:active,
.submit-btn:focus {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
    box-shadow: none !important;
    outline: none !important;
}

.booking-wrapper{
	min-height: 100vh !important;
}

.booking-wrapper .booking-header h1{
    font-weight: 500;
    color: #fff !important;
}

.booking-wrapper .booking-header p{
	color: #cecece;
}

#inlineLoginSection #inlineLoginForm{
	font-size: 12px !important;
}

#inlineLoginSection #inlineLoginForm button{
	font-size: 12px !important;
	padding-bottom: 8px !important;
	padding-top: 8px !important;
	min-width: 56px !important;
}

#inlineLoginSection .form-control{
	padding-top: 8px !important;
    padding-left: 20px !important;
    padding-right: 10px !important;
    padding-bottom: 8px !important;
    font-size: 12px !important;
}

#inlineLoginSection a{
	font-size: 12px !important;
}

@media only screen and (min-width: 600px) and (max-width: 1024px) {
	#inlineLoginSection #inlineLoginForm{
		font-size: 12px !important;
	}

	#inlineLoginSection #inlineLoginForm button{
		font-size: 12px !important;
		padding-bottom: 6px !important;
		padding-top: 6px !important;
		min-width: 65px !important;
	}

	#inlineLoginSection .form-control{
		padding-top: 6px !important;
		padding-left: 20px !important;
		padding-right: 10px !important;
		padding-bottom: 6px !important;
		font-size: 14px !important;
	}
	
	#inlineLoginSection a{
		font-size: 12px !important;
	}
}

.fs-12 {
	font-size: 12px;
}

/* Toggle switch style */
/* Base switch style */
.form-switch .custom-switch {
  width: 50px;
  height: 14px;
  background-color: #adadad; /* track color like the image */
  border-radius: 50px;
  appearance: none;
  position: relative;
  transition: background-color 0.3s;
  cursor: pointer;
  background-image: none;
}

/* Thumb styling */
.form-switch .custom-switch::before {
    position: absolute;
    content: "";
    height: 27px;
    width: 27px;
    left: -2px;
    bottom: -7px;
    background-color: #e6e6e6;
    transition: 0.4s;
    border-radius: 50%;
}

/* Checked state (active) */
.form-switch .custom-switch:checked {
	background-color: #ffc107 !important; /* yellow */
}

.form-switch .custom-switch:checked::before {
	transform: translateX(22px);
	background-color: #adadad; /* white knob when active */
}

/* Remove focus ring */
.form-switch .custom-switch:focus {
	box-shadow: none;
}

.add-stop-input {
	margin-top: 10px;
}

.form-control,.form-select {
    padding-left: 20px;
    padding-right: 10px;
    font-size: 16px !important;
    border-style: solid;
    border-width: 1px;
	background-color: #f6f7f9 !important;
	font-weight: 600;
	height: 44px;
}

#get-quote input, #get-quote select{
   border-radius: 50rem !important;
}

#rideForm input::placeholder, #rideForm textarea::placeholder {
  color: #000 !important;
  font-size: 16px;
  font-weight: normal !important;
}

#rideForm input::-webkit-input-placeholder, #rideForm textarea::-webkit-input-placeholder {
  color: #000 !important;
  font-size: 16px;
  font-weight: normal !important;
}

#rideForm input:-ms-input-placeholder {
  color: #000 !important;
  font-size: 16px;
  font-weight: normal !important;
}

#rideForm input::-ms-input-placeholder {
  color: #000 !important;
  font-size: 16px;
  font-weight: normal !important;
}

.site-logo-design{
/*     border-radius: 50% !important;
    background-color: #ffdf7d !important;
    border: none !important;
    padding: 0 !important; */
    width: 70px !important;
    height: 70px !important;
    align-items: center;
    justify-content: center;
    display: flex;
}

#mobileMenu{
	border-top: 5px solid #ffb22c;
}

#mobileMenu .offcanvas-body{
	padding-right:2.5rem;
	padding-left:2.5rem;
}

#mobileMenu .btn-close{
    z-index: 5;
    position: absolute;
    right: 20px;
    top: 20px;	
}

#mobileMenu .offcanvas-body .menu-bottom{
	margin-top: 5rem;
}

.nav-link{
	color: #ffffff;
}

.offcanvas .nav-link{
	color: #000000;
}

.nav-link.active {
  color: #ffb22c !important; /* Bootstrap yellow */
}

#mobileMenu .social-icon {
  width: 40px;
  height: 40px;
  background-color: #333;
  font-size: 18px;
  transition: background-color 0.3s ease;
}

#mobileMenu .social-icon:hover {
  background-color: #555;
}


select option {
    background-color: #fff; /* or your normal color */
    color: #000;            /* ensure contrast */
}

.input-group-text{
    border-color: rgba(186, 186, 186, 1);
    border-width: 1px;
    border-radius: 0px;
}

.decrement-btn, .increment-btn{
	border-color: rgba(186, 186, 186, 1);
}

.count-control-group .input-wrapper {
    height: 42px;
    overflow: hidden;
}

.count-control-group .btn,
.count-control-group .form-control,
.count-control-group .icon-box {
    height: 42px;
    border-radius: 0;
}

.count-control-group .form-control {
    min-width: 60px;
    max-width: 201px;
    padding: 0;
}

.count-control-group .btn {
    width: 77px;
    background-color: white;
	border-color: #8e8e8e !important;
	font-size: x-large;
	line-height: 0;
}

.count-control-group .icon-box {
    width: 105px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
}

.input-wrapper{
    border-style: solid !important;
    border-color: rgb(255 223 125) !important;
    border-width: 1px !important;
    border-radius: 0px !important;
}

.form-control::placeholder {
	color: #8c8c8c;
	font-family: -apple-system,"system-ui",Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
	line-height: 1;
}
.required-label::after {
	content: " *";
	color: red;
	font-weight: bold;
	margin-left: 2px;
}

/* Hide the native calendar icon in Chrome */
input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

input[type="time"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.iti {
	width: 100%;
}
/* Prevent text from overlapping the flag */
.iti input {
	padding-left: 50px !important; /* Or adjust based on the flag size */
}
.iti__flag-container {
	width: 80px !important; /* adjust as needed */
}

.popover {
	max-width: 280px;
}

.fs-8 {
    font-size: 0.7rem; /* or whatever size you prefer */
}

.fs-7 {
    font-size: 0.85rem; /* smaller than fs-6 (1rem) */
}

.fs-6 {
    font-size: 1rem !important; /* smaller than fs-6 (1rem) */
}

.py-2-5{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.tippy-box[data-theme~='custom'] {
	background-color: transparent;
	box-shadow: none;
	padding: 0;
}

/* all mobile */
@media (min-width: 0px) and (max-width: 767.98px) {
  /* Heading */
  .responsive-heading {
    font-size: 2rem !important;
  }

  /* Inline Login Form */
  #inlineLoginForm .inline-login-fields,
  #inlineLoginForm .inline-login-links {
    display: block !important;
    text-align: center !important;
  }

  #inlineLoginForm .inline-login-fields > div {
    display: block !important;
  }

  #inlineLoginForm .inline-login-fields > div:nth-of-type(1) > div {
    margin-bottom: 10px !important;
  }

  #inlineLoginForm .inline-login-fields > div:nth-of-type(2) button {
    width: 100% !important;
    height: 36.8px !important;
    margin-bottom: 10px !important;
  }

  /* Main Content Padding */
  .main-content {
    padding-bottom: 76px; /* Adjust based on footer height */
  }

  /* Help Button */
  .help-button {
    padding: 9px 20px;
    font-size: 12px;
    font-weight: 100;
  }

  /* Font sizes for general elements */
/*   p, label, span, li, td, th, input, textarea, select, a, button {
    font-size: 16px !important;
  } */

  /* Help box styles */
  .help-call-box p {
    font-size: 1rem;
  }

  .help-call-box a {
    font-size: 1rem;
    padding: 0.5rem 1rem;
  }

  /* Hide border-end icon on count control group */
  .count-control-group span.icon-box.border-end {
    display: none !important;
  }
  
	.hero{
		min-height: calc(100vh - 77px) !important;
	}
	
	.hero .hero-content{
		margin-top: 0px !important;
	}
	
	.hero .hero-stats {
		margin-bottom: 2rem !important;
	}
}

/* 2. Very small devices: iPhone SE 1st Gen (320px) */
@media (max-width: 320px) {
  .hero .hero-stats {
    margin-bottom: 1rem !important;
  }
}

/* 3. Small phones: iPhone 12 Mini (360px) and iPhone SE 2nd Gen (375px) */
@media (max-width: 375px) {
  p, label, span, li, td, th, input, textarea, select, a, button {
    font-size: 13px !important;
  }
  
 label, span, input, textarea, select, a, button {
    font-size: 11px !important;
  }

  .hero .hero-stats {
    margin-bottom: 2rem !important;
  }
}

/* tab portrait */
@media (min-width: 768px) and (max-width: 1024px) {
	.help-button {
		padding: 9px 20px;
		font-size: 12px;
		font-weight: 100;
	}
 
	.hero{
		min-height: calc(100vh - 150px) !important;
	}
}

/* tab landscape */
@media (min-width: 1025px) and (max-width: 1199px) {
	.h-custom-2 {
		height: 100%;
	}
}



.offcanvas-end {
  width: 80% !important;
}

.fixed-bottom{
	z-index: 2 !important;
}

input.error {
  border: 1px solid #dc3545 !important; /* Bootstrap's red */
}

input.error:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .25rem #dc354540 !important;
}

/* Remove green glow when input is focused and valid */
.was-validated .form-control:valid:focus,
.was-validated .form-select:valid:focus,
.was-validated .form-check-input:valid:focus {
  box-shadow: none !important;
  border-color: inherit !important;
}

/* Remove green border and icon from valid text/select inputs */
.was-validated .form-control:valid,
.was-validated .form-select:valid {
  border-color: inherit;
  background-image: none;
  box-shadow: none;
}

/* ✅ Remove green border/glow from valid checkboxes and radios */
.was-validated .form-check-input:valid {
  border-color: inherit;
  /* background-color: inherit; */
  box-shadow: none;
}

/* Optional: remove green label color (if used) */
.was-validated .form-check-input:valid ~ .form-check-label {
  color: inherit;
}

/* Remove Bootstrap's built-in background icon from invalid inputs */
.was-validated input[type="date"].form-control:invalid,
input[type="date"].form-control.is-invalid {
  background-image: none !important;
}

.was-validated input[type="time"].form-control:invalid,
input[type="time"].form-control.is-invalid {
  background-image: none !important;
}

#error-msg{
	width: 100%;
    margin-top: .25rem;
    font-size: .875em;
	color: #dc3545;
}

#square-payment-container {
  display: none;
}

.cstm-color{
	color: #ffb22c !important;
}

.cstm-whatsapp-background-color{
	background-color: #162e2f !important;
	border-color: #162e2f !important;
}

.cstm-outline-btn{
	border-color: #ffb22c !important;
	color: #ffb22c !important;
}

.cstm-outline-btn:hover{
	background-color: #ffb22c !important;
	color: #fff !important;
}

.book-online-instant{
	background-color: #178A58 !important;
	border-color: #178A58 !important;
	color: #fff !important;
}

.cstm-background-color{
	background-color: #1A5DBF !important;
	color: #fff !important;
}

/* .custom-checkbox:checked {
  background-color: #FFB22C;
  border-color: #FFB22C;
}

.custom-checkbox:focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 126, 35, 0.25);
}

.custom-radio:checked {
  background-color: #FE7E23;
  border-color: #FE7E23;
}

.custom-radio:focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 126, 35, 0.25);
} */

.custom-checkbox,
.custom-radio {
  accent-color: #FFB22C !important;
}

.custom-checkbox.form-check-input:checked {
  background-color: #FFB22C !important;
  border-color: #FFB22C !important;
}

.custom-checkbox.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 126, 35, 0.25) !important;
}

/* Radio styling */
.custom-radio.form-check-input:checked {
  background-color: #FFB22C !important;
  border-color: #FFB22C !important;
}

.custom-radio.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 126, 35, 0.25) !important;
}


/* 1. Remove Bootstrap validation UI artifacts */
#pickup-date.is-valid,
#pickup-date.is-invalid,
#pickup-time.is-valid,
#pickup-time.is-invalid {
  background-image: none !important;
  box-shadow: none !important;
  padding-right: 2.5rem !important;
  border-width: 1px !important; /* prevent thicker red borders from shifting layout */
}

/* 2. Lock input height and line-height */
#pickup-date,
#pickup-time {
  height: 42px; /* standard Bootstrap input height */
  line-height: 1.5;
  padding-right: 2.5rem;
  box-shadow: none !important;
}

/* 3. Force consistent icon position */
#pickup-date + i,
#pickup-time + i {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 1rem;
  z-index: 3;
}

.icon-invalid {
  top: 22px !important; /* or whatever styling you want */
  color: red; /* Optional: turn the icon red to match error state */
}

.no-radius {
    border-radius: 0 !important;
}

.fixed-img {
  height: 200px; /* Set your preferred height */
  object-fit: cover;
}

.card-narrow {
  max-width: 350px;    /* ← whatever “shorter” width you like */
  width: 100%;         /* so it shrinks down on small viewports */
}

.form-card {
	background-color: #212529 !important;
}

.card-header{
    color: #fff !important;
    border-bottom: 1px solid #fff !important;
	background-color: #212529 !important;
}

.text-off-white{
	color: #f6f7f9 !important;
}

.text-off-black{
	color: #212529 !important;
}

/* Call to action */
.help-button {
  background: linear-gradient(135deg, #ffc107, #e0a800);
  color: white;
  font-weight: 100;
  border: none;
  padding: 9px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.whatsapp-icon {
  color: #117144;
}

/* Tippy white tooltip theme */
.tippy-box[data-theme~='white-tooltip'] {
  background-color: #fff;
  color: #333;
  border: 1px solid #ccc;
  box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
  padding: 6px 10px;
  border-radius: 10px;
  text-align: center;
}

.tippy-box[data-theme~='white-tooltip'] .tippy-arrow {
  color: #fff;
}

.round-50{
	border-radius: 50rem !important;
}

.bg-yellow-light{
	background-color: #ffdf7d !important;
}

.phone-call-to-action{
	font-size: 12px;
	/* font-weight: 100; */
	line-height: 15px;
}

.navbar-toggler{
	border-radius: 50% !important;
	background-color: #ffb22c !important;
	border: none !important;
	padding: 0 !important;
	width: 46px !important;
    height: 46px !important;
}

.navbar{
	//border-top: 5px solid #ffb22c;
}

.mt-1-5 {
  margin-top: 0.375rem !important; /* Between 0.25 (mt-1) and 0.5 (mt-2) */
}

.step-item {
  padding: 30px 0px;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.step-item:hover {
  transform: translateY(-5px);
}

.step-number {
  font-size: 2.5rem;
  color: #ffc107;
}

.step-line {
  border-top: 1px solid white;
  margin-top: 3.5rem; /* adjust based on number alignment */
}

.hero{
	min-height: 100vh;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 53%);
  z-index: 1;
}

.hero .star-icon {
    color: #ffc107;
    font-size: 1.2rem;
}

.hero-background{

}

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



.fab-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  user-select: none;
  position: absolute;
}

.fab-container:hover .sub-button:nth-child(2) {
  transform: translateY(-80px);
}

.fab-container:hover .sub-button:nth-child(3) {
  transform: translateY(-140px);
}

.fab-container:hover .sub-button:nth-child(4) {
  transform: translateY(-200px);
}

.fab-container:hover .sub-button:nth-child(5) {
  transform: translateY(-260px);
}

.fab-container:hover .sub-button:nth-child(6) {
  transform: translateY(-320px);
}

.fab-container .fab {
  position: relative;
  height: 60px;
  width: 70px;
  background-color: #fff;
  z-index: 2;
  font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji !important;
}

.fab-container .fab .fab-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  border-radius: 50%;
}

.fab-container .fab .fab-content .material-icons {
  color: white;
  font-size: 48px;
}

.fab-container .sub-button {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 10px;
  right: 10px;
  height: 50px;
  width: 50px;
  background-color: #ffffff;
  border-radius: 50%;
  transition: all 0.3s ease;
  border: 1px solid #bebebe;
}

.fab-container .sub-button:hover {
  cursor: pointer;
}

.fab-container .sub-button .material-icons {
  color: white;
  padding-top: 6px;
}

.darker-backdrop-modal.show {
  background-color: rgba(0, 0, 0, 0.85) !important;
}

.btn-yellow {
	background-color: #ffb22c;
	border-color: #ffb22c;
	color: #000;
}

.btn-yellow:hover {
	background-color: #e6a318;
	border-color: #e6a318;
	color: #000;
}

.btn-outline-yellow {
	background-color: transparent;
	border: 2px solid #ffb22c;
	color: #ffb22c;
}

.btn-outline-yellow:hover {
	background-color: #ffb22c;
	color: #000;
}

.btn-yellow:focus,
.btn-yellow:active,
.btn-yellow:focus:active,
.btn-outline-yellow:focus,
.btn-outline-yellow:active,
.btn-outline-yellow:focus:active {
  outline: none !important;
  box-shadow: none !important;
  border-color: #ffb22c !important;
  background-color: #ffb22c !important;
  color: #000 !important;
}

.btn-outline-yellow:focus {
  background-color: transparent !important;
  color: #ffb22c !important;
  border-color: #ffb22c !important;
  box-shadow: none !important;
  outline: none !important;
}

.about-img-shape {margin:30px;z-index:1}
.about-img-shape::before {
	position: absolute;
    left: -31px;
    top: -30px;
    width: 80%;
    height: 90%;
    z-index: -1;
    content: '';
    background-color: var(--bs-dark);
    transition: .5s;
	
}
.about-img-shape:after {
    position: absolute;
    right: -31px;
    bottom: -30px;
    width: 80%;
    height: 90%;
    z-index: -1;
    content: '';
    background-color: var(--bs-dark);
    transition: .5s;
}

/* #flightInfoModal .form-control, #flightInfoModal .form-select{
	border-color: #ffffff !important;
	background-color: #e7e7e7 !important;
} */

#location-access-btn-wrapper.fade-in-up {
    animation: fadeInUp 0.4s ease forwards;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}



.star-icon {
	color: #ffb22c !important;
}

.circle-gradient-bg-section{
/* 	background: radial-gradient(
	  circle at center,
	  #858585 0%,
	  #212529 60%
	); */
	background-color: #212529;
}

.gallery-swiper .swiper-slide img {
	height: 400px; /* adjust as needed */
	width: 100%;
	object-fit: cover;
}

.btn-outline-warning:hover {
  color: #fff !important;
}

.btn-custom-text {
  font-size: 1rem;
  font-weight: 500; /* medium weight */
}




.booking-type .btn-outline-warning:hover
{
    background-color: transparent !important;
    color: #ffc107 !important;
    border-color: #ffc107 !important;
    box-shadow: none !important;
}

.booking-type .btn-check:checked + .btn-outline-warning:hover
{
	background-color: #ffc107 !important;
	color: #000 !important;
	border-color: #ffc107 !important;
	box-shadow: 0 8px 30px rgba(255,193,7,0.25) !important;
}

.booking-type label[for="book_now"] {
	border-bottom-left-radius: 35px !important;
	border-top-left-radius: 35px !important;
}

.booking-type label[for="schedule_ride"] {
	border-bottom-right-radius: 35px !important;
	border-top-right-radius: 35px !important;
}

.clear-input {
	right: 13px; 
	transform: translateY(-50%); 
	cursor: pointer; 
	z-index: 5;
	background: #f6f7f9; 
	border-radius: 50%; 
	padding: 10px 4px;
}

textarea {
  overflow: hidden !important;
}