:root {
	--CardTop: white;
	--CardBorder: silver;
	--CardColor: white;
	--CardText: gray;
	--CardTitle: darkslateGray;
	--CardTitleShake: goldenrod;
	--Blackish: Black;
	--background: #fcfbf4;
	--MenuText: #2f2f2f;
	--buttonborder: Silver;
	--button: #e1decd;
	--buttonText: #333;
	--TopLabel: #cbba9c;
	--NavBar: #343a40;
	--Silver: Silver;
	--Shadow: #ccc;
	--DarkGray: #2f2f2f;
	--Blueish: #00555a;
	--Greenish: #4a6446;
	--SlateGray: darkslateGray;
	--lightGray: #999;
	--White: white;
	--medium-gray: #636872;
	--font-to-use: Roboto, sans-serif;
	--font-size-Xtra-large: 22px;
	--font-size-large: 20px;
	--font-size-normal: 14px;
	--font-size-small: 12px;
	--shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
	--button-radius: 0.375rem;

}

body {
	/* background: var(--background); */
	/* background: linear-gradient(to bottom, rgb(83, 124, 138), rgb(224, 225, 218)); */
	background: var(--background);
	font-size: 18px;
	line-height: 1.33337;
	font-weight: lighter;
	letter-spacing: -0.01em;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

.signin-title {
	color: black;
	text-shadow: silver 1px 0 5px;
	text-align: center;
	position: relative;
	font-weight: 100 !important;
	font-size: 26px;
}


.navbar {
	position: sticky;
	width: 100%;
	z-index: 1;
	padding-left: 5px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 5px;
	background-color: #343a40;
	color: inherit;
}

.bg-dark {
	background-color: #343a40 !important;
	/* Override Bootstrap default */
}


.hr-thin {
	border: 0;
	height: 1px;
	background: #333;
	margin: 5px 0px 10px;
	background-image: linear-gradient(to right, white, silver, white);
}

/* Ensure icon font swaps quickly to avoid FOIT */
@font-face {
	font-family: "bootstrap-icons";
	src: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/fonts/bootstrap-icons.woff2?1fa40e8900654d2863d011707b9fb6f2") format("woff2"),
		url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/fonts/bootstrap-icons.woff?1fa40e8900654d2863d011707b9fb6f2") format("woff");
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

/* Lightweight replacement for animate.css shake */
.animated.shake {
	animation: bookings-shake 700ms cubic-bezier(.36, .07, .19, .97);
	transform-origin: center;
}

@keyframes bookings-shake {

	10%,
	90% {
		transform: translate3d(-1px, 0, 0);
	}

	20%,
	80% {
		transform: translate3d(2px, 0, 0);
	}

	30%,
	50%,
	70% {
		transform: translate3d(-4px, 0, 0);
	}

	40%,
	60% {
		transform: translate3d(4px, 0, 0);
	}
}

/* Visible focus states for interactive controls */
.create-booking-btn:focus-visible,
.add-booking-btn:focus-visible,
.approve-btn:focus-visible,
button:focus-visible,
a:focus-visible {
	outline: 3px solid #0d6efd;
	outline-offset: 2px;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25);
}

.btn-install {
	width: 240px;
	margin: 2px;
	display: inline-block;
	text-align: center;
	padding: 22px;
	font-size: 20px;
	text-shadow: var(--Blackish) 1px 0 10px;
	background: linear-gradient(#4d4d4d, var(--DarkGray));
	border-radius: var(--button-radius);
	border: 1px solid var(--Silver);
	color: var(--White);
}

.buttonPassword {
	text-align: center;
	background: url("/img/eye.png");
	background-position: center;
	height: 37px;
	display: inline-block;
	padding: 15px 15px;
	border: 0;
	cursor: pointer;
}

.booknr {
	font-size: 16px;
	color: var(--lightGray);
	width: 100%;
	text-align: left;
	margin: 0px;
	padding-bottom: 3px;
	font-weight: 400;
}

.lastbooking {
	font-size: 12px;
	color: var(--lightGray);
	width: 100%;
	text-align: center;
	margin: 2px;
	padding-bottom: 3px;
}

.card-signin {
	background: none;
	/* background-color: var(--background); */
	border-width: 0px;
}

.card {
	background: white;
	border-width: 0px;
	border-color: var(--CardBorder);
	border-radius: var(--button-radius);
	margin-top: 10px;
	margin-bottom: 15px;
	/* box-shadow: #333 3px 3px 15px; */
	box-shadow: var(--shadow);
	min-width: 300px;
}

.card-title {
	color: black;
	text-shadow: silver 1px 0 5px;
	text-align: center;
	position: relative;
	font-weight: 400;
	font-size: 24px;
	/* background-color: var(--lightGray); */
}

.nav-title {
	color: var(--White);
	text-shadow: black 1px 0 10px;
	font-size: 22px;
	text-align: center;
	position: relative;
}

.card-status {
	/* float: right; */
	color: maroon;
	background-color: gold;
	font-size: 22px;
	font-weight: 400;
	text-align: center;
	margin: 0px;
	margin-top: 0px;
	padding: 5px;
	text-shadow: 2px 2px 3px silver;
}

.fuel-values {
	/* float: right; */
	color: var(--Blackish);
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	margin: 0px;
	margin-top: 0px;
	padding-top: 0px;
	/* text-shadow: 2px 2px 3px var(--Shadow); */
	text-shadow: var(--lightGray) 0px 1px 1px;
}

.card-title3 {
	float: right;
	color: var(--CardTitle);
	font-size: 16px;
	text-align: right;
	padding-bottom: 0px;
	padding-top: 0px;
	padding-right: 10px;
}

.card-comments {
	color: var(--Blueish);
	font-size: 20px;
	text-align: center;
	padding-bottom: 0px;
	padding-top: 0px;
	margin: 0px 5px 0px 5px;
}

.card-body {
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 14px;
}

.card-label {
	text-align: left;
	color: white;
	background-color: var(--NavBar);
	font-size: 24px;
	font-weight: 400;
	padding-top: 5px;
	padding-left: 10px;
	padding-bottom: 5px;
	text-shadow: black 1px 0 5px;
	border-radius: 6px 6px 0px 0px;
}

.card-label2 {
	text-align: left;
	color: white;
	background-color: var(--NavBar);
	font-size: 16px;
	font-weight: 100;
	padding-top: 5px;
	padding-left: 15px;
	text-shadow: black 1px 0 3px;
	border-radius: 10px 10px 0px 0px;
}

.card-warning {
	text-align: right;
	color: gold;
	font-size: 16px;
	font-weight: 100;
	padding-top: 5px;
	padding-right: 15px;
	margin: 0px;
	text-shadow: black 1px 0 3px;
}

.card-collect {
	text-align: center;
	color: maroon;
	font-size: 22px;
	font-weight: 100;
	padding-top: 5px;
	padding-left: 15px;
	text-shadow: black 1px 0 3px;
	border-radius: 10px 10px 0px 0px;
}

.card-text {
	text-align: left;
	text-indent: 5%;
	font-size: 16px;
	font-weight: 400;
	color: var(--CardText);
	width: 100%;
}

.card-text-analytics {
	text-align: left;
	text-indent: 5%;
	font-size: 16px;
	font-weight: 400;
	color: white;
	width: 100%;
}

.card-date {
	text-align: center;
	text-indent: 5%;
	font-size: 16px;
	font-weight: 400;
	color: var(--CardText);
	width: 100%;
}

.center {
	margin-left: auto;
	margin-right: auto;
}

.container .row {
	/* padding: 5px; */
	display: inline-box;
	position: relative;
}

li {
	list-style: none;
}

.flex {
	flex: 1;
}

.flexbox {
	display: flex;
	flex-wrap: wrap;
}

.shadowbox {
	padding: 1px;
	margin: 0px 10px 0px 10px;
}

textarea {
	padding: 5px;
	max-width: 100%;
	line-height: 1.5;
	border-radius: 5px;
	border: 1px solid var(--Shadow);
	/* resize: none; */
	color: var(--SlateGray);
	font-size: 16px;
}

.masthead {
	/* background: var(--background); */
	background-color: none;
}

.index {
	width: auto;
	height: auto;
}

.info {
	font-size: 18px;
	color: var(--CardTitleShake);
	width: 100%;
	text-align: center;
	margin: 0;
}

.notifyVehicle {
	float: right;
	width: 26px;
	height: 26px;
	margin-top: 9px;
	border-radius: 0px;
	border: 0px;
	/* display: inline-block; */
	background: url("/img/notify.png");
	cursor: pointer;
	position: relative;
	z-index: 10;
}

.h6 {
	font-size: 38px;
	text-align: left;
}

.disabled {
	pointer-events: none;
	cursor: default;
	color: var(--Silver);
}

.signin-button {
	display: inline-block;
	outline: 0;
	padding: 10px 20px 10px 20px;
	width: 240px;
	line-height: 1.4;
	background: darkblue;
	border-radius: var(--button-radius);
	border: 1px solid var(--Blackish);
	color: var(--White);
	font-size: 16px;
	cursor: pointer;
	position: relative;
	transition: padding-right 0.3s ease-out;
}

.signin-button.loading {
	background-color: var(--Shadow);
	padding-right: 40px;
}

.signin-button.loading:after {
	content: "";
	position: absolute;
	border-radius: 100%;
	right: 6px;
	top: 50%;
	width: 0px;
	height: 0px;
	margin-top: -2px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-left-color: var(--White);
	border-top-color: var(--White);
	animation: spin 0.6s infinite linear, grow 0.3s forwards ease-out;
}

select {
	outline: 0;
	box-shadow: none;
	border-color: var(--Silver);
	background: var(--White);
	background-image: none;
	flex: 1;
	padding: 0 0.5em;
	color: var(--SlateGray);
	cursor: pointer;
	font-size: 16px;
	display: block;
	outline: 1px solid blue;
	box-shadow: #00555a 1px 1px 5px;

}

.select {
	position: static;
	display: flex;
	height: 3em;
	line-height: 3;
	background: #5c6664;
	overflow: hidden;
	border-radius: 0.25em;
}

.top-label {
	color: white;
	min-width: 300px;
	background-position: center;
	background-size: cover;
	background-color: var(--NavBar);
	padding-bottom: 5px;
	font-size: 22px;
	margin-bottom: 0px;
}

.top-menu {
	color: var(--TopLabel);
	min-width: 300px;
	background-position: center;
	background-size: cover;
	background-color: var(--background);
	padding-top: 10px;
}

.w3-container {
	padding: 0.01em;
	height: 16px;
}

.w3-light-grey {
	background-color: var(--White);
}

.w3-blue {
	color: var(--White);
	font-size: 12px;
	background-color: var(--Greenish);
}

.workshopLogo {
	display: inline-flex;
	width: 80px;
	height: 30px;
	border-radius: 1px;
}

@media (min-width: 900px) {
	.masthead h1 {
		font-size: 5vw;
		text-shadow: var(--Blackish) 0px 0 5px;
	}
}

@keyframes spin {
	to {
		transform: rotate(359deg);
	}
}

@keyframes grow {
	to {
		width: 14px;
		height: 14px;
		margin-top: -8px;
		right: 13px;
	}
}

.card-info3 {
	display: block;
	text-align: left;
	color: var(--lightGray);
	font-size: var(--font-size-large);
	padding: 0px;
	padding-left: 0px;
	padding-top: 5px;
	margin: 0px;
	font-weight: 400;
	width: 120px;
}

.card-info-highlight {
	float: right;
	text-align: left;
	color: var(--Blackish);
	text-shadow: var(--lightGray) 0px 1px 1px;
	font-size: var(--font-size-large);
	padding-left: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	margin: 0px;
}

.card-info-highlight3 {
	font: var(--font-to-use);
	float: left;
	text-align: right !important;
	color: var(--Blackish);
	text-shadow: var(--lightGray) 0px 1px 1px;
	font-size: 18px;
	padding-left: 2px;
	padding-right: 10px;
	padding-top: 5px;
	margin: 0px;
}

.modal-body {
	font-size: 20px;
	background-color: var(--white);
	padding: 5px;
	font-weight: 400;
	text-align: center;
}

.modal-header {
	background-color: midnightblue;
	color: white;
	font-size: 24px;
	font-weight: 100;
	text-align: center;
}

.detail-row {
	display: flex;
	justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
}

.detail-row-amount {
	display: flex;
	justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
	background-color: aliceblue;
}


.card-dashboard {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.card-amount {
	width: auto;
	height: 35px;
	margin: 2px;
	display: inline-block;
	text-align: center;
	font-size: 18px;
	border: 0px;
	color: darkblue;
	text-shadow: 1px 1px 4px var(--lightGray);
}

input.form-control:focus {
	outline: 1px solid blue;
	box-shadow: #00555a 1px 1px 5px;
}

.camera-icon {
	font-size: 150px;
	color: #aaa;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

.camera-icon.hidden {
	display: none;
}

/* Form Control Focus Styling */
/* Remove unwanted highlighting from form controls when not focused */
.form-control,
.form-select {
	border-color: #ced4da !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Show proper highlighting when focused/selected for input */
.form-control:focus,
.form-select:focus {
	border-color: #007bff !important;
	outline: 0 !important;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Remove highlighting on hover/active when not focused */
.form-control:hover:not(:focus),
.form-select:hover:not(:focus) {
	border-color: #ced4da !important;
	box-shadow: none !important;
}

.form-control:active:not(:focus),
.form-select:active:not(:focus) {
	border-color: #ced4da !important;
	box-shadow: none !important;
}

/* Potentially unused selectors retained for reference */
.btn-open {
	width: 80px;
	height: 25px;
	margin: 2px;
	margin-left: 5px;
	border-radius: var(--button-radius);
	text-align: center;
	padding: 2px;
	font-size: 14px;
	text-shadow: none;
	border: 1px solid var(--buttonborder);
	background-color: var(--button);
	color: var(--buttonText);
	float: right;
}