@import url("https://fonts.googleapis.com/css2?family=Fira+Sans:wght@100;200;300;400;500;600;700;800;900&display=swap");

* {
	scroll-behavior: smooth;
	scrollbar-width: thin;
	scrollbar-color: #605c5c #ececec;
}

body {
	font-family: "Fira Sans", Arial, Helvetica, sans-serif;
	background: #f5f8fa;
	transition: 0.5s all ease;
}

::-webkit-scrollbar {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 1rem;
}

::-webkit-scrollbar-thumb {
	background: #605c5c;
	border-radius: 1rem;
}

::-webkit-scrollbar-track {
	background: #ececec;
	border-radius: 1rem;
}

::placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

::-webkit-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

::-moz-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

:-moz-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

::-ms-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

:-ms-input-placeholder {
	font-weight: 600 !important;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

main {
	padding: 1rem 0.25rem;
}

.white-container {
	background: #ffffff;
	padding: 0.875rem;
	border-radius: 0.5rem;
}

.logo {
	width: 100%;
	max-width: 3rem !important;
	border-radius: 50%;
}

.navbar {
	padding: 0.5rem 0.25rem;
	background: #171798 !important;
	/* background: #1717bf !important; */
}

.navbar-dark .navbar-nav .nav-link {
	color: #ffffff;
}

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

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

.navbar-light .navbar-toggler {
	border-color: rgba(0, 0, 0, 0.25);
}

.navbar-toggler {
	padding: 0.25rem 0.5rem !important;
}

.navbar-toggler:focus {
	box-shadow: 0 0 0 0.125rem !important;
}

.nav-link {
	padding: 0.5rem 0.875rem !important;
}

.navbar-nav li.nav-item {
	border-radius: 0.375rem !important;
}

.navbar-nav li.nav-item > a.nav-link {
	color: white;
	border-radius: 0.375rem;
	transition: 0.5s all ease;
	margin-left: 0.5rem;
}

.navbar-nav li.nav-item:first-child > a.nav-link {
	margin-left: 0 !important;
}

.navbar-nav li.nav-item > a.nav-link:hover,
.navbar-nav li.nav-item > a.nav-link.active {
	color: #171798;
	background-color: white;
	transition: 0.5s all ease;
}

a.nav-link.logout:hover {
	color: white !important;
	background-color: crimson !important;
	transition: 0.5s all ease;
}

.user-details {
	align-items: center;
	display: flex;
	font-weight: 500;
	justify-content: space-between;
	line-height: 1;
}

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

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

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

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

.modal-body {
	padding: 0.75rem !important;
	max-height: 38rem !important;
}

pre {
	font-family: "Fira Code", monospace, sans-serif;
	font-weight: 600;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
	line-height: normal;
	max-height: 32rem;
	margin: 0;
	overflow: auto;
	padding: 0 0.375rem 0.375rem 0;
}

pre::-webkit-scrollbar {
	width: 0.375rem;
	height: 0.375rem;
}

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

.btn,
.form-select,
.form-control,
label,
footer {
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
}

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

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

.form-label {
	font-size: 1rem;
	text-transform: uppercase;
	font-weight: 600;
}

.form-control:focus,
.form-control:hover,
.form-select:focus,
.form-select:hover {
	outline: none;
	box-shadow: none;
	border-color: #005c97;
	transition: 0.5s all ease;
}

.btn {
	font-weight: 700;
	padding: 0.5rem 0.875rem;
	transition: 0.5s all ease !important;
}

.view-btn {
	word-break: keep-all;
	padding: 0.25rem 0.5rem !important;
}

#data-table {
	align-items: center;
	justify-content: space-between;
}

table {
	font-size: 0.875rem !important;
}

.tbl-container {
	overflow-x: auto;
	overflow-y: auto;
	width: 100%;
}

#products-tbl > thead,
#plans-tbl > thead {
	border-bottom: 2px solid #000;
}

span.enabled,
span.disabled {
	border-radius: 50%;
	font-weight: bold;
	color: #f5f5f5;
	border: 2px solid;
	display: inline-block;
	width: 25px;
}

span.enabled {
	background-color: #07c007 !important;
	border-color: #07c007;
}

span.disabled {
	background-color: #ff0000 !important;
	border-color: #ff0000;
}

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;
	font-weight: 500 !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 #000000 !important;
}

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

.actions-box {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.actions-box button,
.actions-box a {
	font-size: 0.875rem;
	margin: 0 0.25rem;
	padding: 6px 10px !important;
	text-decoration: none;
}

ul.pagination {
	margin: 0 !important;
}

.page-link {
	color: #005c97;
	font-size: 0.875rem;
	font-weight: 700;
	border-width: 0.125rem;
	border-radius: 0.375rem !important;
	margin-left: 0.5rem !important;
	padding: 0.5rem 1rem !important;
	transition: 0.5s all ease;
}

.page-link:hover {
	z-index: 2 !important;
	color: white !important;
	background-color: #0066cc !important;
	border-color: #0066cc !important;
}

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

table.dataTable > tbody > tr.dt-hasChild.parent,
table.dataTable > tbody > tr.child {
	transition: 0.5s all ease;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
	padding-left: 2rem !important;
}

table.dataTable > tbody > tr.child ul.dtr-details {
	display: block !important;
}

textarea {
	resize: none;
	overflow-y: auto;
	cursor: text;
}

#edit-modal > .modal-dialog {
	max-width: 50%;
}

#edit-modal > .modal-dialog .modal-body {
	overflow: auto;
}

#data-modal-content p,
#data-modal-content ul,
#data-modal-content ol {
	margin: 0;
}

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

#btn-back-to-top {
	display: none;
	position: fixed;
	font-size: 20px;
	bottom: 48px;
	right: 16px;
	border-radius: 0.375rem;
	padding: 6px 12px 9px !important;
	z-index: 11;
}

button#btn-back-to-top:focus {
	outline: none;
	box-shadow: none;
}

.page-loader {
	width: 100%;
	height: 100%;
	position: fixed;
	background: rgba(0, 0, 0, 0.6);
	z-index: 1;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px;
	z-index: 9999;
}

.spinner img {
	animation: rotate-animation 2s infinite linear;
	max-width: 60px;
}

@keyframes rotate-animation {
	0% {
		transform: rotate(0deg);
	}
	50% {
		transform: rotate(180deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.spinner span {
	display: block;
	font-size: 16px;
	margin: 20px 0 0;
	color: #fff;
}

footer {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
}

@media screen and (max-width: 996px) {
	.navbar-nav li.nav-item > a.nav-link {
		margin-left: 0 !important;
		margin-top: 0.25rem !important;
	}
}

@media screen and (max-width: 953px) {
	table.dataTable > tbody > tr.child span.dtr-title {
		display: block !important;
		text-align: left;
		margin-right: 0.75rem;
		min-width: none;
	}

	table.dataTable > tbody > tr.child {
		padding: 0 !important;
	}

	table.dataTable td.child {
		padding: 0 !important;
	}

	table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
		padding-top: 0.5em !important;
	}

	table.dataTable > tbody > tr.child ul.dtr-details > li {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 0.5em !important;
	}

	table.dataTable
		> tbody
		> tr.child
		ul.dtr-details
		> li.curl_url
		> span.dtr-data {
		word-break: break-all;
	}
}

@media screen and (max-width: 810px) {
	#edit-modal > .modal-dialog {
		max-width: 75%;
	}
}

@media screen and (max-width: 524px) {
	#edit-modal > .modal-dialog {
		max-width: 80%;
	}
}

@media screen and (max-width: 400px) {
	#edit-modal > .modal-dialog {
		max-width: 90%;
	}

	footer {
		padding: 0.5rem;
		flex-direction: column;
	}
}
