/* Utility Classes */
 .uppercase {
     text-transform: uppercase;
}
/* Landing page tweaks */
 .columns.logo-tools-wrapper {
     height: 0 !important;
}
 a.header-logo {
     display: none;
}
 .logo-tools-wrapper .tools {
     position: absolute !important;
     top: 2.4rem !important;
     z-index: 1;
     right: 4rem;
}
 body>header .logo-tools .tools #search *, body>header .logo-tools .tools #search:hover * {
     color: white !important;
}
/* Header */
.header-contents .subscribe-row {
    color: #fff;
}
 /* Keep anchor jumps and scrollIntoView() clear of the fixed header (~50px once scrolled). */
 html {
     scroll-padding-top: 5rem;
}
 #site-header {
     position: fixed;
     z-index: 1;
     top: 0;
     left: 0;
     width: 100%;
     padding: 2rem 1rem 0 1rem;
}
 #site-header h1 {
     margin: 0;
     line-height: 0;
}
 #site-header .container {
     margin: 0 auto;
     padding-left: .9375rem;
     padding-right: .9375rem;
     max-width: var(--row-max-width);
}
 #site-header h1 a {
     display: inline-block;
}
 #site-header .button {
     margin: 0;
     border: 2px solid #ffffff;
     color: #ffffff !important;
     padding: 7px 16px;
     margin-left: 1rem;
}
 #site-header .header-contents {
     display: flex;
     justify-content: space-between;
     align-items: center;
}
 #site-header.scrolled {
     background: #081e3f;
     padding: .5rem 1rem;
}
 #site-header {
     transition: all .2s ease-in-out;
}
/* Banner */
 .module-banner .impact {
     position: relative;
     margin-bottom: 1.5rem;
}
 .module-banner .impact .block {
     font-family: "proxima-nova-condensed", sans-serif;
     font-weight: 800;
     font-style: normal;
     font-size: 4rem;
     text-transform: uppercase;
     line-height: 1.1;
     padding: 0 1rem;
     font-size: 14vw;
     white-space: nowrap;
}
 .module-banner .impact .block.inverted {
     background: #FFF;
     color: #081E3F !important;
     margin: 0;
     display: inline-block;
     padding: 0 1rem;
}
 @media(min-width: 641px) {
     .module-banner .impact .block.inverted {
         margin-left: .5rem;
    }
     #site-header .button {
         font-size: 1rem;
    }
}
 .module-banner .subhead {
     font-weight: 500;
}
 .module-banner .impact .fiu-logo {
     position: absolute;
     top: -3rem;
     right: 50%;
     max-width: 3rem;
     transform: translateX(50%);
}
 .module-banner.multimedia-bg.dark .video-wrapper:before {
     background-color: rgba(8, 30, 63, 0.7) !important;
}
 .module-banner.multimedia-bg.dark .panel {
     margin: 0 !important;
     width: 100% !important;
     margin: 0 auto !important;
     padding: 10rem 0 3rem !important;
     text-align: center;
}
/* Anchor */
 .scroll-to-content {
     text-align: center;
}
 .scroll-to-content a {
     padding: 1rem 1.25rem;
     text-decoration: none;
     font-size: 1.625rem;
     display: inline-block;
     transform: translateY(1rem);
}
 @media (min-width: 641px) {
     .subscribe .flex-links {
         flex-direction: row;
    }
     .module-banner .impact {
         margin-bottom: 3rem;
    }
     .module-banner .impact .block {
         font-size: 5.5rem;
    }
     .module-banner.multimedia-bg.dark .panel {
         text-align: left;
         max-width: 38rem !important;
    }
     .module-banner .impact .fiu-logo {
         position: absolute;
         top: -3rem;
         right: 0;
         max-width: 4rem;
         transform: none;
    }
     .module-banner .subhead {
         text-align: right;
    }
}
 @media (min-width: 1050px) {
     .module-banner .impact .block {
         font-size: 9.375rem;
         padding: 0;
    }
     .module-banner .impact .fiu-logo {
         position: absolute;
         top: -3rem;
         right: 0;
         max-width: none;
         transform: none;
    }
     .module-banner.multimedia-bg.dark .panel {
         text-align: left;
         max-width: 62rem !important;
         transform: translateX(-.5rem);
    }
}
 @media (min-width: 1050px) and (max-width: 1150px) {
     .module-banner .impact .block {
         font-size: 8rem;
    }
     .module-banner .impact {
         text-align: center;
    }
}
@media (max-width: 640px) {
    .module-banner {
        .subscribe-row ul {
            justify-content: center;            
        }
    }
}
/* Subscribe Module */
 .module-subscribe {
     &.padded-block-wrapper .padded-block .padded-block-content {
         padding: 1.25rem;
    }
     .subscribe-row {
         justify-content: center;
    }
}
 .subscribe-row {
     display: flex;
     align-items: center;
     gap: 0.625rem;
     .subscribe-row-label {
         margin: 0;
         font-weight: 700;
    }
    &, p, li {
        font-size: 1.25rem;
    }
     ul {
         list-style: none;
         margin: 0;
         display: flex;
         gap: 0.5rem;
    }
     a {
         &:hover,
         &:active,
         &:focus {
             background-color: transparent !important;
         }
         &:focus {
             outline: 1px dotted;
         }
         &:visited {
             color: inherit !important;
         }
     }
}
/* Latest Insights */
.category-tab-list {
    display: flex;
    flex-wrap: wrap;
    margin: 1rem 0;
    list-style: none;
    gap: 0.625rem;
    li button {
        display: inline-block;
        border-radius: 100px;
        padding: 0.6875rem 1rem;
        font-size: 1rem;
        line-height: 1;
        text-decoration: none !important;
        color: #081E3F;
        background-color: #eef2f4;
        transition: all .2s ease-in-out;
        &:hover,
        &.active {
            background-color: #081e3f;
            color: #fff !important;
            opacity: 1 !important;
        }
        &:focus,
        &:active {
            color: #333 !important;
            background-color: #ffcc00;
        }
    }
}
.insights-list-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}
.insights-rss {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #FF830E;
    text-decoration: none;
    i {
        font-size: 1.5rem;
        color: #FF830E;
    }
    &:active,
    &:focus {
        background-color: transparent !important;
        outline: 1px dotted;
    }
}
#insights-pagination ul.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    li {
        float: none;
        height: auto;
        margin: 0;
        font-size: 1rem;
    }
    li button {
        min-width: 2.5rem;
        border-radius: 100px;
        padding: 0.5rem 0.75rem;
        margin: 0;
        line-height: 1;
        color: #081E3F;
        &:hover,
        &:focus {
            background-color: #eef2f4;
        }
    }
    li.current button,
    li.current button:hover,
    li.current button:focus {
        background-color: #081e3f;
        color: #fff !important;
    }
    li.unavailable button {
        opacity: 0.4;
    }
    li.unavailable span {
        padding: 0 0.25rem;
        color: #081E3F;
    }
}
/* Latest Videos */
.videos-slider {
    .slick-list {
        margin: 0 -0.625rem;
    }
    .video-slide {
        padding: 0 0.625rem;
    }
    /* Before Slick loads (or if it doesn't), show a simple scrolling row. */
    &:not(.slick-initialized) {
        display: flex;
        overflow-x: auto;
        .video-slide {
            flex: 0 0 min(100%, 24rem);
        }
    }
    a {
        display: block;
        text-decoration: none !important;
        border: none !important;
        transition: box-shadow .2s ease-in-out;
        &:hover,
        &:focus,
        &:active {
            background: transparent !important;
            .video-thumb {
                box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.3);
            }
        }
        
    }
    /* Mirrors YouTube channel-page thumbnails: 16:9, rounded, time badge bottom-right. */
    .video-thumb {
        position: relative;
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: 8px;
        background: #ddd;
        box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.16);
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .video-duration {
        position: absolute;
        right: 0.5rem;
        bottom: 0.5rem;
        padding: 0.1875rem 0.25rem;
        border-radius: 4px;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1;
    }
    /* Same as the news card titles (.news .desc .title). */
    .title {
        display: block;
        margin: 0.75rem 0 0;
        color: #333;
        font-weight: bold;
        font-size: 1.1rem;
        line-height: 1.5;
    }
}
.videos-list-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}
.videos-arrows {
    display: flex;
    gap: 0.25rem;
    .videos-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.75rem;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background-color: #081e3f;
        color: #fff;
        font-size: 1.125rem;
        transition: background-color .2s ease-in-out;
        &:hover,
        &:focus {
            background-color: #0a254e;
        }
        &.slick-disabled {
            opacity: 0.4;
            cursor: default;
        }
    }
}
.videos-youtube {
    margin-left: auto;
    line-height: 0;
    border: none !important;
}
/* Footer */
 body>footer .footer-info p {
     font-size: 1rem !important;
     & + p .cta-link-primary {
         display: inline-block;
         margin-top: 1rem;
     }
}
 body>footer .footer-info ul {
    margin-left: 0;
    list-style: none;
}
@media (max-width: 640px) {
    body>footer .footer-info ul {
        text-align: center;    
    }
}
#mc_embed_signup_scroll {
    display: flex;
    max-width: 440px;
    margin: 1rem auto;
}

#mc_embed_signup_scroll .email {
    border-radius: 5px 0 0 5px;
    height: 2.5rem;
    font-size: .9rem;
    margin: 0;
}

#mc_embed_signup_scroll #mc-embedded-subscribe {
    border-radius: 0 5px 5px 0;
    margin: 0;
    color: #fff;
    padding-top: 0;
    padding-bottom: 0;
    font-size: .9rem;
    text-transform: none;
    line-height: 1;
}
