.flex-grow-2 {
    flex-grow: 2 !important;
}

.nav-tabs .nav-link.active:focus:hover, .nav-tabs .nav-link.active:hover {
    border: none;
    color: #fff;
}


.bg-danger.muted-color {
    background-color: #a9282c !important;
}

.bg-danger {
    color: #eeeeee;
}

.modal-content {
	max-height: calc(100vh - 60px);
    overflow: hidden;
    box-shadow: 0 0 18px rgb(0 0 0 / 30%);
}

.modal-header {
    background-color: rgba(0,0,0,.2);
}

    .modal-header h4 {
        margin-bottom: 0;
    }

    .modal-footer {
        background-color: rgba(0,0,0,.2);
	}

.modal-body {
	overflow: hidden;
}

#eventQueues {
    display: flex;
    flex-flow: column;
    overflow: hidden;
}

.queueBox {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
}

    .queueBox.smallBox {
        flex-grow: 0;
    }

    .queueBox.small {
        flex-grow: 0;
    }

#eventQueueBox {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    pointer-events: none;
}

    #eventQueueBox > div {
        pointer-events: all;
    }

.circle {
    display: inline-block;
    width: 27px;
    height: 27px;
    border-radius: 50%;

    text-align: center;
    vertical-align: middle;
    line-height: 25px;

    cursor: default;
}

.tiny-circle {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;

    text-align: center;
    vertical-align: middle;
    line-height: 18px;

    cursor: default;
}

.disabled .circle {
    opacity: 0.4;
}

.circle.btn {
    padding: 0px;
}



.circle.small {
    font-size: smaller;
    width: 22px;
    height: 22px;
    line-height: 21px;
}
    .circle.smaller {
        font-size: smaller;
        width: 17px;
        height: 17px;
        line-height: 17px;
    }

.table-bold {
    font-weight: bold;
}
.table-underline {
    text-decoration: underline;
}

a.btn.disabled, fieldset:disabled a.btn {
    pointer-events: bounding-box;
}

.span-link {
    cursor: pointer;
    opacity: 0.7;
}

    .span-link:hover {
        opacity: 1;
    }

.scrollContainer {
    max-height: 100%;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='white' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

.custom-control {
    min-height: unset;
}

.table-custom-checkbox.custom-control {
	min-height: 1.5rem;
}

.table-custom-checkbox.custom-control .custom-control-label {
	position: absolute;
}

.btn-secondary:active::after {
    opacity: 0;
}

.form-control {
    padding: 0.4rem 0;
}

textarea, textarea.form-control {
	border-radius: 0;
}

.v-select .form-control {
	height: unset;
}

    .table td, .table th {
        padding: .25rem;
        border-top: 1px solid #777;
    }

.table thead th {
    border-bottom: 2px solid #777;
}

.table-hover.table-striped tbody tr:nth-of-type(2n+1):hover {
    background-color: rgba(0,0,0,.4);
}

.table-striped tbody tr:nth-of-type(2n+1) {
    background-color: rgba(0,0,0,.2);
}

.nav-tabs .nav-link {
    cursor: pointer;
}

.card.border-danger, .card.border-dark, .card.border-info, .card.border-light, .card.border-primary, .card.border-secondary, .card.border-success, .card.border-warning {
    border-width: 2px;
}

.scrollContainer {
    position: relative;
}

.badge-secondary {
    color: #000;
}

.custom-control-input:disabled ~ .custom-control-label {
    color: #888;
}

    .custom-control-input:disabled ~ .custom-control-label::before {
        background-color: #777;
        border: 2px solid #555;
    }

.list-group-item.disabled .circle {
    color: white;
}

.list-group-item-action:active {
    color: #fff;
    background-color: #888;
}

.card {
    box-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

.text-muted {
    color: #999 !important;
}

.btn.btn-noclick {
	cursor: unset !important;
}

.btn-secondary {
    background-color: #333;
    border-color: #333;
}

.list-group-item {
    border: 1px solid rgba(0,0,0,.325);
}

a.btn:not([href]):not([tabindex]) {
    color: #fff !important;
}

.badge-dark {
    color: #fff;
    background-color: #141414;
}

.clickable-row {
    cursor: pointer;
}

.card-header-clickable {
	cursor: pointer;
	transition: background-color 0.5s;
	transition: color 0.5s;
}
	.card-header-clickable:hover {
		color: #fff;
		background-color: #131313;
	}

span.dark-background:not(:hover) {
    background-color: #444 !important;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    background-color: transparent
}

select option {
    background: #333;
    color: #eee;
}

td, .table td, .table th {
    vertical-align: middle;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus {
    background-color: #2196f3;
    color: #fff;
}

.custom-textarea {
    font-size: inherit;
    width: 100%;
    background: #222;
    color: #fff;
    border-radius: 0.25rem;
    border-style: solid !important;
    border-color: transparent;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' v…'0 0 4 5'%3E%3Cpath fill='%23222' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
}

.dropdown-menu {
    box-shadow: 0 1px 4px rgba(0,0,0,1);
	padding: 0;
}

.multiselect__tags .multiselect__spinner {
    background-color: #212121;
}

.multiselect.multiselect--active {
        z-index: 5;
    }



    .multiselect__tags .multiselect__spinner:after, .multiselect__tags .multiselect__spinner:before {
        border-color: #2196f3 transparent transparent;
    }

    .multiselect {
        color: #eee !important;
    }

.multiselect__tags {
    background: transparent !important;
    border-radius: 0px !important;
    border: none !important;
    box-shadow: inset 0 -1px 0 #ddd;
}

.multiselect__single {
    padding-top: 5px !important;
    margin-bottom: 5px !important;
    margin-top: 3px !important;
}

.multiselect__input, .multiselect__single {
    background: transparent !important;
    border-radius: 0px !important;
    color: #eee !important;
}

.multiselect__content-wrapper {
    background: #555 !important;
}

.multiselect__input {
}

input[placeholder], [placeholder], *[placeholder] {
    color: #ddd !important;
}

.multiselect-small-options .multiselect__option {
    line-height: unset !important;
    padding: unset !important;
    min-height: unset !important;
}

.multiselect__option--selected {
    background: #555 !important;
    color: #eee !important;
}

.multiselect__option:after {
    line-height: unset !important;
    font-size: inherit !important;

}

.multiselect__tag {
    background-color: #2196f3 !important;
}

.multiselect__tag-icon:after {
    color: #eee !important;
}

.multiselect__tag-icon:focus, .multiselect__tag-icon:hover {
    background: #0d87e9 !important;
}

.multiselect-mini.multiselect {
    min-height: unset;
}
    .multiselect-mini .multiselect__tags {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        min-height: unset;
        padding: 4px;
    }
    .multiselect-mini .multiselect__tags .multiselect__single {
        margin-bottom: 0px;
    }

.multiselect__option--selected.multiselect__option--highlight {
    background: #ff6a6a !important;
}

.multiselect__option span {
    margin: 0px 10px;
}

.multiselect-float .multiselect__content-wrapper {
    position: fixed;
    z-index: 9999;
    width: auto !important;
}

.pac-container {
    z-index: 1100;
    background-color: #222;
}

.pac-item-query {
    color: inherit;
}

.pac-item:hover, .pac-item-selected {
    background-color: #2196f3;
    color: #fff;
}

.close:not(:disabled):not(.disabled) {
    color: #eee;
}

.hover-icon {
	cursor: pointer;
}

.hover-icon:hover {
    color: #ffffff;
}

.ps > .ps__scrollbar-y-rail {
    z-index: 5;
}

.ps__rail-y {
    z-index: 5;
}

.fixed-dropdown .dropdown-menu {
    position: fixed !important;
    left: auto !important;
    top: auto !important;
    z-index: 30;
}

/*.list-group-item.active {
    z-index: 0;
}*/

    .list-group-item, .list-group-item.active, .list-group-item:focus, .list-group-item:hover {
        z-index: unset;
    }

.dropdown-wrapper input.form-control {
	height: calc(1.36641rem + 0rem) !important;
}
.form-check-input {
	margin-top: 0.2rem;
}

/* @todo reusable mixin - calendar selector styles */
.calendar {
	background-color: #212121 !important;
	border-color: #343434 !important;
	-webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12) !important;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12) !important;
	width: 250px !important;
	padding: 3px 5px !important;
}
	.calendar header .up:not(.disabled):hover,
	.calendar header .prev:not(.disabled):hover,
	.calendar header .next:not(.disabled):hover {
		background: #444 !important;
	}
	.calendar header .prev:not(.disabled)::after {
		border-right-color: #fafafa !important;
	}
	.calendar header .next:not(.disabled)::after {
		border-left-color: #fafafa !important;
	}
	.calendar header .prev.disabled::after {
		border-right-color: #212121 !important;
	}
	.calendar .cell.today {
		-webkit-box-shadow: 0px 0px 0px 1px #fafafa inset !important;
		box-shadow: 0px 0px 0px 1px #fafafa inset !important;
	}
	.calendar .cell.selected {
		background: #2196f3 !important;
	}
.calendar .cell.selected:hover {
	background: #2196f3 !important;
}
.calendar .cell:not(.blank):not(.disabled):hover {
	border: 1px solid #2196f3 !important;
}
	.calendar .cell.disabled {
		background: #1d1d1d !important;
	}

/* @todo reusable mixin - this allows us to have small custom radio inputs */
.custom-control.custom-radio.custom-control-sm label.custom-control-label::before, .custom-control.custom-radio.custom-control-sm label.custom-control-label::after {
	left: -1.5rem !important;
	width: 1rem !important;
	height: 1rem !important;
}


.open-collapse {
	min-height: 20% !important;
	flex-grow:1;
}

.collapse-icon {
	transform: rotate(0deg);
	transition: transform 0.3s;
}

.collapse-icon.closed {
	transform: rotate(-90deg);
}

.v-select.dark:not(.single) .vs__selected-options .selected-tag {
    color: #fff;
	background-color: #0b78ce;
	border: none;
}

.col-form-label {
	font-size: unset;
}

.fill-tabs .tabs {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.fill-tabs .tab-content {
    height: 100%;
    overflow: hidden;
}

.fill-tabs .tab-pane {
    height: 100%;
}

.fill-tabs .tab-panel {
    height: 100%;
}

.form-disabled {
	pointer-events: none;
	opacity: 0.4;
}

.alert-margin-all {
	margin: 1rem;
}

.alert-info {
	background-color: grey;
}

input, a, button, textarea, .custom-control-label, li .btn, label {
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
}

:focus {
    box-shadow: inset 0 0 0 3px rgb(33 150 243) !important;
    outline: none !important;
}

.no-focus:focus, .modal:focus{
    box-shadow:none !important;
    outline: none !important;
}

.focused, .btn-primary:focus, .active:focus, ul:focus, div:focus, .icon-button:focus .vue-swatches:focus{
    box-shadow: 0 0 0 3px rgb(33 150 243/ 70%) !important;
    border-radius: 5px;
    outline: none !important;
}

.btn-secondary:disabled{
    color:white;
}

.icon-button {
    background: none;
    outline: none;
    border: none;
    color: white;
    border-radius: 5px;
}
.icon-button:focus {
    color:white;
}
.no-uppercase {
    text-transform: none;
}

.mobileSelectedRow {
	background-color: #117C8F;
}
.mobileSelectedRow:focus {
	box-shadow: none !important;
}

.verticalAlign > tbody > tr > td {
    vertical-align: top;
}

.vue-swatches__fallback__input{
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}

.vue-swatches__container {
    background-color: #222!important;
}