@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");

* {
	font-family: "Lato", sans-serif;
}

:root {
	--main: #2f749e;
	--secondary: #74a2be;
}

img {
	user-select: none;
	-webkit-user-drag: none;
}

.bg-main {
	background-color: var(--main);
}

.bg-main-light {
	background-color: #f1f1f1;
}

.text-main {
	color: var(--main);
}

.border-main {
	border-color: var(--main) !important;
}

.badge-sm {
	padding-bottom: 2px;
	padding-top: 0px;
	padding-right: 4px;
	padding-left: 4px;
	border-radius: 5px;
}

.btn-main {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--main);
	--bs-btn-border-color: var(--main);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #275f82;
	--bs-btn-hover-border-color: #275f82;
	--bs-btn-focus-shadow-rgb: 47, 116, 158;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #1f4d69;
	--bs-btn-active-border-color: #1f4d69;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--main);
	--bs-btn-disabled-border-color: var(--main);
	--bs-btn-focus-box-shadow: 0 0 0 0.25rem
		rgba(var(--bs-btn-focus-shadow-rgb), 0.25);
}

.btn-outline-main {
	--bs-btn-color: var(--main);
	--bs-btn-border-color: var(--main);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--main);
	--bs-btn-hover-border-color: var(--main);
	--bs-btn-focus-shadow-rgb: 47, 116, 158;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--main);
	--bs-btn-active-border-color: var(--main);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--main);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: var(--main);
	--bs-btn-focus-box-shadow: 0 0 0 0.25rem
		rgba(var(--bs-btn-focus-shadow-rgb), 0.25);
}

.form-check-label,
.form-check-input {
	cursor: pointer;
	user-select: none;
}

.form-check-input:checked {
	background-color: var(--main);
	border-color: var(--main);
}

.font-weight-normal {
	font-weight: normal;
}

.text-top {
	vertical-align: top;
}

.card-header,
.card-footer {
	border-width: 1px;
	border-color: #f1f1f1;
}

.card {
	border-top: 4px solid var(--main) !important;
	border: none;
}

.card-tab {
	border-radius: unset;
	border: 1px solid #dee2e6;
	border-top: none !important;
}

.card-image {
	max-height: 200px;
}

.dashboard-card-header {
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.nav-item.active {
	border-bottom: 4px solid var(--main);
	border-radius: 4px;
}

@media (max-width: 576px) {
	.nav-item.active {
		border-bottom: none;
		border-left: 4px solid var(--main);
	}
}

.nav-link {
	padding: 12px;
}

.text-active {
	color: var(--main);
}

.alert {
	position: fixed;
	bottom: 16px;
	left: 16px;
	display: flex;
	align-items: center;
	z-index: 99999;
	max-width: 500px;
}

a {
	text-decoration: none;
}

.modal-main {
	border-top: 5px solid var(--main);
}

.modal-success {
	border-top: 5px solid #198754;
}

.payload {
	cursor: pointer;
}

.top {
	vertical-align: top;
}

.alert p {
	margin-bottom: 0;
}

.table-responsive {
	scrollbar-width: thin;
}

small {
	font-size: 0.8rem;
}

.components-icon {
	width: 20px;
	text-align: left;
	margin-right: 4px;
}

.dropdown-item.active > .components-icon,
.dropdown-item:active > .components-icon {
	color: white !important;
}

.card-header > h6 {
	margin-bottom: 0;
}

.page-link.active,
.datatable-pagination a.active,
.active > .page-link,
.datatable-pagination .active > a {
	background-color: var(--main);
	border-color: var(--main);
}

.page-link,
.datatable-pagination a {
	color: var(--main);
}

.page-link:focus,
.datatable-pagination a:focus {
	box-shadow: 0 0 0 0.25rem rgba(34, 77, 129, 0.25);
}

.dt-layout-full {
	overflow-y: auto;
}

thead.bg-main,
tfoot.bg-main {
	border: 1px solid var(--main);
}

.help {
	cursor: help;
}

.dropdown-item.active,
.dropdown-item:active {
	background-color: var(--main);
}

.jconfirm {
	z-index: 2000;
}

.pointer {
	cursor: pointer;
}

.no-bullet {
	list-style-type: none;
	padding-left: 0;
}

th,
.pre {
	white-space: pre;
}

table.no-border,
.no-border th,
.no-border td {
	border: none !important;
}

.actions {
	text-wrap: nowrap;
}

.actions .btn {
	width: 32px !important;
	height: 32px;
}

.input-icon {
	position: relative;
}

.input-icon svg {
	position: absolute;
	top: 11px;
	left: 12px;
	color: #bfbfbf;
}

.input-icon input {
	padding-left: 32px;
}

.form-select:focus,
.form-control:focus,
.datatable-input:focus,
.form-check-input:focus {
	box-shadow: 0 0 0 0.25rem rgba(35, 77, 130, 0.25);
}

.dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
	margin-bottom: 1px;
}

.modal-content {
	overflow: hidden;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	box-shadow: none !important;
	border: 1px solid var(--main);
}

.leaflet-container a.leaflet-popup-close-button {
	color: white !important;
}

/* Small and up */
@media (min-width: 576px) {
	.text-sm-start {
		text-align: left !important;
	}
	.text-sm-center {
		text-align: center !important;
	}
	.text-sm-end {
		text-align: right !important;
	}
}

/* Medium and up */
@media (min-width: 768px) {
	.text-md-start {
		text-align: left !important;
	}
	.text-md-center {
		text-align: center !important;
	}
	.text-md-end {
		text-align: right !important;
	}
}

/* Large and up */
@media (min-width: 992px) {
	.text-lg-start {
		text-align: left !important;
	}
	.text-lg-center {
		text-align: center !important;
	}
	.text-lg-end {
		text-align: right !important;
	}
}

/* Extra Large and up */
@media (min-width: 1200px) {
	.text-xl-start {
		text-align: left !important;
	}
	.text-xl-center {
		text-align: center !important;
	}
	.text-xl-end {
		text-align: right !important;
	}
}

@media (max-width: 992px) {
	.navbar-toggler {
		border: none;
		margin: 6px auto;
	}

	.navbar-toggler:focus {
		text-decoration: none;
		outline: 0;
		box-shadow: none;
	}

	.navbar-dropdown {
		background-color: #f1f1f1;
	}

	.navbar-collapse {
		background-color: white;
		border-radius: 0.375rem;
	}

	.navigation {
		background-color: #f1f1f1 !important;
	}
}

/* Sidebar Styles */
#wrapper {
	overflow-x: hidden;
}

#sidebar-wrapper {
	min-height: 100vh;
	margin-left: -16rem;
	transition: margin 0.25s ease-out;
	width: 16rem;
	background-color: #fff;
	border-right: 1px solid #dee2e6;
}

#sidebar-wrapper .sidebar-heading {
	padding: 1rem 1.25rem;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

#page-content-wrapper {
	min-width: 100vw;
	transition: margin 0.25s ease-out;
}

body.sb-sidenav-toggled #sidebar-wrapper {
	margin-left: 0;
}

@media (min-width: 768px) {
	#sidebar-wrapper {
		margin-left: 0;
	}

	#page-content-wrapper {
		min-width: 0;
		width: 100%;
	}

	body.sb-sidenav-toggled #sidebar-wrapper {
		margin-left: -16rem;
	}
}

/* Sidebar Navigation Overrides */
#sidebar-wrapper .navbar-nav {
	flex-direction: column !important;
	width: 100%;
	padding: 10px;
}

#sidebar-wrapper .nav-item {
	width: 100%;
	margin-bottom: 2px;
}

#sidebar-wrapper .nav-link {
	color: #495057;
	padding: 10px 15px;
	border-radius: 5px;
	transition: all 0.2s;
	display: flex;
	align-items: center;
}

#sidebar-wrapper .nav-link:hover {
	background-color: #f8f9fa;
	color: var(--main);
}

#sidebar-wrapper .nav-link.text-active {
	background-color: #e9ecef;
	color: var(--main);
	font-weight: 600;
}

#sidebar-wrapper .nav-link .fa {
	width: 24px;
	text-align: center;
	margin-right: 8px;
}

#sidebar-wrapper .dropdown-toggle::after {
	margin-left: auto;
}

/* Sidebar Dropdown Menu (Accordion Style) */
#sidebar-wrapper .dropdown-menu {
	position: static !important;
	transform: none !important;
	float: none;
	width: 100%;
	margin-top: 0;
	background-color: transparent;
	border: none;
	box-shadow: none;
	padding-left: 15px;
	padding-top: 0;
}

#sidebar-wrapper .dropdown-item {
	padding: 8px 15px;
	border-radius: 5px;
	color: #6c757d;
	font-size: 0.9rem;
}

#sidebar-wrapper .dropdown-item:hover {
	color: var(--main);
	background-color: rgba(var(--main), 0.1);
}

#sidebar-wrapper .dropdown-item.active {
	background-color: transparent;
	color: var(--main);
	font-weight: bold;
}

#sidebar-wrapper .dropdown-divider {
	border-top: 1px solid #eee;
	margin: 8px 0;
}

/* Top Navbar in Sidebar Mode */
.navbar-light .navbar-toggler {
	border-color: rgba(0, 0, 0, 0.1);
}
.btn-toggle-sidebar {
	background: transparent;
	border: 1px solid #dee2e6;
	color: #6c757d;
	padding: 0.25rem 0.6rem;
	border-radius: 0.25rem;
}
