a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    cursor: pointer;
}

blockquote {
    padding: 20px;
    margin-left: 20px;
    border-left: 2px solid;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.d-none {
    display: none;
}

.v-hidden {
    visibility: hidden;
}
.v-visible {
    visibility: visible;
}

/* use with display: grid/flex */
.gap-10 {
    gap: 10px;
}
.gap-25 {
    gap: 25px;
}
.gap-50 {
    gap: 50px;
}

.vw-100 {
    width: 100vw;
}
.vh-100 {
    height: 100vh !important;
}

.z-1 {
    z-index: 1;
}
.z-2 {
    z-index: 2;
}

.whitespace-nowrap {
    white-space: nowrap;
}
body[data-bs-theme="dark"] .bg-reqs-blue {
    background-color: #334155;
}
body[data-bs-theme="dark"] .bg-reqs-dropdown {
    background-color: rgb(33, 37, 41);
}
body[data-bs-theme="light"] .bg-reqs-dropdown {
    background-color: #ffffff;
}
body[data-bs-theme="dark"] .bg-reqs-grey {
    background-color: #2B3035;
}

body[data-bs-theme="dark"] .bg-reqs-pop-up {
    background-color: rgb(51, 65, 85);
}

body[data-bs-theme="light"] .bg-reqs-blue {
    background-color: #b5b7b9;
}

body[data-bs-theme="light"] .bg-reqs-grey {
    background-color: #eaeef3;
}

body[data-bs-theme="light"] .bg-reqs-pop-up {
    background-color: rgb(248, 249, 250);
}

body[data-bs-theme="light"] .users {
    background-color: rgb(248, 249, 250);
}
.text-indigo {
    color: #7B87F8;
}

.bg-indigo {
    background-color: #7B87F8;
}

.left-border {
    border: 0;
    border-left: 1px solid;
}
.custom-border {
    border: 1px solid !important;
}

.border-2 {
    border: 2px solid;
}

.record-container {
    display: grid;
    grid-row-gap: 15px;
    border-radius: 7px;
    background-color: transparent !important;
}

label span {
    color: red;
}

body[data-bs-theme="dark"] .record-label {
    width: 100%;
    background-color: rgb(43, 48, 53);
    border-radius: 5px 5px 0 0;
    padding: 7px;
    font-weight: 500;
}

.record-container:focus-within {
    border: 1px white solid;
    box-shadow: 0 0 5px 2px violet;
    margin: -2px;
}

.record-input[required] + label::after {
    content: " *";
    color: red;
    white-space: nowrap;
}

.record-input {
    /* border: none;
    outline: none; */
    padding: none !important;
    margin: none !important;
    border-radius: 0 0 7px 7px !important;
}

.record-td {
    max-width: 100px;
}

/* requires (max-)width */
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Chrome, Safari, Edge, Opera */
.clean-input::-webkit-outer-spin-button,
.clean-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.clean-input[type=number] {
    -moz-appearance: textfield;
}

.btn-sm {
    --bs-btn-padding-y: .25rem; 
    --bs-btn-padding-x: .5rem; 
    --bs-btn-font-size: .75rem;
}

.cursor-pointer {
    cursor: pointer;
}

.events-none {
    pointer-events: none;
}

.btn-outline-light {
    background-color: rgb(54, 54, 54);
}

.rotate-n90 {
    rotate: -90deg !important;
}
.rotate-transition-p35s {
    transition: rotate 0.35s;
}

/* slim select */
.ss-main {
    max-width: 450px;
}
.ss-main div {
    width: 400px;
}
[data-bs-theme="dark"] .ss-content {
    background-color: #212529 !important;
    border: 1px solid #4c555f !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    font-size: 1rem;
}

[data-bs-theme="dark"] .ss-option {
    color: #f8f9fa !important;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
}

[data-bs-theme="dark"] .ss-option:hover {
    background-color: #343a40 !important;
}

[data-bs-theme="dark"] .ss-main {
    background-color: #212529 !important;
    border: 1px solid #4c555f !important;
    color: #f8f9fa !important;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.375rem;
    height: auto;
}

[data-bs-theme="light"] .ss-main {
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.375rem;
    height: auto;
}

[data-bs-theme="dark"] .ss-search input {
    background-color: #212529 !important;
    color: #f8f9fa !important;
    border: 1px solid #4c555f !important;
    font-size: 1rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
}

[data-bs-theme="dark"] .ss-search input::placeholder {
    color: #ced4da !important;
}

.address-style {
    border-radius: 4px 4px 0 0;
}