html, body, a, ul, ol, li, p, h1, h2, h3, h4, h5, h6 {
    font-family: "IBM Plex Sans", sans-serif !important;
    scroll-behavior: smooth;
}
a {
    color: #054ADA;
}
a:hover {
    color: #f80;
}
.text-dark[href]:hover {
    color: #f80 !important;
}

.text-primary {
    color: #054ADA !important;
}

.accordion-button:not(.collapsed) {
    color: #054ADA !important;
}

main p, main ul, main ol, main li {
    font-size: 1.2rem;
    color: rgb(51, 51, 51) !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255, .85) !important;
}
.navbar-dark .navbar-nav .masked-telephone {
    color: #fff !important;
}

article p, article ul, article ol, article li {
    line-height: 2rem;
}

.form-label {
    font-size: 1.1rem !important;
}

.highlights p {
    line-height: 1.5rem !important;
    font-size: 1rem;
}

footer ul, footer ol, footer li {
    line-height: 1.1rem !important;
    font-size: 1rem !important;

}
footer ul.list-unstyled li {
    padding: 2px 0 !important;
}

footer ul, footer ol, footer li, footer a {
    line-height: 1.6rem !important;
    font-size: 0.9rem !important;
}

p, ul, ol {
    margin-bottom: 0.9rem !important;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    scroll-margin-top: 100px;
}

h2 {
    font-size: 1.8rem;
}

h3 {
    font-size: 1.4rem;
}

h4 {
    font-size: 1.3rem;
}

h5 {
    font-size: 1.3rem;
}

h6 {
    font-size: 1.3rem;
}

h3.popover-header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: #ff8800;
    color: #fff;
}

.btn-orange {
    background-color: #ff8800;
    color: #000;
}

.btn-orange:hover {
    background-color: #ff6a00;
    color: #fff;

}

.btn-primary {
    background-color: #0050B3;
    border-color: #0050B3;
}
.btn-warning {
    background-color: #B34700;
    border-color: #B34700;
}

.popover-body h6 {
    margin-top: 0 !important;
    font-size: 1.2rem !important;
}

.popover-body p, .popover-body ul li, .popover-body ol li {
    font-size: 1.1rem !important;
}

.popover-body ul, .popover-body ol {
    padding-left: 1rem !important;
}

button span, button i, a span, a i {
    pointer-events: none;
}



.masked-email:after {
    content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}

/*.masked-telephone:after {
    content: attr(data-telephone);
}*/

.mt-lg-n12 {
    margin-top: -5.5rem !important;
}

.content-space-0-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.navbar-brand-logo {
    width: 100%;
    min-width: 12rem !important;
    max-width: 12rem !important;
}

nav a {
    font-size: 1.2rem !important;
    /*color: #677788 !important;*/
}


@media (min-width: 992px) {
    .content-space-lg-6 {
        padding-top: 16rem !important;
        padding-bottom: 16rem !important;
    }
}

.card-body.disabled, .card-body.disabled h5, .card-body.disabled p {
    color: #ccc !important;
}

.step-content.disabled h4.step-title, .step-content.disabled p {
    color: #ccc !important;
}

.card-body p.available {
    color: #108737 !important;
}

.card-body.selected {
    background-color: #377dff !important;
    border: 1px solid #377dff !important;
}

.card-body.selected, .card-body.selected h5, .card-body.selected p {
    color: #fff !important;
}

#page-loader {
    display: none;
    opacity: .5;
    background-color: #ffffff;
    z-index: 1000;
    width: 100%;
    height: 100%;
    position: fixed; /* or absolute */
}

#page-loader .spinner-border {
    position: fixed; /* or absolute */
    top: 50%;
    left: 50%;
}

.cursor-pointer {
    cursor: pointer;
}

.select-calendar-date:hover {
    background-color: rgb(203, 255, 235);
}

.select-calendar-date.selected {
    background-color: rgb(203, 255, 235);
}

.calendar-cell span {
    font-size: 0.8rem;
    top: 2px;
    left: 2px;
    position: absolute;
}

.calendar-cell div.today {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
    background-color: #fb7600;
    top: 6px;
    right: 6px;
    position: absolute;
    z-index: 100;
}

.select-calendar-date i {
    font-size: 1.6rem;
    color: #00ab8e;
}

.btn.btn-icon.btn-xs, .btn-group-xs > .btn.btn-icon {
    height: calc(1.5em + 0.4rem);
    width: calc(1.5em + 0.4rem);
    font-size: 0.925rem;
}

.card-img, .card-img-left {
    border-top-left-radius: .4375rem;
    border-bottom-left-radius: .4375rem;
}

.card-img, .card-img-right {
    border-top-right-radius: .4375rem;
    border-bottom-right-radius: .4375rem;
}

.object-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.active .page-link {
    color: #ffffff !important;
}

.ibm-plex-sans-thin {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.ibm-plex-sans-extralight {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 200;
    font-style: normal;
}

.ibm-plex-sans-light {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.ibm-plex-sans-regular {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.ibm-plex-sans-medium {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.ibm-plex-sans-semibold {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.ibm-plex-sans-bold {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.ibm-plex-sans-thin-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.ibm-plex-sans-extralight-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 200;
    font-style: italic;
}

.ibm-plex-sans-light-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.ibm-plex-sans-regular-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.ibm-plex-sans-medium-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.ibm-plex-sans-semibold-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 600;
    font-style: italic;
}

.ibm-plex-sans-bold-italic {
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 700;
    font-style: italic;
}
.popover {
    max-width: none !important; /* Allow wider popovers */
    width: 400px !important; /* Set the desired width */
}

.alert-black {
    background-color: #0b0e18 !important;
    color: #ffffff !important;
}

.alert-black a {
    color: #a4c7ff;
}

#cookies-settings {
    position: fixed;
    bottom: 10px;
    left: 10px;
    cursor: pointer;
}

/* Default styling for larger screens */
.with-separator {
    list-style-type: none; /* Removes bullets on larger screens */
    padding: 0;
    margin: 0;
}

.with-separator .list-inline-item:not(:last-child)::after {
    content: "|";            /* Separator content */
    margin: 0 2px;           /* Space on either side of separator */
    color: #333;             /* Color of the separator */
}

.accordion-button:not(.collapsed) h3, .accordion-button:not(.collapsed) {
    font-size: 1.6rem !important;
    color: #054ADA;
}

.accordion-button h3:hover {
    color: #f80;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    /* ...and now for the proper property */
    transition:.5s;
}

.accordion-item:has(.accordion-button:not(.collapsed)) {
    /* Styles to apply when .accordion-button does NOT have the .collapsed class */
    background-color: #f0f8ff; /* Example background color */
    border-left: 3px solid #054ADA; /* Example border to highlight active accordion */
    padding: 10px 36px 0 36px;
}

.accordion-item:has(.accordion-button:not(.collapsed)) a {
    /* Styles to apply when .accordion-button does NOT have the .collapsed class */
    background: none; /* Example background color */
}

.step .step-item:last-child {
    margin-bottom: 0;
}
.step .step-item:last-child .step-icon::after {
    border-left: none;
}

/* Mobile styling */
@media (max-width: 1024px) {
    .with-separator {
        list-style-type: disc; /* Adds bullet points on smaller screens */
        padding-left: 20px;    /* Adds padding to align bullets */
    }

    .with-separator .list-inline-item:not(:last-child)::after {
        content: "";           /* Removes separator on smaller screens */
    }

    .with-separator .list-inline-item {
        display: list-item;    /* Restores default list item behavior to show bullets */
    }

    .accordion-lg .accordion-button {
        padding-top: 1.2rem;
        padding-bottom: 0.9rem;
    }

    .accordion-button:not(.collapsed) h3, .accordion-button:not(.collapsed) {
        font-size: 1.3rem !important;
    }

    .accordion-item:has(.accordion-button:not(.collapsed)) {
        padding: 0 20px 0 14px;
    }
    .step .step-item {
        margin-bottom: 1rem;
    }
    .step .step-item .step-icon {
        width: 2rem;
        height: 2rem;
        font-size: 0.9rem;
    }
    .step .step-item .step-icon::after {
        left: 0.9rem;
    }
    .accordion-body {
        padding-bottom: 1rem !important;
    }
}

.form-control, .input-group-merge, .form-select {
    border-color: #a6a6a6;
}