.text-yellow {
    color: #FFC107 !important;
}
.btn-yellow {
    background-color: #FFC107 !important;
    border-color: #FFC107 !important;
    color: #222;
}

.flashes {
    z-index: 1000;
}

.header {
    border-bottom: solid 1px #e7eaf3;
}

body.frontend .btn-primary {
    color: #fff;
    background-color: #21325b;
    border-color: #21325b;
}
body.frontend main#content {
    min-height: calc(100vh - 74px - 664px);
}

.navbar.navbar-light .navbar-nav .nav-item.active .nav-link {
    border-radius: 4px;
    background-color: #e2e6ea;
    border-color: #dae0e5;
}

.inner-container {
    position: relative;
}
.inner-container .map-lg-fixed {
    position: fixed;
    top: 77px;
    width: 50%;
    height: 100vh;
}
.backend .inner-container .map-lg-fixed {
    top: 57px;
}
.inner-container .map-lg-fixed .map-container {
    background: #eee;
    position: relative;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 990;
    margin-bottom: 0;
}
.inner-container .map-lg-fixed .map-container .map-half {
    width: 100%;
    height: 100%;
    margin-bottom: 30px;
}

body:not(.front-default-default) .main {
    /* padding-bottom: 2rem; */
}
body.backend {
    /* background: rgb(0 0 0 / 5%); */
}
body.backend .main {
    min-height: calc(100vh - 56px - 57px - 1rem - 1rem);
}
body.backend .main .wrapper {
    margin: 1rem 0;
}

.backend .navbar-dark .btn {
    color: #8f96a8;
    border-color: #8f96a885;
}
.backend .navbar-dark .btn-home i {
    color: #8f96a8;
    background: #8f96a873;
    padding: .5rem;
    border-radius: .25rem;
}
.backend .navbar-dark {
    background-color: #343a40 !important;
}
.backend .navbar-dark .navbar-nav .nav-item {
    position: relative;
}
.backend .navbar-dark .navbar-nav .nav-item.separator {
    display: none;
}

@media (min-width: 992px) {
    .backend .navbar-dark .navbar-nav .nav-item.separator {
        display: block;
        padding-left: 1rem;
    }
    .backend .navbar-dark .navbar-nav .nav-item.separator::before {
        content: '';
        position: absolute;
        border-left: solid 1px #666;
        top: .75rem;
        height: 1rem;
        left: .5rem;
    }
    .backend .navbar-dark .navbar-nav .nav-item.active::after {
        content: '';
        position: absolute;
        bottom: -8px;
        width: calc(100% - 1rem);
        left: .5rem;
        margin: auto;
        border-bottom: solid 5px var(--blue);
    }
    .backend .navbar-dark .navbar-nav .nav-item.separator.active::after {
        width: calc(80% - .75rem);
        left: 1.75rem;
    }
}

.avatar {
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.avatar .avatar-img {
    height: initial;
    max-height: 100%;
}
.avatar-xxl {
    width: 12rem;
    height: 12rem;
}

.table td, 
.table th {
    padding: .5rem .75rem;
}

.table th.col-l {
    width: 20rem;
    text-align: center;
}
.table th.col-m {
    width: 15rem;
    text-align: center;
}
.table th.col-s {
    width: 10rem;
    text-align: center;
}
.table th.col-xs {
    width: 7.5rem;
    text-align: center;
}
.table th.col-xxs {
    width: 5rem;
    text-align: center;
}
.table th.col-xxxs {
    width: 2.5rem;
    text-align: center;
}
.table tr th.button {
    width: 3rem;
    text-align: center;
}

.table tr td.button {
    padding: .25rem .5rem;
    text-align: center;
}
.table tr td.button .btn {
    width: 100%;
}

div.actions {
    margin-bottom: 1rem;
}

.card .card-header .badge {
    font-size: inherit;
}
.card .card-header,
.card .card-body,
.card .card-footer {
    padding: .75rem !important;
}
.card .list-group .list-group-item {
    padding: .75rem !important;
}
.card .card-header-buttons {
    padding: .5rem !important;
    display: flex;
    justify-content: space-between;
}
.card .card-header-buttons > div:first-child {
    padding: .25rem;
}

.card.compact .card-header,
.card.compact .card-body,
.card.compact .card-footer {
    padding: .5rem !important;
}
.card.compact .list-group .list-group-item {
    padding: .5rem !important;
}
.card.compact .card-footer .btn {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}

/* forms */
label.required {
    font-weight: 600;
}
label.required:after {
    color: #3f51b5;
    content: ' *';
}

.form-check-label {
    margin-bottom: .5rem;
}
.form-check {
    display: inline-block;
    margin-right: .5rem;
    background: #eee;
    border: solid 1px #ddd;
    padding: 0 .5rem 0 1.5rem;
    margin-bottom: .5rem;
    border-radius: .25rem;
}
.form-check label {
    margin-bottom: 0;
}
form .dph-number {
    display: none;
}

.select2-results__option[aria-disabled] {
    opacity: .5;
}

.select2-container .select2-search--inline .select2-search__field {
    margin-top: 6px;
}
.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered {
    padding: 0 .6rem;
}

input[type="date"] {
    padding-right: .375rem;
}
input:not(:disabled):required, select:not(:disabled):required, textarea:not(:disabled):required {
    border: solid 1px #3f51b5;
}

.input-group.required .input-group-text,
.input-group.required input,
.input-group.required button {
    border: solid 1px #3f51b5;
}
select:required + .select2:not(.select2-container--disabled) .select2-selection {
    border: solid 1px #3f51b5;
}
.select2 .select2-selection--single .select2-selection__rendered {
    padding: 0 .75rem;
}

.frontend .select2-selection {
    min-height: calc(1.6em + 1.625rem);
    border: 0.0625rem solid #e7eaf3;
    font-size: 1rem;
}
.frontend .select2-selection--multiple {
    padding: 0.15rem .25rem;
}
.frontend .select2-selection--single {
    padding: 0.5rem .25rem;
}
.frontend .select2-container--open .select2-dropdown--below {
    border-radius: 0;
    border-top: none;
    margin-top: 0;
}
.frontend .partner-logos .max-w-md-13rem {
    max-height: 50px;
    max-width: 100px;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-position: right 50%;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
    padding-right: 20px;
}

input[type=date]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    display: none;
}

.custom-file-label {
    overflow: hidden;
    white-space: nowrap;
}

.pagehead {
    border-bottom: solid 1px #ddd;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 0 1rem;
    min-height: 57px;
}
.pagehead .pagehead-title {
    display: flex;
    align-items: center;
    font-weight: bold;
}
.pagehead .pagehead-title h6 {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 1.1rem;
}
.pagehead .pagehead-title .btn {
    margin-right: .75rem;
}
.pagehead .dropdown-toggle::after {
    display: none;
}
.pagehead .btn-light {
    border: solid 1px #ddd;
}
.pagehead .pagehead-heading h1 {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 0;
}
.pagehead .pagehead-actions {
    margin-bottom: 0;
    flex-shrink: 0;
}
.pagehead .pagehead-actions .list-inline-item:not(:last-child) {
    margin-right: .25rem;
}
.pagehead .pagehead-nav {
    display: flex;
    justify-content: space-between;
    padding: .5rem 0;
    align-items: center;
}
.pagehead .pagehead-nav .title {
    margin-bottom: 0;
}
.pagehead .pagehead-nav .title.separator {
    padding-right: 2rem;
    margin-right: 2rem;
    border-right: solid 1px #ddd;
}
.pagehead .pagehead-nav .nav-pills .nav-link {
    padding: .5rem 1rem;
    color: #333;
    margin-right: .5rem;
}
.pagehead .pagehead-nav .nav-pills .nav-link:hover {
    background-color: #eee;
}
.pagehead .pagehead-nav .nav-pills .nav-link.active {
    font-weight: 600;
    background-color: #ddd;
}

/* New Navigation / Sidebar */

@media (min-width: 768px) {
    .sd-sidebar {
        border-right: 1px solid rgba(0,0,0,.1);
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1000;
        height: 100vh;
        background-color: #f3f3f5;
    }
    .sidebar-links {
        display: block!important;
        max-height: calc(100vh - 9rem);
        overflow-y: auto;
    }
    .sidebar-links {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin-right: -15px;
        margin-left: -15px;
    }
}

.sd-sidebar .sd-search {
    position: relative;
    padding: 1rem 15px;
    margin-right: -15px;
    margin-left: -15px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    margin-block-end: 0;
}

.sd-nav-group {
    margin-bottom: 1.5rem;
    margin-right: 1rem;
}
.sd-nav-group .sd-group-name {
    margin-left: 1rem;
}
.sd-nav-group .nav-pills .nav-link {
    padding: .25rem .5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sd-nav-group .nav-pills .nav-link.active {
    background-color: #ddd;
    font-weight: 600;
    color: #333;
}

.sidebar-links a {
    padding: .1875rem .5rem;
    margin-top: .125rem;
    margin-left: 1rem;
    color: rgba(0,0,0,0.65);
    text-decoration: none;
}
.sidebar-links a:hover, .sidebar-links a:focus {
    color: rgba(0,0,0,0.85);
    background-color: rgba(121,82,179,0.1);
    border-radius: .25rem;
}

/* --- */

td.status {
    position: relative;
    background: #eee;
}
td.status > span {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 75%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 4px);
    position: absolute;
    left: 2px;
    top: 2px;
    bottom: 2px;
    color: #fff;
    border-radius: 2px;
}

.notif-badge {
    position: absolute;
    display: inline-block;
	background: #dc3545;
	border-radius: 50%;
	height: 10px;
	width: 10px;

	box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
	transform: scale(1);
	animation: pulse 3s infinite;
}

@keyframes pulse {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}

/* results */
.card-body .list-unstyled li:not(:first-child) {
    margin-top: .25rem;
}
.card-body .list-unstyled li i {
    width: 1rem;
    text-align: center;
}
.card-body span.snippet {
    display: inline-block;
    background: #eee;
    padding: .1rem .25rem;
    margin-right: .1rem;
    margin-bottom: .25rem;
    border-radius: .25rem;
    border: solid 1px #ddd;
}
.frontend .results .card {
    border: solid 1px #efefef !important;
}

@media screen and (prefers-reduced-motion: no-preference) {
    html,
    body {
        scroll-behavior: smooth;
    }
}