/* Overrides */
@font-face {
	font-family: 'humans';
	src: url('/fonts/humans.woff') format('woff');
}

@font-face {
	font-family: 'Poppins';
	src: url('/fonts/Poppins.ttf') format('truetype');
}

@keyframes rotate-360 {
	from { transform: rotate(0deg) }
	to { transform: rotate(360deg) }
}

html, body {
	position: relative;
	width: 100%;
	height: 100%;
}

body {
	font-family: 'Poppins';
	font-size: 13px;
}

nav.fixed-top {
	z-index: 1029;
}

a:hover, td a:hover {
	text-decoration: none;
}

.focus-outline:focus {
	box-shadow: none;
}

.focus-outline:focus-visible {
	outline: none;
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,.5);
	border-radius: 5px;
}

.form-control, .btn {
	font-size: 13px;
}

.form-control:focus {
    color: inherit;
    background-color: inherit;
}


/* Layout */
.dashboard-container {
	display: flex;
	flex-direction: column;
	height: 100vh;
	padding: 50px 0 10px 0;
	overflow: hidden;
	min-height: 0;
}

.banner {
	display: flex;
	overflow-y: auto;
    flex-shrink: 0;
	z-index: 1027;
	padding: 10px 10px 5px 10px;
}

.content {
	display: flex;
  	flex: 0 1 auto;
	flex-direction: column;
	max-height: 100%;
	min-height: 0;
	padding: 5px 10px 0 10px;
}


/* Navbar */
.navbar {
	height: 50px;
}

.navbar #logo img {
	height: 28px;
}

.navbar h1 {
	font-family: humans;
	font-size: 26px;
}


/* Widgets */
.widget {
	margin-right: 10px;
	flex-grow: 0;
	flex-shrink: 0;
}

.widget .card .card-body {
	cursor: pointer;
	padding: 10px 2px;
}

.widget-container {
	height: 124px;
}

.widget-label {
    display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3px;
	font-size: 14px;
	font-weight: 600;
}

.widget-label-targeted {
	padding-right: 16px;
}

.widget-label-trend {
	padding-left: 16px;
}

.widget-spinner {
	display: flex;
	flex-direction: row;
	flex-grow: 1;
	align-items: center;
	justify-content: center;
}

.widget-spinner .svelte-spinner {
	opacity: 25%;
}

.no-records {
	flex-grow: 1;
	padding: 25px 25px 0 25px;
	text-align: center;
	font-size: 13px;
}


/* Chart Widgets */
.chart-widget {
	position: relative;
	height: 90px;
	width: 120px;
}

.chart-widget-narrow {
	width: 100px;
}

.chart-widget .chart-count, .chart-widget .trend-indicator {
	position: absolute;
	text-align: center;
	cursor: pointer;
}

.chart-widget .chart-count {
	width: 55px;
	top: 24px;
    left: 33px;
	font-size: 27px;
    font-weight: 600;
}

.chart-widget .chart-count.trend-up {
	top: 26px;
}

.chart-widget .chart-count.trend-down {
	top: 22px;
}

.chart-widget .trend-indicator {
	width: 35px;
	left: 43px;
}

.chart-widget .trend-indicator.trend-up {
	top: 16px;
}

.chart-widget .trend-indicator.trend-down {
	top: 52px;
}


/* Cards */
.card {
	margin-bottom: 10px;
	width: 100%;
	border: 1px solid;
	border-radius: 0.25rem;
}

.card, .card:focus, .card:active {
	outline: none;
} 

.card .card-head {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 15px 30px;
	font-size: 15px;
	line-height: 1;
	border-bottom: 1px solid;
	cursor: pointer;
}

.card-head span {
	cursor: default
}

.card-head .target-indicator {
	position: absolute;
	height: 16px;
	width: 16px;
	left: 8px;
}

.card-head .card-collapse-control {
	position: absolute;
	height: 16px;
	width: 16px;
	right: 8px;
}

.card .card-body {
	width: 100%;
	padding: 10px;
}

.card .card-foot {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 15px 30px;
	font-size: 14px;
	border-top: 1px solid; 
}


/* Card Progress Bars */
.card-progress-container {
	width: 400px;
}

.card-progress-container .focus-outline:focus-visible {
	box-shadow: none;
	border-radius: 0;
}

.card-progress-container .focus-outline:focus-visible span {
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,.5);
}


/* Tables */
.card-table {
	display: flex;
	flex-direction: column;
	min-height: 0;
	border: 1px solid;
	border-radius: 10px;
}

.card-table .table-scroll-container {
	display: flex;
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.card-table .table {
	margin-bottom: 0;
}

.card-table .table thead {
	position: sticky;
	top: 0px;
	z-index: 1026;
}

.table th {
	cursor: pointer;
}

.table th img {
	padding-bottom: 3px;
}

.table-sm td, .table-sm th {
    padding: 0.4rem 0.1rem;
}

.table td img {
	padding-bottom: 2px;
}

.table-sm td.table-well {
	padding: 0.2rem 0.1rem;
}

.table .table-well > span {
	display: block;
	padding: 0.2rem 0;
	border-radius: 3px;
}


/* Progress Bars */
.progress {
	height: 18px;
}

.progress-bar span {
	display: flex;
    flex-grow: 1;
    align-items: center;
	margin: 3px 0;
    padding: 0 3px;
    border-radius: 3px;
}


/* Badges */
.badge {
	font-weight: 500;
}

.badge-small {
	font-size: 12px;
	padding: 3px 6px;
}


/* Modals */
.modal {
	display: block;
}

.modal-header img {
	height: 50px;
}

.modal-body .form-row {
	margin-bottom: 10px;
}

.modal-body .form-row:last-of-type {
	margin-bottom: 0;
}

.modal-body .form-row.invalid {
	margin-bottom: 5px;
}

.modal-body input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}


/* Bootstrap Icons */
.bi, .bi-stacked {
	display: inline-block;
	font-size: 1em;
	height: 1em;
    width: 1em;
}

.bi-stacked {
	position: relative;
}

.bi-stacked .bi {
	position: absolute;
	left: 0;
}

.bi-stacked .bi-alert {
	font-size: 0.75em;
	left: 9px;
	top: -4px;
}


/* Reactive styles */
    @media (max-width: 1440px) {
        .hidden-col-lv-1 {
            display: none;
        }
    }

    @media (max-width: 1300px) {
        .hidden-col-lv-2 {
            display: none;
        }
    }

    @media (max-width: 1160px) {
        .hidden-col-lv-3 {
            display: none;
        }
    }