:root {
    --app-base-padding: 0.5rem;
}

a {
    text-decoration: none;
}

strong {
    font-weight: 900;
}

.form-group {
    position: relative;
}

.area-char-count {
    position: absolute;
    right: 0;
    bottom: -0.25rem;
    transform: translateY(100%);
    color: var(--app-mid-gray);
    font-size: 1.125rem;
    font-weight: 400;
}

.form-group.has-error .area-char-count {
    transform: unset;
    bottom: 0;
}

.char-count-max::before {
    content: "/";
    display: inline-block;
    margin: 0 0.25rem;
}

.text-xxs {
    font-size: 0.75rem !important;
}

.text-xs {
    font-size: 0.875rem !important;
}

.text-2xs {
    font-size: 0.8125rem !important;
}

.text-3xs {
    font-size: 0.75rem !important;
}

.text-4xs {
    font-size: 0.625rem !important;
}

.text-sm {
    font-size: 0.9375rem !important;
}
.text-md {
    font-size: 1.0625rem !important;
}
.text-base {
    font-size: 1rem !important;
}

.text-lg {
    font-size: 1.125rem !important;
}

.text-2lg {
    font-size: 1.25rem !important;
}

.text-xl {
    font-size: 1.375rem !important;
}

.text-2xl {
    font-size: 1.5rem !important;
}

.text-2\.5xl {
    font-size: 1.625rem !important;
}
.text-2\.65xl {
    font-size: 1.6875rem;
}
.text-2\.75xl {
    font-size: 1.825rem !important;
}

.text-3xl {
    font-size: 2rem !important;
}
.text-3\.25xl {
    font-size: 2.25rem;
}
.text-3\.5xl {
    font-size: 2.375rem;
  }
.text-4xl {
    font-size: 2.5rem !important;
}

.text-5xl {
    font-size: 2.75rem !important;
}

.text-6xl {
    font-size: 3rem !important;
}

.text-7xl {
    font-size: 3.25rem !important;
}

.text-8xl {
    font-size: 3.5rem !important;
}
.text-9xl {
    font-size: 3.75rem !important;
}

@media (min-width: 768px) {
    .border-md-start {
        border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
    .text-md-xxs {
        font-size: 0.75rem !important;
    }
    .text-md-xs {
        font-size: 0.875rem !important;
    }
    .text-md-2xs {
        font-size: 0.8125rem !important;
    }
    .text-md-3xs {
        font-size: 0.75rem !important;
    }
    .text-md-4xs {
        font-size: 0.625rem !important;
    }
    .text-md-sm {
        font-size: 0.9375rem !important;
    }
    .text-md-md {
        font-size: 1.0625rem !important;
    }
    .text-md-base {
        font-size: 1rem !important;
    }
    .text-md-lg {
        font-size: 1.125rem !important;
    }
    .text-md-1lg {
        font-size: 1.1875rem !important;
    }
    .text-md-2lg {
        font-size: 1.25rem !important;
    }
    .text-md-xl {
        font-size: 1.375rem !important;
    }
    .text-md-2xl {
        font-size: 1.5rem !important;
    }
    .text-md-2\.5xl {
        font-size: 1.625rem !important;
    }
    .text-md-2\.75xl {
        font-size: 1.825rem !important;
    }
    .text-md-3xl {
        font-size: 2rem !important;
    }
    .text-md-3\.25xl {
        font-size: 2.25rem !important;
    }
    .text-md-3\.5xl {
        font-size: 2.375rem !important;
    }
    .text-md-4xl {
        font-size: 2.5rem !important;
    }
    .text-md-5xl {
        font-size: 2.75rem !important;
    }
    .text-md-6xl {
        font-size: 3rem !important;
    }
    .text-md-6\.5xl {
        font-size: 3.125rem !important;
    }
    .text-md-7xl {
        font-size: 3.25rem !important;
    }
    .text-md-8xl {
        font-size: 3.5rem !important;
    }
    .text-md-9xl {
        font-size: 3.75rem !important;
    }
    .lh-md-1 {
        line-height: 1 !important
    }
    .lh-md-sm {
        line-height: 1.25 !important
    }
    .lh-md-base {
        line-height: 1.5 !important
    }
    .lh-md-md {
        line-height: 1.75 !important;
    }
    .lh-md-lg {
        line-height: 2 !important
    }
}
.mb-n1 {
    margin-bottom: -0.25rem;
}

.mb-n2 {
    margin-bottom: -0.5rem;
}

.mb-n3 {
    margin-bottom: -1rem;
}

.mb-n4 {
    margin-bottom: -1.5rem;
}

.mb-n5 {
    margin-bottom: -3rem;
}

.mt-n1 {
    margin-top: -0.25rem;
}

.mt-n2 {
    margin-top: -0.5rem;
}

.mt-n3 {
    margin-top: -1rem;
}

.mt-n4 {
    margin-top: -1.5rem;
}
.me-n5 {
    margin-right: -3rem;
}
.ms-n5 {
    margin-left: -3rem;
}
.mt-n5 {
    margin-top: -3rem;
}

.me-6 {
    margin-right: 3.5rem;
}

.me-7 {
    margin-right: 4rem;
}

.me-8 {
    margin-right: 4.5rem;
}

.me-9 {
    margin-right: 5rem;
}

.ms-6 {
    margin-left: 3.5rem;
}

.ms-7 {
    margin-left: 4rem;
}

.ms-8 {
    margin-left: 4.5rem;
}

.ms-9 {
    margin-left: 5rem;
}

.mt-6 {
    margin-top: 3.5rem;
}

.mt-7 {
    margin-top: 4rem;
}

.mt-8 {
    margin-top: 4.5rem;
}

.mt-9 {
    margin-top: 5rem;
}

.mb-6 {
    margin-bottom: 3.5rem;
}

.mb-7 {
    margin-bottom: 4rem;
}

.mb-8 {
    margin-bottom: 4.5rem;
}

.mb-9 {
    margin-bottom: 5rem;
}

.px-6 {
    padding-right: 3.5rem;
    padding-left: 3.5rem;
}

.px-7 {
    padding-right: 4rem;
    padding-left: 4rem;
}

.px-8 {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
}

.px-9 {
    padding-right: 5rem;
    padding-left: 5rem;
}

.mx-6 {
    margin-right: 3.5rem;
    margin-left: 3.5rem;
}

.mx-7 {
    margin-right: 4rem;
    margin-left: 4rem;
}

.mx-8 {
    margin-right: 4.5rem;
    margin-left: 4.5rem;
}

.mx-9 {
    margin-right: 5rem;
    margin-left: 5rem;
}

.px-2rem {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-2rem {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.my-2rem {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.ml-2rem {
    margin-left: 2rem;
}

.mr-2rem {
    margin-right: 2rem;
}

.me-2rem {
    margin-right: 2rem;
    margin-left: 2rem;
}

.mb-2rem {
    margin-bottom: 2rem !important;
}

.mt-2rem {
    margin-top: 2rem;
}

.p-2rem {
    padding: 2rem !important;
}

.pb-2rem {
    padding-bottom: 2rem !important;
}

.mb-4x {
    margin-bottom: calc(var(--app-base-padding) * 4) !important;
}

.mb-5x {
    margin-bottom: calc(var(--app-base-padding) * 5) !important;
}

.mb-6x {
    margin-bottom: calc(var(--app-base-padding) * 6);
}

.mb-7x {
    margin-bottom: calc(var(--app-base-padding) * 7);
}

.mb-8x {
    margin-bottom: calc(var(--app-base-padding) * 8);
}

.mb-9x {
    margin-bottom: calc(var(--app-base-padding) * 9);
}

.mb-10x {
    margin-bottom: calc(var(--app-base-padding) * 10);
}

.pb-4x {
    padding-bottom: calc(var(--app-base-padding) * 4) !important;
}

.pb-5x {
    padding-bottom: calc(var(--app-base-padding) * 5) !important;
}

.pb-6x {
    padding-bottom: calc(var(--app-base-padding) * 6);
}

.pb-7x {
    padding-bottom: calc(var(--app-base-padding) * 7);
}

.pb-8x {
    padding-bottom: calc(var(--app-base-padding) * 8);
}

.pb-9x {
    padding-bottom: calc(var(--app-base-padding) * 9);
}

.pb-10x {
    padding-bottom: calc(var(--app-base-padding) * 10);
}

.px-4x {
    padding-left: calc(var(--app-base-padding) * 4);
    padding-right: calc(var(--app-base-padding) * 4);
}

.px-5x {
    padding-left: calc(var(--app-base-padding) * 5) !important;
    padding-right: calc(var(--app-base-padding) * 5) !important;
}

.px-6x {
    padding-left: calc(var(--app-base-padding) * 6);
    padding-right: calc(var(--app-base-padding) * 6);
}

.px-7x {
    padding-left: calc(var(--app-base-padding) * 7);
    padding-right: calc(var(--app-base-padding) * 7);
}

.px-8x {
    padding-left: calc(var(--app-base-padding) * 8);
    padding-right: calc(var(--app-base-padding) * 8);
}

.px-9x {
    padding-left: calc(var(--app-base-padding) * 9);
    padding-right: calc(var(--app-base-padding) * 9);
}

.px-10x {
    padding-left: calc(var(--app-base-padding) * 10);
    padding-right: calc(var(--app-base-padding) * 10);
}

.flex-1 {
    flex: 1;
}

.cursor-pointer {
    cursor: pointer;
}

@media (min-width: 576px) {
    .pt-sm-2rem {
        padding-top: 2rem !important;
    }
}

@media (min-width: 992px) {
    .w-lg-auto {
        width: auto !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .mt-lg-2rem {
        margin-top: 2rem;
    }

    .me-lg-2rem {
        margin-right: 2rem;
    }

    .px-lg-6 {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
    }

    .me-lg-6 {
        margin-right: 3.5rem;
    }

    .me-lg-7 {
        margin-right: 4rem;
    }

    .me-lg-8 {
        margin-right: 4.5rem;
    }

    .me-lg-9 {
        margin-right: 5rem;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap;
    }
}

@media (min-width: 1200px) {
    .w-xl-50 {
        width: 50% !important;
    }
}

@media (min-width: 1400px) {
    .w-xxl-50 {
        width: 50% !important;
    }

    .w-xxl-auto {
        width: auto !important;
    }
}

@media (min-width: 1600px) {
    .order-xxxl-last {
        order: 13;
    }
}

@media (min-width: 1800px) {
    .d-hdp-block {
        display: block !important;
    }
}

@media (min-width: 768px) {
    .whitespace-md-nowrap {
        white-space: nowrap;

    }
}

.icon-wrapper {
    --base-length: 3.75rem;
    --base-font-size: 1.25rem;
    width: var(--base-length);
    height: var(--base-length);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--app-lighter-gray);
}

.icon-wrapper i {
    font-size: var(--base-font-size);
    color: var(--app-mid-gray);
    line-height: 1;
}

.icon-wrapper.sm {
    --base-length: 2.8125rem;
    --base-font-size: 1rem;
}

.icon-wrapper.lg {
    --base-length: 4.6875rem;
    --base-font-size: 1.5rem;
}

.form-group-inline {
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
}

.form-group-inline .form-label {
    margin-right: 1rem;
    margin-bottom: 0 !important;
}

.form-group-inline>div,
.form-group-inline>input,
.form-group-inline>select,
.form-group-inline>textarea {
    flex-grow: 1;
}