.btn-outline-primary {
  background-color: rgba(0,123,255,0.2);
}
.btn-outline-secondary {
  background-color: rgba(108,117,125,0.2);
}
.btn-outline-success {
  background-color: rgba(40,167,69,0.2);
}
.btn-outline-info {
  background-color: rgba(23,162,184,0.2);
}
.btn-outline-warning {
  background-color: rgba(255,193,7,0.2);
}
.btn-outline-danger {
  background-color: rgba(220,53,69,0.2);
}
.btn-outline-light {
  background-color: rgba(248,249,250,0.2);
}
.btn-outline-dark {
  background-color: rgba(52,58,64,0.2);
}
.btn-primary,
.btn-outline-primary {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-secondary,
.btn-outline-secondary {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-success,
.btn-outline-success {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-info,
.btn-outline-info {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-warning,
.btn-outline-warning {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-danger,
.btn-outline-danger {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-light,
.btn-outline-light {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-dark,
.btn-outline-dark {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .15) !important;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:active,
.btn-outline-secondary:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-success:hover,
.btn-success:active,
.btn-success:focus,
.btn-outline-success:hover,
.btn-outline-success:active,
.btn-outline-success:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-info:hover,
.btn-info:active,
.btn-info:focus,
.btn-outline-info:hover,
.btn-outline-info:active,
.btn-outline-info:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus,
.btn-outline-warning:hover,
.btn-outline-warning:active,
.btn-outline-warning:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger:focus,
.btn-outline-danger:hover,
.btn-outline-danger:active,
.btn-outline-danger:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-light:hover,
.btn-light:active,
.btn-light:focus,
.btn-outline-light:hover,
.btn-outline-light:active,
.btn-outline-light:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}
.btn-dark:hover,
.btn-dark:active,
.btn-dark:focus,
.btn-outline-dark:hover,
.btn-outline-dark:active,
.btn-outline-dark:focus {
  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-moz-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-o-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	-ms-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
	box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, .2) !important;
}


/* *******************************************************************************************
 *         BS Callout                                                                        *
 ******************************************************************************************* */

.bs-callout {
    position: relative;
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
}
.bs-callout.bs-callout-label {
	padding-left: 130px;
}
.bs-callout.bs-callout-label > label {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 110px;
    margin: 0 !important;
    padding: 25px 10px 0 10px !important;
    font-size: 16px;
    text-align: center;
}
.bs-callout h4 {
    margin-top: 0;
    margin-bottom: 5px;
}
.bs-callout h4 + ul {
	margin-top: 15px;
}
.bs-callout p {
    margin-bottom: .3em;
}
.bs-callout p:last-child {
    margin-bottom: 0;
}
.bs-callout code {
    border-radius: 3px;
}
.bs-callout+.bs-callout {
    margin-top: -5px;
}
.bs-callout-default {
    border-left-color: #777;
}
.bs-callout-default h4 {
    color: #777;
}
.bs-callout-primary {
    border-left-color: #428bca;
}
.bs-callout-primary.bs-callout-label > label {
    background-color: rgba(66,139,202,0.8);
    color: #fff;
}
.bs-callout-primary.bg-primary {
    background-color: rgba(66,139,202,0.1) !important;
    border-color: rgba(66,139,202,0.4);
    border-left-color: #428bca;
}
.bg-light-primary {
    background-color: rgba(66,139,202,0.2) !important;
}
.bs-callout-primary h4 {
    color: #428bca;
}
.bs-callout-success {
    border-left-color: #5cb85c;
}
.bs-callout-success.bg-success {
    background-color: rgba(92,184,92,0.1) !important;
    border-color: rgba(92,184,92,0.4);
    border-left-color: #5cb85c;
}
.bg-light-success {
    background-color: rgba(92,184,92,0.2) !important;
}
.bs-callout-success h4 {
    color: #5cb85c;
}
.bs-callout-danger {
    border-left-color: #d9534f;
}
.bs-callout-danger.bg-error,
.bs-callout-danger.bg-danger {
    background-color: rgba(217,83,79,0.1) !important;
    border-color: rgba(217,83,79,0.4);
    border-left-color: #d9534f;
}
.bg-light-danger {
    background-color: rgba(217,83,79,0.2) !important;
}
.bs-callout-danger h4 {
    color: #d9534f;
}
.bs-callout-warning {
    border-left-color: #f0ad4e;
}
.bs-callout-warning.bg-warning {
    background-color: rgba(240,173,78,0.1) !important;
    border-color: rgba(240,173,78,0.4);
    border-left-color: #f0ad4e;
}
.bg-light-warning {
    background-color: rgba(240,173,78,0.2) !important;
}
.bs-callout-warning h4 {
    color: #f0ad4e;
}
.bs-callout-info {
    border-left-color: #5bc0de;
}
.bs-callout-info.bg-info {
    background-color: rgba(91,192,222,0.1) !important;
    border-color: rgba(91,192,222,0.4);
    border-left-color: #5bc0de;
}
.bg-light-info {
    background-color: rgba(91,192,222,0.2) !important;
}
.bs-callout-info h4 {
    color: #5bc0de;
}

.bs-callout.bg-white {
	background-color: rgba(255,255,255,0.5) !important;
}
.bs-callout.bg-white h4 {
    color: #333 !important;
}



.bs-callout .close {
    position: absolute;
    top: 4px;
    right: 7px;
    color: inherit;
    font-size: 25px;
}
.bs-callout .close:focus,
.bs-callout .close:hover,
.bs-callout .close:active {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    filter: alpha(opacity=50);
    opacity: .5;
}

.alert {
    position: relative;
}
.alert .close {
    position: absolute;
    top: 4px;
    right: 7px;
    color: inherit;
    font-size: 25px;
}
.alert .close:focus,
.alert .close:hover,
.alert .close:active {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    filter: alpha(opacity=50);
    opacity: .5;
}


.icon-color-success { color: #449D44; }
.icon-color-warning { color: #EC971F; }
.icon-color-danger { color: #C9302C; }

.bs-bg-success {
	background-color: rgba(92,184,92,0.12);
}
.bs-bg-warning {
	background-color: rgba(240,173,78,0.12);
}
.bs-bg-danger {
	background-color: rgba(217,83,79,0.08);
}
.bs-border-success {
	border-left: 8px solid rgba(92,184,92,0.4);
}
.bs-border-warning {
	border-left: 8px solid rgba(240,173,78,0.4);
}
.bs-border-danger {
	border-left: 8px solid rgba(217,83,79,0.4);
}

.alert.alert-icon {}

.alert.alert-icon > .glyphicon,
.alert.alert-icon > .fa,
.alert.alert-icon > .far,
.alert.alert-icon > .fas {
	font-size: 300%;
	position: absolute;
	top: 7px;
	left: 22px;
}

.fa-blank {
	-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)';
	filter: alpha(opacity=30);
	-moz-opacity: 0.30;
	-khtml-opacity: 0.30;
	opacity: 0.30;
}

.alert.alert-icon > div,
.alert.alert-icon > span {
	position: relative;
	display: block;
	padding: 3px 0 0 50px;
}
.alert tt {
	font-size: 140%;
	letter-spacing: -.7px;
}

.label.label-sup {
	position: relative;
	top: -.6em;
  display: inline;
  padding: .05em .1em .05em;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
}

hr {
	border-color: #d0d0d0;
}


.d-none {
	display: none;
}
.d-block {
	display: block;
}

.btn-group-xs > .btn,
.btn-xs {
	padding: .15rem .3rem;
	font-size: .75rem;
	line-height: 1.4;
	border-radius: .2rem;
}


@media (max-width: 767px) {
	.btn-xs-block {
		display: block;
		width: 100%;
	}
	input[type="submit"].btn-xs-block,
	input[type="reset"].btn-xs-block,
	input[type="button"].btn-xs-block {
		width: 100%;
	}
	.btn-block + .btn-xs-block,
	.btn-xs-block + .btn-block,
	.btn-xs-block + .btn-xs-block {
		margin-top: 0.5rem;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.btn-sm-block {
		display: block;
		width: 100%;
	}
	input[type="submit"].btn-sm-block,
	input[type="reset"].btn-sm-block,
	input[type="button"].btn-sm-block {
		width: 100%;
	}
	.btn-block + .btn-sm-block,
	.btn-sm-block + .btn-block,
	.btn-sm-block + .btn-sm-block {
		margin-top: 0.5rem;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.btn-md-block {
		display: block;
		width: 100%;
	}
	input[type="submit"].btn-md-block,
	input[type="reset"].btn-md-block,
	input[type="button"].btn-md-block {
		width: 100%;
	}
	.btn-block + .btn-md-block,
	.btn-md-block + .btn-block,
	.btn-md-block + .btn-md-block {
		margin-top: 0.5rem;
	}
}
@media (min-width: 1200px) {
	.btn-lg-block {
		display: block;
		width: 100%;
	}
	input[type="submit"].btn-lg-block,
	input[type="reset"].btn-lg-block,
	input[type="button"].btn-lg-block {
		width: 100%;
	}
	.btn-block + .btn-lg-block,
	.btn-lg-block + .btn-block,
	.btn-lg-block + .btn-lg-block {
		margin-top: 0.5rem;
	}
}



/* Misc */

.datepicker-days {
	font-size: 13px;
}

.table.table-right-aligned-cells th,
.table.table-right-aligned-cells td {
	text-align: right !important;
	padding-left: .6rem !important;
	padding-right: .6rem !important;
}

.table.table-right-aligned-cell-last tr > th:last-child,
.table.table-right-aligned-cell-last tr > td:last-child {
	text-align: right !important;
	padding-left: .6rem !important;
	padding-right: .6rem !important;
}

.table.table-left-aligned-cells-1 tr > th:first-child,
.table.table-left-aligned-cells-1 tr > td:first-child,
.table.table-left-aligned-cells-2 tr > th:nth-child(2),
.table.table-left-aligned-cells-2 tr > td:nth-child(2),
.table .row-align-left th,
.table .row-align-left td {
	text-align: left !important;
	padding-left: .6rem !important;
	padding-right: .6rem !important;
}

.table .al { text-align: left !important;}
.table .ac { text-align: center !important; }
.table .ar { text-align: right !important; }
.table .at { vertical-align: top; }
.table .am { vertical-align: middle; }
.table .ab { vertical-align: bottom; }


/* From https://stackoverflow.com/questions/55593229/increasing-the-size-of-a-bootstrap-checkbox */

.form-check-input {
	clear: left;
}
.form-switch.form-switch-sm .form-check-input {
	height: 1rem;
	width: calc(1rem + 0.75rem);
	border-radius: 2rem;
}
.form-switch.form-switch-md .form-check-input {
	height: 1.5rem;
	width: calc(2rem + 0.75rem);
	border-radius: 3rem;
}
.form-switch.form-switch-lg .form-check-input {
	height: 2rem;
	width: calc(3rem + 0.75rem);
	border-radius: 4rem;
}
.form-switch.form-switch-xl .form-check-input {
	height: 2.5rem;
	width: calc(4rem + 0.75rem);
	border-radius: 5rem;
}

/* Added by TU */

.form-switch,
.form-switch > * {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}
.form-switch .form-check-label {
	padding-left: .8rem;
}
.form-switch.form-switch-sm .form-check-label {
	line-height: 1rem;
}
.form-switch.form-switch-md .form-check-label {
	line-height: 1.5rem;
}
.form-switch.form-switch-lg .form-check-label {
	line-height: 2rem;
}
.form-switch.form-switch-xl .form-check-label {
	line-height: 2.5rem;
}
