body {
    background: #fafafa;
    font-family: 'Rajdhani', 'Abel', 'Arsenal', Arial, sans-serif;
    /* permanently show scrollbars */
    overflow-y: scroll;
}

main {
    margin-top: 90px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #444444;
}

table.summary-tb-premiums tr td:first-child {
    width: 150px;
}

::placeholder {
    color: lightgray !important;
}

.link-blue:hover {
    color: var(--bs-primary);
    transition: color 0.3s ease;
}

.btn-check:checked+.btn,
.btn-group button.btn-radio.checked {
    font-weight: 900;
}

.btn-check:not(:checked)+.btn,
.btn-group button.btn.btn-radio:not(.checked) {
    border-color: var(--bs-gray-200);
    background-color: var(--bs-gray-200);
    color: var(--bs-gray-500);
}

.collapse-toggle:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    transform: rotate(-180deg);
}

.collapse-toggle::after {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 2rem;
    transition: transform 0.2s ease-in-out;
}

legend {
    font-size: calc(1.5rem + 0.3vw);
}

ul {
    margin: 0;
}

.active-page {
    color: #212529 !important;
    background-color: #e2e3e5 !important;
}

.accordion-body {
    background-color: var(--bs-gray-100);
}

.accordion-create {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    /* color: var(--bs-accordion-color);
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); */
    border: 0;
    overflow-anchor: none;
}

.accordion-create:hover {
    color: var(--bs-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.bi::before {
    vertical-align: middle;
}

.bg-steel {
    background-color: #5f788a;
}

.bg-steel-light {
    background-color: #5f788a;
    opacity: 0.7;
}

.brand-img {
    width: 35px;
    height: auto;
    margin-left: 10px;
    border: none;
    border-radius: 0.25rem;
}

.btn-p {
    padding: 0.29rem !important;
}

.card-title,
.modal-title {
    color: darkblue;
}

.card-hover:hover {
    border-color: darkblue;
    background-color: var(--bg-light);
}

.collapsing.collapse-slow {
    transition: height 0.5s ease;
}

/* All direct children of element with class "container-sections-lg" except last */
.container-sections-xl> :not(:last-child) {
    margin-bottom: 2.2rem;
}

/* All direct children of element with class "container-sections-lg" except last */
.container-sections-lg> :not(:last-child) {
    margin-bottom: 1.5rem;
}

/* All direct children of element with class "container-sections-lg" except last */
.container-sections-md> :not(:last-child) {
    margin-bottom: 1rem;
}

/* All direct children of element with class "container-sections-lg" except last */
.container-sections-sm> :not(:last-child) {
    margin-bottom: 0.4rem;
}

.content-section {
    background: #ffffff;
    padding: 5px 10px;
    /* vertical / horizontal */
    border: 1px solid #dddddd;
    border-radius: 3px;
    margin-bottom: 20px;
}

.content-section.form-section {
    padding: 10px 25px;
}

.hover-text-primary {
    transition: color 0.6s ease;
}

.hover-text-primary:hover {
    color: var(--bs-primary);
}

.navbar-nav {
    font-size: 1.1rem;
}

.nav-link {
    text-align: center;
}

.nav-pills .nav-link {
    color: darkblue;
    border: 1px solid darkblue;
    background-color: var(--bs-gray-200);
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: darkblue;
    background-color: white;
}

.scroll-box {
    scroll-snap-type: y mandatory;
}

.scroll-box .scroll-item {
    scroll-snap-align: start;
}

/* .scroll-fade {
    -webkit-mask-image: linear-gradient(to bottom, black 90%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 90%, transparent 100%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-composite: destination-in;
    mask-composite: intersect;
} */

.section-container {
    margin-bottom: 4rem;
}

.site-header .navbar-nav .nav-link {
    color: #cbd5db;
}

.site-header .navbar-nav .nav-link:hover {
    color: #ffffff;
}

.truncate-chars {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[role=switch] {
    cursor: pointer;
}

/* KEY VALUE */

.kv-container {
    display: flex;
    align-items: flex-start;
}

.line-separator {
    flex-grow: 1;
    height: 1px;
    margin: 12px 10px;
}

@media (min-width: 992px) {
    .line-separator {
        background-color: lightgray;
        opacity: 0.2;
    }
}