@import url('/styles/fa/css/all.min.css');

* {
    margin: 0;
    padding: 0;
    font-family: "Source Sans 3", sans-serif;
}

html {
    scroll-behavior: smooth;
}

:root {
    --primary: #272B49;
    --highlight: #309AE0;
    --highlight_hover: #0B77BF;
    --bg1: #CCE8F6;
    --bg2: #E5F6FE;
    --bg3: #FFFFFF;
    --bg_footer: #F5F5F7;
    --cta: #AB30BF;
    --cta_hover: #8D0FA2;
    --white: #FFFFFF;
    --green: #28a745;
    --light_blue: #E5F6FE;
    --black: #000000;
    --faq_color: #B0BDC3;
    --bg_form: #FFFFFF;
    --white40: #FFFFFF66;
    --white60: #FFFFFF99;
    --white95: #FFFFFFF2;
}

.bg-primary {
    background-color: var(--primary) !important;
}

.bg-bg1 {
    background-color: var(--bg1);
}

.bg-bg2 {
    background-color: var(--bg2);
}

.bg-bg3 {
    background-color: var(--bg3);
}

.bg-white {
    background-color: var(--white);
}

.bg-white40 {
    background-color: var(--white40);
}

.bg-white60 {
    background-color: var(--white60);
}

.bg-white95 {
    background-color: var(--white95);
}

.bg-footer {
    background-color: var(--bg_footer);
}

.border-highlight {
    border-color: var(--highlight);
}

.text-primary {
    color: var(--primary) !important;
}

.text-white {
    color: var(--white);
}

.text-green {
    color: var(--green);
}

.text-black {
    color: var(--black);
}

.text-highlight {
    color: var(--highlight);
}

.bottom-aligned {
    margin-top: auto;
}

.flex-container {
  display: flex;
  flex-direction: column;
  height: 100%;   
}

.underline {
    display: inline-block;
    position: relative;
    white-space: nowrap;
}

.underline-1 {
    position: relative;
}

.underline-1 img {
    position: absolute;
    right: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    bottom: -8px;
}

span.underline-1.break-on-tab {
    max-width: fit-content;
}

.underline::after {
    content: "";
    width: 100%;
    max-width: 6em;
    height: 0.3em;
    position: absolute;
    background-image: url('/assets/images/contextual/underline-1.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: -0.1em;
    left: 0px;
}

.round {
    border-radius: 5px;
}

.CTA-Btn {
    padding: 13px 25px;
    background-color: var(--cta);
    color: var(--white);
    border-radius: 5px;
    border: 0;
    font-weight: 600;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.CTA-Btn:hover {
    background-color: var(--cta_hover);
    transform: scale(1.03);
}

.section {
    padding-top: 100px;
    padding-bottom: 120px;
}

h1 {
    font-size: 70px;
    line-height: 85px;
    font-weight: bold;
}

h2 {
    font-size: 40px;
    font-weight: bold;
}

h3 {
    font-size: 30px;
    font-weight: bold;
}

p {
    font-size: 18px;
    margin-bottom: 16px;
}

.border-bottom {
    border-bottom: 1px solid var(--highlight) !important;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.w-100 {
    width: 100%;
}

.w-95 {
    width: 90%;
}

.cursor-pointer {
    cursor: pointer;
}

.overflow-hidden {
    overflow: hidden;
}

.fw-lighter {
    font-weight: lighter;
}

.fw-normal {
    font-weight: normal;
}

.fw-bold {
    font-weight: bold;
}

.fs-5 {
    font-size: 18px;
}

.text-decoration-underline {
    text-decoration: underline;
}

.visually-hidden {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Position Utilities */
.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

/* Margin Utilities */
.m-0 {
    margin: 0px;
}

.m-1 {
    margin: 4px;
}

.m-2 {
    margin: 8px;
}

.m-3 {
    margin: 16px;
}

.m-4 {
    margin: 24px;
}

.m-5 {
    margin: 48px;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.m-auto {
    margin: auto;
}

/* Margin - Top, Bottom, Start (Left), End (Right) */
.mt-0 {
    margin-top: 0px;
}

.mb-0 {
    margin-bottom: 0px;
}

.ms-0 {
    margin-left: 0px;
}

.me-0 {
    margin-right: 0px;
}

.mt-1 {
    margin-top: 4px;
}

.mb-1 {
    margin-bottom: 4px;
}

.ms-1 {
    margin-left: 4px;
}

.me-1 {
    margin-right: 4px;
}

.mt-2 {
    margin-top: 8px;
}

.mb-2 {
    margin-bottom: 8px;
}

.ms-2 {
    margin-left: 8px;
}

.me-2 {
    margin-right: 8px;
}

.mt-3 {
    margin-top: 16px;
}

.mb-3 {
    margin-bottom: 16px;
}

.ms-3 {
    margin-left: 16px;
}

.me-3 {
    margin-right: 16px;
}

.mt-4 {
    margin-top: 24px;
}

.mb-4 {
    margin-bottom: 24px;
}

.ms-4 {
    margin-left: 24px;
}

.me-4 {
    margin-right: 24px;
}

.mt-5 {
    margin-top: 48px;
}

.mb-5 {
    margin-bottom: 48px;
}

.ms-5 {
    margin-left: 48px;
}

.me-5 {
    margin-right: 48px;
}

/* Margin - Horizontal (Left and Right), Vertical (Top and Bottom) */
.mx-0 {
    margin-left: 0px;
    margin-right: 0px;
}

.my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
}

.mx-1 {
    margin-left: 4px;
    margin-right: 4px;
}

.my-1 {
    margin-top: 4px;
    margin-bottom: 4px;
}

.mx-2 {
    margin-left: 8px;
    margin-right: 8px;
}

.my-2 {
    margin-top: 8px;
    margin-bottom: 8px;
}

.mx-3 {
    margin-left: 16px;
    margin-right: 16px;
}

.my-3 {
    margin-top: 16px;
    margin-bottom: 16px;
}

.mx-4 {
    margin-left: 24px;
    margin-right: 24px;
}

.my-4 {
    margin-top: 24px;
    margin-bottom: 24px;
}

.mx-5 {
    margin-left: 48px;
    margin-right: 48px;
}

.my-5 {
    margin-top: 48px;
    margin-bottom: 48px;
}

/* Padding Utilities */
.p-0 {
    padding: 0px;
}

.p-1 {
    padding: 4px;
}

.p-2 {
    padding: 8px;
}

.p-3 {
    padding: 16px;
}

.p-4 {
    padding: 24px;
}

.p-5 {
    padding: 48px;
}

/* Padding - Top, Bottom, Start (Left), End (Right) */
.pt-0 {
    padding-top: 0px;
}

.pb-0 {
    padding-bottom: 0px;
}

.ps-0 {
    padding-left: 0px;
}

.pe-0 {
    padding-right: 0px;
}

.pt-1 {
    padding-top: 4px;
}

.pb-1 {
    padding-bottom: 4px;
}

.ps-1 {
    padding-left: 4px;
}

.pe-1 {
    padding-right: 4px;
}

.pt-2 {
    padding-top: 8px;
}

.pb-2 {
    padding-bottom: 8px;
}

.ps-2 {
    padding-left: 8px;
}

.pe-2 {
    padding-right: 8px;
}

.pt-3 {
    padding-top: 16px;
}

.pb-3 {
    padding-bottom: 16px;
}

.ps-3 {
    padding-left: 16px;
}

.pe-3 {
    padding-right: 16px;
}

.pt-4 {
    padding-top: 24px;
}

.pb-4 {
    padding-bottom: 24px;
}

.ps-4 {
    padding-left: 24px;
}

.pe-4 {
    padding-right: 24px;
}

.pt-5 {
    padding-top: 48px;
}

.pb-5 {
    padding-bottom: 48px;
}

.ps-5 {
    padding-left: 48px;
}

.pe-5 {
    padding-right: 48px;
}

/* Padding - Horizontal (Left and Right), Vertical (Top and Bottom) */
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}

.py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
}

.px-1 {
    padding-left: 4px;
    padding-right: 4px;
}

.py-1 {
    padding-top: 4px;
    padding-bottom: 4px;
}

.px-2 {
    padding-left: 8px;
    padding-right: 8px;
}

.py-2 {
    padding-top: 8px;
    padding-bottom: 8px;
}

.px-3 {
    padding-left: 16px;
    padding-right: 16px;
}

.py-3 {
    padding-top: 16px;
    padding-bottom: 16px;
}

.px-4 {
    padding-left: 24px;
    padding-right: 24px;
}

.py-4 {
    padding-top: 24px;
    padding-bottom: 24px;
}

.px-5 {
    padding-left: 48px;
    padding-right: 48px;
}

.py-5 {
    padding-top: 48px;
    padding-bottom: 48px;
}


/* Flex Utilities */
.gap-0 {
    gap: 0px;
}

.gap-1 {
    gap: 4px;
}

.gap-2 {
    gap: 8px;
}

.gap-3 {
    gap: 12px;
}

.gap-4 {
    gap: 16px;
}

.gap-5 {
    gap: 20px;
}

.gap-6 {
    gap: 24px;
}

.gap-7 {
    gap: 28px;
}

.gap-8 {
    gap: 32px;
}

.gap-9 {
    gap: 36px;
}

.gap-10 {
    gap: 40px;
}

.gap-11 {
    gap: 44px;
}

.gap-12 {
    gap: 48px;
}

.gap-13 {
    gap: 52px;
}

.gap-14 {
    gap: 56px;
}

.gap-15 {
    gap: 60px;
}

.d-flex {
    display: flex;
}

.d-grid {
    display: grid;
}

.flex-column {
    flex-direction: column;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-evenly {
    justify-content: space-evenly;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-center {
    align-items: center;
}

.gap-3 {
    gap: 16px;
}

.text-uppercase {
    text-transform: uppercase;
}

.fw-semibold {
    font-weight: 700;
}

.text-start {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-end {
    text-align: right;
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

/* Extra small devices (up to 576px) */
@media (max-width: 576px) {
    .container {
        max-width: 100%;
    }
}

/* Small devices (576px and up) */
@media (min-width: 576px) {
    .container {
        max-width: 575px;
    }

    .ms-sm-3 {
        margin-left: 16px;
    }

    .ms-sm-4 {
        margin-left: 24px;
    }

    .text-sm-start {
        text-align: left;
    }

    .text-sm-center {
        text-align: center;
    }

    .text-sm-end {
        text-align: right;
    }

    .d-sm-flex {
        display: flex;
    }

    .d-sm-none {
        display: none;
    }

    .d-sm-inline-block {
        display: inline-block;
    }

    .flex-row {
        flex-direction: row;
    }

    .flex-column {
        flex-direction: column;
    }

    .flex-row-reverse {
        flex-direction: row-reverse;
    }

    .flex-column-reverse {
        flex-direction: column-reverse;
    }

    .justify-content-sm-start {
        justify-content: flex-start;
    }

    .justify-content-sm-end {
        justify-content: flex-end;
    }

    .justify-content-sm-center {
        justify-content: center;
    }

    .justify-content-sm-between {
        justify-content: space-between;
    }

    .justify-content-sm-around {
        justify-content: space-around;
    }

    .justify-content-sm-evenly {
        justify-content: space-evenly;
    }

    .flex-sm-row {
        flex-direction: row;
    }

    .flex-sm-column {
        flex-direction: column;
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse;
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse;
    }

    .d-sm-none {
        display: none;
    }

    .d-sm-block {
        display: block;
    }
}

/* Medium devices (768px and up) */
@media (min-width: 768px) {
    .container {
        max-width: 770px;
    }

    .mt-md-4 {
        margin-top: 24px;
    }

    .mx-md-0 {
        margin-right: 0;
        margin-left: 0;
    }

    .text-md-start {
        text-align: left;
    }

    .text-md-center {
        text-align: center;
    }

    .text-md-end {
        text-align: right;
    }

    .d-md-flex {
        display: flex;
    }

    .flex-md-row {
        flex-direction: row;
    }

    .flex-md-row {
        flex-direction: row;
    }

    .flex-md-column {
        flex-direction: column;
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse;
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse;
    }

    .justify-content-md-start {
        justify-content: flex-start;
    }

    .justify-content-md-end {
        justify-content: flex-end;
    }

    .justify-content-md-center {
        justify-content: center;
    }

    .justify-content-md-between {
        justify-content: space-between;
    }

    .justify-content-md-around {
        justify-content: space-around;
    }

    .justify-content-md-evenly {
        justify-content: space-evenly;
    }

    .d-md-none {
        display: none;
    }

    .d-md-block {
        display: block;
    }
}

/* Large devices (992px and up) */
@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }

    .my-sm-2 {
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .d-lg-flex {
        display: flex;
    }

    .d-lg-inline-block {
        display: inline-block;
    }

    .text-lg-start {
        text-align: left;
    }

    .text-lg-center {
        text-align: center;
    }

    .text-lg-end {
        text-align: right;
    }

    .flex-lg-row {
        flex-direction: row;
    }

    .flex-lg-column {
        flex-direction: column;
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse;
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse;
    }

    .justify-content-lg-start {
        justify-content: flex-start;
    }

    .justify-content-lg-end {
        justify-content: flex-end;
    }

    .justify-content-lg-center {
        justify-content: center;
    }

    .justify-content-lg-between {
        justify-content: space-between;
    }

    .justify-content-lg-around {
        justify-content: space-around;
    }

    .justify-content-lg-evenly {
        justify-content: space-evenly;
    }

    .d-lg-none {
        display: none;
    }

    .d-lg-block {
        display: block;
    }
}

/* Extra large devices (1200px and up) */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* Extra extra large devices (1400px and up) */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

@media screen and (max-width: 991px) {
    h2 {
        font-size: 36px;
    }

    p {
        font-size: 16px;
    }

    h3 {
        font-size: 24px;
    }

    .section {
        padding-top: 70px;
        padding-bottom: 90px;
    }
}

@media screen and (max-width: 767px) {
    .section {
        padding-top: 40px;
        padding-bottom: 60px;
    }

    .CTA-Btn {
        padding: 12px 22px;
        font-size: 16px;
    }

    .CTA-Btn:hover {
        transform: scale(1.02);
    }
}

@media screen and (max-width: 576px) {
    .CTA-Btn {
        padding: 10px 19px;
        font-size: 15px;
    }
}