.banner
{
    position: relative;
    min-height: 586px;
    display: flex;
    align-items: center;
    color: white;
}

.banner-txt
{
    margin-inline: 5%;
    font-family: var(--font-roboto);
    font-size: 1.12rem;
    font-weight: 400;
    width: 100%;
}

.banner-txt p
{
    width: 80%;
}

.banner-txt h2
{
    font-weight: 900;
    font-size: 3.5rem;
    font-family: var(--font-arial);
    text-transform: uppercase;
    margin: 0;
    line-height: 1.1em;
}

.banner.text-constrained p
{
    width: 40%;
}

.banner-bg
{
    background-color: #0374AC;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    height: 100%;
}

.banner video,
.banner img 
{
    max-height: 586px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.49;
    /* object-position: top; */
}

.banner.half-height
{
    min-height: 333px;
}

@media screen and (max-width: 50rem)
{
    .banner
    {
        flex-direction: column;
    }

    .banner-bg
    {
        position: relative;
    }

    .banner.text-constrained p
    {
        width: 100%;
    }

    .banner-txt
    {
        background-color: #0374AC;
        margin-inline: unset;
        padding: 5%;
    }
}