.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;
  width:100%;
  padding-right:15px;
  padding-left:15px
}

/* card customizations */
.card {
  position:relative;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-direction:column;
  flex-direction:column;
  min-width:0;
  word-wrap:break-word;
  background-color:#fff !important;
  background-clip:border-box;
  border:1px solid rgba(0,0,0,.125);
  border-radius:.25rem
}

.card-body {
  -ms-flex:1 1 auto !important;
  flex:1 1 auto !important;
  padding:1.25rem !important;
}

.card-header {
	padding: .75rem 1.25rem !important;
	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)
}

label {
  display:inline-block;
  margin-bottom:.5rem
}

/* form customizations */
.form-group {
	margin-bottom: 1rem !important;
}

.form-control {
  display:block;
  width:100%;
  height:calc(1.5em + .75rem + 2px) !important;
  padding:.375rem .75rem !important;
  font-size:1rem !important;
  font-weight:400;
  line-height:1.5 !important;
  color:#495057;
  background-color:#fff !important;
  background-clip:padding-box;
  border:1px solid #ced4da;
  border-radius:.25rem !important;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
  .form-control {
    transition:none
  }
}

.form-control:focus {
  color:#495057;
  background-color:#fff;
  border-color:#80bdff !important;
  outline:0;
  box-shadow:0 0 0 .2rem rgba(0,123,255,.25)
}

.form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-image: var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}


.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25)
}


/* table customizations */
.table {
	width: 100%;
	margin-bottom: 1rem;
	color: #212529 !important;
}

.table td,
.table th {
  padding:.75rem !important;
  vertical-align:top;
  border-top:1px solid #dee2e6;
}

.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(0,0,0,.05) !important;
}

.table>:not(caption)>*>* {
    padding: .5rem .5rem;
    color: #212529 !important;
    border-bottom-width: 0 !important; /* removes bootstrap border at bottom of table. Enforced to match prod */
    
}

.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}

@media min-width:768px) {
	.col-md-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* apply focus styles to the parent span */
.btn-file:focus-within {
    outline: 2px solid #80bdff;
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

@media (min-width: 576px) {
    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
}

@media (min-width: 576px) {
    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
}
