/*
 * Bootstrap 4.1.1 rules for classes removed in Bootstrap 5 (close, form-group, form-row, form-inline, btn-block, media, media-body, input-group-append, input-group-prepend, custom-select, custom-select-sm, custom-select-lg, custom-control, custom-control-inline, custom-control-input, custom-control-label, custom-checkbox, custom-radio, custom-file, custom-file-input, custom-file-label, custom-range, form-control-file, form-control-range).
 * Extracted from the app's previous bootstrap.min.css so existing markup keeps its look.
 * Bootstrap v4.1.1 (https://getbootstrap.com/) | Copyright 2011-2018 The Bootstrap Authors, Twitter, Inc. | MIT License
 */
.form-control-file,.form-control-range{
	display: block;
	width: 100%
}
.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{
	padding-right: 0;
	padding-left: 0
}
.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem
}
.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]){
	height: calc(1.8125rem + 2px)
}
.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{
	padding: .5rem 1rem;
	font-size: 1.25rem;
	line-height: 1.5;
	border-radius: .3rem
}
.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]){
	height: calc(2.875rem + 2px)
}
.form-group{
	margin-bottom: 1rem
}
.form-row{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -5px;
	margin-left: -5px
}
.form-row>.col,.form-row>[class*=col-]{
	padding-right: 5px;
	padding-left: 5px
}
.custom-select.is-valid,.was-validated .custom-select:valid{
	border-color: #28a745
}
.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}
.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{
	display: block
}
.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{
	display: block
}
.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{
	color: #28a745
}
.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{
	background-color: #71dd8a
}
.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{
	display: block
}
.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{
	background-color: #34ce57
}
.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(40, 167, 69, .25)
}
.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{
	border-color: #28a745
}
.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{
	border-color: inherit
}
.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{
	display: block
}
.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}
.custom-select.is-invalid,.was-validated .custom-select:invalid{
	border-color: #dc3545
}
.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}
.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{
	display: block
}
.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{
	display: block
}
.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{
	color: #dc3545
}
.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{
	background-color: #efa2a9
}
.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{
	display: block
}
.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{
	background-color: #e4606d
}
.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(220, 53, 69, .25)
}
.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{
	border-color: #dc3545
}
.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{
	border-color: inherit
}
.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{
	display: block
}
.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}
.form-inline{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-ms-flex-align: center;
	align-items: center
}
.form-inline .form-check{
	width: 100%
}
@media (min-width:576px){.form-inline label{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-bottom: 0
	}.form-inline .form-group{
		display: -ms-flexbox;
		display: flex;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-align: center;
		align-items: center;
		margin-bottom: 0
	}.form-inline .form-control{
		display: inline-block;
		width: auto;
		vertical-align: middle
	}.form-inline .form-control-plaintext{
		display: inline-block
	}.form-inline .custom-select,.form-inline .input-group{
		width: auto
	}.form-inline .form-check{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: auto;
		padding-left: 0
	}.form-inline .form-check-input{
		position: relative;
		margin-top: 0;
		margin-right: .25rem;
		margin-left: 0
	}.form-inline .custom-control{
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: center;
		justify-content: center
	}.form-inline .custom-control-label{
		margin-bottom: 0
	}}
.btn-block{
	display: block;
	width: 100%
}
.btn-block+.btn-block{
	margin-top: .5rem
}
input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{
	width: 100%
}
.input-group>.custom-file{
	position: relative;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 1%;
	margin-bottom: 0
}
.input-group>.custom-file:focus,.input-group>.custom-select:focus{
	z-index: 3
}
.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select{
	margin-left: -1px
}
.input-group>.custom-select:not(:last-child){
	border-top-right-radius: 0;
	border-bottom-right-radius: 0
}
.input-group>.custom-select:not(:first-child){
	border-top-left-radius: 0;
	border-bottom-left-radius: 0
}
.input-group>.custom-file{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center
}
.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0
}
.input-group>.custom-file:not(:first-child) .custom-file-label{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0
}
.input-group-append,.input-group-prepend{
	display: -ms-flexbox;
	display: flex
}
.input-group-append .btn,.input-group-prepend .btn{
	position: relative;
	z-index: 2
}
.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{
	margin-left: -1px
}
.input-group-prepend{
	margin-right: -1px
}
.input-group-append{
	margin-left: -1px
}
.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0
}
.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0
}
.custom-control{
	position: relative;
	display: block;
	min-height: 1.5rem;
	padding-left: 1.5rem
}
.custom-control-inline{
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin-right: 1rem
}
.custom-control-input{
	position: absolute;
	z-index: -1;
	opacity: 0
}
.custom-control-input:checked~.custom-control-label::before{
	color: #fff;
	background-color: #2b267f
}
.custom-control-input:focus~.custom-control-label::before{
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem #2b267f
}
.custom-control-input:active~.custom-control-label::before{
	color: #fff;
	background-color: #b3d7ff
}
.custom-control-input:disabled~.custom-control-label{
	color: #6c757d
}
.custom-control-input:disabled~.custom-control-label::before{
	background-color: #e9ecef
}
.custom-control-label{
	position: relative;
	margin-bottom: 0
}
.custom-control-label::before{
	position: absolute;
	top: .25rem;
	left: -1.5rem;
	display: block;
	width: 1rem;
	height: 1rem;
	pointer-events: none;
	content: "";
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: #dee2e6
}
.custom-control-label::after{
	position: absolute;
	top: .25rem;
	left: -1.5rem;
	display: block;
	width: 1rem;
	height: 1rem;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%
}
.custom-checkbox .custom-control-label::before{
	border-radius: .25rem
}
.custom-checkbox .custom-control-input:checked~.custom-control-label::before{
	background-color: #2b267f
}
.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='%23fff' 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-checkbox .custom-control-input:indeterminate~.custom-control-label::before{
	background-color: #2b267f
}
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")
}
.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{
	background-color: #2b267f
}
.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{
	background-color: #2b267f
}
.custom-radio .custom-control-label::before{
	border-radius: 50%
}
.custom-radio .custom-control-input:checked~.custom-control-label::before{
	background-color: #2b267f
}
.custom-radio .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='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")
}
.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{
	background-color: #2b267f
}
.custom-select{
	display: inline-block;
	width: 100%;
	height: calc(2.25rem + 2px);
	padding: .375rem 1.75rem .375rem .75rem;
	line-height: 1.5;
	color: #495057;
	vertical-align: middle;
	background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
	background-size: 8px 10px;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
.custom-select:focus{
	border-color: #80bdff;
	outline: 0;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba(128, 189, 255, .5)
}
.custom-select:focus::-ms-value{
	color: #495057;
	background-color: #fff
}
.custom-select[multiple],.custom-select[size]:not([size="1"]){
	height: auto;
	padding-right: .75rem;
	background-image: none
}
.custom-select:disabled{
	color: #6c757d;
	background-color: #e9ecef
}
.custom-select::-ms-expand{
	opacity: 0
}
.custom-select-sm{
	height: calc(1.8125rem + 2px);
	padding-top: .375rem;
	padding-bottom: .375rem;
	font-size: 75%
}
.custom-select-lg{
	height: calc(2.875rem + 2px);
	padding-top: .375rem;
	padding-bottom: .375rem;
	font-size: 125%
}
.custom-file{
	position: relative;
	display: inline-block;
	width: 100%;
	height: calc(2.25rem + 2px);
	margin-bottom: 0
}
.custom-file-input{
	position: relative;
	z-index: 2;
	width: 100%;
	height: calc(2.25rem + 2px);
	margin: 0;
	opacity: 0
}
.custom-file-input:focus~.custom-file-label{
	border-color: #80bdff;
	box-shadow: 0 0 0 .2rem #2b267f
}
.custom-file-input:focus~.custom-file-label::after{
	border-color: #80bdff
}
.custom-file-input:lang(en)~.custom-file-label::after{
	content: "Browse"
}
.custom-file-label{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1;
	height: calc(2.25rem + 2px);
	padding: .375rem .75rem;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	border: 1px solid #ced4da;
	border-radius: .25rem
}
.custom-file-label::after{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: block;
	height: 2.25rem;
	padding: .375rem .75rem;
	line-height: 1.5;
	color: #495057;
	content: "Browse";
	background-color: #e9ecef;
	border-left: 1px solid #ced4da;
	border-radius: 0 .25rem .25rem 0
}
.custom-range{
	width: 100%;
	padding-left: 0;
	background-color: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
.custom-range:focus{
	outline: 0
}
.custom-range::-moz-focus-outer{
	border: 0
}
.custom-range::-webkit-slider-thumb{
	width: 1rem;
	height: 1rem;
	margin-top: -.25rem;
	background-color: #2b267f;
	border: 0;
	border-radius: 1rem;
	-webkit-appearance: none;
	appearance: none
}
.custom-range::-webkit-slider-thumb:focus{
	outline: 0;
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem #2b267f
}
.custom-range::-webkit-slider-thumb:active{
	background-color: #b3d7ff
}
.custom-range::-webkit-slider-runnable-track{
	width: 100%;
	height: .5rem;
	color: transparent;
	cursor: pointer;
	background-color: #dee2e6;
	border-color: transparent;
	border-radius: 1rem
}
.custom-range::-moz-range-thumb{
	width: 1rem;
	height: 1rem;
	background-color: #2b267f;
	border: 0;
	border-radius: 1rem;
	-moz-appearance: none;
	appearance: none
}
.custom-range::-moz-range-thumb:focus{
	outline: 0;
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem #2b267f
}
.custom-range::-moz-range-thumb:active{
	background-color: #b3d7ff
}
.custom-range::-moz-range-track{
	width: 100%;
	height: .5rem;
	color: transparent;
	cursor: pointer;
	background-color: #dee2e6;
	border-color: transparent;
	border-radius: 1rem
}
.custom-range::-ms-thumb{
	width: 1rem;
	height: 1rem;
	background-color: #2b267f;
	border: 0;
	border-radius: 1rem;
	appearance: none
}
.custom-range::-ms-thumb:focus{
	outline: 0;
	box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem #2b267f
}
.custom-range::-ms-thumb:active{
	background-color: #b3d7ff
}
.custom-range::-ms-track{
	width: 100%;
	height: .5rem;
	color: transparent;
	cursor: pointer;
	background-color: transparent;
	border-color: transparent;
	border-width: .5rem
}
.custom-range::-ms-fill-lower{
	background-color: #dee2e6;
	border-radius: 1rem
}
.custom-range::-ms-fill-upper{
	margin-right: 15px;
	background-color: #dee2e6;
	border-radius: 1rem
}
.alert-dismissible .close{
	position: absolute;
	top: 0;
	right: 0;
	padding: .75rem 1.25rem;
	color: inherit
}
.media{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	align-items: flex-start
}
.media-body{
	-ms-flex: 1;
	flex: 1
}
.close{
	float: right;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: .5
}
.close:focus,.close:hover{
	color: #000;
	text-decoration: none;
	opacity: .75
}
.close:not(:disabled):not(.disabled){
	cursor: pointer
}
button.close{
	padding: 0;
	background-color: transparent;
	border: 0;
	-webkit-appearance: none
}
.modal-header .close{
	padding: 1rem;
	margin: -1rem -1rem -1rem auto
}

/* Bootstrap 4 grid columns were position: relative (Bootstrap 5 dropped it). Content relies on it to sit
   above absolutely positioned overlays such as the login background, and to anchor positioned children. */
.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative}

/* Bootstrap 4 grid spacing: 30px gutters, and 15px side padding on column classes even outside a .row
   (pages use a bare .col-md-12 as their content wrapper). */
.container,.container-fluid,.row{--bs-gutter-x:30px}

/* Bootstrap 4 had no xxl breakpoint: .container stayed 1140px wide on screens of 1400px and up, where Bootstrap 5
   widens it to 1320px and stretches page layouts (e.g. the Customer Information form) beyond their design. */
@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1140px}}
.g-0,.gx-0{--bs-gutter-x:0}
.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}
.g-0>*,.gx-0>*{padding-right:0;padding-left:0}

/* Bootstrap 4 link styling: no underline until hover, and anchors without href (e.g. sortable table headers) inherit the text colour. */
a{color: #2b267f; text-decoration: none; background-color: transparent; -webkit-text-decoration-skip: objects}
a:hover{color: #0056b3; text-decoration: underline}
a:not([href]):not([tabindex]){color: inherit; text-decoration: none}
a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color: inherit; text-decoration: none}
a:not([href]):not([tabindex]):focus{outline: 0}

/* Bootstrap 4 removed the hover/focus underline from link-styled components (buttons, nav links, dropdown
   items, pagination...). Needed alongside the Bootstrap 4 a:hover underline above. */
.btn:focus, .btn:hover{text-decoration:none}
.dropdown-item:focus, .dropdown-item:hover{text-decoration:none}
.nav-link:focus, .nav-link:hover{text-decoration:none}
.navbar-brand:focus, .navbar-brand:hover{text-decoration:none}
.navbar-toggler:focus, .navbar-toggler:hover{text-decoration:none}
.card-link:hover{text-decoration:none}
.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}
.page-link:hover{text-decoration:none}
.badge-primary[href]:focus, .badge-primary[href]:hover{text-decoration:none}
.badge-secondary[href]:focus, .badge-secondary[href]:hover{text-decoration:none}
.badge-success[href]:focus, .badge-success[href]:hover{text-decoration:none}
.badge-info[href]:focus, .badge-info[href]:hover{text-decoration:none}
.badge-warning[href]:focus, .badge-warning[href]:hover{text-decoration:none}
.badge-danger[href]:focus, .badge-danger[href]:hover{text-decoration:none}
.badge-light[href]:focus, .badge-light[href]:hover{text-decoration:none}
.badge-dark[href]:focus, .badge-dark[href]:hover{text-decoration:none}
.list-group-item-action:focus, .list-group-item-action:hover{text-decoration:none}
.list-group-item:focus, .list-group-item:hover{text-decoration:none}
.close:focus, .close:hover{text-decoration:none}
.carousel-control-next:focus, .carousel-control-next:hover, .carousel-control-prev:focus, .carousel-control-prev:hover{text-decoration:none}

/* Bootstrap 5 gives modals their own text colour (--bs-modal-color, #212529); Bootstrap 4 left it unset, so
   modal text inherited the app's body colour (navy). */
.modal-content{color:inherit}

/* Bootstrap 4 card spacing. Bootstrap 5 builds card-body/header/footer padding from variables that only exist
   inside .card, so the app's card-body/card-header blocks used without a .card wrapper lost their padding. */
.card-body{flex:1 1 auto;padding:1.25rem}
.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}
.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}

/* The app's Bootstrap 4 build used a slimmer navbar than Bootstrap 5's default. */
.navbar{padding:.2rem .5rem}

/* Bootstrap 5 makes every direct child of .row full width with gutter padding (.row > *). In Bootstrap 4 only
   column classes had that; other children (wrapper divs, form-groups, buttons) kept their natural width and sat
   side by side. :where() keeps this at .row > * specificity so the app's own width rules still win. */
.row>:where(:not([class^="col"]):not([class*=" col"])){flex-shrink:1;width:auto;max-width:none;padding-right:0;padding-left:0;margin-top:0}
/* Bootstrap 3's col-xs-* is not a column class in Bootstrap 4 or 5, so an element whose only column class is col-xs-*
   (e.g. the payment popup's price and reference blocks) was a plain row child in Bootstrap 4 as well. */
.row>:where([class*="col-xs-"]:not([class~="col"]):not([class~="col-auto"]):not([class*="col-sm"]):not([class*="col-md"]):not([class*="col-lg"]):not([class*="col-xl"]):not([class*="col-1"]):not([class*="col-2"]):not([class*="col-3"]):not([class*="col-4"]):not([class*="col-5"]):not([class*="col-6"]):not([class*="col-7"]):not([class*="col-8"]):not([class*="col-9"])){flex-shrink:1;width:auto;max-width:none;padding-right:0;padding-left:0;margin-top:0}

/* Bootstrap 4 carousel indicators were position: relative. The app gives them absolutely positioned
   ::before/::after click areas; without it those stretch over the whole indicator row and every click
   lands on the last dot. */
.carousel-indicators li{position:relative}

/* Bootstrap 4 table cell rules. Bootstrap 5 only styles cells under table > tbody/thead > tr, but Angular renders
   templates like <table><tr><td> literally (no implicit tbody, unlike the HTML parser), so those cells lost their
   padding and borders. These match cells at any depth; the app's own .table > tbody > tr > td rules still win. */
.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}
.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}
.table-sm td,.table-sm th{padding:.3rem}
.table-bordered td,.table-bordered th{border:1px solid #dee2e6}
.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}
/* Bootstrap 4 did not pad lists, so the app's "* { padding: 0 }" reset (main.style.css) left them unindented. Bootstrap 5's
   "ol, ul { padding-left: 2rem }" beats that reset and widened every plain list; in the inspection test slides the
   extra indent pushes the description past its fixed 170px box and shows a scrollbar. */
ol,ul{padding-left:0}

/* Bootstrap 5 overlaps every input-group item by 1px and every button in a .btn-group by 1px; Bootstrap 4 did not
   shift the app's icon + input fields (.input-group-addon), and the app's own 2px gap between .btn-tab buttons
   (diagnostic.css) applied. */
.input-group>.input-group-addon~:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:0}
.btn-group.btn-tab>.btn+.btn{margin-left:2px}
/* Bootstrap 4 tables were transparent and took the page's text colour; Bootstrap 5 paints cells black on white. */
.table{--bs-table-color:currentcolor;--bs-table-bg:transparent}
