:root {
    --base-font-size: calc(1rem + ((100vw - 320px) / (1920 - 320)));
    --bs-primary: #3f3d56;
    --bs-primary-rgb: 63, 61, 86;
    --base-transition: all 300ms ease;
    --bs-link-color-rgb: 69, 65, 117;
    --bs-link-hover-color-rgb: 23, 23, 45;
    --item-hover-highlight: #fff99d;
    --item-hover-highlight-rgb: 255, 249, 157;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3f3d56;
    --bs-btn-border-color: #3f3d56;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #32314b;
    --bs-btn-hover-border-color: #121631;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #32314b;
    --bs-btn-active-border-color: #121631;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #39374d;
    --bs-btn-disabled-border-color: #39374d;
}

.table-primary {
    --bs-table-bg: #bbb8e1;
}

.pagination {
    --bs-pagination-active-bg: #3f3d56;
    --bs-pagination-active-border-color: #32314b;
    --bs-pagination-color: #3f3d56;
    --bs-pagination-hover-color: #32314b;
}

body {
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    line-height: 1.5;
    font-size: var(--base-font-size);
}

.alert .bi {
    font-size: 1.5rem;
}

input[type=search]::-webkit-search-cancel-button {
    display: none;
}

.reset-search-field {
    position: absolute;
    padding: 0;
    border: 0;
    background: none;
    color: rgba(0, 0, 0, .5);
    font-size: 1.5rem;
    top: 50%;
    right: calc(0.375em + 1.25rem);
    transform: translate(0, -50%);
    line-height: 1;
}

input[type=search]:placeholder-shown + .reset-search-field {
    display: none;
}

.spinner-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--bs-gutter-x) * 0.5);
    right: calc(var(--bs-gutter-x) * 0.5);
    display: flex;
    background: rgba(0, 0, 0, .1);
    justify-content: center;
    align-items: center;
}

.alert div p:nth-last-child(1) {
    margin: 0;
}

.hide {
    display: none;
}
