
sup { font-size: 0.7em; vertical-align: super; line-height: 0; }
sub { font-size: 0.7em; vertical-align: sub; line-height: 0; }

/*==================================================
BLOG LAYOUT
==================================================*/

.news {
    padding: 8rem 0 10rem 0;
}

.news .l-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 5rem;
    align-items: start;
}

.news__main {
    min-width: 0;
}

.news-sidebar {
    position: sticky;
    top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-self: start;
}


/*==================================================
ARTICLE GRID
==================================================*/

.news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
}


/*==================================================
ARTICLE CARD
==================================================*/

.news-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 20px;
    transition: all .35s ease;
}

.news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

.news-card__image {
    display: block;
    position: relative;
    overflow: hidden;
}

.news-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: fill;
    transition: transform .4s ease;
}

.news-card:hover .news-card__image img {
    transform: scale(1.05);
}

.news-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 3rem;
}

.news-card__category {
    display: inline-flex;
    align-self: flex-start;
    padding: .45rem .9rem;
    margin-bottom: 2rem;
    background: #cdf5a2;
    border-radius: 999px;
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0;
}

.news-card__title {
    margin: 0 0 1rem;
    font-size: 3.6rem;
    line-height: 1.2;
}

.news-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color .25s ease;
}

.news-card__title a:hover {
    color: var(--colour-primary);
}

.news-card__excerpt {
    margin-bottom: 2rem;
}

.news-card__footer {
    margin-top: auto;
    padding-top: 1.5rem;
    border-top: 1px solid #ececec;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.8rem;
}

.news-card__footer a {
    text-decoration: none;
}


/*==================================================
FEATURED FIRST ARTICLE
==================================================*/

.news-card--featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1.25fr 1fr;
}

.news-card:first-child .news-card__image {
    height: 100%;
}

.news-card:first-child .news-card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}

.news-card:first-child .news-card__content {
    justify-content: center;
    padding: 4rem;
}

.news-card--featured .news-card__title{
    font-size: clamp(2.8rem, 3vw, 4.4rem);
    line-height: 1.15;
}

.news-card:first-child .news-card__excerpt {
    font-size: 2.125rem;
}


/*==================================================
SINGLE POST LAYOUT
==================================================*/

.single-news-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    gap: 5rem;
    align-items: start;
    margin-top: 7rem;
}

.single-news__main {
    min-width: 0;
}

p#breadcrumbs { background: #f2f9ea; margin: 0; padding: 1.55rem 8rem; font-size: 1.8rem; border-top: 1px solid #85c045; }


/*==================================================
SINGLE ARTICLE
==================================================*/

.single-post {
    background: #fff;
    border-radius: 20px;
}

.single-post__header {
       padding: 6rem 8rem 6rem 8rem;
}

.single-post__header h1 {
    margin: 1.5rem 0 1rem;
    font-size: clamp(3.5rem,5vw,5rem);
    line-height: 1.1;
}

.single-post__date {
    margin: 0;
    font-size: 1.8rem;
    color: #777;
}

.single-post__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.single-post__content {
    padding: 6rem 8rem;
}

.single-post__content p {
     margin-bottom: 3rem;
}

.single-post__content h2,
.single-post__content h3 {
	font-size: 4rem;
    line-height: 4.4rem;
    margin-top: 4rem;
}


/*==================================================
RELATED POSTS
==================================================*/

.related-posts {
    margin-top: 6rem;
}

.related-posts > h2 {
    margin-bottom: 3rem;
    font-size: 4rem;
}

.related-posts .news-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 3rem;
    width: 100%;
}

/* Remove featured layout inside related posts */

.related-posts .news-card:first-child {
    grid-column: auto;
    display: flex;
}

.related-posts .news-card:first-child .news-card__image {
    height: auto;
}

.related-posts .news-card:first-child .news-card__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
}

.related-posts .news-card:first-child .news-card__content {
    padding: 3rem;
}

.related-posts .news-card:first-child .news-card__title {
    font-size: 3rem;
    line-height: 1.25;
}

.related-posts .news-card:first-child .news-card__excerpt {
    display: none;
}


/*==================================================
FULL WIDTH ABOUT FEATURE
==================================================*/

.sidebar-card.single-about {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 4rem;
    align-items: center;
    margin: 6rem 0 10rem;
    padding: 5rem;
}

.single-about__image {
    height: 100%;
}

.single-about__image img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    border-radius: 20px;
}

.single-about__content h3 {
    margin: 0 0 1.5rem;
}

.single-about__content p {
    margin-bottom: 1.5rem;
}

.single-about__buttons {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 2.5rem;
}

/*==================================================
SIDEBAR
==================================================*/

.news-sidebar {
    position: sticky;
    top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-self: start;
}

.sidebar-card {
    width: 100%;
    padding: 3.75rem;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 20px;
}

.sidebar-card__title {
    margin-bottom: 1.5rem;
}

.sidebar-card.sidebar-categories li {
    margin-bottom: .5rem;
    margin-top: .5rem;
}

/*==================================================
ABOUT
==================================================*/

.news-sidebar .sidebar-about {
    text-align: center;
}

.news-sidebar .sidebar-about img {
    width: 110px;
    height: 110px;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    object-fit: cover;
}

.news-sidebar .sidebar-about p {
    margin: 1rem 0 2rem;
    font-size: 2rem;
    line-height: 2.4rem;
}


/*==================================================
CATEGORIES
==================================================*/

.sidebar-categories ul {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-categories li.active {

        text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 65px;
    padding: 1.25rem 2.5rem;
    background: #2c75b8;
    border: 1px solid #b7bbaf;
    border-radius: 16px;
    color: #FFF;
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 2.4rem;
    text-decoration: none;
    transition: .3s ease;
}

.sidebar-categories a {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 65px;
    padding: 1.25rem 2.5rem;
    background: #7BC043;
    border: 1px solid #b7bbaf;
    border-radius: 16px;
    color: #FFF;
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 2.4rem;
    text-decoration: none;
    transition: .3s ease;
    height: 100%;
}

.sidebar-categories a:hover, .sidebar-categories a:focus {
    background: #2c75b8;
    color: #FFF;
    transition: all .5s;
}

.sidebar-categories h3 + span { font-size: 1.6rem; color: #777; display: block; line-height: 2rem; margin-bottom: 1rem; }
.sidebar-categories hr { margin: 1.5rem 0; border-top: 1px dashed #c6ccd1; }


/*==================================================
POPULAR POSTS
==================================================*/

.latest-posts {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2.5rem;
}


.latest-post {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 1rem;
    padding-bottom: 2rem;
}

.latest-post:not(:last-child) {
    border-bottom: 1px dashed #b0bac3;
}

.latest-post__image img {
    display: block;
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 12px;
}

.latest-post__title {
    margin: 0 0 .4rem;
    line-height: 1.2;
    font-size: 2rem;
}

.latest-post__title a {
    color: inherit;
    text-decoration: none;
    transition: color .25s ease;
}

.latest-post__title a:hover {
    color:#7BC043;
}

.latest-post__date {
    font-size: 1.6rem;
    color: #777;
}


/*==================================================
CTA
==================================================*/

.sidebar-cta h3 {
    margin-bottom: 1rem;
}

.sidebar-cta p {
    margin-bottom: 2rem;
}

.sidebar-cta .btn {
    width: 100%;
    font-size: 1.8rem;
}

/*==================================================
RESPONSIVE
==================================================*/

@media (max-width:1100px) {

    .news .l-container,
    .single-news-layout {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .news-sidebar {
        position: static;
    }

    .related-posts .news-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .sidebar-card.single-about {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding: 3rem;
    }

    .single-about__image img {
        min-height: 240px;
    }

}


@media (max-width:768px) {

    .news {
        padding: 4rem 0;
    }

    .news-grid,
    .related-posts .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card:first-child {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .news-card:first-child .news-card__image {
        height: auto;
    }

    .news-card:first-child .news-card__image img {
        aspect-ratio: 16 / 10;
        height: auto;
    }

    .news-card:first-child .news-card__content {
        padding: 3rem;
    }

    .single-post__header,
    .single-post__content {
        padding: 2.5rem;
    }

    .sidebar-card.single-about {
        grid-template-columns: 1fr;
        padding: 2rem;
        gap: 2rem;
        margin: 4rem 0 6rem;
    }

    .single-about__image img {
        min-height: 220px;
    }

    .sidebar-categories ul {
        grid-template-columns: 1fr;
    }

}


/*==================================================
READER TESTIMONIAL
==================================================*/

.wp-block-quote {
    position: relative;
    margin: 4rem 0;
    padding: 6rem 6rem 4.5rem;
    background: #e3ecf3;
    border: 1px solid #E5ECE7;
    border-radius: 24px;
    overflow: visible;
}

.wp-block-quote::before {
    content: "❝";
    position: absolute;
    top: 1rem;
    left: 2rem;
    font-size: 7rem;
    line-height: 1;
    color: #1b466c;
    opacity: .25;
}

.wp-block-quote p {
    margin: 0;
    font-size: clamp(1.45rem,2vw,1.8rem);
    line-height: 1.75;
    color: #1F2B22;
    font-style: normal;
}

.wp-block-quote cite {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid #E5ECE7;
    font-style: normal;
    font-size: 1rem;
    font-weight: 700;
    color: #537E59;
}

.wp-block-quote cite::before {
    content: "ST";
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #537E59;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.wp-block-quote cite span {
    display: block;
    margin-top: .35rem;
    font-size: .95rem;
    font-weight: 400;
    color: #6A736C;
}

@media (max-width:768px) {

    .wp-block-quote {
        padding: 3rem 2rem 2rem;
    }

    .wp-block-quote p {
        font-size: 1.3rem;
    }

}