﻿.disable-dbl-tap-zoom {
	touch-action: manipulation;
}
/*===========================
     css/sty;es.css
===========================*/
/* General select styling */
.custom-select {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 300px;
}
.custom-select select {
	-webkit-appearance: none; /* Remove default styles */;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding: 12px 40px 12px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 16px;
	background-color: white;
	cursor: pointer;
	transition: 0.3s;
}
/* Custom dropdown arrow */
.custom-select::after {
	content: '▼';
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	font-size: 14px;
	color: #555;
	pointer-events: none;
}
/* Add focus effect */
.custom-select select:focus {
	border-color: #007bff;
	outline: none;
	box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}
/* Safari-specific styling fix */
@media screen and (-webkit-min-device-pixel-ratio:0) {
select {
	font-size: 16px; /* Prevents zooming on iOS */
}
}
/*===========================
      Base Styles
===========================*/
html, body {
  margin: 0;
  padding: 0;
  height: 100dvh;
  min-height: 100dvh; /* not 100vh */
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  color: #333;
  display: flex;
  flex-direction: column;
}

main {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center; /* Centers content vertically */;
	align-items: center; /* Centers content horizontally */;
	background-color: #f4f4f4; /* Adjust as needed */;
	width: 100%;
}
.flex-start {
	flex-grow: 1;
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
	background-color: #f4f4f4;
}
h1 {
	text-align: center;
	font-size: 2.5em;
	font-weight: bold;
	padding: 10px;
	margin: 10px;
}
h2 {
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	padding: 5px;
	margin: 5px;
}
h3 {
	text-align: left;
	font-size: 1.75em;
	font-weight: bold;
	padding: 5px;
	margin: 5px;
}
h4 {
	text-align: left;
	font-size: 1.25em;
	font-weight: bold;
	padding: 5px;
	margin: 5px;
}
h5 {
	text-align: center;
	font-size: 1.00em;
	font-weight: bold;
	padding: 5px;
	margin: 5px;
}
p {
	margin: 1rem 0;
	font-size: 1.1rem;
	line-height: 1.5;
	color: #333;
	font-family: Arial, sans-serif;
}
.popup-title {
	font-size: 1.90rem;
	color: #333;
	font-family: Arial, sans-serif;
	font-weight: bold;
	text-align: center;
}
.dispatch-popup {
	min-width: 320px;
}
.ui-menu .ui-menu-item-wrapper {
	font-size: 20px;
}
.disable-dbl-tap-zoom {
}
/*===========================
      Important Overrides
===========================*/
* {
	outline: none;
}
/*===========================
      Flex Utilities
===========================*/
.flex {
	display: flex;
}
.grow {
	flex: 1;
}
.flex-grow {
	display: flex;
	flex: 1;
}
.flex-column {
	display: flex;
	flex-direction: column;
}
.flex-container {
	display: flex;
	flex-direction: column;
	height: 100vh;
}
.flex-jc-ac {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex-jc-ac-100 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.flex-jc-ac-col {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.flex-jc-ac-col-100 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
}
.flex-container-ac-jc {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.flex-sa-ac {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
}
.flex-sb-ac {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
}
.flex-end {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	margin-right: 15px;
	width: 100%;
}
.hundred-wide {
	width: 100%;
}
/*===========================
      Centering Utilities
===========================*/
.center-all {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1;
}
/*===========================
      Container Styles
===========================*/
#customer-container {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0;
	background-color: #f5f5f5;
	height: calc(100vh - 43px);
}
.container {
	background-color: white;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	max-width: 1200px;
	box-sizing: border-box;
}
#choose-plan-container {
	max-width: 600px;
}
/* Radio Button Custom Styling */
input[type=radio] {
	margin-right: 10px;
	transform: scale(1.2);
}
/* Selected Plan Highlight */
input[type=radio]:checked + label {
	font-weight: bold;
	color: #007bff;
}
.plan-list {
	list-style: none;
/* This removes the default dots */padding: 0;
}
.no-text-decoration, .hidden-decoration, .plain-text {
	text-decoration: none;
}
.no-text-decoration a, .hidden-decoration a, .plain-text a {
	text-decoration: none;
}
/*===========================
      Choose PLan Styles
===========================*/
/*===========================
      Form Styles
===========================*/
#submit-controls {
	display: none;
}
.button-group {
	display: flex;
	gap: 10px;
}
/*===========================
      Header Styles
===========================*/
.header {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
}
.public-header {
	display: flex;
	justify-content: space-between;
	padding: 5px 0px;
	background-color: #2c3e50;
	color: #fff;
	width: 100%;
}
.public-header a {
	text-decoration: none;
	color: white;
}
.logo {
	display: flex;
	align-items: center;
}
.logo img {
	height: 40px;
	vertical-align: middle;
	padding-left: 10px;
}
.logo .title {
	margin-left: 10px;
	font-size: 2.2rem;
	font-weight: bold;
}
.signup-status {
	display: flex;
	justify-content: center;
	align-items: center;
}
#userIcon {
	position: relative;
}
.dropdown-menu {
	display: none;
	position: absolute;
	top: 50px;
	right: 60px;
	z-index: 10;
}
#logout-link {
	display: flex;
	justify-content: flex-end;
}
#logout-button {
	padding: 10px 20px;
	background-color: #4f4d4d;
	color: white;
	text-align: right;
}
#user-email-button {
	padding: 10px 20px;
	background-color: rgba(128, 128, 128, 0.5);
	color: white;
	text-align: right;
}
/*===========================
      Header Links
===========================*/
#dispatchLink {
	width: 75px;
}
#requestsLink {
	width: 75px;
}
#settingLink {
	width: 75px;
}
.settings-link {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 0px;
	padding: 0px;
	height: 35px;
	width: 35px;
	border-radius: 25px;
	border-color: var(--text-color);
	border: 2px solid rgba(255, 255, 255, 0.0);
	margin-right: 80px;
	margin-left: 10px;
}
.settings-link:hover {
	border-color: var(--text-color);
	border: 2px var(--text-color) solid;
	cursor: pointer;
}
.settings-link a {
	display: flex;
	margin: 0 auto;
	text-align: center;
	height: 24px;
}
#header a {
	text-decoration: none;
}
.header-link {
	color: var(--text-color);
	text-decoration: none;
	padding: 5px 10px;
	border: 2px solid transparent;
	border-radius: 3px;
	transition: background-color 0.3s, border-color 0.3s;
	white-space: nowrap;
	font-size: 18px;
	padding-right: 10px;
	margin-right: 10px;
	text-align: center;
}
.header-link:hover {
	cursor: pointer;
	border: 2px var(--text-color) solid;
}
.public-header-link {
	display: flex;
	color: white;
	text-decoration: none;
	padding: 5px 10px;
	border: 2px solid transparent;
	border-radius: 3px;
	transition: background-color 0.3s, border-color 0.3s;
	white-space: nowrap;
	font-size: 18px;
	text-align: center;
	margin-right: 10px;
}
.public-header-link:hover {
	cursor: pointer;
	border: 2px white solid;
}
#contact-link {
	text-decoration: none;
}
.logo-wrapper {
	display: flex;
	text-decoration: none;
}
.logo a {
	text-decoration: none;
}
.signup-status a {
	text-decoration: none;
}
.logo-title {
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--text-color);
	padding-left: 5px;
}
/*=========================== 
      Footer Styles
===========================*/
.footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	background-color: #434343;
	color: white;
	padding: 10px 0;
	width: 100%;
	font-size: 14px;
}
#right-div {
	flex: 1;
	text-align: left;
}
#left-div {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex: 1;
	height: 100%;
	padding-left: 15px;
	flex-direction: column;
	width: 100%;
}
.status-indicator {
	width: 10px;
	height: 10px;
	background-color: #28a745;
	border-radius: 50%;
	display: inline-block;
	margin-right: 8px;
	margin-top: 5px;
}
.user-email {
	font-weight: bold;
	color: #bdbdbd;
}
#middle-div {
	flex: 2;
	text-align: center;
	margin: 0 auto;
}
.footer-content {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	padding: 0 10px;
	box-sizing: border-box;
}
.footer a {
	color: #3478f5;
	text-decoration: none;
	margin: 0 0.5em;
}
/*===========================
      Button Background Images
===========================*/
#selectTrigger, #add-marker-set-button, #delete-marker-set-button, #select-all-markers-button, #rotate-left-button, #rotate-right-button {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
#selectTrigger {
	background-image: url('../images/add.png');
}
#add-marker-set-button {
	background-image: url('../images/add.png');
}
#delete-marker-set-button {
	background-image: url('../images/subtract.png');
}
#select-all-markers-button {
	background-image: url('../images/dispatch-select.png');
}
#flip-box-markers-button {
	background-image: url('../images/dispatch-door.png');
}
#toggle-truck-markers-button {
	background-image: url('../images/dispatch-fit.png');
}
#rotate-left-button {
	background-image: url('../images/left-white.png');
}
#rotate-right-button {
	background-image: url('../images/right-white.png');
}
.show-alert {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/alert.png');
}
#alert {
	height: 35px;
	width: 35px;
}
/*===========================
      Customer Controls
===========================*/
#user-rotate-left-button, #user-rotate-right-button, #user-flip-box-markers-button, #user-toggle-truck-markers-button, #info-button-btn {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 50px;
	height: 50px;
}
#user-rotate-left-button:hover, #user-rotate-right-button:hover, #user-flip-box-markers-button:hover, #user-toggle-truck-markers-button:hover, #infoButton:hover {
	background-color: #3d3d43;
}
#user-rotate-left-button {
	background-image: url('../images/left-blue.png');
}
#user-rotate-right-button {
	background-image: url('../images/right-blue.png');
}
#user-flip-box-markers-button {
	background-image: url('../images/customer-door.png');
}
#user-toggle-truck-markers-button {
	background-image: url('../images/customer-fit.png');
}
#info-button-btn {
	background-image: url('../images/info.png');
}
/*===========================
      Modal Styles
===========================*/
.modal {
	display: none;
	position: fixed;
	z-index: 99;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
	background-color: #fff;
	padding: 20px;
	border: 1px solid #888;
	border-radius: 10px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 90vw;
	width: 400px;
	box-sizing: border-box;
}
/* Responsive mobile fix */
@media (max-width: 600px) {
.modal-content {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90vw;
	max-height: 90vh;
	overflow-y: auto;
}
}
#invite-modal {
	min-width: 300px;
}
.invite-modal-content {
	background-color: #fff;
	padding: 20px;
	border: 1px solid #888;
	border-radius: 10px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 300px;
}
.close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}
.close:hover, .close:focus {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}
/*===========================
      Logout Confirmation
===========================*/
#confirmLogout {
	background-color: #4CAF50;
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
}
#confirmLogout:hover {
	background-color: #45a049;
}
#cancelLogout {
	background-color: #f44336;
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
}
#cancelLogout:hover {
	background-color: #d32f2f;
}
/*===========================
      Additional Styling
===========================*/
#options-container {
	display: flex;
	flex-direction: column;
	font-family: Arial, sans-serif;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 20px;
}
.flex-button {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	margin-top: 10px;
	margin-left: 15px;
	background-color: silver;
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 18px;
	text-align: center;
}
.top-margin-auto {
	margin-top: auto !important;
}
.highlight-request {
	background-color: #e12727;
}
.green-bk {
	background-color: #4CAF50;
	color: white;
}
.blue-bk {
	background-color: #007bff;
	color: white;
}
.gray-bk {
	background-color: #c1c1c1;
	color: black;
}
.yellow-button {
	color: black;
	border: 3px solid yellow;
}
.back-button {
	background-color: #007bff;
	color: white;
	padding: 10px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
}
.large-text {
	font-size: 36px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #676767;
}
.medium-text {
	font-size: 24px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.welcome-span {
	height: 20px;
}
.powered-text {
	text-align: center;
	color: #888;
	font-size: 1.0rem;
}
.xtra-padding-top-20 {
	padding-top: 20px;
}
.xtra-margin-top-20 {
	margin-top: 20px;
}
.xtra-margin-top-10 {
	margin-top: 10px;
}
.xtra-padding-bottom-20 {
	padding-bottom: 20px;
}
.xtra-margin-bottom-20 {
	margin-bottom: 20px;
}
.xtra-padding-bottom-10 {
	padding-bottom: 10px;
}
.btn-primary {
	background-color: #007bff;
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
}
.btn-secondary {
	background-color: #ffc107;
	color: black;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600;
}
.action-buttons {
	display: flex;
	justify-content: space-around;
	gap: 10px;
	margin-top: 15px;
}
.button-div {
	padding: 10px;
	font-size: 1rem;
	background-color: #007bff;
	color: white;
	text-align: center;
	cursor: pointer;
	margin-top: 10px;
	border-radius: 4px;
	transition: background-color 0.3s ease;
	width: 200px;
}
/* Success Message Styling */
.success-message {
	color: #28a745; /* Green for success */;
	background-color: #d4edda; /* Light green background */;
	border: 1px solid #c3e6cb;
/* Darker green border */padding: 10px 15px;
	border-radius: 4px;
	font-size: 14px;
	margin: 10px 0;
	text-align: center;
}
/* Error Message Styling */
.error-message {
	color: #dc3545; /* Red for error */;
	background-color: #f8d7da; /* Light red background */;
	border: 1px solid #f5c6cb;
/* Darker red border */padding: 10px 15px;
	border-radius: 4px;
	font-size: 14px;
	margin: 10px 0;
	text-align: center;
}
div#logo-container {
	background-color: #edeceb;
	margin-top: 20px;
}
#contactLink {
	margin-right: 40px;
}
#verify-container {
	max-width: 500px;
}
.mobile-warning {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: #ffcc00;
	color: #000;
	font-size: 16px;
	font-weight: bold;
	height: 56px;
	position: fixed;
	bottom: 0px;
	z-index: 1000;
	text-align: center;
	display: none;
}
img#location-icon {
	padding-left: 5px;
}

#dispatch-container {
       height:100%
    }


/*===========================
      Responsive Adjustments
===========================*/
@media (max-width: 760px) {

#dispatch-container {
	flex-direction: column-reverse;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	background-color: #f0f0f0;
	height: 100%;
	}


.dispatch-controls {
	width: 100%;
}

.logo img {
    height: 30px;
}

.dropdown-menu {
	top: 89px;
	right: 60px;
	z-index: 10;
}
.footer {
	flex-direction: column;
}
#left-div {
	flex-direction: column;
	padding-left: 0px;
}
#left-div {
	margin-bottom: 10px;
	background-color: #333333;
}
.mobile-warning {
	display: flex;
}
#header {
	flex-direction: column;
}
.public-header {
	flex-direction: column;
}
.signup-status {
	justify-content: space-around;
}
#sidebar-top-controls {
	max-width: 760px;
	width: 100%;
}
#map-container {
}
.signup-status a[href="signup.php"] {
	display: none;
}
.logo-title {
	font-size: 2.0rem;
}
#sidebar {
	width: 100%;
}
#reset-map-button {
	width: 200px;
}
}
@media (max-width: 600px) {
.dropdown-menu {
	top: 89px;
	right: 0px;
	z-index: 10;
}
#sidebar {
	padding: 0px;
}
.settings-link {
	margin-right: 0px;
	margin-left: 0px;
}
}
@media (max-width: 480px) {
.logo-title {
	font-size: 1.5rem;
}
.header-link {
	padding: 5px 5px;
	margin-right: 0px;
}
.signup-status {
	font-size: 18px;
}
.header {
}
.header {
	justify-content: space-around;
}
.large-text {
	font-size: 28px;
}
@media (max-width: 400px) {
.large-text {
	font-size: 26px;
}
}
}
