.grid-container:has(.full-width-blue-background) {
    background: #081e3f;
    color:white;
    margin-top:2rem;
    margin-bottom:2rem;
    padding-bottom:2rem;
    padding-top:3rem;
    position: relative;
}

.grid-container:has(.full-width-blue-background):after {
    content: "";
    background-color: #081e3f;
    height: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    z-index: -1;
    top: 0;
}

.grid-container:has(.full-width-blue-background) figcaption {
    padding: 0.5rem;
}

.fiu-gold {
    color: #fc0 !important;
}

.grid-container:has(.no-margin-bottom) {
    margin-bottom:0 !important;
}

article {
    margin: 0 !important;
    overflow: hidden;
}
/* Typography */
#article-title {
    font-size: 2rem;
    line-height: 1.125;
}

@media (min-width: 641px) {
    #article-title {
        font-size: 2.5rem;
        line-height: 1.125;
    }
}
main > article .subhead {
    font-size: 1.25rem;
}
main > article > .grid-container p,
main > article > .grid-container li {
    font-size: 1.25rem;
}
main > article > .grid-container h2 {
    padding-top: 0;
    font-size: 2rem;
}
main > article > .grid-container * + h2 {
    margin-top: 2.5rem;    
}
/* Figures */
#main figure.image {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
@media (min-width: 1025px) {
    #main figure.image.wide {
        margin-left: -6.65rem;
        margin-right: -6.65rem;
    }
}
/* Media Left/Right */
@media (min-width: 87rem) {
    #main .media-right,
    #main .media-right.image {
        float: right;
        margin: 0.5rem -36% 2rem 2rem;
        max-width: 90%;
    }
    #main .media-left,
    #main .media-left.image {
        float: left;
        margin: 0.5rem 2rem 2rem -25%;
        max-width: 75%;
    } 
}