:root {
    --bs-font-sans-serif: "Inter", sans-serif;
    --bs-heading-font-family: "Poppins", sans-serif;
    --bs-body-font-size: 1.25rem;
    --bs-body-color: var(--bs-primary);
    --bs-primary: #1e252b;
    --bs-primary-rgb: 30, 37, 43;
    --bs-secondary: #f5ecdf;
    --bs-secondary-rgb: 245, 236, 223;
    --bs-border-radius: .75rem;
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-hover-color: #000;
    --bs-link-hover-color-rgb: 0, 0, 0;
}

.btn {
    --bs-btn-font-size: var(--bs-body-font-size);
    --bs-btn-font-weight: 500;
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-border-radius: var(--bs-border-radius-pill);
    --bs-btn-box-shadow: 0 0 0;
    --bs-btn-focus-box-shadow: 0 0 0;
}

.btn-sm {
    --bs-btn-font-size: 1rem;
}

.btn-link {
    --bs-btn-padding-x: 0;
    --bs-btn-padding-y: 0;
    --bs-link-hover-color: var(--bs-link-color);
    text-decoration: none;
}

.btn-link:focus,
.btn-link:hover {
    text-decoration: var(--bs-link-decoration);
}

.btn-primary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
}

.btn-secondary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}


.navbar {
    --bs-navbar-color: inherit;
    --bs-navbar-hover-color: inherit;
    --bs-navbar-active-color: inherit;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28245, 236, 223, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav {
    --bs-nav-link-color: inherit;
    --bs-nav-link-hover-color: inherit;
}

.nav-link:focus,
.nav-link:hover {
    text-decoration: underline;
}

.accordion {
    --bs-accordion-btn-bg: var(--bs-secondary);
    --bs-accordion-active-color: var(--bs-accordion-btn-color);
    --bs-accordion-active-bg: var(--bs-accordion-btn-bg);
    --bs-accordion-btn-focus-box-shadow: 0 0 0;
    --bs-accordion-inner-border-radius: 0;
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
}

.accordion-item {
    border-radius: var(--bs-accordion-border-radius);
    overflow: hidden;
}

.accordion-button {
    font-size: inherit;
    font-weight: var(--bs-btn-font-weight);
}

.toast {
    --bs-toast-max-width: calc(100vw - 3rem);
    --bs-toast-font-size: var(--bs-body-font-size);
    --bs-toast-bg: var(--bs-body-bg);
    width: 600px;
    max-width: var(--bs-toast-max-width);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--bs-heading-font-family);
}

.h1, h1 {
    font-size: calc(2rem + 1.5vw);
}
.h2, h2 {
    margin-bottom: 1rem;
    font-weight: 400;
}
.h2:has(~ .btn), h2:has(~ .btn) {
    margin-bottom: .5rem;
}
.h3, h3 {
    font-size: calc(1.2rem + .3vw)
}

@media (min-width: 1200px) {
    .h1, h1 {
        font-size: 3.5rem;
    }
    .h2, h2 {
        font-size: 2.125rem;
    }
    .h3, h3,
    .fs-lg {
        font-size: 1.5rem;
    }
}

.form-label {
    margin-bottom: .625rem;
}
.form-label.required::after {
    content: '\00a0*';
}
.form-control,
.form-select {
    padding: .75rem;
    border-color: #8f9295;
}
.form-control:focus,
.form-select:focus {
    border-color: #8f9295;
    box-shadow: 0 0 0 .25rem var(--bs-secondary);
}
.form-control::placeholder,
.form-select:invalid,
.form-select[required]:invalid option {
    color: #8f9295;
}
.form-select[required] optgroup,
.form-select[required] option:not([value=""]) {
    color: var(--bs-body-color);
}