/*
Theme Name: IWHQ Vanilla
Theme URI: http://www.irishwebsitehq.com
Description: IWHQ Vanilla
Version: 1
Author: Mark O'Leary
Author URI: http://www.irishwebsitehq.com
*/



/* ================ GENERAL RULES ======================= */
body {
font-size:14px;
font-family:'Open Sans';
}

body.not-home {
    background-color: #fbfbf9;
}

/* Headings
================================================== */
h1, h2, h3, h6,
.h1, .h2, .h3, .h6 {
    font-family: "Playfair Display", serif;
    font-weight: 600;
}

h4, h5,
.h4, .h5 {
    font-family: "Open Sans", sans-serif;
}

h5,
.h5 {
    font-weight: 600;
}

h1 { font-size: 42px; }

/* Page h1 (not home) */
body.not-home h1,
body.not-home .h1 {
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

body.not-home h1::after,
body.not-home .h1::after {
    content: "";
    display: block;
    width: 6rem;
    height: 4px;
    margin: 1.5rem 0 2rem;
    background-color: hsl(115, 42%, 52%);
}

h2 { font-size: 32px; }
h3 { font-size: 24px; }
h4,
.h4 {
    font-size: 21px;
    font-weight: 500;
    margin: 32px 64px;
}

a:hover{
    color: #1F3A5F;
}

/* ================ RESPONSIVE IMAGES ======================= */
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
}

/* ================ CONTAINERS ======================= */
@media screen and (max-width: 767px) {
    .container,
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        --bs-gutter-x: 3.5rem;
    }
}

/* ================ LINKS ======================= */
a{
	outline: 0;
}

/* ================ HEADER ======================= */
#top{
    background-color:#4C4C4C;
    height:44px;
    color:#fff;
    font-weight:600;

}

#top .social{
   float:right;
    padding-top:8px;
}

#top .contact{
    padding-top:10px;
}

#top .contact img{
    margin: 0 6px 0 12px;
    vertical-align: middle;
}

#top a{
    color:#fff;
    text-decoration: none;
}

header {
    border-bottom: 1px solid #e5f2e3;
}



/* Logo
================================================== */
#logo {
    height: 120px;
    margin: 10px 0;
}

.logo-nav h2,
.logo-nav a {
    text-decoration: none;
    padding: 21px 0;
    color: rgb(83, 163, 69);
}

/* Navigation
================================================== */
nav {
    float: right;
    margin-right: 0;
    padding-top: 55px;
    position: relative;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav > ul > li {
    position: relative;
    float: left;
}

nav > ul > li > a {
    padding: 10px 15px;
    text-decoration: none;
}

nav > ul > li > a:hover, nav li a:active {
    background-color: transparent;
    text-decoration: none;
}

nav ul li {
    display: inline-block;
}

nav ul > li a {
    display: block;
    padding: 5px 10px;
    color: #71716f;
    font-size: 15px;
}

.menu-item-has-children {
    padding-right: 24px;
    background: url(images/arrow-down.png) no-repeat right 12px center;
}





nav ul.sub-menu {
    position: absolute;
    padding: 8px;
    left: 0;
    width: 240px;
    background: #53a345;
    display: none;
    z-index: 300;
}

nav ul.sub-menu > li {
    text-align: left;
    vertical-align: top;
    display: block;
}

nav ul.sub-menu > li a {
    padding: 6px 9px 9px;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #8fbf85;
}

nav ul.sub-menu > li:last-child a {
    border: none;
}

nav ul > li:hover ul.sub-menu {
    display: inline-block;
}

nav ul > li a:hover {
    background-color: transparent;
}

/* ================ HERO ======================= */
.hero {
    position: relative;
    width: 100%;
    min-height: 360px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: rgba(83, 163, 69, 0.5);
    background-color: color-mix(in oklab, hsl(152.4, 39.7%, 24.7%) 50%, transparent);
    pointer-events: none;
}

.hero__overlay-gradient {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(
        to bottom,
        hsla(152.4, 39.7%, 24.7%, 0.85),
        hsla(152.4, 39.7%, 24.7%, 0.6),
        hsla(152.4, 39.7%, 24.7%, 0.35)
    );
    pointer-events: none;
}

.hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 3rem 1rem;
}

.hero__content {
    max-width: 56rem;
    margin: 0 auto;
    padding-top: 2rem;
    text-align: center;
    color: hsl(60, 20%, 98%);
}

/* Erasmus+ badge (h5 in hero_content) */
.hero__content h5 {
    display: inline-block;
    margin: 0 0 1.5rem;
    padding: 0.375rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    text-transform: none;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 9999px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    text-shadow: none;
}

.hero__content > p:first-child,
.hero__content .hero-badge {
    display: inline-block;
    margin: 0 0 1.5rem;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 9999px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    text-shadow: none;
}

.hero__content h1 {
    margin: 0 0 1.5rem;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.hero__content h2 {
    font-size: inherit;
    text-align: inherit;
    color: #fff;
    margin: 0 0 1rem;
    padding: 0;
    border: none;
}

.hero__content h2::after {
    display: none;
}

.hero__content h3,
.hero__content h4,
.hero__content h6 {
    color: #fff;
}

/* Lead paragraph (subtitle under h1) */
.hero__content > p:not(:first-child) {
    max-width: 48rem;
    margin: 0 auto 2.5rem;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
    font-weight: 300;
    line-height: 1.6;
    color: hsla(60, 20%, 98%, 0.9);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.hero__content > p:only-child {
    margin-bottom: 0;
}

/* Button row */
.hero__content .wp-block-buttons,
.hero__content .hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.hero__content .wp-block-button {
    margin: 0;
}

.hero__content .wp-block-button__link,
.hero__content a.button,
.hero__content a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 2rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    border-radius: 0.5rem;
    text-shadow: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hero__content .wp-block-buttons > .wp-block-button:first-child .wp-block-button__link,
.hero__content a.button-primary,
.hero__content a.button--primary {
    background: #fff;
    color: rgb(83, 163, 69);
    border: 1px solid #fff;
}

.hero__content .wp-block-buttons > .wp-block-button:first-child .wp-block-button__link:hover,
.hero__content a.button-primary:hover,
.hero__content a.button--primary:hover {
    background: rgba(255, 255, 255, 0.9);
    color: rgb(83, 163, 69);
}

.hero__content .wp-block-buttons > .wp-block-button:last-child .wp-block-button__link,
.hero__content .wp-block-button.is-style-outline .wp-block-button__link,
.hero__content a.button-outline,
.hero__content a.button--outline {
    background: transparent;
    color: #fff;
    border: 1px solid #fff;
}

.hero__content .wp-block-buttons > .wp-block-button:last-child .wp-block-button__link:hover,
.hero__content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hero__content a.button-outline:hover,
.hero__content a.button--outline:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.hero__content > p:last-child:has(a) {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-top: 0;
    max-width: none;
    font-size: 1rem;
    font-weight: 600;
}

.hero__content > p:last-child a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 2rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0.5rem;
    text-shadow: none;
}

.hero__content > p:last-child a:first-of-type {
    background: #fff;
    color: rgb(83, 163, 69);
}

.hero__content > p:last-child a:last-of-type:not(:only-of-type) {
    background: transparent;
    color: #fff;
    border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
    .hero {
        height: 640px;
        min-height: 640px;
    }

    .hero__inner {
        padding: 0 1rem;
    }

    .hero__content {
        padding-top: 5rem;
    }
}

/* ================ SECTION H2 (outside hero) ======================= */
#presentation h2,
#objectives h2,
#who-we-serve h2,
#activities h2,
main h2,
#content h2,
.page h2,
.single h2,
.posts article > h2 {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.875rem, 4vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: rgb(83, 163, 69) !important;
    margin: 0 auto 1.5rem;
    padding: 0;
    border: none;
}

#presentation h2::after,
#objectives h2::after,
#who-we-serve h2::after,
#activities h2::after,
main h2::after,
#content h2::after,
.page h2::after,
.single h2::after,
.posts article > h2::after {
    content: "";
    display: block;
    width: 6rem;
    height: 4px;
    margin: 1.5rem auto 2rem;
    background-color: hsl(115, 38%, 48%);
}

/* ================ PRESENTATION ======================= */
#presentation,
.presentation {
    background-color: hsl(60, 20%, 98%);
    padding: 6rem 0;
    text-align: center;
}

.presentation__inner {
    max-width: 64rem;
    margin: 0 auto;
}

#presentation p,
.presentation__inner p {
    font-family: "Open Sans", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.6;
    color: #666;
    margin: 0 auto 1rem;
    text-align: center;
}

#presentation p:last-child,
.presentation__inner p:last-child {
    margin-bottom: 0;
}

#presentation a,
.presentation__inner a {
    color: hsl(152, 40%, 25%);
}

/* ================ OBJECTIVES ======================= */
#objectives,
.objectives {
    background-color: #f7f5f1;
    padding: 6rem 0;
}

.objectives__row {
    row-gap: 3rem;
}

#objectives h2,
.objectives__heading {
    text-align: left;
}

#objectives h2::after {
    margin-left: 0;
    margin-right: auto;
}

.objectives__heading {
    margin-bottom: 2.5rem;
}

.objectives__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.objectives__item {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 2rem;
}

.objectives__item:last-child {
    margin-bottom: 0;
}

.objectives__icon-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.85);
}

.objectives__icon-wrap img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}

.objectives__text {
    flex: 1;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
}

.objectives__text > *:first-child {
    margin-top: 0;
}

.objectives__text > *:last-child {
    margin-bottom: 0;
}

.objectives__text h3,
.objectives__text h4,
.objectives__text strong {
    display: block;
    margin-bottom: 0.35rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: rgb(83, 163, 69) !important;
}

.objectives__text h3::after,
.objectives__text h4::after,
.objectives__text strong::after {
    display: none;
}

.objectives__text p {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    color: #666;
}

.objectives__photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1.25rem;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

@media screen and (max-width: 991px) {
    .objectives__media {
        order: -1;
    }
}

/* ================ WHO WE SERVE ======================= */
#who-we-serve,
.who-we-serve {
    background-color: #2E5B27;
    padding: 6rem 0;
    text-align: center;
}

#who-we-serve h2,
.who-we-serve__heading {
    color: #fff !important;
    text-align: center;
    margin-bottom: 0;
}

.who-we-serve__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
    text-align: center;
}

.who-we-serve__card {
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 0.75rem;
    padding: 2rem 1.5rem;
}

.who-we-serve__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.25rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
}

.who-we-serve__icon-wrap img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.who-we-serve__text {
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.who-we-serve__text > *:first-child {
    margin-top: 0;
}

.who-we-serve__text > *:last-child {
    margin-bottom: 0;
}

.who-we-serve__text h3,
.who-we-serve__text h4,
.who-we-serve__text strong {
    display: block;
    margin-bottom: 0.75rem;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff !important;
}

.who-we-serve__text h3::after,
.who-we-serve__text h4::after,
.who-we-serve__text strong::after {
    display: none;
}

.who-we-serve__text p {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 991px) {
    .who-we-serve__grid {
        grid-template-columns: 1fr;
        max-width: 24rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .who-we-serve__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ================ ACTIVITIES ======================= */
#activities,
.activities {
    background-color: #fff;
    padding: 6rem 0;
    text-align: center;
}

.activities__inner {
    max-width: 48rem;
    margin: 0 auto;
}

#activities p,
.activities__inner p {
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    color: #666;
    margin: 0 auto 1.5rem;
    text-align: center;
}

#activities p:last-child {
    margin-bottom: 0;
}

#activities strong,
#activities b {
    color: rgb(83, 163, 69);
    font-weight: 700;
}

#activities .wp-block-buttons,
.activities__inner .wp-block-buttons {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: 0;
}

#activities .wp-block-button,
.activities__inner .wp-block-button {
    margin: 0;
}

#activities .wp-block-button__link,
#activities a.button,
#activities a.btn,
.activities__inner .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem 2rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    color: #fff !important;
    background-color: rgb(83, 163, 69);
    border: 1px solid rgb(83, 163, 69);
    border-radius: 0.5rem;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

#activities .wp-block-button__link:hover,
#activities a.button:hover,
#activities a.btn:hover,
.activities__inner .wp-block-button__link:hover {
    background-color: rgb(69, 143, 56);
    border-color: rgb(69, 143, 56);
    color: #fff !important;
}

#activities > .activities__inner > p:last-child a:only-child,
#activities p a.button,
#activities p a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem 2rem;
    margin-top: 1rem;
    font-weight: 600;
    text-decoration: none;
    color: #fff !important;
    background-color: rgb(83, 163, 69);
    border-radius: 0.5rem;
}

/* ================ CONTENT ======================= */

#content{
    padding: 20px 0px 40px;
}

body.not-home #content {
    background-color: #fbfbf9;
}

main{
    padding:40px 0 50px;
    background-color:#f5f5f5;
}

body.not-home main {
    background-color: #fbfbf9;
}

main .intro{
    text-align:center;
    padding-bottom:30px;
}

main .feature{
    background-color:#fff;
}

main .feature.threes{
    text-align:center;
    padding:20px 0;
}

.feature h3{
    border-bottom: 2px solid #eee;
    display: inline-block;
    padding-bottom: 8px;
    font-size: 20px;
}

main .feature.twos{
    padding:20px;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

main .feature.twos img{
    float:left;
    margin-right:30px;
}

/* ================ BLOG ======================= */
.posts article{
    padding:20px;
    background-color:#f9f9f9;
    margin-bottom:20px;
    border:1px solid #ededed;
}

.posts article h2{
    margin-top:5px;
}

/* Footer
================================================== */
.site-footer {
    background-color: #2E5B27;
    color: #fff;
    margin-top: auto;
}

.site-footer__main {
    padding: 3rem 0;
}

.site-footer__row {
    row-gap: 2.5rem;
    margin-right:0; 
}

.site-footer__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.site-footer__title::after {
    display: none;
}

.site-footer__slogan {
    max-width: 28rem;
    margin: 0 0 1.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
}

.site-footer__badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.25rem;
}

.site-footer__heading {
    margin: 0 0 1rem;
    font-family: "Playfair Display", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}

.site-footer__heading::after {
    display: none;
}

.site-footer__menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__menu li {
    margin: 0 0 0.5rem;
    padding: 0;
    border: none;
    list-style: none;
}

.site-footer__menu li:last-child {
    margin-bottom: 0;
}

.site-footer__menu a {
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.15s ease;
}

.site-footer__menu a:hover,
.site-footer__menu a:focus {
    color: #fff;
    text-decoration: none;
}

.site-footer__cta {
    display: inline-block;
    margin-top: 0.25rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-footer__cta:hover,
.site-footer__cta:focus {
    color: #fff;
}

.site-footer__bar {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 2rem 0;
}

.site-footer__bar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-footer__copyright {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
}

.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.site-footer__legal a {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.15s ease;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus {
    color: #fff;
}

@media screen and (max-width: 767px) {
    .site-footer__bar-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__row{
        padding-left:30px;
    }
}

/* ================ PARTNERSHIP PAGE ======================= */
.partnership-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.partnership-page__header {
    margin-bottom: 3rem;
}

.partnership-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.partnership-page__intro > *:first-child {
    margin-top: 0;
}

.partnership-page__intro > *:last-child {
    margin-bottom: 0;
}

.partnership-page__intro p {
    margin-bottom: 1rem;
}

.partners__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.partner-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

a.partner-card:hover,
a.partner-card:focus-visible {
    border-color: hsl(115, 30%, 75%);
    box-shadow: 0 4px 12px rgba(83, 163, 69, 0.08);
}

.partner-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.partner-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 90px;
    margin-bottom: 2.5rem;
}

.partner-card__image {
    display: block;
    width: auto;
    height: auto;
    max-width: 80%;
    max-height: 120px;
    object-fit: contain;
}

.partner-card__globe {
    color: rgb(83, 163, 69);
}

.partner-card__type {
    margin: 0 0 0.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: hsl(115, 38%, 48%);
}

.partner-card__title {
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    color: rgb(0, 0, 0) !important;
}

.partner-card__title::after {
    display: none;
}

.partner-card__excerpt {
    margin: 0 0 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #666;
}

.partner-card__country {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: auto 0 0;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: hsl(115, 42%, 52%);
}

.partner-card__pin {
    flex-shrink: 0;
    color: rgb(83, 163, 69);
}

@media screen and (max-width: 991px) {
    .partners__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partnership-page__intro {
        max-width: none;
    }
}

@media screen and (max-width: 575px) {
    .partners__grid {
        grid-template-columns: 1fr;
    }
}

.partner-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.partner-single__main {
    min-width: 0;
}

.partner-single__header {
    margin-bottom: 0;
}

.partner-single__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.partner-single__heading-text {
    flex: 1;
    min-width: 0;
}

.partner-single__logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-end;
    max-width: 240px;
}

.partner-single__logo-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 240px;
    max-height: 120px;
    object-fit: contain;
}

.partner-single__title {
    text-align: left;
}

.partner-single__country {
    justify-content: flex-start;
    margin: 0;
}

.partner-single__content {
    max-width: none;
}

.partner-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.partner-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.partner-sidebar__nav ul {
    float: none;
}

.partner-sidebar__nav ul li,
.partner-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.partner-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.partner-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.partner-sidebar__title::after {
    display: none;
}

.partner-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.partner-sidebar__list-item + .partner-sidebar__list-item {
    margin-top: 0.25rem;
}

.partner-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.partner-sidebar__item:hover,
.partner-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.partner-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.partner-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.partner-sidebar__globe {
    color: rgb(83, 163, 69);
}

.partner-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.partner-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(0, 0, 0);
}

.partner-sidebar__country {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    color: hsl(115, 42%, 52%);
}

.partner-sidebar__pin {
    flex-shrink: 0;
    color: rgb(83, 163, 69);
}

@media screen and (max-width: 991px) {
    .partner-single__layout {
        grid-template-columns: 1fr;
    }

    .partner-single__sidebar {
        order: 2;
    }
}

@media screen and (max-width: 575px) {
    .partner-single__heading {
        flex-direction: column;
        align-items: stretch;
        gap: 1.25rem;
    }

    .partner-single__heading-text {
        width: 100%;
        max-width: 100%;
        flex: none;
        text-align: left;
    }

    .partner-single__logo {
        align-self: flex-start;
    }
}

/* ================ SINGLE WORKSHOP ======================= */
.workshop-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.workshop-single__main {
    min-width: 0;
}

.workshop-single__header {
    margin-bottom: 0;
}

.workshop-single__title {
    text-align: left;
}

.workshop-single__content {
    max-width: none;
}

.workshop-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.workshop-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.workshop-sidebar__nav ul {
    float: none;
}

.workshop-sidebar__nav ul li,
.workshop-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.workshop-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.workshop-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.workshop-sidebar__title::after {
    display: none;
}

.workshop-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.workshop-sidebar__list-item + .workshop-sidebar__list-item {
    margin-top: 0.25rem;
}

.workshop-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.workshop-sidebar__item:hover,
.workshop-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.workshop-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.workshop-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.workshop-sidebar__materials-icon {
    color: rgb(83, 163, 69);
}

.workshop-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.workshop-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.workshop-sidebar__excerpt {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

@media screen and (max-width: 991px) {
    .workshop-single__layout {
        grid-template-columns: 1fr;
    }

    .workshop-single__sidebar {
        order: 2;
    }
}

/* ================ SINGLE NEWSLETTER ======================= */
.newsletter-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.newsletter-single__main {
    min-width: 0;
}

.newsletter-single__header {
    margin-bottom: 0;
}

.newsletter-single__date {
    margin: 0 0 0.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    color: hsl(115, 42%, 52%);
}

.newsletter-single__title {
    text-align: left;
}

.newsletter-single__content {
    max-width: none;
}

.newsletter-single__download {
    display: inline-flex;
    margin-top: 1.5rem;
}

.newsletter-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.newsletter-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.newsletter-sidebar__nav ul {
    float: none;
}

.newsletter-sidebar__nav ul li,
.newsletter-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.newsletter-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.newsletter-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.newsletter-sidebar__title::after {
    display: none;
}

.newsletter-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.newsletter-sidebar__list-item + .newsletter-sidebar__list-item {
    margin-top: 0.25rem;
}

.newsletter-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.newsletter-sidebar__item:hover,
.newsletter-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.newsletter-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.newsletter-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.newsletter-sidebar__mail-icon {
    color: rgb(83, 163, 69);
}

.newsletter-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.newsletter-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.newsletter-sidebar__date {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    color: hsl(115, 42%, 52%);
}

.newsletter-sidebar__excerpt {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

@media screen and (max-width: 991px) {
    .newsletter-single__layout {
        grid-template-columns: 1fr;
    }

    .newsletter-single__sidebar {
        order: 2;
    }
}

/* ================ SINGLE NEWS (single.php) ======================= */
.news-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.news-single__main {
    min-width: 0;
}

.news-single__header {
    margin-bottom: 0;
}

.news-single__date {
    margin: 0 0 0.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    color: #666;
}

.news-single__title {
    text-align: left;
}

.news-single__image-wrap {
    margin: 0 0 1.5rem;
    max-width: 100%;
    border-radius: 0.75rem;
    overflow: hidden;
}

.news-single__image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.news-single__content {
    max-width: none;
}

.news-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.news-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.news-sidebar__nav ul {
    float: none;
}

.news-sidebar__nav ul li,
.news-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.news-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.news-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.news-sidebar__title::after {
    display: none;
}

.news-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-sidebar__list-item + .news-sidebar__list-item {
    margin-top: 0.25rem;
}

.news-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.news-sidebar__item:hover,
.news-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.news-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.news-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.news-sidebar__thumb {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.news-sidebar__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.news-sidebar__news-icon {
    color: rgb(83, 163, 69);
}

.news-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.news-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.news-sidebar__date {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    color: hsl(115, 42%, 52%);
}

.news-sidebar__excerpt {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

@media screen and (max-width: 991px) {
    .news-single__layout {
        grid-template-columns: 1fr;
    }

    .news-single__sidebar {
        order: 2;
    }
}

/* ================ SINGLE CHAMPION ======================= */
.champion-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.champion-single__main {
    min-width: 0;
}

.champion-single__header {
    margin-bottom: 0;
}

.champion-single__title {
    text-align: left;
}

.champion-single__university {
    margin: 0 0 1.5rem;
}

.champion-single__image-wrap {
    margin: 0 0 1.5rem;
    max-width: 24rem;
    border-radius: 0.75rem;
    overflow: hidden;
}

.champion-single__image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.champion-single__content {
    max-width: none;
}

.champion-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.champion-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.champion-sidebar__nav ul {
    float: none;
}

.champion-sidebar__nav ul li,
.champion-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.champion-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.champion-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.champion-sidebar__title::after {
    display: none;
}

.champion-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.champion-sidebar__list-item + .champion-sidebar__list-item {
    margin-top: 0.25rem;
}

.champion-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.champion-sidebar__item:hover,
.champion-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.champion-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.champion-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    border-radius: 50%;
    background-color: #f7f5f1;
}

.champion-sidebar__thumb {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.champion-sidebar__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.champion-sidebar__person-icon {
    color: rgb(83, 163, 69);
}

.champion-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.champion-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.champion-sidebar__university {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

@media screen and (max-width: 991px) {
    .champion-single__layout {
        grid-template-columns: 1fr;
    }

    .champion-single__sidebar {
        order: 2;
    }
}

/* ================ SINGLE INITIATIVE ======================= */
.initiative-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.initiative-single__main {
    min-width: 0;
}

.initiative-single__header {
    margin-bottom: 0;
}

.initiative-single__title {
    text-align: left;
}

.initiative-single__image-wrap {
    margin: 0 0 1.5rem;
    max-width: 100%;
    border-radius: 0.75rem;
    overflow: hidden;
}

.initiative-single__image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.initiative-single__content {
    max-width: none;
}

.initiative-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.initiative-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.initiative-sidebar__nav ul {
    float: none;
}

.initiative-sidebar__nav ul li,
.initiative-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.initiative-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.initiative-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.initiative-sidebar__title::after {
    display: none;
}

.initiative-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.initiative-sidebar__list-item + .initiative-sidebar__list-item {
    margin-top: 0.25rem;
}

.initiative-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.initiative-sidebar__item:hover,
.initiative-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.initiative-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.initiative-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    border-radius: 0.35rem;
    background-color: hsl(115, 15%, 88%);
}

.initiative-sidebar__thumb {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.initiative-sidebar__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background-color: hsl(115, 15%, 88%);
}

.initiative-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.initiative-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.initiative-sidebar__excerpt {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

@media screen and (max-width: 991px) {
    .initiative-single__layout {
        grid-template-columns: 1fr;
    }

    .initiative-single__sidebar {
        order: 2;
    }
}

/* ================ CONTACT PAGE ======================= */
.contact-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.contact-page__header {
    margin-bottom: 3rem;
}

.contact-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.contact-page__intro > *:first-child {
    margin-top: 0;
}

.contact-page__intro > *:last-child {
    margin-bottom: 0;
}

.contact-page__intro p {
    margin-bottom: 1rem;
}

.contact-page__columns {
    row-gap: 2.5rem;
}

.contact-page__office-heading,
.contact-page__form-heading {
    margin: 0 0 1.5rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.contact-page__office-heading::after,
.contact-page__form-heading::after {
    display: none;
}

.contact-page__detail {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.contact-page__detail-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background-color: #f7f5f1;
    color: rgb(83, 163, 69);
}

.contact-page__detail-body {
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #666;
}

.contact-page__detail-label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
    color: rgb(83, 163, 69);
}

.contact-page__detail-body a {
    color: #666;
    text-decoration: none;
}

.contact-page__detail-body a:hover,
.contact-page__detail-body a:focus {
    color: rgb(83, 163, 69);
    text-decoration: underline;
}

.contact-page__newsletter {
    margin-top: 2.5rem;
    padding: 1rem;
    background-color: #f7f5f1;
    border: 1px solid #d6e3dc;
    border-radius: 0.75rem;
}

.contact-page__newsletter .mailpoet_form_title,
.contact-page__newsletter h2,
.contact-page__newsletter h3 {
    margin: 0 0 0.75rem;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(83, 163, 69) !important;
    text-align: left;
}

.contact-page__newsletter .mailpoet_form_title::after,
.contact-page__newsletter h2::after,
.contact-page__newsletter h3::after {
    display: none;
}

.contact-page__newsletter p {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #666;
}

.contact-page__newsletter input[type="email"],
.contact-page__newsletter input[type="text"] {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    border: 1px solid hsl(115, 20%, 85%);
    border-radius: 0.5rem;
    background-color: #fff;
}

.contact-page__form-card {
    padding: 2.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
}

.contact-page .forminator-label {
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(83, 163, 69);
}

.contact-page .forminator-input,
.contact-page .forminator-textarea,
.contact-page .forminator-select {
    width: 100%;
    padding: 0.75rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    border: 1px solid hsl(115, 20%, 85%);
    border-radius: 0.5rem;
    background-color: #fff;
}

.contact-page .forminator-field {
    margin-bottom: 1.25rem;
}

.contact-page .forminator-button,
.contact-page .forminator-button-submit,
.contact-page__newsletter .mailpoet_submit,
.contact-page__newsletter input[type="submit"],
.contact-page__newsletter button[type="submit"] {
    display: block;
    width: 100%;
    padding: 0.75rem 2rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #fff !important;
    background-color: rgb(83, 163, 69) !important;
    border: 1px solid rgb(83, 163, 69) !important;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.contact-page .forminator-button:hover,
.contact-page .forminator-button-submit:hover,
.contact-page__newsletter .mailpoet_submit:hover,
.contact-page__newsletter input[type="submit"]:hover,
.contact-page__newsletter button[type="submit"]:hover {
    background-color: rgb(69, 143, 56) !important;
    border-color: rgb(69, 143, 56) !important;
}

@media screen and (max-width: 991px) {
    .contact-page__intro {
        max-width: none;
    }
}

/* ================ SDG CHAMPION NETWORKS PAGE ======================= */
.champions-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.champions-page__header {
    margin-bottom: 3rem;
}

.champions-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.champions-page__intro > *:first-child {
    margin-top: 0;
}

.champions-page__intro > *:last-child {
    margin-bottom: 0;
}

.champions-page__intro p {
    margin-bottom: 1rem;
}

.champions-section__header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.champions-section__title {
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    color: rgb(83, 163, 69) !important;
    white-space: nowrap;
}

.champions-section__title::after {
    display: none;
}

.champions-section__line {
    flex: 1;
    height: 1px;
    background-color: hsl(115, 20%, 85%);
}

.champions__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.champion-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
}

.champion-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 10rem;
    padding: 2rem 1.5rem;
    background-color: #f7f5f1;
}

.champion-card__media:has(.champion-card__image) {
    padding: 0;
    min-height: 11rem;
}

.champion-card__image {
    display: block;
    width: 100%;
    height: 11rem;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}

.champion-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.champion-card__placeholder-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    background-color: #fff;
    color: rgb(83, 163, 69);
}

.champion-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.25rem 1.25rem 1.5rem;
    text-align: left;
}

.champion-card__type {
    margin: 0 0 0.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: hsl(115, 42%, 52%);
}

.champion-card__name {
    margin: 0 0 0.35rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.champion-card__name::after {
    display: none;
}

.champion-card__name a {
    color: inherit;
    text-decoration: none;
}

.champion-card__name a:hover,
.champion-card__name a:focus {
    text-decoration: underline;
}

.champion-card__media-link {
    display: block;
    width: 100%;
    line-height: 0;
}

.champion-card__university {
    margin: 0 0 0.75rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
}

.champion-card__excerpt {
    margin: 0 0 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #666;
}

.champion-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.champion-card__tag {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.4;
    color: rgb(83, 163, 69);
    background-color: hsl(115, 20%, 92%);
    border-radius: 9999px;
}

.champion-card__read-more {
    margin-top: auto;
    padding-top: 0.75rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    color: rgb(83, 163, 69);
}

.champion-card__read-more:hover,
.champion-card__read-more:focus {
    color: rgb(69, 143, 56);
    text-decoration: none;
}

.champion-card:hover .champion-card__read-more {
    color: rgb(69, 143, 56);
}

@media screen and (max-width: 1199px) {
    .champions__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 991px) {
    .champions-page__intro {
        max-width: none;
    }
}

@media screen and (max-width: 575px) {
    .champions__grid {
        grid-template-columns: 1fr;
    }

    .champions-section__title {
        white-space: normal;
    }
}

/* Student-Led Initiatives (SDG Champion Networks page) */
.initiatives-section {
    margin-top: 4rem;
    padding: 3rem 2rem;
    background-color: #f4f7f5;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 1rem;
}

.initiatives-section__header {
    max-width: 40rem;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.initiatives-section__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: rgb(83, 163, 69) !important;
}

.initiatives-section__title::after {
    display: none;
}

.initiatives-section__intro {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: #666;
}

.initiatives__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.initiative-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.initiative-card__media-link {
    display: block;
    overflow: hidden;
    text-decoration: none;
}

.initiative-card__image {
    display: block;
    width: 100%;
    height: 11rem;
    object-fit: cover;
    border-radius: 0.75rem 0.75rem 0 0;
}

.initiative-card__media-placeholder {
    display: block;
    width: 100%;
    height: 11rem;
    background-color: hsl(115, 15%, 88%);
    border-radius: 0.75rem 0.75rem 0 0;
}

.initiative-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem 1.25rem 1.5rem;
    text-align: left;
}

.initiative-card__title {
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.initiative-card__title::after {
    display: none;
}

.initiative-card__title a {
    color: rgb(83, 163, 69) !important;
    text-decoration: none;
}

.initiative-card__title a:hover,
.initiative-card__title a:focus {
    color: rgb(69, 143, 56) !important;
}

.initiative-card__excerpt {
    flex: 1;
    margin: 0 0 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #666;
}

.initiative-card__link {
    margin-top: auto;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
    color: rgb(83, 163, 69);
    text-decoration: none;
    transition: color 0.15s ease;
}

.initiative-card__link:hover,
.initiative-card__link:focus {
    color: rgb(69, 143, 56);
    text-decoration: underline;
}

@media screen and (max-width: 991px) {
    .initiatives__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .initiatives-section {
        padding: 2.5rem 1.5rem;
    }
}

@media screen and (max-width: 575px) {
    .initiatives__grid {
        grid-template-columns: 1fr;
    }
}

/* ================ SDG AUDIT FRAMEWORK PAGE ======================= */
.audit-framework-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.audit-framework-page__header {
    margin-bottom: 3rem;
}

.audit-framework-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.audit-framework-page__intro > *:first-child {
    margin-top: 0;
}

.audit-framework-page__intro > *:last-child {
    margin-bottom: 0;
}

.audit-framework-page__intro p {
    margin-bottom: 1rem;
}

.methodology-tools {
    row-gap: 2.5rem;
    align-items: flex-start;
}

.methodology-tools__methodology {
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
}

.methodology-tools__methodology h2,
.methodology-tools__methodology h3 {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.methodology-tools__methodology h2::after,
.methodology-tools__methodology h3::after {
    display: none;
}

.methodology-tools__methodology p {
    margin-bottom: 1.25rem;
}

.methodology-tools__methodology ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.methodology-tools__methodology ul li {
    position: relative;
    margin-bottom: 1.25rem;
    padding-left: 2rem;
}

.methodology-tools__methodology ul li:last-child {
    margin-bottom: 0;
}

.methodology-tools__methodology ul li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background-color: rgb(83, 163, 69);
    border-radius: 50%;
}

.methodology-tools__methodology ul li strong {
    color: rgb(83, 163, 69);
    font-weight: 700;
    position: relative;
    top: -3px;
}

.methodology-tools__panel {
    padding: 2rem;
    background-color: #f4f4f0;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 1rem;
}

.methodology-tools__panel-title {
    margin: 0 0 1.5rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.methodology-tools__panel-title::after {
    display: none;
}

.methodology-tools__cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tool-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tool-card:hover,
.tool-card:focus {
    border-color: hsl(115, 20%, 80%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    text-decoration: none;
}

.tool-card__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background-color: hsl(115, 15%, 92%);
    border-radius: 0.5rem;
}

.tool-card__icon img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.tool-card__content {
    flex: 1;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #666;
}

.tool-card__content > *:first-child {
    margin-top: 0;
}

.tool-card__content > *:last-child {
    margin-bottom: 0;
}

.tool-card__content h3,
.tool-card__content h4,
.tool-card__content strong {
    display: block;
    margin-bottom: 0.35rem;
    font-family: "Playfair Display", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: rgb(83, 163, 69) !important;
}

.tool-card__content h3::after,
.tool-card__content h4::after,
.tool-card__content strong::after {
    display: none;
}

.tool-card__content p {
    margin: 0;
    font-size: 0.8125rem;
    color: #666;
}

@media screen and (max-width: 991px) {
    .audit-framework-page__intro {
        max-width: none;
    }
}

/* ================ SDG E-LEARNING MODULES PAGE ======================= */
.elearning-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.elearning-page__header {
    margin-bottom: 3rem;
}

.elearning-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.elearning-page__intro > *:first-child {
    margin-top: 0;
}

.elearning-page__intro > *:last-child {
    margin-bottom: 0;
}

.elearning-page__intro p {
    margin-bottom: 1rem;
}

.elearning-section__heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.elearning-section__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(83, 163, 69);
}

.elearning-section__title {
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.elearning-section__title::after {
    display: none;
}

.modules__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.module-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.module-card:hover,
.module-card:focus {
    border-color: hsl(115, 20%, 80%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    text-decoration: none;
}

.module-card__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    background-color: #53a345;
}

.module-card__code {
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.module-card__external {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.module-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem 1rem 1.25rem;
}

.module-card__content {
    flex: 1;
    margin-bottom: 1rem;
    font-family: "Playfair Display", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(0, 0, 0);
}

.module-card__content > *:first-child {
    margin-top: 0;
}

.module-card__content > *:last-child {
    margin-bottom: 0;
}

.module-card__content h3,
.module-card__content h4,
.module-card__content p {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(0, 0, 0) !important;
}

.module-card__content h3::after,
.module-card__content h4::after {
    display: none;
}

.module-card__moodle {
    margin-top: auto;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: rgb(83, 163, 69);
}

.module-card:hover .module-card__moodle,
.module-card:focus .module-card__moodle {
    color: rgb(69, 143, 56);
}

@media screen and (max-width: 1199px) {
    .modules__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 991px) {
    .elearning-page__intro {
        max-width: none;
    }

    .modules__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 575px) {
    .modules__grid {
        grid-template-columns: 1fr;
    }
}

/* ================ SDG WORKSHOP MATERIALS PAGE ======================= */
.workshops-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.workshops-page__header {
    margin-bottom: 3rem;
}

.workshops-page__intro, .standard-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.workshops-page__intro > *:first-child {
    margin-top: 0;
}

.workshops-page__intro > *:last-child {
    margin-bottom: 0;
}

.workshops-page__intro p {
    margin-bottom: 1rem;
}

.workshops-section__header {
    margin-bottom: 2rem;
}

.workshops-section__heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.workshops-section__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(83, 163, 69);
}

.workshops-section__title {
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.workshops-section__title::after {
    display: none;
}

.workshops-section__line {
    display: block;
    width: 100%;
    height: 1px;
    background-color: hsl(115, 20%, 85%);
}

.workshops__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.workshop-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
}

.workshop-card__title {
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.workshop-card__title::after {
    display: none;
}

.workshop-card__excerpt {
    flex: 1;
    margin: 0 0 1.25rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #666;
}

.workshop-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding: 0.625rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    color: rgb(83, 163, 69);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid rgb(83, 163, 69);
    border-radius: 0.5rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.workshop-card__link:hover,
.workshop-card__link:focus {
    color: #fff;
    background-color: rgb(83, 163, 69);
    text-decoration: none;
}

.workshop-card__link-arrow {
    font-size: 1rem;
    line-height: 1;
}

@media screen and (max-width: 991px) {
    .workshops-page__intro {
        max-width: none;
    }

    .workshops__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 575px) {
    .workshops__grid {
        grid-template-columns: 1fr;
    }
}

/* Buttons
================================================== */
.button, a:hover.button, #maillist #mc-embedded-subscribe .button{
    padding:8px 16px;
    text-decoration:none;
    display: inline-block;
    margin-top: 8px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-weight:normal;
    font-size:15px;
    background-color:#eee;
}

.flexslider .button{
     background-color:#eee;
 }

.feature .button{
    background-color:#eee;
}

#maillist #mc-embedded-subscribe .button{
    background-color:#eee;
    color:#666;
}
/* Flexslider
================================================== */
.flexslider{
    border:none;
    margin:0;
}

.flexslider .container{
    position: relative;
}

.flexslider aside{
    display:inline-block;
    position: absolute;
    bottom:40px;
    right:0;
    background: rgba(0,0,0, 0.5);
    color:#fff;
    padding:10px 20px;
    border-top: 1px solid #f3f3f3;
    border-bottom:1px solid #f3f3f3;
}

.flex-direction-nav a {
    height:50px;
}

.flex-control-nav {
    bottom: 10px;
    z-index: 10;
}

.flexslider .flex-next {opacity: 0.2; right: 5px;} .flexslider .flex-prev {opacity: 0.2; left: 5px;}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}




/* ======================== MEDIA QUERIES ========================= */
/* ======================== OVER 1280 ========================= */
@media screen and (min-width:1281px){

}

/* ======================== 1280 ========================= */
@media screen and (max-width:1280px){

}

/* ================ ANNUAL CONFERENCES PAGE ======================= */
.conferences-page {
    background-color: #fbfbf9;
    padding: 4rem 0 6rem;
}

.conferences-page__header {
    margin-bottom: 2rem;
}

.conferences-page__intro {
    max-width: 42rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.125rem;
    line-height: 1.6;
    color: #666;
    text-align: left;
}

.conferences-page__intro > *:first-child {
    margin-top: 0;
}

.conferences-page__intro > *:last-child {
    margin-bottom: 0;
}

.conferences-page__intro p {
    margin-bottom: 1rem;
}

.conferences-page__divider {
    display: block;
    width: 100%;
    height: 1px;
    margin-bottom: 2.5rem;
    background-color: hsl(115, 20%, 85%);
}

.conferences-section--past {
    margin-top: 3.5rem;
}

.conferences-section__header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.conferences-section__title {
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    color: rgb(83, 163, 69) !important;
    white-space: nowrap;
}

.conferences-section__title::after {
    display: none;
}

.conferences-section__line {
    flex: 1;
    height: 1px;
    background-color: hsl(115, 20%, 85%);
}

.conferences-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.conference-card {
    display: flex;
    gap: 2rem;
    align-items: stretch;
    padding: 1.75rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
}

.conference-card__aside {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 9.5rem;
    min-height: 9.5rem;
    padding: 1.25rem 1rem;
    text-align: center;
    background-color: #f7f5f1;
    border-radius: 0.75rem;
}

.conference-card__status {
    margin: 0 0 0.5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(83, 163, 69);
}

.conference-card__year {
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
    color: rgb(83, 163, 69) !important;
}

.conference-card__year::after {
    display: none;
}

.conference-card__location {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    color: rgb(83, 163, 69);
}

.conference-card__location-icon {
    flex-shrink: 0;
}

.conference-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.conference-card__title {
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.25rem, 2.5vw, 1.625rem);
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(83, 163, 69) !important;
}

.conference-card__title::after {
    display: none;
}

.conference-card__excerpt {
    flex: 1;
    margin: 0 0 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #666;
}

.conference-card__btn--post {
    align-self: flex-start;
    margin-bottom: 1rem;
    color: #fff;
    background-color: rgb(83, 163, 69);
    border-color: rgb(83, 163, 69);
}

.conference-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
}

.conference-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.125rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    color: #666;
    background-color: transparent;
    border: 1px solid hsl(115, 20%, 85%);
    border-radius: 0.375rem;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.conference-card__btn:hover,
.conference-card__btn:focus {
    color: rgb(83, 163, 69);
    border-color: hsl(115, 20%, 70%);
    text-decoration: none;
}

.conference-card__btn.conference-card__btn--post:hover,
.conference-card__btn.conference-card__btn--post:focus,
.conference-card__btn.conference-card__btn--post:focus-visible {
    color: #fff;
    background-color: rgb(69, 143, 56);
    border-color: rgb(69, 143, 56);
    text-decoration: none;
}

@media screen and (max-width: 991px) {
    .conferences-page__intro {
        max-width: none;
    }

    .conference-card {
        flex-direction: column;
        gap: 1.5rem;
    }

    .conference-card__aside {
        width: 100%;
        min-height: 0;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0.75rem 1.5rem;
        padding: 1.25rem 1.5rem;
        text-align: left;
    }

    .conference-card__status {
        width: 100%;
        margin-bottom: 0;
    }

    .conference-card__year {
        margin: 0;
    }

    .conference-card__location {
        justify-content: flex-start;
    }
}

@media screen and (max-width: 575px) {
    .conference-card {
        padding: 1.25rem;
    }

    .conference-card__actions {
        flex-direction: column;
    }

    .conference-card__btn {
        width: 100%;
    }

    .conference-card__btn--post {
        width: 100%;
    }
}

/* ================ SINGLE CONFERENCE ======================= */
.conference-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.conference-single__main {
    min-width: 0;
}

.conference-single__header {
    margin-bottom: 0;
}

.conference-single__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
    margin-bottom: 1rem;
}

.conference-single__year {
    margin: 0;
    font-size: 1.5rem;
}

.conference-single__location {
    justify-content: flex-start;
}

.conference-single__title {
    margin-bottom: 1.5rem;
}

.conference-single__content {
    max-width: none;
}

.conference-single__actions {
    margin-top: 1.5rem;
}

.conference-sidebar {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid hsl(115, 20%, 90%);
    border-radius: 0.75rem;
    overflow: hidden;
}

.conference-sidebar__nav {
    float: none;
    margin: 0;
    padding: 0;
    position: static;
}

.conference-sidebar__nav ul {
    float: none;
}

.conference-sidebar__nav ul li,
.conference-sidebar__list-item {
    display: block;
    float: none;
    position: static;
}

.conference-sidebar__nav ul > li a {
    display: flex;
    float: none;
    padding: 0.75rem;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

.conference-sidebar__title {
    margin: 0 0 1rem;
    padding: 0;
    border: none;
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    color: rgb(0, 0, 0) !important;
}

.conference-sidebar__title::after {
    display: none;
}

.conference-sidebar__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.conference-sidebar__list-item + .conference-sidebar__list-item {
    margin-top: 0.25rem;
}

.conference-sidebar__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

.conference-sidebar__item:hover,
.conference-sidebar__item:focus-visible {
    background-color: #f7f5f1;
}

.conference-sidebar__item--current {
    background-color: hsl(115, 25%, 95%);
}

.conference-sidebar__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.35rem;
    background-color: #f7f5f1;
}

.conference-sidebar__year {
    font-family: "Playfair Display", serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    color: rgb(83, 163, 69);
}

.conference-sidebar__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
    padding-top: 0.15rem;
}

.conference-sidebar__name {
    font-family: "Playfair Display", serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(83, 163, 69);
}

.conference-sidebar__location {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    color: #666;
}

.conference-sidebar__location-icon {
    flex-shrink: 0;
    color: rgb(83, 163, 69);
}

@media screen and (max-width: 991px) {
    .conference-single__layout {
        grid-template-columns: 1fr;
    }

    .conference-single__sidebar {
        order: 2;
    }
}

/* ======================== 1024 ========================= */
@media screen and (max-width:1024px){

}

/* ======================== 980 ========================= */
@media screen and (max-width:980px){
    .iwhq_nav_btn {
        display: block;
    }

    header nav {
        display: none;
    }


}

/* ======================== 800 ========================= */
@media screen and (max-width:800px){


    #top{
        height: auto;
        position: relative;
    }
}

/* ======================== 768 ========================= */
@media screen and (max-width:768px){

}

/* ======================== 640 ========================= */
@media screen and  (max-width:640px){

}

/* ======================== 480 ========================= */
@media screen and  (max-width:480px) {

}

/* ======================== 360 ========================= */
@media screen and  (max-width:360px) {

}

/* ======================== 320 ========================= */
@media screen and  (max-width:320px) {

}