* {
	scroll-behavior: smooth;
	scrollbar-width: thin;
}

::-webkit-scrollbar {
	width: 0.5rem;
	height: 0.5rem;
}

::-webkit-scrollbar-thumb {
	background: #005c97;
	border-radius: 1rem;
}

::-webkit-scrollbar-track {
	background: #ececec;
}

::placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

::-webkit-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

::-moz-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

:-moz-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

::-ms-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

:-ms-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}

/* --------------------------- MAIN --------------------------- */
body {
	font-family: "Exo", Arial, Helvetica, sans-serif;
	background: #f5f8fa;
	transition: 0.5s all ease;
}

/* ------------------ INSTALLATION PAGE ------------------ */
#installation {
	height: 100vh;
}
#installation .content {
	background: #fff;
	border-radius: 0.75rem;
	padding: 3em 2.5em;
	box-shadow: 0px 0px 1.875rem 0px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 0px 1.875rem 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 1.875rem 0px rgba(0, 0, 0, 0.1);
}
#installation .app-logo {
	margin-bottom: 1.5em;
}
#installation .app-logo img {
	max-width: 11.25rem;
	width: 100%;
}
#installation .app-title {
	margin-bottom: 1.5em;
}
#installation .app-title h1 {
	color: #022741;
}
#installation .btn {
	border-width: 0.125rem;
	font-size: 1.25rem;
}
/* ------------------- END ------------------- */

.navbar {
	padding: 0.5em 0.375rem;
	background: #34e89e;
	background: -webkit-linear-gradient(to right, #0f3443, #34e89e);
	background: linear-gradient(to right, #0f3443, #34e89e);	
}

.navbar-dark .navbar-nav .nav-link {
	color: #fff !important;
}

.logo {
	width: 100%;
	max-width: 2.875rem !important;
}

.navbar-brand .app-title {
	line-height: 1.2;
	margin-left: 0.5rem !important;
}

.navbar-brand .app-title .org-info {
	font-weight: 500;
	font-size: 0.875rem;
}

main {
	padding: 1.25rem 0.25rem;
}

.white-bg-w-pd {
	background: #ffffff;
	padding: 1.25rem;
	border-radius: 0.5rem;
}

.form-select,
.form-control {
	padding: 0.625rem !important;
}

.form-select {
	padding-right: 2.25rem !important;
}

.modal-dialog {
	margin: 4rem auto !important;
	max-width: 75% !important;
}

.modal-header {
	padding: 0.75rem 1rem !important;
	border-top-left-radius: 0.5rem !important;
	border-top-right-radius: 0.5rem !important;
}

.modal-header > .btn-danger {
	font-size: 1.125rem !important;
	padding: 0.375rem 0.75rem !important;
}

.modal-content {
	border-radius: 0.5rem !important;
}

.modal-body {
	padding: 1rem !important;
	max-height: 35rem !important;
}

.modal-body ::-webkit-scrollbar {
	width: 0.375rem;
	height: 0.375rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
th,
td,
label,
option,
input .form-label,
.form-select {
	color: black;
}

td {
	font-weight: 500;
}

pre {
	font-family: "Fira Code", monospace;
	font-weight: 500;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
	line-height: normal;
	max-height: 33rem;
	margin: 0;
	overflow: auto;
}

table,
select,
input,
.dropdown-menu > a > span,
.dt-buttons span,
.dropdown-toggle::after,
.page-link {
	font-size: 0.875rem !important;
}

label {
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

textarea {
	font-size: 0.875rem !important;
	resize: none;
	overflow-y: auto;
	cursor: text;
}

.req {
	color: red;
	font-size: 0.875rem;
	font-weight: 800;
}

.form-control {
	font-weight: 600 !important;
}

.form-control,
.form-select {
	border-width: 0.125rem !important;
}

.form-label,
#api_logs_length > label,
.dataTables_empty {
	font-weight: 700;
}

.form-select,
option {
	font-weight: 600;
}

.dropdown-item {
	padding: 0.25rem 0.75rem;
	color: #000000;
	transition: 0.5s all ease;
}

.dropdown-item:hover {
	transition: 0.5s all ease;
}

.dropdown-item.active,
.dropdown-item:active {
	background-color: #0066cc;
}

.btn {
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
	font-weight: 700;
	padding: 0.5rem 1rem;
	transition: 0.5s all ease !important;
}

.text-dark-blue {
	color: #0066cc;
}

.btn-dark-blue {
	color: white;
	background-color: #0066cc;
	border-color: #0066cc;
}

.btn-dark-blue:hover {
	color: white;
	background-color: #005c97;
	border-color: #005c97;
}

.text-dark-green {
	color: #009975;
}

.btn-dark-green {
	color: white;
	background-color: #009975;
	border-color: #009975;
}

.btn-dark-green:hover {
	color: white;
	background-color: #00674f;
	border-color: #00674f;
}

.text-dark-red {
	color: crimson;
}

.btn-dark-red {
	color: white;
	background-color: crimson;
	border-color: crimson;
}

.btn-dark-red:hover {
	color: white;
	background-color: #99000f;
	border-color: #99000f;
}

.btn-dark-blue:focus {
	box-shadow: 0 0 0 0.25rem rgb(49 132 253 / 50%);
	transition: 0.5s all ease;
}

.btn-dark-green:focus {
	box-shadow: 0 0 0 0.25rem rgb(60 153 110 / 50%);
	transition: 0.5s all ease;
}

.btn-dark-red:focus {
	box-shadow: 0 0 0 0.25rem rgb(225 83 97 / 50%);
	transition: 0.5s all ease;
}

table.dataTable th {
	padding-top: 0.375rem !important;
	padding-bottom: 0.375rem !important;
	padding-left: 0.375rem !important;
}

table.dataTable td {
	padding: 0.375rem !important;
}

.table-hover tbody tr td {
	transition: 0.5s all ease !important;
}

.table-hover tbody tr:hover td {
	transition: 0.5s all ease !important;
}

table.table-bordered.dataTable thead th {
	border-bottom: 2px solid black !important;
}

table.table-bordered.dataTable tfoot th {
	border-top: 2px solid black !important;
}

ul.pagination {
	margin: 0 !important;
}

.page-item.active .page-link {
	background-color: #0066cc;
	border-color: #0066cc;
}

.page-item.active .page-link:hover {
	background-color: #005c97 !important;
	border-color: #005c97 !important;
}

.page-link {
	color: #0066cc;
	font-weight: 700;
	border-width: 0.125rem;
	border-radius: 0.25rem !important;
	margin-left: 0.5rem !important;
	padding: 0.5rem 1rem !important;
	transition: 0.5s all ease;
}

.page-link:hover {
	transition: 0.5s all ease;
}

footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1.25rem;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

@media screen and (max-width: 767px) {
	.white-bg-w-pd {
		padding: 1rem;
		border-radius: 0.5rem;
	}

	footer {
		padding: 0.75rem 1.25rem;
	}
}

@media screen and (max-width: 320px) {
	footer {
		padding: 0.75rem;
		justify-content: center;
		flex-wrap: wrap;
	}

	.footer-link {
		margin-top: 0.25rem;
	}
}
