/* Colors */
.text-blue {
    color: #003366;
}
.bg-celeste {
    background-color: #d7edff
}
.bg-blue {
    background-color: #003366;
}
.bg-gradient-blue {
    background: linear-gradient(98.4deg, #003366 41.79%, #004D99 94%);
}

/* Header */
header h1, header .h1{
    font-size: 1.5rem;
}

/* Hero */
.section-hero .container {
    position: relative;
    z-index: 1 !important;
}
.section-hero h2 {
    font-size: 2.5rem;
    line-height: 3rem;
}
.section-hero p {
    font-size: 1.3rem;
}
.section-hero-image {
    position: relative !important;
    z-index: 1 !important;
}
.section-hero-image:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: linear-gradient(90deg, #003366 0%, rgba(0, 51, 102, 0.7) 100%);
    z-index: 1;
}
.section-hero-image > img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
@media (min-width: 992px) {
    .section-hero-image:before {
        background: linear-gradient(90deg, #003366 0%, #003366 50%, rgba(0, 51, 102, 0.8) 63%, rgba(0, 51, 102, .3) 100%);
    }
    .section-hero-image > img {
        width: 50%;
    }
}
/* Utility */
*:focus, *:focus-visible {
    /* inner indicator */
    outline: 2px #F9F9F9 solid !important;
    outline-offset: 0 !important;
    /* outer indicator */
    box-shadow: 0 0 0 4px #193146 !important;
}
.mw-72 {
    max-width: 72px;
}
.img-w-50 {
    width: 50%;
}
.right {
    right: 0;
}
.img-object {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.obj-right {
    object-position: right center;
}
.link-arrow::after {
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    vertical-align: -0.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\F138";
    margin-left: .375rem;
}
.no-underline {
    text-decoration: none;
}
a.no-underline:hover, button.no-underline:hover {
    text-decoration: underline;
}
.btn-outline-primary.bg-white:hover, .btn-outline-primary.bg-white:focus {
    background-color: var(--bs-btn-hover-bg) !important;
}


/* MODAL */
.modal-content {
    border-radius: 16px;
}
.modal-header, .modal-footer{
    border: 0;
    padding: 2rem 2rem 0;
}
.modal-footer {
    border: 0;
    padding: 0 2rem 2rem;
}
.modal-body {
    padding: 2rem;
}

/* CARD LEFT IMAGE */
.card-image {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 0;
    border-radius: 4px 4px 0 0;
}
.card-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.custom-object-fit img {
    visibility: hidden;
}
@media (min-width: 768px) {
    .modal-dialog {
        min-width: 600px;
    }
    .card-image-wrapper {
        flex-direction: row;
    }
    .card-image-wrapper .card-image {
        max-width: 50%;
        width: 100%;
        border-radius: 4px 0 0 4px;
    }
    .card-image-wrapper .card-image-right {
        order: 2;
        border-radius: 0 4px 4px 0;
    }
}
@media (min-width: 992px) {
    h2, .h2{
        font-size: 2.5rem;
        line-height: 3rem;
    }
    header h1, header .h1{
        font-size: 1.75rem;
    }
    main p {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .section-hero p {
        font-size: 1.5rem;
        line-height: 2.25rem;
    }
}

@media (min-width: 1200px) {
    header h1, header .h1{
        font-size: 2rem;
    }
}

