/* 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 {
	background-color: #f5f5f5;
	padding-top: 50px;
	font-family: 'Poppins';
	font-size: 13px;
}

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

a, a:hover {
	color: #fa8072;
}

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

.button-reset {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	text-align: inherit;
	background: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	border: none;
	color: inherit;
	font: inherit;
	outline: 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;
}

.container-fluid {
	padding-top: 208px;
	padding-bottom: 40px;
	min-width: 1100px;
}

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

.alert-danger {
	border-color: #721c24;
}

.alert-warning {
	border-color: #856404;
}

.alert-warning button.refresh {
	padding: 0 0 1px 0;
}

.trend-arrow {
	height: 22px;
}

.text-disabled {
	color: rgba(0,0,0,.15);
}

.text-link {
	color: #0267B3;
}

/* Navbar styling */
.navbar {
	height: 50px;
	background-color: #2e3d4f;
	display: flex;
	align-items: center;
}

.navbar #logo {
	margin-left: 16px;
}

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

.navbar a, .navbar a:hover, .navbar a:focus {
	color: white;
}

.navbar h1 {
	font-family: humans;
	font-size: 26px;
	color: white;
	margin-bottom: 0;
	margin-left: 14px;
}

.footer {
	background-color: #f5f5f5;
}


/* Buttons */
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary:disabled {
	background-color: #3d5980;
    border-color: #3d5980;
}

.btn-outline-primary, .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
	background-color: white;
	color: #3d5980;
    border-color: #3d5980;
}

.btn-secondary, .btn-secondary:hover, .btn-secondary:focus, .btn-secondary.active, .btn-secondary:disabled {
	background-color: white;
	color: #6c757d;
    border-color: #6c757d;
}


/* Banners & Basic Widgets */
.banner {
	position: fixed;
	display: flex;
	height: 163px;
	width: 100%;
	padding-top: 10px;
	z-index: 1027;
	background-color: #f5f5f5;
}

.banner .card {
	background-color: white;
	margin-bottom: 7px;
}

.banner .card.selected, .banner .card:hover, .banner .card:focus {
	border: 1px solid #0267b1;
}

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

.banner .widget-container {
	height: 124px;
	display: flex;
	flex-direction: column;
}

.banner .widget-label {
    display: block;
	width: 100%;
	margin-bottom: 3px;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
    color: #0267B3;
}

.banner .widget-label img {
	padding-bottom: 2px;
}

.banner .widget-trend-arrow {
	height: 20px;
    padding-bottom: 1px;
}

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

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

.banner .widget-content {
	display: flex;
	flex-direction: row;
}

.banner .widget-content.widget-pad-right {
	padding-right: 10px;
}

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

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

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


/* 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;
}

.chart-widget .trend-indicator img {
	height: 20px;
}


/* Cards */
.card {
	margin-bottom: 10px;
	width: 100%;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: 0.25rem;
}

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

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

.card-head span {
	cursor: default
}

.card-head.collapsed:hover, .card-head.collapsed:focus {
	background-color: #edf3f7;
}

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

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

.card-flex-column {
	display: flex;
	flex-direction: column;
}


/* Tabbed Cards */ 
.tabbed-card .card-body {
	padding: 3px 0 0 0;
}

.tabbed-card .nav-tabs {
	padding-left: 10px;
	align-items: center;
}

.tabbed-card .nav-tabs .nav-link {
	background-color: transparent;
	color: #212529;
}

.tabbed-card .nav-tabs .nav-link.active {
	background-color: white;
	color: #212529;
}

.tabbed-card .nav-tabs .nav-link img {
	margin-right: 3px;
	padding-bottom: 2px;
}


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

.card-progress-container .progress, .card-progress-container span {
	cursor: pointer;
}

.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(255,255,255,.75);
}


/* Card Column Layout */
.card .card-columns-container {
	padding: 10px 30px 10px 30px;
}

.card-columns {
	width: 100%;
	display: flex;
	flex-direction: row;
}

.card-column {
	width: 50%;
	display: flex;
	flex-direction: column;
}

.card-column:first-child {
	padding-right: 30px;
}

.card-column:last-child {
	padding-left: 30px;
}

.card-column-row {
	width: 100%;
	padding: 7px 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.card-column-row.card-column-section-header {
	font-size: 14px;
	font-weight: 600;
	margin-top: 15px;
	color: #0267B3;
}

.card-column-row.card-column-section-header:first-of-type {
	margin-top: 0;
}

.card-column-row > span:first-of-type {
	padding-right: 10px;
}

.card-column-row .icon-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: start;
}

.card-column-row .icon-container span {
	padding-top: 1px;
	margin-right: 26px;
}

.card-column-row .icon-container span.icon-offset {
	margin-right: 10px;
}

.card-column-row span:nth-of-type(2), .card-column-row .icon-container span {
	filter: brightness(0.8);
	min-width: 40px;
    text-align: right;
}


/* Tables & Filters */
.table-filters {
	position: sticky;
	top: 258px;
	z-index: 1026;
	padding: 3px 0 10px 0;
	background-color: #f5f5f5;
}

.table-filters .form-inline {
	height: 35px;
	display: flex;
	justify-content: space-between;
}

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

.table.table-card thead th:first-of-type {
	border-top-left-radius: 0.25rem;
}

.table.table-card thead th:last-of-type {
	border-top-right-radius: 0.25rem;
}

.table th {
	color: #0267b1;
	cursor: pointer;
}

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

.table-hover tbody tr:hover td {
	background-color: #edf3f7;
	cursor: pointer;
}

.table.table-card td, .table.table-card th {
	background-color: white;
}

.table-sm th {
	padding: 0.6rem 0.1rem;
}

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

td a, td a:hover {
	color: #212529;
}

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

.table .table-text-center {
	text-align: center;
}

.table .table-text-muted {
	color: #676a6d;
}

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

.table .table-text-well > span {
	display: block;
	padding: 0.2rem 0;
	background-color: #f9f9f9;
	border-radius: 3px;
	color: #676a6d;
}

.table .table-pad-left {
	padding-left: 20px;
}

.table .table-pad-right {
	padding-right: 20px;
}


/* Spinners */
.spinner-container {
	display: block;
	max-width: 100px;
	padding-top: 60px;
	margin: auto;
	opacity: 15%;
}

.spinner-container #aim-icon {
	position: absolute;
	width: 100px;
}

.spinner-container #aim-spinner {
	position: absolute;
	width: 100px;
	animation-name: rotate-360;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}


/* Progress Bars */
.progress {
	height: 18px;
	margin-top: 1px;
}

.progress.progress-thin {
    height: 15px;
}

.progress-bar {
	font-weight: 400;
	align-items: center;
    	color: #fff;
}

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

.progress-bar-danger {
	background-color: #dc3545;
}

.progress-bar-warning {
	background-color: #ffc107;
}

.progress-bar-success {
	background-color: #28a745;
}

.progress-bar-primary {
	background-color: #0267b1;
}


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

.badge-level {
	height: 18px;
	width: 80px;
	font-size: 12px;
}

.badge-arrival {
	width: auto;
	font-size: 12px;
	padding: 3px 6px;
}

.badge-arrival.badge-border {
	border: 1px solid #565b60;
}

.badge-notched {
	height: 18px;
	width: auto;
	border-radius: 0;
	font-size: 12px;
	color: #212529;
	background-color: #f5f5f5;
}

.badge-notched-warning {
	border-left: 5px solid #ffe15d;
}

.badge-notched-caution {
	border-left: 5px solid #FFA500;
}

.badge-notched-danger {
	border-left: 5px solid #dc3545;
}

.badge-notched-icon-group {
	display: inline-flex;
	flex-direction: row;
}

.badge-notched-icon {
	height: 18px;
	width: auto;
	font-size: 12px;
}

.badge-notched-icon-warning {
	background-color: #ffe15d;
}

.badge-notched-icon-caution {
	background-color: #FFA500;
}

.badge-notched-icon-danger {
	background-color: #dc3545;
}


/* Wells */
.well {
	display: flex;
	background-color: #f5f5f5;
	margin: 2px 0;
}

.well-icon {
	display: flex;
    height: 100%;
    width: 30px;
    padding: 4px;
}

.well .card-column-row {
	padding: 5px 10px;
  }
.well-icon-warning {
	background-color: #ffe15d;
}

.well-icon-caution {
	background-color: #FFA500;
}

.well-icon-danger {
	background-color: #dc3545;
}


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

.modal-header.img {
	padding: 10px;
}

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

.modal-header.img .modal-title {
	padding: 3px 0 0 10px;
}

.modal-header.img .modal-title span {
	color: #676a6d;
}

.modal-header.img h5 {
	margin-bottom: 0;
}

.modal-alert {
	background-color: #f5f5f5;
	padding: 0.8rem 1rem;
	display: flex;
	align-items: center;
}

.modal-alert.modal-alert-header {
	border-bottom: 1px solid #dee2e6;
}

.modal-alert.modal-alert-footer {
	border-top: 1px solid #dee2e6;
}

.modal-alert.modal-alert-danger {
	background-color: #f8d7da;
	color: #721c24;
}

.modal-alert .icon {
	font-size: 16px;
	margin-right: 5px;
}

.modal-alert.modal-alert-danger .icon {
	color: #721c24;
}

.modal-alert ul {
	margin: 0;
	padding-left: 20px;
}

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

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

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

.modal-form-error, .modal-form-warning {
	display: inline-block;
	width: 100%;
	margin-bottom: 10px;
}

.modal-form-error {
	color: #bb2e3b;
}

.modal-form-warning {
	color: #ffc107;
    filter: brightness(0.8);
}

input.form-control.is-invalid {
	border-color: #bb2e3b;
}

.modal-footer .btn-primary:disabled, .modal-footer .btn-primary:disabled:hover {
	background-color: #6c757d;
	border-color: #6c757d;
}


/* Bootstrap Icon Overrides */
.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;
	color: #bb2e3b;
	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;
        }
    }