html {
    scroll-behavior: smooth;
}

/* Carousel Styles */

section#postCarousel article.recent-post {
    display: flex;
    position: relative;
    height: 50vw;
    max-height: 570px;
    align-items: center;
    justify-content: center;
    cursor: grab;
}

section#postCarousel article.recent-post:active {
    cursor: grabbing;
}

section#postCarousel article.recent-post .container {
    flex-direction: column;
    position: relative;
    z-index: 1;
}

section#postCarousel article.recent-post img.post-feat-img {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    z-index: 0;
}

section#postCarousel article.recent-post .post-info {
    max-width: 40rem;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.675);
    box-shadow: 0 0 45px 0 rgba(0, 0, 0, 0.11);
    backdrop-filter: blur(5px);
    border-bottom: 5px solid #0077C8;
    gap: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

section#postCarousel article.recent-post .post-info h2.post-title {
    font-size: 1.6rem;
    font-weight: 700;
    text-wrap: balance;
    /* text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); */
    margin: 0;
}

section#postCarousel article.recent-post .post-info h2.post-title a {
    color: #0F163B;
    text-decoration: none;
}

section#postCarousel article.recent-post .post-info div.post-excerpt p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
    text-decoration: none;
    /* text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

section#postCarousel article.recent-post .post-info .post-meta {
    display: flex;
    padding: 0.5rem 1rem;
    align-items: center;
    gap: 1rem;
    border: 0.5px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(15px);
    margin: 0;
}

section#postCarousel article.recent-post .post-info .post-meta .post-author a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #212121;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section#postCarousel article.recent-post .post-info .post-meta .post-author a img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 50%;
}

section#postCarousel article.recent-post .post-info .post-meta .read-time {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #212121;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section#postCarousel article.recent-post .post-info .post-meta .read-time:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
}

main#blogSingle .single-blog-meta span.single-blog-comment-count a {
    text-decoration: none;
    color: #212121;
}

main#blogSingle .single-blog-meta span.single-blog-comment-count a:before {
    content: '\f086';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.25rem;
    color: #0098FF;
}

section#postCarousel article.recent-post .post-info .post-date {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #212121;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section#postCarousel article.recent-post .post-info .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
}

section#postCarousel article.recent-post .post-info .post-ctas {
    display: flex;
    gap: 1rem;
}

section#postCarousel article.recent-post .post-info .cta-view-post {
    display: flex;
    padding: 0.75rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
}

section#postCarousel article.recent-post .post-info .cta-related-deals {
    display: flex;
    padding: 0.75rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #0077C8;
    color: #FFFFFF;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
}

section#postCarousel button.splide__toggle {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    border-radius: 50%;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    background: #0077C8;
    border: none;
}

section#postCarousel button.splide__toggle svg {
    width: 20px;
    height: 20px;
    fill: white;
}

section#postCarousel .splide__progress__bar {
    background: #0077C8;
    height: 5px;
}

section#postCarousel div.pagination-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    position: absolute;
    bottom: 3rem;
    left: 0;
}

section#postCarousel .splide__pagination {
    padding: 0 1em;
    position: relative;
    right: 0;
    z-index: 1;
}

section#postCarousel .splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
}

section#postCarousel .splide__pagination__page {
    background: rgba(255, 255, 255, 0.7);
    border-radius: 0;
    display: inline-block;
    height: 5px;
    margin: 0 1.5rem;
    opacity: 1;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 10rem;
}

section#postCarousel .splide__pagination__page.is-active {
    background: #0077C8;
    border: 1px solid #0077C8;
    transform: none;
    z-index: 1;
}

/* Carousel Mobile Styles */

@media (max-width: 568px) {

    section#postCarousel article.recent-post {
        height: calc(100vh - 196px);
        max-height: none;
    }

    section#postCarousel article.recent-post .container {
        flex: 1 0 calc(100% - 1rem);
        margin-top: -2rem;
    }

    section#postCarousel article.recent-post .post-info {
        padding: 1rem;
        margin: 0 1rem;
    }

    section#postCarousel article.recent-post .post-info h2.post-title {
        font-size: 1.5rem;
    }

    section#postCarousel article.recent-post .post-info div.post-excerpt p {
        font-size: 1rem;
    }

    section#postCarousel article.recent-post .post-info .post-meta {
        width: 100%;
        padding: 0.5rem 0.5rem;
    }

    section#postCarousel article.recent-post .post-info .post-meta .post-author a,
    section#postCarousel article.recent-post .post-info .post-meta .read-time,
    section#postCarousel article.recent-post .post-info .post-meta .post-date {
        font-size: 0.875rem;
    }

    section#postCarousel article.recent-post .post-info .post-ctas {
        width: 100%;
        flex-direction: column;
    }

    section#postCarousel article.recent-post .post-info .post-ctas a {
        width: 100%;
        font-size: 1rem;
    }

    section#postCarousel .splide__pagination {
        bottom: 2.5rem;
        display: none;
    }

    section#postCarousel .splide__pagination__page {
        width: 1rem;
        height: 1rem;
    }

}

/* Carousel Table Portrait Styles */

@media (min-width: 569px) and (max-width: 768px) {

    section#postCarousel article.recent-post {
        height: 70vh;
        max-height: none;
    }

    section#postCarousel article.recent-post .container {
        flex: 1 0 calc(100% - 1rem);
        margin-top: -2rem;
    }

    section#postCarousel article.recent-post .post-info {
        padding: 1rem;
        margin: 0 1rem;
    }

    section#postCarousel article.recent-post .post-info h2.post-title {
        font-size: 1.75rem;
    }

    section#postCarousel article.recent-post .post-info div.post-excerpt p {
        font-size: 1rem;
    }

    section#postCarousel article.recent-post .post-info .post-meta {
        padding: 0.5rem 0.5rem;
    }

    section#postCarousel article.recent-post .post-info .post-meta .post-author a,
    section#postCarousel article.recent-post .post-info .post-meta .read-time,
    section#postCarousel article.recent-post .post-info .post-meta .post-date {
        font-size: 0.875rem;
    }

    section#postCarousel article.recent-post .post-info .post-ctas {
        width: 100%;
        flex-direction: row;
    }

    section#postCarousel article.recent-post .post-info .post-ctas a {
        font-size: 1rem;
    }

    section#postCarousel .splide__pagination {
        bottom: 2.5rem;
        display: none;
    }

    section#postCarousel .splide__pagination__page {
        width: 1rem;
        height: 1rem;
    }

}

/*** Filter Bar ***/

section#filterBar {
    display: flex;
    background: rgba(224, 243, 255, 0.7);
    padding: 0.75rem 0;
}

section#filterBar button.filter-selection {
    display: none;
}

section#filterBar div.filter-options {
    width: 100%;
    padding: 0 2rem;
    margin: 0;
}

section#filterBar div.filter-options .splide__list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section#filterBar div.filter-options span {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.95rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #0F163B;
    display: flex;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;
    justify-content: center;
}

section#filterBar div.filter-options span.filter-all {
    font-weight: 600;
}

section#filterBar div.filter-options button.splide__arrow {
    background: none;
    opacity: 1;
    transition: 0.5s ease all;
}

section#filterBar div.filter-options button.splide__arrow svg {
    fill: #0077C8;
}

section#filterBar div.filter-options .splide__arrow:disabled {
    opacity: 0;
    transition: 0.5s ease all;
}

/*** Results Summary ***/

div.results-summary {
    display: flex;
}

div.results-summary .container {
    justify-content: space-between;
}

div.results-summary p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 1rem 0;
}

/* Sort Dropdown Styling */

div.results-summary .container {
    justify-content: space-between;
    overflow: unset;
}

.sort-feed {
    position: relative;
    display: inline-block;
}

.sort-trigger {
    font-family: 'Roboto', Arial, sans-serif;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem 1rem .4rem;
    border: 1px solid #1b3a6b;
    border-radius: 0;
    background: #eef6ff;
    color: #0b1e3d;
    cursor: pointer;
    transition: 0.5s ease all;
}

.sort-trigger:hover,
.sort-trigger:focus {
    background: #dcedff;
    border: 1px solid #1b3a6b;
    transition: 0.5s ease all;
}

.sort-trigger>span.sort-trigger-label,
.sort-trigger>span.sort-trigger-label>strong {
    font-weight: 400 !important;
}

.sort-feed.is-open .sort-trigger .chevron {
    transform: rotate(180deg);
}

.sort-menu {
    position: absolute;
    right: 0;
    top: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 1px solid #1b3a6b;
    border-radius: 0;
    background: #eef6ff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    z-index: 20;
}

.sort-menu[hidden] {
    display: none;
}

/* ensures the hidden attribute actually hides it */
.sort-option {
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    padding: .6rem .75rem;
    border-radius: 0;
    cursor: pointer;
    font-weight: 400;
}

.sort-option:hover,
.sort-option:focus {
    background: #1b3a6b;
    color: #FFFFFF;
    outline: none;
}

.sort-option[aria-selected="true"] {
    background: #1b3a6b;
    color: #FFFFFF;
    outline: none;
}

/*** Latest Posts Grid ***/

section#latestPosts {
    background-color: #fafafa;
    padding: 2.5rem 0;
}

div#latestPostsFeed div.post-grid {
    display: flex;
    flex-direction: column;
    margin: 2rem 0;
}

div#latestPostsFeed div.post-grid .post-container {
    display: grid;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    grid-template-columns: auto auto auto;
    justify-content: space-between;
    gap: 1rem;
}

div#latestPostsFeed div.post-grid article.post-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

div#latestPostsFeed div.post-grid article.post-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

div#latestPostsFeed div.post-grid article.post-card a.post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

div#latestPostsFeed div.post-grid article.post-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

div#latestPostsFeed div.post-grid article.post-card .post-content a.post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

div#latestPostsFeed div.post-grid article.post-card .post-content h3 {
    font-family: "Open Sans";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

div#latestPostsFeed div.post-grid article.post-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta {
    display: flex;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-author,
div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-readtime,
div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-date {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

div#latestPostsFeed div.post-grid article.post-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

nav.pagination {
    display: flex;
    padding: 1rem;
    gap: 1rem;
    justify-content: center;
}

nav.pagination .page-numbers {
    display: flex;
    width: 2rem;
    height: 2rem;
    padding: 0.25rem 0.5rem;
    justify-content: center;
    align-items: center;
    border-radius: 0.125rem;
    text-decoration: none;
    color: #212121;
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 700;
}

span.page-numbers.current {
    background: #FFFFFF;
    border: 1px solid #0077C8;
}

/* ---- Feed crossfade state ---- */
section#latestPosts.is-switching #latestPostsFeed {
    opacity: 0;
}

#latestPostsFeed {
    transition: opacity .18s ease;
}

/* ---- New card flash (subtle tint) ---- */
#latestPostsFeed article.post-card.card-flash {
    animation: bccCardFlash .4s ease-out both;
}

@keyframes bccCardFlash {
    0% {
        background-color: color-mix(in srgb, #0F163B 8%, transparent);
    }

    100% {
        background-color: transparent;
    }
}

/* ---- Sort trigger label pulse (quick nudge when selection changes) ---- */
#sortTrigger .sort-trigger-label.label-pulse {
    animation: bccLabelPulse .25s ease-out;
}

@keyframes bccLabelPulse {
    0% {
        transform: scale(1);
        filter: brightness(1);
    }

    50% {
        transform: scale(1.025);
        filter: brightness(1.08);
    }

    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

/* Reduced motion friendly */
@media (prefers-reduced-motion: reduce) {
    #latestPostsFeed {
        transition: none;
    }

    #latestPostsFeed article.post-card.card-flash {
        animation: none;
    }

    #sortTrigger .sort-trigger-label.label-pulse {
        animation: none;
    }
}

/* Newsletter Banner */

section.newsletter-banner {
    display: flex;
    padding: 3rem 9.9375rem;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    background: #E7F5FF;
    margin: 0;
}

section.newsletter-banner .banner-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2rem;
}

section.newsletter-banner .banner-left,
section.newsletter-banner .banner-right {
    display: flex;
    flex-direction: column;
    flex: 1 0 50%;
    justify-content: center;
}

section.newsletter-banner .banner-left h3 {
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    margin: 0 0 1rem;
    color: #212121;
    position: relative;
}

section.newsletter-banner .banner-left h3:after {
    content: '';
    width: 72px;
    height: 8px;
    background: #0E3B5A;
    display: block;
    margin-top: 0.5rem;
}

section.newsletter-banner .banner-left p {
    font-family: Roboto;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
}

section.newsletter-banner .banner-right .frm_forms input[type="email"] {
    display: flex;
    width: 100%;
    max-width: 21.25rem;
    padding: 0.75rem;
    align-items: center;
    flex: 1 0 0;
    border: 1px solid #0F163B;
    background: #FFF;
}

section.newsletter-banner .banner-right .frm_forms .form-field.vertical_radio {
    margin: 0.5rem 0;
}

section.newsletter-banner .banner-right .frm_forms .form-field.vertical_radio input {
    border: 1px solid #0F163B;
}

section.newsletter-banner .banner-right .frm_forms button {
    display: flex;
    font-weight: 700;
    padding: 0.75rem 2.5rem;
    background: #0F163B;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
}

/* Post Feed CTAs */

.post-card.cta-slot {
    display: flex;
    position: relative;
}

.post-card.cta-slot a.feed-cta {
    display: flex;
    flex-direction: column;
    padding: 32px;
    gap: 1rem;
    position: relative;
    text-decoration: none;
    justify-content: flex-end;
}

.post-card.cta-slot a.feed-cta:before {
    content: '';
    background: linear-gradient(0deg, rgba(0, 33, 55, 0.89) 9.44%, rgba(0, 33, 55, 0.00) 98.22%);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.post-card.cta-slot a.feed-cta>* {
    z-index: 1;
}

.post-card.cta-slot a.feed-cta strong.feed-cta-title {
    color: #FFFFFF;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}

.post-card.cta-slot a.feed-cta p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #FFFFFF;
}

.post-card.cta-slot a.feed-cta button {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    text-transform: uppercase;
    align-self: stretch;
    border-radius: 0;
    background: #0077C8;
    border: 1px solid #0077C8;
    color: #FFFFFF;
}

@media (min-width: 1024px) and (max-width: 1280px) {
    div#latestPostsFeed div.post-grid .post-container {
        width: calc(100% - 80px);
    }
}

/* Latest Posts Grid Mobile Styles */

@media (max-width: 568px) {
    section#latestPosts {
        padding: 0;
    }

    div#latestPostsFeed div.post-grid .post-container {
        width: calc(100% - 20px);
        flex: none;
        grid-template-columns: auto;
        justify-content: space-between;
        gap: 2rem;
    }

    .post-card.cta-slot {
        height: 34.5rem;
    }

    section.newsletter-banner {
        padding: 2rem 1rem;
    }

    section.newsletter-banner .banner-container {
        margin: 0;
    }

    div.results-summary .container {
        width: 100%;
        justify-content: center;
        align-items: center;
    }

    div#latestPostsFeed div.results-summary .container {
        justify-content: center;
    }

    div#latestPostsFeed div.results-summary.btm-summary {
        padding: 1rem 0 0;
    }

    div.results-summary .container p {
        margin: 0;
    }

    .sort-feed {
        width: 100%;
        margin: 0 0 1rem;
    }

    .sort-trigger {
        width: 100%;
        margin: 0 auto;
        padding: 1rem 1rem 1rem;
        border: 1px solid #1b3a6b;
        justify-content: center;
    }
}

/* Latest Posts Grid Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {
    section#latestPosts {
        padding: 0;
    }

    div#latestPostsFeed div.post-grid .post-container {
        width: calc(100% - 20px);
        flex: none;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    div#latestPostsFeed div.post-grid .post-container> :last-child:nth-child(2n + 1) {
        grid-column: 1 / -1;
        /* span both columns */
        justify-self: center;
        /* center within that span */
        max-width: calc((100% - 1rem) / 2);
        /* keep it the width of one column */
    }

    .post-card.cta-slot {
        height: auto;
    }

    section.newsletter-banner {
        padding: 2rem 1rem;
    }

    section.newsletter-banner .banner-container {
        margin: 0;
    }

    /* Filters, Sorting & Results Mobile Styling */

    section#filterBar {
        width: calc(100% - 20px);
        margin: 1rem auto;
        padding: 0;
        border: 1px solid #1b3a6b;
    }

    section#filterBar .container {
        flex: 1 0 100%;
        margin: 0;
    }

    section#filterBar button.filter-selection {
        display: flex;
        background: none;
        border: none;
        color: #0F163B;
        width: 100%;
        padding: 1rem 1rem 1rem;
        justify-content: center;
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        gap: .5rem;
        align-items: center;
        cursor: pointer;
    }

    section#filterBar button.filter-selection span.chevron {
        display: flex;
    }

    section#filterBar div.filter-options {
        display: none;
    }

    div.results-summary .container {
        flex: 0 0 calc(100% - 20px);
        margin: 0 20px;
        align-items: center;
    }

    div#latestPostsFeed div.results-summary.btm-summary {
        padding: 1rem 0 0;
    }

    div.results-summary .container p {
        margin: 0;
    }

    .sort-feed {
        margin: 0 0 1rem;
    }

    .sort-trigger {
        width: 100%;
        margin: 0 auto;
        padding: 1rem 1rem 1rem;
        border: 1px solid #1b3a6b;
        justify-content: center;
    }
}

/* Latest Posts Grid Tablet Landscape Styles */

@media (min-width: 1024px) and (max-width: 1280px) {

    div#latestPostsFeed div.post-grid .post-container {
        grid-template-columns: auto auto;
    }


    div#latestPostsFeed div.post-grid .post-container> :last-child:nth-child(2n + 1) {
        grid-column: 1 / -1;
        /* span both columns */
        justify-self: center;
        /* center within that span */
        max-width: calc((100% - 1rem) / 2);
        /* keep it the width of one column */
    }

}

@media (max-width: 1023px) {
    /* Filters, Sorting & Results Mobile Styling */

    section#filterBar {
        width: calc(100% - 20px);
        margin: 1rem auto;
        padding: 0;
        border: 1px solid #1b3a6b;
        position: relative;
        overflow: visible;
    }

    section#filterBar .container {
        flex: 1 0 100%;
        margin: 0;
    }

    section#filterBar button.filter-selection {
        display: flex;
        background: none;
        border: none;
        color: #0F163B;
        width: 100%;
        padding: 1rem 1rem 1rem;
        justify-content: center;
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        gap: .5rem;
        align-items: center;
        cursor: pointer;
    }

    section#filterBar button.filter-selection span.chevron {
        display: flex;
    }

    /* Button: keep your existing styles; add a smooth chevron flip */
    section#filterBar button.filter-selection .chevron {
        transition: transform 180ms ease;
    }

    section#filterBar.is-open button.filter-selection .chevron {
        transform: rotate(180deg);
    }

    /* Turn the chip rail into a dropdown panel */
    section#filterBar div.filter-options {
        display: none;
        /* hidden by default on mobile */
        position: absolute;
        top: 100%;
        /* sit directly under the button */
        left: 0;
        right: 0;
        z-index: 50;

        background: #fff;
        border: 1px solid #1b3a6b;
        border-top: none;
        /* butt up to the bar’s border */
        box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
    }

    /* Show when your JS adds .is-open to #filterBar */
    section#filterBar.is-open div.filter-options {
        display: block;
        padding: 0;
    }

    /* Stack the items vertically and make them scroll if long */
    section#filterBar div.filter-options .splide__list {
        display: flex;
        flex-direction: column;
        max-height: 60vh;
        overflow: auto;
        padding: .25rem 0;
        margin: 0;
    }

    /* Each chip as a full-width row */
    section#filterBar div.filter-options .filter-all,
    section#filterBar div.filter-options .filter-category {
        display: block;
        width: 100%;
        padding: .75rem 1rem;
        line-height: 1.35;
        cursor: pointer;
        user-select: none;
        /* neutral base so your existing chip styles don’t clash on mobile */
        background: transparent;
        border: 0;
        border-bottom: 1px solid #CCCCCC;
    }

    /* Hover/active feedback */
    section#filterBar div.filter-options .filter-all:hover,
    section#filterBar div.filter-options .filter-category:hover {
        background: #f3f7fb;
    }

    section#filterBar div.filter-options .filter-all.is-active,
    section#filterBar div.filter-options .filter-category.is-active,
    section#filterBar div.filter-options .filter-all[aria-selected="true"],
    section#filterBar div.filter-options .filter-category[aria-selected="true"] {
        background: #e8f1fb;
        font-weight: 600;
    }

    /* Optional: nicer mobile scrollbars (safe to drop if unwanted) */
    section#filterBar div.filter-options .splide__list::-webkit-scrollbar {
        width: 8px;
    }

    section#filterBar div.filter-options .splide__list::-webkit-scrollbar-thumb {
        background: #c7d7eb;
    }
}

/* Popular Posts Section */

section.popular-posts {
    display: flex;
    padding: 5rem 4rem;
    background: #E7F5FF;
}

section.popular-posts .container {
    flex-direction: column;
    gap: 2rem;
}

section.popular-posts .container .popular-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section.popular-posts .container .popular-title .pop-title-text {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-self: flex-start;
    margin: 0;
    gap: 1rem;
}

section.popular-posts .container .popular-title .pop-title-text h2 {
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    margin: 0;
}

section.popular-posts .container .popular-title .pop-title-text h2:after {
    content: '';
    width: 72px;
    height: 6px;
    background: #0077C8;
    display: block;
    margin-top: 0.5rem;
}

section.popular-posts .container .popular-title .pop-title-text p {
    font-family: 'Roboto', Arial, sans-serif;
}

.popular-posts-grid {
    display: flex;
}

article.popular-post-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

article.popular-post-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

article.popular-post-card a.post-thumb img {
    object-fit: cover;
    object-position: 50% 50%;
}

article.popular-post-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

article.popular-post-card .post-content .post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

article.popular-post-card .post-content h3 {
    color: #0F163B;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

article.popular-post-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

article.popular-post-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0;
}

article.popular-post-card .post-content .post-meta {
    display: flex;
    flex-direction: row;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

article.popular-post-card .post-content .post-meta .post-author,
article.popular-post-card .post-content .post-meta .post-readtime,
article.popular-post-card .post-content .post-meta .post-date,
article.popular-post-card .post-content .post-meta .post-views {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

article.popular-post-card .post-content .post-meta .post-views {
    display: none;
}

article.popular-post-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
    text-decoration: underline;
}

article.popular-post-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

article.popular-post-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

section.popular-posts .container .popular-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

div.pop-title-btns {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.popular-toggle {
    display: inline-flex;
    gap: .5rem;
    border: 1px solid #0F163B;
    border-radius: 0;
    padding: .25rem;
    justify-self: flex-end;
    align-self: flex-start;
}

.pop-toggle-btn {
    font-family: 'Roboto', Arial, sans-serif;
    appearance: none;
    background: transparent;
    border: 0;
    padding: .5rem .75rem;
    cursor: pointer;
    border-radius: 0;
    transition: 0.5s ease all;
}

.pop-toggle-btn.is-active {
    background: #0F163B;
    color: #FFFFFF;
    font-weight: 700;
    transition: 0.5s ease all;
}

section.popular-posts .container .popular-title a.btn-view-pop {
    display: flex;
    padding: 0.75rem 3.5rem;
    justify-content: center;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
}

/* Popular Blogs Mobile Styles */

@media (max-width: 568px) {

    section.popular-posts {
        padding: 2rem 0.5rem;
    }

    section.popular-posts .container {
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.popular-posts .container .popular-title {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.popular-posts .container .popular-title .pop-title-text {
        width: 100%;
    }

    section.popular-posts .container .popular-title .pop-title-text h2 {
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.popular-posts .container .popular-title .pop-title-text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    div.pop-title-btns {
        flex-direction: row;
        gap: 1rem;
    }

    section.popular-posts .container .popular-title a.btn-view-pop {
        align-items: center;
        padding: 0 1rem;
    }

    section.popular-posts {
        padding: 2rem 1rem;
    }

    section.popular-posts .container {
        margin: 0;
        flex: 0 0 100%;
    }


}

/* Popular Blogs Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {

    section.popular-posts {
        padding: 2rem 0.5rem;
    }

    section.popular-posts .container {
        margin: 0;
        flex: 0 0 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.popular-posts .container .popular-title {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.popular-posts .container .popular-title .pop-title-text {
        width: 100%;
    }

    section.popular-posts .container .popular-title .pop-title-text h2 {
        font-size: 1.75rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.popular-posts .container .popular-title .pop-title-text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    div.pop-title-btns {
        flex-direction: row;
        gap: 1rem;
    }

    section.popular-posts .container .popular-title a.btn-view-pop {
        align-items: center;
        padding: 0 1rem;
    }

    section.popular-posts {
        padding: 2rem 1rem;
    }
}

/*** Latest News Section ***/

section.latest-news {
    display: flex;
    padding: 5rem 4rem;
    background: #FAFAFA;
}

section.latest-news .container {
    flex-direction: column;
    align-items: space-between;
    gap: 2rem;
}

section.latest-news .container .latest-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section.latest-news .container .latest-title .latest-title-text {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-self: flex-start;
    margin: 0;
    gap: 1rem;
}

section.latest-news .container .latest-title .latest-title-text h2 {
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    margin: 0;
}

section.latest-news .container .latest-title .latest-title-text h2:after {
    content: '';
    width: 72px;
    height: 6px;
    background: #0077C8;
    display: block;
    margin-top: 0.5rem;
}

div.latest-title-btns {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

section.latest-news .container .latest-title a.btn-view-latest {
    display: flex;
    padding: 0.75rem 3.5rem;
    justify-content: center;
    align-self: flex-end;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
}

article.latest-news-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

article.latest-news-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

article.latest-news-card a.post-thumb img {
    object-fit: cover;
    object-position: 50% 50%;
}

article.latest-news-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

article.latest-news-card .post-content .post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

article.latest-news-card .post-content h3 {
    color: #0F163B;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

article.latest-news-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

article.latest-news-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0;
}

article.latest-news-card .post-content .post-meta {
    display: flex;
    flex-direction: row;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

article.latest-news-card .post-content .post-meta .post-author,
article.latest-news-card .post-content .post-meta .post-readtime,
article.latest-news-card .post-content .post-meta .post-date,
article.latest-news-card .post-content .post-meta .post-views {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

article.latest-news-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
    text-decoration: underline;
}

article.latest-news-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

article.latest-news-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

/* Latest Posts Mobile Styles */

@media (max-width: 568px) {
    section.latest-news {
        padding: 2rem 0.5rem;
    }

    section.latest-news .container {
        margin: 0;
        flex: 0 0 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.latest-news .container .latest-title {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.latest-news .container .latest-title .latest-title-text {
        width: 100%;
    }

    section.latest-news .container .latest-title .latest-title-text h2 {
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.latest-news .container .latest-title .latest-title-text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    section.latest-news .container .latest-title a.btn-view-latest {
        width: 100%;
    }

    div.pop-title-btns {
        flex-direction: row;
        gap: 1rem;
    }

    .latest-news-grid {
        grid-template-columns: auto;
        gap: 2rem;
    }
}

/* Latest News Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {
    section.latest-news {
        padding: 2rem 0.5rem;
    }

    section.latest-news .container {
        margin: 0;
        flex: 0 0 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.latest-news .container .latest-title {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.latest-news .container .latest-title .latest-title-text {
        width: 100%;
    }

    section.latest-news .container .latest-title .latest-title-text h2 {
        font-size: 1.75rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.latest-news .container .latest-title .latest-title-text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    section.latest-news .container .latest-title a.btn-view-latest {
        align-self: flex-start;
    }

    div.pop-title-btns {
        flex-direction: row;
        gap: 1rem;
    }

    .latest-news-grid {
        grid-template-columns: auto auto auto;
        gap: 1rem;
    }
}



/* Popular Posts & Latest News Responsive Styles */

@media (max-width: 1024px) {

    .popular-posts-grid,
    .latest-news-grid {
        padding-bottom: 3rem;
    }

    .popular-posts-grid .splide__pagination button,
    .latest-news-grid .splide__pagination button {
        width: 1rem;
        height: 1rem;
        color: #D6D6D6;
    }

    .popular-posts-grid .splide__pagination button.is-active,
    .latest-news-grid .splide__pagination button.is-active {
        background-color: #002137;
        transform: scale(1);
    }

    .popular-posts-grid ul.splide__pagination,
    .latest-news-grid ul.splide__pagination {
        gap: 1rem;
    }
}

/* Bottom CTA */

a.bottom-call-to-action {
    display: flex;
    height: 36.25rem;
    background-size: cover;
    background-position: 50% 50%;
    position: relative;
    text-decoration: none;
}

a.bottom-call-to-action:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(90deg, rgba(0, 84, 141, 0.63) 0%, rgba(14, 59, 90, 0.00) 60%);
}

a.bottom-call-to-action .container {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    z-index: 1;
    gap: 1rem;
}

a.bottom-call-to-action .container .btm-cta-content {
    width: 42%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

a.bottom-call-to-action .container h4.btm-cta-title {
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    color: #FFFFFF;
    margin: 0;
}

a.bottom-call-to-action .container h4.btm-cta-title:after {
    content: '';
    width: 72px;
    height: 8px;
    background: #0098FF;
    display: block;
    margin-top: 0.5rem;
}

a.bottom-call-to-action .container p.btm-cta-para {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #FFFFFF;
    margin: 0;
}

a.bottom-call-to-action .container button.btm-cta-btn {
    display: inline-flex;
    padding: 1rem 2rem;
    justify-content: center;
    align-items: center;
    align-self: flex-start;
    gap: 0.5rem;
    border: none;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 700;
    background: #0077C8;
    color: #FFFFFF;
    margin: 0;
    cursor: inherit;
}

a.bottom-call-to-action .container div.btm-cta-image-alt {
    display: flex;
    padding: 0.5rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    position: absolute;
    right: 3.875rem;
    bottom: 4rem;
    border: 0.5px solid rgba(255, 255, 255, 0.23);
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(15px);
}

a.bottom-call-to-action .container div.btm-cta-image-alt p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #FFFFFF;
}

a.bottom-call-to-action .container div.btm-cta-image-alt svg {
    width: 1.125rem;
    height: 1.125rem;
    fill: #FFFFFF;
}

/* Bottom CTA Mobile Styles */

@media (max-width: 568px) {
    a.bottom-call-to-action {
        height: 40rem;
        padding: 2rem 1rem;
        flex-shrink: 0;
        justify-content: center;
        align-items: flex-end;
    }

    a.bottom-call-to-action .container {
        flex: none;
    }

    a.bottom-call-to-action .container .btm-cta-content {
        display: flex;
        width: 22.5rem;
        padding: 1.5rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
        background: rgba(255, 255, 255, 0.365);
        box-shadow: 0 0 45px 0 rgba(0, 0, 0, 0.11);
        backdrop-filter: blur(5px);
    }

    a.bottom-call-to-action .container h4.btm-cta-title {
        font-size: 2rem;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
        color: #0F163B;
    }

    a.bottom-call-to-action .container p.btm-cta-para {
        color: #212121;
    }

    a.bottom-call-to-action .container button.btm-cta-btn {
        width: 100%;
    }

    a.bottom-call-to-action .container div.btm-cta-image-alt {
        display: flex;
        padding: 0.5rem 1rem;
        align-items: center;
        gap: 0.5rem;
        position: relative;
        bottom: auto;
        right: auto;
        border: 0.5px solid rgba(255, 255, 255, 0.23);
        background: rgba(255, 255, 255, 0.02);
        backdrop-filter: blur(15px);
    }
}


/* Bottom CTA Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {
    a.bottom-call-to-action {
        height: 27.5rem;
        padding: 2rem 1rem;
        flex-shrink: 0;
        justify-content: center;
        align-items: flex-end;
    }

    a.bottom-call-to-action .container {
        flex: none;
    }

    a.bottom-call-to-action .container .btm-cta-content {
        display: flex;
        width: 27.5rem;
        padding: 1.5rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        background: rgba(255, 255, 255, 0.365);
        box-shadow: 0 0 45px 0 rgba(0, 0, 0, 0.11);
        backdrop-filter: blur(5px);
    }

    a.bottom-call-to-action .container h4.btm-cta-title {
        font-size: 2rem;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
        color: #0F163B;
    }

    a.bottom-call-to-action .container p.btm-cta-para {
        font-size: 1rem;
        color: #212121;
    }

    a.bottom-call-to-action .container button.btm-cta-btn {
        width: 100%;
    }

    a.bottom-call-to-action .container div.btm-cta-image-alt {
        display: flex;
        padding: 0.5rem 1rem;
        align-items: center;
        gap: 0.5rem;
        position: relative;
        bottom: auto;
        right: auto;
        border: 0.5px solid rgba(255, 255, 255, 0.23);
        background: rgba(255, 255, 255, 0.02);
        backdrop-filter: blur(15px);
    }
}

/*** Single Blog Post Styles ***/

main#blogSingle {
    background: #FFFFFF;
}

main#blogSingle .single-blog-header {
    display: flex;
    height: 50vw;
    max-height: 570px;
    background-size: cover;
    background-position: 50% 50%;
    position: relative;
}

main#blogSingle .single-blog-header:before {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 33, 55, 0.19) -37.22%, rgba(0, 33, 55, 0.00) 57.8%);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

main#blogSingle .single-blog-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

main#blogSingle .single-blog-content {
    display: flex;
    width: 50%;
    padding: 2rem 2rem 3rem 2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    background: rgba(255, 255, 255, 0.365);
    box-shadow: 0 0 45px 0 rgba(0, 0, 0, 0.11);
    backdrop-filter: blur(5px);
}

main#blogSingle .single-breadcrumb span.breadcrumb_linked {
    text-align: center;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

main#blogSingle .single-breadcrumb span.breadcrumb_linked a {
    color: #212121;
    text-decoration: none;
}

main#blogSingle .single-breadcrumb span.breadcrumb_seperator {
    color: #0077C8;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

main#blogSingle .single-blog-content h1 {
    font-family: "Open Sans";
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: none;
    text-wrap: balance;
    margin: 0;
    color: #0F163B;
}

main#blogSingle .single-blog-content p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
}

main#blogSingle .single-blog-meta {
    display: flex;
    padding: 0.5rem 1rem;
    align-items: center;
    gap: 1rem;
    border: 0.5px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(15px);
    margin: 0;
}

main#blogSingle .single-blog-meta .single-blog-author a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

main#blogSingle .single-blog-meta .single-blog-author a img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

main#blogSingle .single-blog-meta .single-blog-author p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
}

main#blogSingle .single-blog-meta span {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
}

main#blogSingle .single-blog-meta span.single-blog-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.25rem;
    color: #0098FF;
}

main#blogSingle .single-blog-meta span.single-blog-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.25rem;
    color: #0098FF;
}

main#blogSingle .single-blog-meta span.single-blog-date.update:before {
    content: '\f044';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.25rem;
    color: #0098FF;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    right: auto;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem;
    background: rgba(14, 59, 90, 0.5);
    backdrop-filter: blur(6px);
    color: #FFFFFF;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    flex: 1 0 auto !important;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    text-align: left;
    box-sizing: border-box;
    margin: 0;
    overflow: auto;
    scrollbar-color: #0000 #0000;
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin;
    text-shadow: none;
    will-change: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:before {
    content: '\f030';
    font-family: 'Font Awesome 7 Free';
    font-size: 0.85rem;
    font-weight: 400;
    font-style: normal;
    margin-right: 0.5rem;
}

main#blogSingle .single-blog-content a.cta-related-deals {
    display: flex;
    padding: 0.75rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #0077C8;
    color: #FFFFFF;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
}

main#blogSingle .single-blog-frame {
    display: flex;
    width: 100%;
    max-width: 768px;
    padding: 2.75rem 0 2.75rem;
    margin: 0 auto;
    gap: 2rem;
    flex-direction: column;
}

main#blogSingle .single-body-info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

main#blogSingle .single-body-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

main#blogSingle .single-body-content h2,
main#blogSingle .single-body-content h2 strong {
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    color: #212121;
    margin: 0;
}

main#blogSingle .single-body-content h3,
main#blogSingle .single-body-content h3 strong {
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    color: #212121;
    margin: 0;
}

main#blogSingle .single-body-content p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
}

main#blogSingle .single-body-content ul {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #212121;
    list-style-type: none;
    gap: 1rem;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

main#blogSingle .single-body-content ul li {
    margin-left: 1rem;
}

main#blogSingle .single-body-content ul li::marker {
    content: '⮞ ';
    font-size: 1.2rem;
    color: #0077C8;
}

main#blogSingle .single-body-content a {
    color: #0289E5;
    position: relative;
    transition: 0.5s ease all;
}

main#blogSingle .single-body-content a:hover {
    color: #103A5A;
    transition: 0.5s ease all;
}

main#blogSingle .single-blog-frame hr {
    width: 100%;
    height: 1px;
    background: #0077C8;
    margin: 0;
}

/* Post/Page Sharing Styles */

.share-post {
    display: flex;
    padding: 1rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    background: #EDF8FF;
}

.share-post h3 {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    margin: 0;
}

.share-post p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 0;
}

.share-icons {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.share-icons li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    color: #0f63c8;
    font-size: 20px;
    text-decoration: none;
    transition: background 0.3s;
}

.share-icons li a:hover {
    background: #dcedff;
}

/* Categories and Tags */

.single-details {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.single-details .single-cats-tags {
    display: flex;
    flex: 0 1 75%;
    flex-direction: column;
    gap: 1rem;
}

.post-categories {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 0.875rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.post-categories>a {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

.post_tags {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 0.875rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.post_tags>a {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #dbf0ff;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

/* Toast container */
.bcc-toast {
    position: fixed;
    z-index: 9999;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    pointer-events: none;
    /* clicks pass through */
}

/* Individual toast */
.bcc-toast__item {
    pointer-events: auto;
    background: rgba(15, 22, 59, .95);
    /* your navy tone */
    color: #fff;
    border-radius: .375rem;
    padding: .6rem .9rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    font: 500 0.95rem/1.3 'Roboto', Arial, sans-serif;
    transform: translateY(8px);
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.bcc-toast__item.is-showing {
    transform: translateY(0);
    opacity: 1;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .bcc-toast__item {
        transition: none;
    }
}

/* Enhanced Image Block Styling */

/* Base: make sure the figure can position children */
.wp-block-image.is-style-alt-caption-overlay {
    display: flex;
    position: relative;
}

/* Bottom-left overlay badge */
figure.wp-block-image.is-style-alt-caption-overlay figcaption.wp-block-image__alt-overlay {
    position: absolute;
    left: 1.5rem;
    bottom: 1.5rem;
    right: auto;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem;
    background: rgba(14, 59, 90, 0.6);
    backdrop-filter: blur(6px);
    color: #FFFFFF;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    flex: 1 0 auto !important;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    text-align: left;
    box-sizing: border-box;
    margin: 0;
    overflow: auto;
    scrollbar-color: #0000 #0000;
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin;
    text-shadow: none;
    will-change: auto;
}

figure.wp-block-image.is-style-alt-caption-overlay figcaption.wp-block-image__alt-overlay:before {
    content: '\f030';
    font-family: 'Font Awesome 7 Free';
    font-weight: 400;
    font-style: normal;
    margin-right: 0.5rem;
}

/* Ensure the image fills so the overlay sits correctly */
.wp-block-image.is-style-alt-caption-overlay img {
    display: block;
    width: 100%;
    height: auto;
}

/*** Single Posts Sections (Sections that come after the main body) ***/

section.single-post-sections {
    display: flex;
    flex-direction: column;
    background: #FAFAFA;
    border-top: 1px solid #000000;
}

/*** Related Posts Styling ***/

section.related-posts {
    display: flex;
    padding: 5rem 0rem;
}

section.related-posts .related-posts-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
}

section.related-posts .related-posts-container .related-posts__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section.related-posts .related-posts-container .related-posts__header .related-posts__text {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-self: flex-start;
    margin: 0;
    gap: 1rem;
}

section.related-posts .related-posts-container .related-posts__header .related-posts__text h2 {
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    margin: 0;
}

section.related-posts .related-posts-container .related-posts__header .related-posts__text h2:after {
    content: '';
    width: 72px;
    height: 6px;
    background: #0077C8;
    display: block;
    margin-top: 0.5rem;
}

section.related-posts .related-posts-container .related-posts__header .related-posts__buttons {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

section.related-posts .related-posts-container .related-posts__header .related-posts__buttons a.related-posts__cta {
    display: flex;
    padding: 0.75rem 3.5rem;
    justify-content: center;
    align-self: flex-end;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
}

article.related-posts-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

article.related-posts-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

article.related-posts-card a.post-thumb img {
    object-fit: cover;
    object-position: 50% 50%;
}

article.related-posts-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

article.related-posts-card .post-content .post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

article.related-posts-card .post-content h3 {
    color: #0F163B;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

article.related-posts-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

article.related-posts-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0;
}

article.related-posts-card .post-content .post-meta {
    display: flex;
    flex-direction: row;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

article.related-posts-card .post-content .post-meta .post-author,
article.related-posts-card .post-content .post-meta .post-readtime,
article.related-posts-card .post-content .post-meta .post-date,
article.related-posts-card .post-content .post-meta .post-views {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

article.related-posts-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
    text-decoration: underline;
}

article.related-posts-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

article.related-posts-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

/* Single Blog Post Mobile Styles */

@media (max-width: 568px) {

    main#blogSingle .single-blog-header {
        height: 70vh;
        padding-bottom: 2rem;
        max-height: none;
        flex-shrink: 0;
    }

    main#blogSingle .single-blog-container {
        width: calc(100% - 2rem);
        justify-content: flex-end;
        align-items: center;
    }

    main#blogSingle .single-body-info .single-blog-meta {
        flex-wrap: wrap;
    }

    main#blogSingle .single-body-info .single-blog-meta>span {
        flex: 47%;
        text-align: center;
    }


    main#blogSingle .single-blog-frame {
        padding: 2rem 0;
    }

    main#blogSingle .single-blog-content {
        display: flex;
        width: 100%;
        padding: 1.5rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    main#blogSingle .single-blog-content {
        border-bottom: 5px solid #0077C8;
    }

    main#blogSingle .single-blog-content .single-breadcrumb {
        display: none;
    }

    main#blogSingle .single-blog-content h1 {
        font-size: 1.5rem;
        line-height: 140%;
    }

    main#blogSingle .single-blog-content p {
        font-size: 1rem;
        line-height: 150%;
    }

    main#blogSingle .single-blog-meta {
        width: 100%;
        justify-content: space-between;
    }

    main#blogSingle .single-blog-content a.cta-related-deals {
        width: 100%;
    }

    main#blogSingle .single-body-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    main#blogSingle .single-body-info .single-blog-meta {
        padding: 0;
    }

    main#blogSingle .single-body-content h2 {
        font-size: 1.75rem;
    }

    .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
        width: 100%;
    }

    figure.wp-block-image.is-style-alt-caption-overlay figcaption.wp-block-image__alt-overlay {
        width: 90%;
        left: 1rem;
        align-items: flex-start;
    }

    .share-post {
        flex-direction: column;
        padding: 1rem;
        gap: 1rem;
        align-items: flex-start;
    }

    .share-icons li a {
        width: 2rem;
        height: 2rem;
    }

    section.single-post-sections {
        padding: 1.5rem;
    }

    section.newsletter-banner .banner-container {
        flex-direction: column;
        gap: 1rem;
    }

    section.newsletter-banner .banner-left h3 {
        font-size: 1.75rem;
    }

    section.newsletter-banner .banner-left p {
        font-size: 1rem;
    }

    section.newsletter-banner .banner-right .frm_forms button {
        width: 100%;
    }

    section.related-posts {
        padding: 2rem 0 0;
    }

    section.related-posts .related-posts-container {
        margin: 0;
        flex: 0 0 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.related-posts .related-posts-container .related-posts__header {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text {
        width: 100%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text h2 {
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons a.related-posts__cta {
        width: 100%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons {
        flex-direction: row;
        gap: 1rem;
    }

}

/* Single Blog Post Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {

    main#blogSingle .single-blog-header {
        height: 50vh;
        padding-bottom: 2rem;
        max-height: none;
        flex-shrink: 0;
    }

    main#blogSingle .single-blog-container {
        width: calc(100% - 2rem);
        justify-content: flex-end;
        align-items: flex-start;
    }

    main#blogSingle .single-blog-frame {
        padding: 2rem 0;
    }

    main#blogSingle .single-blog-content {
        display: flex;
        width: 75%;
        padding: 1.5rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    main#blogSingle .single-blog-content {
        border-bottom: 5px solid #0077C8;
    }

    main#blogSingle .single-blog-content h1 {
        font-size: 1.5rem;
        line-height: 140%;
    }

    main#blogSingle .single-blog-content p {
        font-size: 1rem;
        line-height: 150%;
    }

    main#blogSingle .single-body-content h2 {
        font-size: 1.75rem;
    }

    .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
        width: 100%;
    }

    figure.wp-block-image.is-style-alt-caption-overlay figcaption.wp-block-image__alt-overlay {
        width: 90%;
        left: 1rem;
        align-items: flex-start;
    }

    .share-icons li a {
        width: 2rem;
        height: 2rem;
    }

    section.single-post-sections {
        padding: 1.5rem 1rem;
    }

    section.newsletter-banner .banner-container {
        flex-direction: column;
        gap: 1rem;
    }

    section.newsletter-banner .banner-left h3 {
        font-size: 1.75rem;
    }

    section.newsletter-banner .banner-left p {
        font-size: 1rem;
    }

    section.newsletter-banner .banner-right .frm_forms button {
        width: 100%;
    }

    section.related-posts {
        padding: 2rem 0 0;
    }

    section.related-posts .related-posts-container {
        margin: 0;
        flex: 0 0 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }

    section.related-posts .related-posts-container .related-posts__header {
        flex-direction: column;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text {
        width: 100%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text h2 {
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons a.related-posts__cta {
        width: 100%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons {
        flex-direction: row;
        gap: 1rem;
    }

}

/* Single Blog Post Tablet Landscape Styles */

@media (min-width: 1024px) and (max-width: 1280px) {

    main#blogSingle .single-blog-header {
        padding-bottom: 2rem;
        max-height: none;
        flex-shrink: 0;
    }

    main#blogSingle .single-blog-container {
        width: calc(100% - 2rem);
        justify-content: flex-end;
        align-items: flex-start;
    }

    main#blogSingle .single-blog-frame {
        padding: 2rem 0;
    }

    main#blogSingle .single-blog-content h1 {
        font-size: 1.75rem;
        line-height: 140%;
    }

    main#blogSingle .single-blog-content p {
        font-size: 1rem;
        line-height: 150%;
    }

    main#blogSingle .single-body-content h2 {
        font-size: 1.75rem;
    }

    section.single-post-sections {
        padding: 1.5rem 1rem;
    }

    section.newsletter-banner .banner-left h3 {
        font-size: 1.75rem;
    }

    section.newsletter-banner .banner-left p {
        font-size: 1rem;
    }

    section.related-posts {
        padding: 2rem 0 0;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text h2 {
        font-size: 1.75rem;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__text p {
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons a.related-posts__cta {
        width: 100%;
    }

    section.related-posts .related-posts-container .related-posts__header .related-posts__buttons {
        flex-direction: row;
        gap: 1rem;
    }

}

/* Single Blog Post Responsive Styles */

@media (max-width: 1024px) {
    .related-posts-grid {
        padding-bottom: 3rem;
    }

    .related-posts-grid .splide__pagination button {
        width: 1rem;
        height: 1rem;
        color: #D6D6D6;
    }

    .related-posts-grid .splide__pagination button.is-active {
        background-color: #002137;
        transform: scale(1);
    }

    .related-posts-grid .splide__pagination ul.splide__pagination {
        gap: 1rem;
    }
}

/* Blog Comments Styles */

.single-blog-comment .btn-view-comments {
    display: flex;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.75rem 1rem;
    color: #FFFFFF;
    background: #0077C8;
    border: none;
    border-radius: 0;
    cursor: pointer;
}

.single-blog-comments {
    display: flex;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transition: 0.5s ease all;
}

.single-blog-comments.show {
    height: -webkit-calc(auto);
    height: -moz-calc(auto);
    height: calc-size(auto, size);
    opacity: 1;
    visibility: visible;
    transition: 0.5s ease all;
}

.single-blog-comments .post-comments {
    padding: 1.5rem;
    border: 1px solid #D8D8D8;
}

.single-blog-comments .post-comments .comments-area {
    display: flex;
    flex-direction: column;
}

.single-blog-comments .post-comments .comments-area h2 {
    font-size: 1.25rem;
    margin: 0 0 1rem;
    text-transform: none;
}

.single-blog-comments .post-comments .comments-area p {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.single-blog-comments .post-comments .comments-area ol.comment-list {
    margin: 0 0 20px;
    padding: 0;
    list-style-type: none;
}

.single-blog-comments .post-comments .comments-area ol.comment-list ol.children {
    list-style-type: none;
    margin: 1rem 0 0 0;
    padding: 0 0 0 20px;
    border-left: 5px solid #CCCCCC;
}

.single-blog-comments .post-comments .comment-body .reply a {
    padding: 0.5rem 2rem;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    border: 1px solid #0B112B;
    color: #0B112B;
    position: relative;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
}

.single-blog-comments .post-comments .comment-meta .comment-author {
    text-transform: none;
    display: flex;
    flex-direction: row;
    gap: 0.25rem;
    align-items: center;
}

.single-blog-comments .post-comments .comment-meta .comment-metadata a {
    color: #747474;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.75rem;
    border-bottom: none;
    margin-top: 0;
    margin-bottom: 10px;
    display: inline-block;
}

.single-blog-comments .post-comments .comment-form input[type="text"],
.single-blog-comments .post-comments .comment-form input[type="email"],
.single-blog-comments .post-comments .comment-form input[type="checkbox"],
.single-blog-comments .post-comments .comment-form textarea {
    font-family: 'Roboto', Arial, sans-serif;
    border-radius: 0;
    border: 1px solid #dddddd;
    background: #FAFAFA;
    color: #666666;
}

.single-blog-comments .post-comments .comment-form input:focus,
.single-blog-comments .post-comments .comment-form textarea:focus {
    outline: none;
    border: 1px dashed #7e7e7e;
    color: #212121;
}

.single-blog-comments .post-comments .comment-form input[type="submit"] {
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 700;
    padding: 1rem 2.5rem;
    background: #0F163B;
    border-radius: 0;
    color: #FFFFFF;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
    cursor: pointer;
}

/*** Author Styles ***/

body.author h2 {
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    position: relative;
    margin: 0;
}

body.author h2:after {
    content: '';
    width: 4.5rem;
    height: 0.375rem;
    background: #0077C8;
    margin-top: 0.5rem;
    display: block;
}

main#author>section {
    margin-bottom: 2rem;
}

div.author-container {
    width: calc(100% - 2rem);
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
}

section.author-bio div.author-container>div {
    flex: 1 0 50%;
}

section.author-bio div.author-container>.author-bio-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    background: #FFFFFF;
    padding: 1.5rem 2rem;
    gap: 0.5rem;
}

section.author-bio div.author-container>.author-bio-info h1 {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: none;
    margin: 0;
}

section.author-bio div.author-container>.author-bio-info>span.author-job-title {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: #0077C8;
}

section.author-bio div.author-container>.author-bio-info h3 {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: none;
}

section.author-bio div.author-container>.author-bio-info p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

section.author-bio div.author-container>.author-bio-info div.social-info {
    display: flex;
    padding: 1rem 1.5rem;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    background: #dcf1ff;
    margin-top: 2rem;
}

section.author-bio div.author-container>.author-bio-info div.social-info .social-text strong {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
}

section.author-bio div.author-container>.author-bio-info div.social-info .social-text p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.9rem;
    font-style: normal;
    line-height: 150%;
}

section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials {
    margin: 0;
}

section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials {
    display: flex;
    gap: 0.5rem;
}

section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials>li {
    display: inline-flex;
}

section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials>li>a {
    display: inline-flex;
    padding: 0.25rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
    border-radius: 50%;
}

section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials>li>a>svg {
    width: 1.25rem;
    fill: #0077C8;
}

section.author-bio div.author-container>.author-photo {
    background: #F4FBFF;
}

section.author-bio div.author-container>.author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Preferred Cruise Line & Favourite Destination */

section.author-preferences .author-container {
    flex-direction: column;
    gap: 1rem;
}

section.author-preferences div.preferred-cruise-line,
section.author-preferences div.favourite-destination {
    display: flex;
    padding: 2rem 2rem 2rem 4.0625rem;
    justify-content: center;
    align-items: center;
    gap: 2.625rem;
    align-self: stretch;
    background: #dcf1ff;
}

section.author-preferences div.preferred-cruise-line div.pcl-content,
section.author-preferences div.favourite-destination div.fd-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
}

section.author-preferences div.preferred-cruise-line div.pcl-content h3,
section.author-preferences div.favourite-destination div.fd-content h3 {
    width: 21rem;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    margin: 0;
}

section.author-preferences div.preferred-cruise-line div.pcl-content p,
section.author-preferences div.favourite-destination div.fd-content p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

section.author-preferences div.preferred-cruise-line div.pcl-content a.pcl-btn,
section.author-preferences div.favourite-destination div.fd-content a.fd-btn {
    display: flex;
    width: 16rem;
    padding: 0.75rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
}

section.author-preferences div.preferred-cruise-line a.pcl-image,
section.author-preferences div.favourite-destination a.fd-image {
    width: 48.75rem;
    height: 26.625rem;
    overflow: hidden;
    position: relative;
}

section.author-preferences div.preferred-cruise-line a.pcl-image img,
section.author-preferences div.favourite-destination a.fd-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.author-preferences div.preferred-cruise-line a.pcl-image figcaption,
section.author-preferences div.favourite-destination a.fd-image figcaption {
    display: flex;
    padding: 0.5rem 1rem;
    justify-content: center;
    color: #FFFFFF;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    border: 0.5px solid rgba(255, 255, 255, 0.23);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    z-index: 10;
}

section.author-preferences div.preferred-cruise-line a.pcl-image figcaption svg,
section.author-preferences div.favourite-destination a.fd-image figcaption svg {
    width: 20px;
    height: 20px;
    fill: #FFFFFF;
}

/* Popular Author Blog Posts */

section.author-popular .author-container {
    flex-direction: column;
    gap: 1rem;
}

section.author-popular .author-container .section-header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

section.author-popular .author-container .author-popular-posts-grid {
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: space-between;
    gap: 1rem;
}

section.author-popular .author-container .author-popular-posts-grid .post-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

section.author-popular .author-container .author-popular-posts-grid .post-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

section.author-popular .author-container .author-popular-posts-grid .post-card a.post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content a.post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}


section.author-popular .author-container .author-popular-posts-grid .post-card .post-content h3 {
    font-family: "Open Sans";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-meta {
    display: flex;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-author,
section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-readtime,
section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-date {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-author a {
    color: #7B7B7B;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

section.author-popular .author-container .author-popular__actions {
    display: flex;
    align-content: center;
    justify-content: center;
    padding: 1rem 0 2rem;
    gap: 1rem;
}

section.author-popular .author-container .author-popular__actions button#author-popular-load {
    display: flex;
    width: 16rem;
    padding: 1rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0;
    border: none;
    background: #0F163B;
    cursor: pointer;
}

section.author-popular .author-container .author-popular__actions button#author-popular-collapse {
    display: flex;
    width: 16rem;
    padding: 1rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0;
    border: none;
    background: #103A5A;
    cursor: pointer;
}

/* Author Top Destination Picks */

section.author-top-destinations .author-container {
    flex-direction: column;
    gap: 1rem;
}

section.author-top-destinations .author-container .section-header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}


section.author-top-destinations .author-container section.top-destinations .td-grid .td-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card a.td-thumb {
    display: flex;
    height: 18.75rem;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card a.td-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card .td-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card .td-content h3 {
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    color: #0F163B;
    margin: 0;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card .td-content p {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

section.author-top-destinations .author-container section.top-destinations .td-grid .td-card .td-content .td-btn {
    display: flex;
    padding: 0.75rem 1.5rem;
    justify-content: center;
    font-weight: 600;
    align-items: center;
    gap: 0.5rem;
    background: #0F163B;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
}

/* Author Mobile Styles */

@media (max-width: 568px) {

    body.author h2 {
        font-size: 1.5rem;
    }

    section.author-bio .author-container {
        flex-direction: column;
    }

    section.author-bio div.author-container>.author-bio-info {
        padding: 1rem;
        gap: 0;
    }

    section.author-bio div.author-container>.author-bio-info div.social-info {
        flex-direction: column;
        padding: 1rem;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials {
        padding: 0;
    }

    section.author-preferences .author-container {
        padding: 0 1rem;
    }

    section.author-preferences div.preferred-cruise-line,
    section.author-preferences div.favourite-destination {
        flex-direction: column;
        padding: 1rem;
        overflow: hidden;
        gap: 0;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content,
    section.author-preferences div.favourite-destination div.fd-content {
        width: 100%;
        padding: 0 0 1rem;
        gap: 0.5rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content h3,
    section.author-preferences div.favourite-destination div.fd-content h3 {
        font-size: 1.25rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content p,
    section.author-preferences div.favourite-destination div.fd-content p {
        font-size: 1rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content a.pcl-btn,
    section.author-preferences div.favourite-destination div.fd-content a.fd-btn {
        width: 100%;
        font-size: 0.95rem;
    }

    section.author-preferences div.preferred-cruise-line a.pcl-image,
    section.author-preferences div.favourite-destination a.fd-image {
        width: 100%;
        height: 26.625rem;
    }

    section.author-popular .author-container {
        padding: 0 1rem;
    }

    section.author-popular .author-container .author-popular-posts-grid {
        display: flex;
        flex-direction: column;
    }

    section.author-popular .author-container .author-popular-posts-grid .post-card .post-content h3 {
        font-size: 1.25rem;
    }

    section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-meta {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    section.author-popular .author-container .author-popular__actions {
        flex-direction: column;
    }

    section.author-popular .author-container .author-popular__actions button#author-popular-load,
    section.author-popular .author-container .author-popular__actions button#author-popular-collapse {
        width: 100%;
    }

    section.author-top-destinations .author-container {
        width: calc(100% - 2rem);
    }

}

/* Author Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 1023px) {

    body.author h2 {
        font-size: 1.5rem;
    }

    section.author-bio .author-container {
        flex-direction: column;
    }

    section.author-bio div.author-container>.author-bio-info {
        padding: 1rem;
        gap: 0;
    }

    section.author-bio div.author-container>.author-bio-info div.social-info {
        flex-direction: column;
        padding: 1rem;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 1rem;
    }

    section.author-bio div.author-container>.author-bio-info div.social-info ul.author-socials {
        padding: 0;
    }

    section.author-preferences .author-container {
        padding: 0 1rem;
    }

    section.author-preferences div.preferred-cruise-line,
    section.author-preferences div.favourite-destination {
        flex-direction: column;
        padding: 1rem;
        overflow: hidden;
        gap: 0;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content,
    section.author-preferences div.favourite-destination div.fd-content {
        width: 100%;
        padding: 0 0 1rem;
        gap: 0.5rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content h3,
    section.author-preferences div.favourite-destination div.fd-content h3 {
        font-size: 1.25rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content p,
    section.author-preferences div.favourite-destination div.fd-content p {
        font-size: 1rem;
    }

    section.author-preferences div.preferred-cruise-line div.pcl-content a.pcl-btn,
    section.author-preferences div.favourite-destination div.fd-content a.fd-btn {
        width: 100%;
        font-size: 0.95rem;
    }

    section.author-preferences div.preferred-cruise-line a.pcl-image,
    section.author-preferences div.favourite-destination a.fd-image {
        width: 100%;
        height: 26.625rem;
    }

    section.author-popular .author-container {
        padding: 0 1rem;
    }

    section.author-popular .author-container .author-popular-posts-grid .post-card .post-content h3 {
        font-size: 1.25rem;
    }

    section.author-popular .author-container .author-popular-posts-grid .post-card .post-content .post-meta {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    section.author-popular .author-container .author-popular__actions {
        flex-direction: column;
    }

    section.author-popular .author-container .author-popular__actions button#author-popular-load,
    section.author-popular .author-container .author-popular__actions button#author-popular-collapse {
        width: 100%;
    }

    section.author-top-destinations .author-container {
        width: calc(100% - 2rem);
    }

}

@media (max-width: 1024px) {
    section.author-top-destinations .author-container .td-grid {
        padding-bottom: 3rem;
    }

    section.author-top-destinations .author-container .td-grid .splide__pagination button {
        width: 1rem;
        height: 1rem;
        color: #D6D6D6;
    }

    section.author-top-destinations .author-container .td-grid button.is-active {
        background-color: #002137;
        transform: scale(1);
    }

    section.author-top-destinations .author-container .td-grid ul.splide__pagination {
        gap: 1rem;
    }
}

/*** Archive Styles ***/

main#blogArchive>section {
    margin: 1rem;
}

.archive-header .single-blog-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.archive-header .single-blog-content h1 {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
}

.archive-header .single-blog-content p {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
}

.archive-header .single-breadcrumb .breadcrumb_linked {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    color: #212121;
}

.archive-header .single-breadcrumb .breadcrumb_linked a {
    display: flex;
    gap: 0.25rem;
    color: #212121;
}

.archive-header .single-breadcrumb .breadcrumb_linked svg {
    width: 1rem;
    fill: #212121;
}

.archive-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section#archive div.post-grid {
    display: flex;
    flex-direction: column;
}

section#archive div.post-grid {
    display: grid;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    grid-template-columns: auto auto auto;
    justify-content: space-between;
    gap: 1rem;
}

section#archive div.post-grid article.post-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

section#archive div.post-grid article.post-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

section#archive div.post-grid article.post-card a.post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section#archive div.post-grid article.post-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

section#archive div.post-grid article.post-card .post-content a.post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

section#archive div.post-grid article.post-card .post-content h3 {
    font-family: "Open Sans";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

section#archive div.post-grid article.post-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

section#archive div.post-grid article.post-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

section#archive div.post-grid article.post-card .post-content .post-meta {
    display: flex;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

section#archive div.post-grid article.post-card .post-content .post-meta .post-author,
section#archive div.post-grid article.post-card .post-content .post-meta .post-readtime,
section#archive div.post-grid article.post-card .post-content .post-meta .post-date {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

section#archive div.post-grid article.post-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
}

section#archive div.post-grid article.post-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

section#archive div.post-grid article.post-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

/* Graceful entrance for newly appended cards */
section.archive-content .post-card.__enter {
    opacity: 0;
    transform: translateY(8px);
}

section.archive-content .post-card.__enter.__in {
    transition: opacity .25s ease, transform .25s ease;
    opacity: 1;
    transform: none;
}

.archive-loader {
    text-align: center;
    padding: 1.5rem 0;
    font-style: italic;
    opacity: .6;
}

@media (prefers-reduced-motion: reduce) {

    .post-card.__enter,
    .post-card.__enter.__in {
        transition: none !important;
    }
}

/* Archive Mobile Styles */

@media (max-width: 568px) {
    section#archive div.post-grid {
        grid-template-columns: auto;
    }
}

/* Archive Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 768px) {
    section#archive div.post-grid {
        grid-template-columns: auto auto;
    }
}

/* Archive Tablet Landscape Styles */

@media (min-width: 1024px) and (max-width: 1280px) {
    section#archive div.post-grid {
        grid-template-columns: auto auto;
    }
}

/*** Most Popular Styles ***/

section#popular {
    margin: 2rem 0;
}

section#popular .archive-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1rem;
}

section#popular .archive-header .head-left {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

section#popular .archive-header .head-right {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
}

section#popular .archive-header h1 {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
}

section#popular .archive-header p {
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0;
}

section#popular .archive-header .single-breadcrumb .breadcrumb_linked {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    color: #212121;
}

section#popular .archive-header .single-breadcrumb .breadcrumb_linked a {
    display: flex;
    gap: 0.25rem;
    color: #212121;
}

section#popular .archive-header .single-breadcrumb .breadcrumb_linked svg {
    width: 1rem;
    fill: #212121;
}

section#popular .archive-container {
    width: calc(100% - 2rem);
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section#popular div.post-grid {
    display: grid;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    grid-template-columns: auto auto auto;
    justify-content: space-between;
    gap: 1rem;
}

section#popular div.post-grid article.post-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
}

section#popular div.post-grid article.post-card a.post-thumb {
    display: flex;
    height: 18.75rem;
}

section#popular div.post-grid article.post-card a.post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section#popular div.post-grid article.post-card .post-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
}

section#popular div.post-grid article.post-card .post-content a.post-category {
    display: flex;
    padding: 0.25rem 0.5rem;
    align-items: flex-start;
    background: #E7F5FF;
    color: #0F163B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    align-self: flex-start;
}

section#popular div.post-grid article.post-card .post-content h3 {
    font-family: "Open Sans";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin: 0;
}

section#popular div.post-grid article.post-card .post-content h3>a {
    text-decoration: none;
    color: #0F163B;
}

section#popular div.post-grid article.post-card .post-content .post-excerpt {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #212121;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

section#popular div.post-grid article.post-card .post-content .post-meta {
    display: flex;
    justify-self: flex-end;
    margin-top: auto;
    gap: 1rem;
}

section#popular div.post-grid article.post-card .post-content .post-meta .post-author,
section#popular div.post-grid article.post-card .post-content .post-meta .post-readtime,
section#popular div.post-grid article.post-card .post-content .post-meta .post-date {
    color: #7B7B7B;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

section#popular div.post-grid article.post-card .post-content .post-meta .post-author a {
    color: #7B7B7B;
}

section#popular div.post-grid article.post-card .post-content .post-meta .post-readtime:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

section#popular div.post-grid article.post-card .post-content .post-meta .post-date:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.2rem;
}

/* Graceful entrance for newly appended cards */
section#popular .post-card.__enter {
    opacity: 0;
    transform: translateY(8px);
}

section#popular .post-card.__enter.__in {
    transition: opacity .25s ease, transform .25s ease;
    opacity: 1;
    transform: none;
}

section#popular .archive-loader {
    text-align: center;
    padding: 1.5rem 0;
    font-style: italic;
    opacity: .6;
}

@media (prefers-reduced-motion: reduce) {

    section#popular .post-card.__enter,
    section#popular .post-card.__enter.__in {
        transition: none !important;
    }
}

/* Most Popular toggle */

section#popular .popular-toggle {
    font-family: 'Roboto', Arial, sans-serif;
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    border: 1.5px solid #0F163B;
    background: #fff;
    overflow: hidden;
}

section#popular .popular-toggle .toggle-pill {
    display: inline-block;
    padding: 10px 14px;
    line-height: 1;
    color: #212121;
    text-decoration: none;
    background: transparent;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
    position: relative;
}

section#popular .popular-toggle .toggle-pill+.toggle-pill {
    border-left: 1.5px solid #0F163B;
}

/* Active state (navy background, white text) */
section#popular .popular-toggle .toggle-pill.is-active {
    background: #0F163B;
    color: #fff;
    font-weight: 600;
}

/* Hover/active */
section#popular .popular-toggle .toggle-pill:hover {
    background: rgba(27, 42, 74, .06);
}

section#popular .popular-toggle .toggle-pill.is-active:hover {
    background: var(--bcc-navy, #0b2b54);
}

/* Focus ring for a11y */
section#popular .popular-toggle .toggle-pill:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #0077c859;
}

/* Optional: compact on small screens */
@media (max-width: 568px) {
    section#popular .popular-toggle {
        border-radius: 6px;
    }

    section#popular .popular-toggle .toggle-pill {
        padding: 9px 12px;
    }
}

/* Archive Mobile Styles */

@media (max-width: 568px) {

    section#popular .archive-header {
        flex-direction: column;
        gap: 1rem;
    }

    section#popular div.post-grid {
        grid-template-columns: auto;
    }
}

/* Archive Tablet Portrait Styles */

@media (min-width: 569px) and (max-width: 768px) {

    section#popular .archive-header {
        flex-direction: column;
        gap: 1rem;
    }

    section#popular div.post-grid {
        grid-template-columns: auto auto;
    }
}

/* Archive Tablet Landscape Styles */

@media (min-width: 1024px) and (max-width: 1280px) {
    section#popular div.post-grid {
        grid-template-columns: auto auto;
    }
}

/*** Miscellaneous Styles ***/

/* Formidable: make checkbox/radio labels wrap neatly beside the control */


.frm_opt_container .frm_checkbox label,
.frm_opt_container .frm_radio label {
    display: flex;
    /* put input + text in two "columns" */
    align-items: flex-start;
    /* align text to the top of the box */
    gap: 0.6rem;
    /* space between box and text */
    white-space: normal;
    /* ensure wrapping works */
    margin: 0;
    /* neutralize any inline-block spacing */
}

/* Keep the control from stretching the row */
.frm_opt_container .frm_checkbox label>input[type="checkbox"],
.frm_opt_container .frm_radio label>input[type="radio"] {
    flex: 0 0 auto;
    /* fixed-size column for the control */
    margin: 0.2rem 0 0 0 !important;
    /* small nudge for visual alignment */
}

/* Optional: improve click target without shifting layout */
.frm_opt_container .frm_checkbox label,
.frm_opt_container .frm_radio label {
    display: flex !important;
    cursor: pointer;
    line-height: 1.4;
}