.table td,
.table th {
    vertical-align: middle;
    white-space: nowrap;
}


.table thead th {
    vertical-align: middle;
}

dt {
	font-weight: 500;
}

.dropdown-menu {
	padding-top: .125rem;
	padding-bottom: .125rem;
}

.dropdown-header,
.dropdown-item {
	padding: .5rem .75rem
}

.form-check-inline {
	padding-top: calc(.375rem + 1px);
	padding-bottom: calc(.375rem + 1px);
	line-height: 1.5em;
}

.btn-xs {
	padding: 1px 6px 2px;
	font-size: .8em;
}

.btn-circle.btn-xs {
	padding: 0px 1px 1px 0px;
	border-radius: 50%;
	width: 22px;
	height: 22px;
}


/* container-fluid */
@media (min-width: 576px) {
	.container,
	.container-sm {
		max-width: 540px;
	}

	.container-sm-fluid {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 768px) {
	.container,
	.container-sm,
	.container-md {
		max-width: 720px;
	}

	.container-md-fluid {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 992px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg {
		max-width: 960px;
	}

	.container-lg-fluid {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 1200px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl {
		max-width: 1140px;
	}

	.container-xl-fluid {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 1460px) {
	.container-xxl-fluid {
		width: 100%;
		max-width: none;
	}
}

/* Position . */
@media (min-width: 576px) {
	.position-sm-static {
		position: static !important;
	}
	.position-sm-relative {
		position: relative !important;
	}
	.position-sm-absolute {
		position: absolute !important;
	}
	.position-sm-fixed {
		position: fixed !important;
	}
	.position-sm-sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

@media (min-width: 768px) {
	.position-md-static {
		position: static !important;
	}
	.position-md-relative {
		position: relative !important;
	}
	.position-md-absolute {
		position: absolute !important;
	}
	.position-md-fixed {
		position: fixed !important;
	}
	.position-md-sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

@media (min-width: 992px) {
	.position-lg-static {
		position: static !important;
	}
	.position-lg-relative {
		position: relative !important;
	}
	.position-lg-absolute {
		position: absolute !important;
	}
	.position-lg-fixed {
		position: fixed !important;
	}
	.position-lg-sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

@media (min-width: 1200px) {
	.position-xl-static {
		position: static !important;
	}
	.position-xl-relative {
		position: relative !important;
	}
	.position-xl-absolute {
		position: absolute !important;
	}
	.position-xl-fixed {
		position: fixed !important;
	}
	.position-xl-sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

@media (min-width: 1460px) {
	.position-xxl-static {
		position: static !important;
	}
	.position-xxl-relative {
		position: relative !important;
	}
	.position-xxl-absolute {
		position: absolute !important;
	}
	.position-xxl-fixed {
		position: fixed !important;
	}
	.position-xxl-sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

/* gutters. */
.g-0, .gx-0 { margin-left: -0; margin-right: -0; }
.g-0 > *, .gx-0 > * { padding-left: 0; padding-right: 0; }
.g-0, .gy-0 { margin-top: -0; margin-bottom: -0; }
.g-0 > *, .gy-0 > * { padding-top: 0; padding-bottom: 0; }
@media (min-width: 576px) {
	.g-sm-0, .gx-sm-0 { margin-left: -0; margin-right: -0; }
	.g-sm-0 > *, .gx-sm-0 > * { padding-left: 0; padding-right: 0; }
	.g-sm-0, .gy-sm-0 { margin-top: -0; margin-bottom: -0; }
	.g-sm-0 > *, .gy-sm-0 > * { padding-top: 0; padding-bottom: 0; }
}
@media (min-width: 768px) {
	.g-md-0, .gx-md-0 { margin-left: -0; margin-right: -0; }
	.g-md-0 > *, .gx-md-0 > * { padding-left: 0; padding-right: 0; }
	.g-md-0, .gy-md-0 { margin-top: -0; margin-bottom: -0; }
	.g-md-0 > *, .gy-md-0 > * { padding-top: 0; padding-bottom: 0; }
}
@media (min-width: 992px) {
	.g-lg-0, .gx-lg-0 { margin-left: -0; margin-right: -0; }
	.g-lg-0 > *, .gx-lg-0 > * { padding-left: 0; padding-right: 0; }
	.g-lg-0, .gy-lg-0 { margin-top: -0; margin-bottom: -0; }
	.g-lg-0 > *, .gy-lg-0 > * { padding-top: 0; padding-bottom: 0; }
}
@media (min-width: 1200px) {
	.g-xl-0, .gx-xl-0 { margin-left: -0; margin-right: -0; }
	.g-xl-0 > *, .gx-xl-0 > * { padding-left: 0; padding-right: 0; }
	.g-xl-0, .gy-xl-0 { margin-top: -0; margin-bottom: -0; }
	.g-xl-0 > *, .gy-xl-0 > * { padding-top: 0; padding-bottom: 0; }
}
@media (min-width: 1460px) {
	.g-xxl-0, .gx-xxl-0 { margin-left: -0; margin-right: -0; }
	.g-xxl-0 > *, .gx-xxl-0 > * { padding-left: 0; padding-right: 0; }
	.g-xxl-0, .gy-xxl-0 { margin-top: -0; margin-bottom: -0; }
	.g-xxl-0 > *, .gy-xxl-0 > * { padding-top: 0; padding-bottom: 0; }
}

.g-1, .gx-1 { margin-left: -.25rem; margin-right: -.25rem; }
.g-1 > *, .gx-1 > * { padding-left: .25rem; padding-right: .25rem; }
.g-1, .gy-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
.g-1 > *, .gy-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
@media (min-width: 576px) {
	.g-sm-1, .gx-sm-1 { margin-left: -.25rem; margin-right: -.25rem; }
	.g-sm-1 > *, .gx-sm-1 > * { padding-left: .25rem; padding-right: .25rem; }
	.g-sm-1, .gy-sm-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
	.g-sm-1 > *, .gy-sm-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
}
@media (min-width: 768px) {
	.g-md-1, .gx-md-1 { margin-left: -.25rem; margin-right: -.25rem; }
	.g-md-1 > *, .gx-md-1 > * { padding-left: .25rem; padding-right: .25rem; }
	.g-md-1, .gy-md-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
	.g-md-1 > *, .gy-md-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
}
@media (min-width: 992px) {
	.g-lg-1, .gx-lg-1 { margin-left: -.25rem; margin-right: -.25rem; }
	.g-lg-1 > *, .gx-lg-1 > * { padding-left: .25rem; padding-right: .25rem; }
	.g-lg-1, .gy-lg-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
	.g-lg-1 > *, .gy-lg-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
}
@media (min-width: 1200px) {
	.g-xl-1, .gx-xl-1 { margin-left: -.25rem; margin-right: -.25rem; }
	.g-xl-1 > *, .gx-xl-1 > * { padding-left: .25rem; padding-right: .25rem; }
	.g-xl-1, .gy-xl-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
	.g-xl-1 > *, .gy-xl-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
}
@media (min-width: 1460px) {
	.g-xxl-1, .gx-xxl-1 { margin-left: -.25rem; margin-right: -.25rem; }
	.g-xxl-1 > *, .gx-xxl-1 > * { padding-left: .25rem; padding-right: .25rem; }
	.g-xxl-1, .gy-xxl-1 { margin-top: -.25rem; margin-bottom: -.25rem; }
	.g-xxl-1 > *, .gy-xxl-1 > * { padding-top: .25rem; padding-bottom: .25rem; }
}


.g-2, .gx-2 { margin-left: -.5rem; margin-right: -.5rem; }
.g-2 > *, .gx-2 > * { padding-left: .5rem; padding-right: .5rem; }
.g-2, .gy-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
.g-2 > *, .gy-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
@media (min-width: 576px) {
	.g-sm-2, .gx-sm-2 { margin-left: -.5rem; margin-right: -.5rem; }
	.g-sm-2 > *, .gx-sm-2 > * { padding-left: .5rem; padding-right: .5rem; }
	.g-sm-2, .gy-sm-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
	.g-sm-2 > *, .gy-sm-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
}
@media (min-width: 768px) {
	.g-md-2, .gx-md-2 { margin-left: -.5rem; margin-right: -.5rem; }
	.g-md-2 > *, .gx-md-2 > * { padding-left: .5rem; padding-right: .5rem; }
	.g-md-2, .gy-md-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
	.g-md-2 > *, .gy-md-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
}
@media (min-width: 992px) {
	.g-lg-2, .gx-lg-2 { margin-left: -.5rem; margin-right: -.5rem; }
	.g-lg-2 > *, .gx-lg-2 > * { padding-left: .5rem; padding-right: .5rem; }
	.g-lg-2, .gy-lg-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
	.g-lg-2 > *, .gy-lg-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
}
@media (min-width: 1200px) {
	.g-xl-2, .gx-xl-2 { margin-left: -.5rem; margin-right: -.5rem; }
	.g-xl-2 > *, .gx-xl-2 > * { padding-left: .5rem; padding-right: .5rem; }
	.g-xl-2, .gy-xl-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
	.g-xl-2 > *, .gy-xl-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
}
@media (min-width: 1460px) {
	.g-xxl-2, .gx-xxl-2 { margin-left: -.5rem; margin-right: -.5rem; }
	.g-xxl-2 > *, .gx-xxl-2 > * { padding-left: .5rem; padding-right: .5rem; }
	.g-xxl-2, .gy-xxl-2 { margin-top: -.5rem; margin-bottom: -.5rem; }
	.g-xxl-2 > *, .gy-xxl-2 > * { padding-top: .5rem; padding-bottom: .5rem; }
}


.g, .gx { margin-left: -15px; margin-right: -15px; }
.g > *, .gx > * { padding-left: 15px; padding-right: 15px; }
.g, .gy { margin-top: -15px; margin-bottom: -15px; }
.g > *, .gy > * { padding-top: 15px; padding-bottom: 15px; }
@media (min-width: 576px) {
	.g-sm, .gx-sm { margin-left: -15px; margin-right: -15px; }
	.g-sm > *, .gx-sm > * { padding-left: 15px; padding-right: 15px; }
	.g-sm, .gy-sm { margin-top: -15px; margin-bottom: -15px; }
	.g-sm > *, .gy-sm > * { padding-top: 15px; padding-bottom: 15px; }
}
@media (min-width: 768px) {
	.g-md, .gx-md { margin-left: -15px; margin-right: -15px; }
	.g-md > *, .gx-md > * { padding-left: 15px; padding-right: 15px; }
	.g-md, .gy-md { margin-top: -15px; margin-bottom: -15px; }
	.g-md > *, .gy-md > * { padding-top: 15px; padding-bottom: 15px; }
}
@media (min-width: 992px) {
	.g-lg, .gx-lg { margin-left: -15px; margin-right: -15px; }
	.g-lg > *, .gx-lg > * { padding-left: 15px; padding-right: 15px; }
	.g-lg, .gy-lg { margin-top: -15px; margin-bottom: -15px; }
	.g-lg > *, .gy-lg > * { padding-top: 15px; padding-bottom: 15px; }
}
@media (min-width: 1200px) {
	.g-xl, .gx-xl { margin-left: -15px; margin-right: -15px; }
	.g-xl > *, .gx-xl > * { padding-left: 15px; padding-right: 15px; }
	.g-xl, .gy-xl { margin-top: -15px; margin-bottom: -15px; }
	.g-xl > *, .gy-xl > * { padding-top: 15px; padding-bottom: 15px; }
}
@media (min-width: 1460px) {
	.g-xxl, .gx-xxl { margin-left: -15px; margin-right: -15px; }
	.g-xxl > *, .gx-xxl > * { padding-left: 15px; padding-right: 15px; }
	.g-xxl, .gy-xxl { margin-top: -15px; margin-bottom: -15px; }
	.g-xxl > *, .gy-xxl > * { padding-top: 15px; padding-bottom: 15px; }
}


.g-3, .gx-3 { margin-left: -1rem; margin-right: -1rem; }
.g-3 > *, .gx-3 > * { padding-left: 1rem; padding-right: 1rem; }
.g-3, .gy-3 { margin-top: -1rem; margin-bottom: -1rem; }
.g-3 > *, .gy-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
@media (min-width: 576px) {
	.g-sm-3, .gx-sm-3 { margin-left: -1rem; margin-right: -1rem; }
	.g-sm-3 > *, .gx-sm-3 > * { padding-left: 1rem; padding-right: 1rem; }
	.g-sm-3, .gy-sm-3 { margin-top: -1rem; margin-bottom: -1rem; }
	.g-sm-3 > *, .gy-sm-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
}
@media (min-width: 768px) {
	.g-md-3, .gx-md-3 { margin-left: -1rem; margin-right: -1rem; }
	.g-md-3 > *, .gx-md-3 > * { padding-left: 1rem; padding-right: 1rem; }
	.g-md-3, .gy-md-3 { margin-top: -1rem; margin-bottom: -1rem; }
	.g-md-3 > *, .gy-md-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
}
@media (min-width: 992px) {
	.g-lg-3, .gx-lg-3 { margin-left: -1rem; margin-right: -1rem; }
	.g-lg-3 > *, .gx-lg-3 > * { padding-left: 1rem; padding-right: 1rem; }
	.g-lg-3, .gy-lg-3 { margin-top: -1rem; margin-bottom: -1rem; }
	.g-lg-3 > *, .gy-lg-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
}
@media (min-width: 1200px) {
	.g-xl-3, .gx-xl-3 { margin-left: -1rem; margin-right: -1rem; }
	.g-xl-3 > *, .gx-xl-3 > * { padding-left: 1rem; padding-right: 1rem; }
	.g-xl-3, .gy-xl-3 { margin-top: -1rem; margin-bottom: -1rem; }
	.g-xl-3 > *, .gy-xl-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
}
@media (min-width: 1460px) {
	.g-xxl-3, .gx-xxl-3 { margin-left: -1rem; margin-right: -1rem; }
	.g-xxl-3 > *, .gx-xxl-3 > * { padding-left: 1rem; padding-right: 1rem; }
	.g-xxl-3, .gy-xxl-3 { margin-top: -1rem; margin-bottom: -1rem; }
	.g-xxl-3 > *, .gy-xxl-3 > * { padding-top: 1rem; padding-bottom: 1rem; }
}


.g-4, .gx-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
.g-4 > *, .gx-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
.g-4, .gy-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
.g-4 > *, .gy-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
@media (min-width: 576px) {
	.g-sm-4, .gx-sm-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
	.g-sm-4 > *, .gx-sm-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
	.g-sm-4, .gy-sm-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
	.g-sm-4 > *, .gy-sm-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
@media (min-width: 768px) {
	.g-md-4, .gx-md-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
	.g-md-4 > *, .gx-md-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
	.g-md-4, .gy-md-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
	.g-md-4 > *, .gy-md-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
@media (min-width: 992px) {
	.g-lg-4, .gx-lg-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
	.g-lg-4 > *, .gx-lg-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
	.g-lg-4, .gy-lg-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
	.g-lg-4 > *, .gy-lg-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
@media (min-width: 1200px) {
	.g-xl-4, .gx-xl-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
	.g-xl-4 > *, .gx-xl-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
	.g-xl-4, .gy-xl-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
	.g-xl-4 > *, .gy-xl-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
@media (min-width: 1460px) {
	.g-xxl-4, .gx-xxl-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
	.g-xxl-4 > *, .gx-xxl-4 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
	.g-xxl-4, .gy-xxl-4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
	.g-xxl-4 > *, .gy-xxl-4 > * { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}


.g-5, .gx-5 { margin-left: -3rem; margin-right: -3rem; }
.g-5 > *, .gx-5 > * { padding-left: 3rem; padding-right: 3rem; }
.g-5, .gy-5 { margin-top: -3rem; margin-bottom: -3rem; }
.g-5 > *, .gy-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 576px) {
	.g-sm-5, .gx-sm-5 { margin-left: -3rem; margin-right: -3rem; }
	.g-sm-5 > *, .gx-sm-5 > * { padding-left: 3rem; padding-right: 3rem; }
	.g-sm-5, .gy-sm-5 { margin-top: -3rem; margin-bottom: -3rem; }
	.g-sm-5 > *, .gy-sm-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 768px) {
	.g-md-5, .gx-md-5 { margin-left: -3rem; margin-right: -3rem; }
	.g-md-5 > *, .gx-md-5 > * { padding-left: 3rem; padding-right: 3rem; }
	.g-md-5, .gy-md-5 { margin-top: -3rem; margin-bottom: -3rem; }
	.g-md-5 > *, .gy-md-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 992px) {
	.g-lg-5, .gx-lg-5 { margin-left: -3rem; margin-right: -3rem; }
	.g-lg-5 > *, .gx-lg-5 > * { padding-left: 3rem; padding-right: 3rem; }
	.g-lg-5, .gy-lg-5 { margin-top: -3rem; margin-bottom: -3rem; }
	.g-lg-5 > *, .gy-lg-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 1200px) {
	.g-xl-5, .gx-xl-5 { margin-left: -3rem; margin-right: -3rem; }
	.g-xl-5 > *, .gx-xl-5 > * { padding-left: 3rem; padding-right: 3rem; }
	.g-xl-5, .gy-xl-5 { margin-top: -3rem; margin-bottom: -3rem; }
	.g-xl-5 > *, .gy-xl-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 1460px) {
	.g-xxl-5, .gx-xxl-5 { margin-left: -3rem; margin-right: -3rem; }
	.g-xxl-5 > *, .gx-xxl-5 > * { padding-left: 3rem; padding-right: 3rem; }
	.g-xxl-5, .gy-xxl-5 { margin-top: -3rem; margin-bottom: -3rem; }
	.g-xxl-5 > *, .gy-xxl-5 > * { padding-top: 3rem; padding-bottom: 3rem; }
}


.form-sm .custom-select {
	height: calc(1.5em + .5rem + 2px);
	padding-top: .25rem;
	padding-bottom: .25rem;
	padding-left: .5rem;
	font-size: .875rem;
}

.form-sm .form-control {
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem;
}

.form-sm .form-control:not(textarea) {
	height: calc(1.5em + .5rem + 2px);
}

.form-sm .btn {
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem;
}

.form-sm .col-form-label {
	padding-top: calc(.25rem + 1px);
	padding-bottom: calc(.25rem + 1px);
	font-size: .875rem;
	line-height: 1.5;
}



.flex-fit,
.input-group > .flex-fit {
	flex-grow: 0;
	flex-basis: fit-content;
}