.flex-content.banner {
    position: relative;
    padding: 13rem 0 2.5rem 0;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.flex-content.banner:has([data-theme="dark"]) {
    background-color: var(--bs-primary);
}
.flex-content.banner:has([data-theme="dark"])::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background-image: linear-gradient(45deg, rgba(var(--bs-primary-rgb),.8) 0%, rgba(var(--bs-primary-rgb),1) 100%);
}
.flex-content.banner:has([data-theme="dark"]):has([data-bg="true"])::after {
    background-image: linear-gradient(to right, rgba(10,22,40,.95), rgba(10,22,40,.8), rgba(10,22,40,.6));
}

.main-body:has(.flex-content.intro) .flex-content.banner:has([data-theme="dark"]) {
    background: linear-gradient(90deg,rgba(0, 48, 107, 1) 50%, rgba(11, 65, 121, 1) 100%);
}
.main-body:has(.flex-content.intro) .flex-content.banner:has([data-theme="dark"])::after {
    display: none;
}

.flex-content.banner:has([data-theme="light"]) {
    background-color: var(--bs-light);
}

.flex-content.banner .bg {
    z-index: 1;
}
.flex-content.banner .container {
    position: relative;
    z-index: 3;
}

.flex-content.banner .main-title {
    line-height: 1;
}


.flex-content.banner:has([data-theme="dark"]) .text {
    /* color: color-mix(in srgb, var(--bs-white) 50%, transparent); */
    color: #fffc;
    max-width: 45rem;
}

.flex-content.banner .ctas {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem;
}




.flex-content.banner:has([data-theme="dark"]) .badge {
    --modified-bg: color-mix(in srgb, var(--secondary-blue) 10%, transparent);
    --modified-border: color-mix(in srgb, var(--secondary-blue) 25%, transparent);
    background-color: var(--modified-bg);
    border: solid 1px var(--modified-border);
    color: var(--secondary-blue);
}
.flex-content.banner:has([data-theme="dark"]) .badge svg {
    width: 1rem;
    height: 1rem;
}






.flex-content.general-text {
    background-color: var(--bs-light);
    padding-top: 13rem;
    padding-bottom: 5rem;
}
.flex-content.banner + .flex-content.general-text {
    padding-top: 0;
}

.flex-content.general-text .text-white {
    color: var(--secondary-blue) !important;
}
.flex-content.general-text h1,
.flex-content.general-text .h1 {
    font-size: calc(1.375rem + 1.5vw);
    margin-bottom: 2rem;
}
.flex-content.general-text h2,
.flex-content.general-text .h2 {
    font-size: calc(1rem + .9vw);
}
.flex-content.general-text .text-center {
    text-align: left !important;
}
.flex-content.general-text li.d-flex {
    display: list-item !important;
}