/*
 * Due to Some really fun ASPX Web Controls (like GridView),
 * we are unable to render the html like BootStrap would like.
 * So, we make do with this.
 */
:root {
    --bs-link-color-rgb: 0, 107, 201; /* Balance Blue */
    /*--bs-link-hover-color-rgb: 0, 92, 173; /* Balance Blue w 5% decrease in Luminosity */
    --bs-link-hover-color-rgb: 131, 0, 201; /* Balance Purple */
}
[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: none;
}

span.alert {
    display: block;
}

/* Tables */
.thead-cchp-red th,
.thead-cchp-red th a,
.thead-cchp-red th span,
.thead-cchp-blue th,
.thead-cchp-blue th a,
.thead-cchp-blue th span,
.table-header th,
.table-header th a,
.table-header th span,
.table-header tr:first-child th,
.table-header tr:first-child th a,
.table-header tr:first-child th span {
    color: #fff !important;
    text-decoration: none;
    white-space: nowrap;
}
.table .thead-cchp-red th,
.table .table-header th {
    background-color: var(--cchpred);
    border-color: var(--cchpred);
}
.table .thead-cchp-blue th {
    background-color: var(--cchpblue);
    border-color: var(--cchpblue);
}
.thead-cchp-red th a,
.thead-cchp-blue th a,
.table-header th a,
.table-header tr:first-child th a {
    border-bottom: 1px solid #fff;
}
tr.table-sub-header,
th.table-sub-header {
    background-color: #f5f5f5;
}

/*
 * Forms
 * ---
 * To stop us from using .form-control on all of our fields, we're just going to place these styles here.
 */
input[type="text"], 
input[type="password"], 
select,
textarea {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border-radius: 0;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    border-color: var(--cchpblue);
}
select {
    background-image: url('images/down-arrow.svg'); 
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
}

/* Alerts */
.alert:empty {
    display: none;
}
.alert {
    boarder-radius: 0;
}
.alert-secondary {
    background: var(--cchpplatinum) !important;
    border-width: 0;
}

/* Cards */
.card .card-header {
    background: var(--blue);
    color: #fff;
    font-weight: 700;
}

/* Spacing */
.col.row-gap-1 .row {
    padding-bottom: 0.25rem;
}
.col.row-gap-2 .row {
    padding-bottom: 0.5rem;
}
.col.row-gap-3 .row {
    padding-bottom: 1rem;
}
.col.row-gap-4 .row {
    padding-bottom: 1.5rem;
}
.col.row-gap-5 .row {
    padding-bottom: 3rem;
}
.col.row-gap-1 .row:last-child,
.col.row-gap-2 .row:last-child,
.col.row-gap-3 .row:last-child,
.col.row-gap-4 .row:last-child,
.col.row-gap-5 .row:last-child {
    padding-bottom: 0;
}