/* =========================================================
   Alain Charles Training - JA Educatsy custom styles
   ========================================================= */

/* Webinar card */
.landingPagediv {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #ffffff;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 6px;
}

/* Left logo area */
.landingPagediv > .w-col-4 {
    width: 33.333%;
    padding: 0 15px;
}

/* Right webinar information */
.landingPagediv > .w-col-8 {
    width: 66.667%;
    padding: 15px;
}

/* Webinar button */
.landingPagediv a.colored2 {
    display: inline-block;
    float: right;
    padding: 10px 20px;
    background-color: #3c749f;
    color: #ffffff !important;
    border-radius: 20px;
    text-decoration: none;
    font-weight: 600;
}

/* Mobile */
@media (max-width: 767px) {
    .landingPagediv > .w-col-4,
    .landingPagediv > .w-col-8 {
        width: 100%;
    }

    .landingPagediv a.colored2 {
        float: none;
        margin-top: 10px;
    }
}

/* =========================================================
   ACT Webinar Article
   ========================================================= */

.act-webinar-container {
    width: 90%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 30px 0 60px;
}

.act-webinar-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
    margin-bottom: 20px;
}

.act-webinar-logos img {
    width: auto;
    max-width: 280px;
    max-height: 100px;
    object-fit: contain;
}

.act-webinar-associated {
    font-weight: 600;
}

.act-webinar-date {
    margin-bottom: 30px;
    font-weight: 600;
}

.act-webinar-main {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.9fr);
    gap: 40px;
    align-items: start;
}

.act-webinar-left {
    min-width: 0;
}

.act-webinar-right {
    min-width: 0;
    padding: 20px;
    background: #f5f5f5;
}

.act-webinar-registration iframe {
    display: block;
    width: 100%;
    min-height: 600px;
    border: 0;
}

.act-webinar-body p {
    margin-bottom: 20px;
    line-height: 1.7;
}

.act-webinar-body ul {
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .act-webinar-main {
        grid-template-columns: 1fr;
    }

    .act-webinar-right {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .act-webinar-container {
        width: 92%;
    }

    .act-webinar-logos {
        justify-content: center;
        text-align: center;
    }

    .act-webinar-logos img {
        max-width: 220px;
    }
}

/* =========================================================
   ACT Webinar - Hero
   ========================================================= */

/* ACT Webinar Hero */
.act-webinar-hero {
    width: 100%;
    min-height: 380px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 991px) {
    .act-webinar-hero {
        min-height: 300px;
    }
}

@media (max-width: 767px) {
    .act-webinar-hero {
        min-height: 220px;
        background-size: cover;
        background-position: center;
    }
}

/* =========================================================
   ACT Webinar - Partners / Date
   ========================================================= */

.act-webinar-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 28px;
    padding: 30px 0 18px;
    margin: 0;
    border-bottom: 1px solid #eeeeee;
}

.act-webinar-logos img {
    width: auto;
    max-width: 230px;
    max-height: 75px;
    object-fit: contain;
}

.act-webinar-associated {
    font-size: 14px;
    font-weight: 500;
    color: #666;
    white-space: nowrap;
}

.act-webinar-date {
    display: inline-flex;
    align-items: center;
    margin: 18px 0 35px;
    padding: 8px 14px;
    background: #f5f5f5;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
}

/* Mobile */
@media (max-width: 767px) {
    .act-webinar-logos {
        justify-content: center;
        gap: 16px;
        text-align: center;
    }

    .act-webinar-logos img {
        max-width: 180px;
        max-height: 65px;
    }

    .act-webinar-associated {
        width: 100%;
    }

    .act-webinar-date {
        display: flex;
        width: fit-content;
        margin: 18px auto 30px;
    }
}
/* =========================================================
   ACT Webinar - Main Content
   ========================================================= */

.act-webinar-main {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.75fr);
    gap: 60px;
    align-items: start;
    padding-bottom: 70px;
}

.act-webinar-section-heading {
    margin-bottom: 28px;
}

.act-webinar-section-heading span {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #004681;
}

.act-webinar-section-heading h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

.act-webinar-body {
    font-size: 16px;
    line-height: 1.75;
}

.act-webinar-body p {
    margin-bottom: 22px;
}

.act-webinar-body ul {
    margin-top: 12px;
    padding-left: 22px;
}

.act-webinar-body li {
    margin-bottom: 8px;
}

.act-webinar-right {
    position: sticky;
    top: 30px;
    padding: 18px;
    border-radius: 14px;
    background: #f6f4fb;
}

.act-webinar-registration {
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.act-webinar-registration iframe {
    display: block;
    width: 100%;
    height: 600px;
    border: 0;
}

@media (max-width: 991px) {
    .act-webinar-main {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .act-webinar-right {
        position: static;
    }
}

@media (max-width: 767px) {
    .act-webinar-section-heading h2 {
        font-size: 27px;
    }

    .act-webinar-body {
        font-size: 15px;
    }

    .act-webinar-right {
        padding: 10px;
    }
}

/* =========================================================
   ACT Webinar - Moderator / Speakers
   ========================================================= */

.act-webinar-people {
    padding: 65px 0;
    border-top: 1px solid #eee;
}

.act-webinar-people-group + .act-webinar-people-group {
    margin-top: 55px;
}

.act-webinar-people-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.act-person-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    transition: transform .25s ease, box-shadow .25s ease;
}

.act-person-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .08);
}

.act-person-photo {
    flex: 0 0 100px;
}

.act-person-photo img {
    width: 100px;
    height: 100px;
    display: block;
    object-fit: cover;
    border-radius: 12px;
}

.act-person-info h3 {
    margin: 0 0 7px;
    font-size: 20px;
    line-height: 1.25;
}

.act-person-job {
    margin-bottom: 4px;
    font-size: 14px;
    color: #555;
}

.act-person-company {
    font-size: 14px;
    font-weight: 600;
    color: #004681;
}

@media (max-width: 991px) {
    .act-webinar-people-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .act-webinar-people-grid {
        grid-template-columns: 1fr;
    }

    .act-person-card {
        align-items: flex-start;
    }

    .act-person-photo {
        flex-basis: 85px;
    }

    .act-person-photo img {
        width: 85px;
        height: 85px;
    }
}
/* =========================================================
   ACT Webinar - Speaker Profile Drawer
   ========================================================= */

.act-profile-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.act-profile-overlay.is-open {
    opacity: 1;
}

.act-profile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;

    width: min(680px, 90vw);
    height: 100vh;

    padding: 55px 45px;
    overflow-y: auto;

    background: #fff;

    transform: translateX(100%);
    transition: transform 0.35s ease;

    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.12);
}

.act-profile-drawer.is-open {
    transform: translateX(0);
}


/* Close button */

.act-profile-close {
    position: absolute;
    top: 18px;
    right: 24px;

    width: 42px;
    height: 42px;

    padding: 0;
    border: 0;
    background: transparent;

    font-size: 36px;
    line-height: 42px;
    font-weight: 400;

    color: #111;
    cursor: pointer;
}


/* Header */

.act-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 25px;

    padding-bottom: 30px;
    margin-bottom: 30px;

    border-bottom: 1px solid #eee;
}

.act-profile-image {
    flex: 0 0 150px;
}

.act-profile-image img {
    width: 150px;
    height: 150px;

    display: block;
    object-fit: cover;

    border-radius: 14px;
}

.act-profile-heading {
    min-width: 0;
}

.act-profile-heading h2 {
    margin: 5px 0 8px;

    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.act-profile-job {
    margin-bottom: 5px;

    font-size: 16px;
    color: #555;
}

.act-profile-company {
    margin-bottom: 15px;

    font-size: 15px;
    font-weight: 600;

    color: #004681;
}


/* LinkedIn */

.act-profile-linkedin {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    padding: 0;
    border-radius: 6px;

    background: #0a66c2;
    color: #fff;

    text-decoration: none;
    transition: transform .2s ease, opacity .2s ease;
}

.act-profile-linkedin svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.act-profile-linkedin:hover {
    color: #fff;
    transform: translateY(-2px);
    opacity: .9;
}


/* Biography */

.act-profile-biography {
    font-size: 16px;
    line-height: 1.75;

    color: #333;
}

.act-profile-biography p:last-child {
    margin-bottom: 0;
}


/* Clickable profile cards */

.act-person-trigger {
    cursor: pointer;
}

.act-person-trigger:focus-visible {
    outline: 3px solid rgba(0, 168, 143, 0.35);
    outline-offset: 3px;
}


/* Prevent page scrolling while drawer is open */

body.act-profile-open {
    overflow: hidden;
}


/* Mobile */

@media (max-width: 767px) {

    .act-profile-drawer {
        width: 100%;
        padding: 65px 24px 35px;
    }

    .act-profile-header {
        flex-direction: column;
    }

    .act-profile-image {
        flex-basis: auto;
    }

    .act-profile-image img {
        width: 120px;
        height: 120px;
    }

    .act-profile-heading h2 {
        font-size: 26px;
    }

    .act-profile-biography {
        font-size: 15px;
    }
}

/* =========================================================
   ACT Webinar - Event Organiser
   ========================================================= */

.act-webinar-organiser {
    padding: 55px 0 70px;
    border-top: 1px solid #eee;
}

.act-webinar-organiser-card {
    display: inline-flex;
    align-items: center;

    padding: 18px 24px;

    border: 1px solid #eee;
    border-radius: 12px;

    background: #fff;
}

.act-webinar-organiser-card a,
.act-webinar-organiser-card span {
    font-size: 16px;
    font-weight: 600;
}

.act-webinar-organiser-card a {
    color: #004681;
    text-decoration: none;
}

.act-webinar-organiser-card a:hover {
    text-decoration: underline;
}
/* =========================================================
   ACT Homepage Webinars
   ========================================================= */

.act-home-webinars {
    padding: 70px 0 80px;
}

.act-home-webinars-heading {
    margin-bottom: 35px;
}

.act-home-webinars-heading span {
    display: block;
    margin-bottom: 8px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;

    color: #004681;
    text-transform: uppercase;
}

.act-home-webinars-heading h2 {
    margin: 0;

    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
}


/* =========================================================
   Past Webinars Grid
   ========================================================= */

.act-past-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.act-past-card {
    overflow: hidden;

    background: #fff;

    border: 1px solid #e9e9e9;
    border-radius: 16px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.act-past-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.08);
}


/* Image */

.act-past-image {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 230px;

    padding: 20px;

    background: #f8f8f8;

    overflow: hidden;
}

.act-past-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transition: transform 0.3s ease;
}

.act-past-card:hover .act-past-image img {
    transform: scale(1.03);
}


/* Card content */

.act-past-content {
    padding: 24px;
}

.act-past-date {
    margin-bottom: 12px;

    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;

    color: #777;
}

.act-past-content h3 {
    margin: 0 0 20px;

    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.act-past-content h3 a {
    color: #222;
    text-decoration: none;
}

.act-past-content h3 a:hover {
    color: #004681;
}


/* Watch button */

.act-past-watch {
    display: inline-flex;
    align-items: center;

    padding: 10px 18px;

    background: #004681;
    color: #fff;

    border-radius: 7px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.act-past-watch:hover {
    color: #fff;
    text-decoration: none;

    transform: translateY(-2px);
    opacity: 0.9;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 991px) {

    .act-past-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {

    .act-home-webinars {
        padding: 45px 0 55px;
    }

    .act-home-webinars-heading h2 {
        font-size: 30px;
    }

    .act-past-grid {
        grid-template-columns: 1fr;
    }

    .act-past-image {
        height: 210px;
    }

}
/* =========================================================
   ACT Homepage - Upcoming Webinars
   ========================================================= */

.act-home-upcoming {
    padding-bottom: 80px;
}

.act-upcoming-list {
    display: flex;
    flex-direction: column;
    gap: 55px;
}


/* Individual webinar */

.act-upcoming-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    min-height: 360px;

    overflow: hidden;

    border: 1px solid #e8e8e8;
    border-radius: 18px;

    background: #fff;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
}


/* Alternate each webinar */

.act-upcoming-item.is-reverse .act-upcoming-content {
    order: 2;
}

.act-upcoming-item.is-reverse .act-upcoming-image {
    order: 1;
}


/* Content */

.act-upcoming-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 50px;
}

.act-upcoming-date {
    display: inline-flex;
    align-self: flex-start;

    margin-bottom: 20px;
    padding: 7px 12px;

    border-radius: 6px;

    background: #f1f7f6;

    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;

    color: #004681;
}

.act-upcoming-content h3 {
    margin: 0 0 20px;

    font-size: 30px;
    line-height: 1.25;
    font-weight: 700;

    color: #222;
}

.act-upcoming-intro {
    margin-bottom: 28px;

    font-size: 16px;
    line-height: 1.7;

    color: #555;
}

.act-upcoming-intro p:last-child {
    margin-bottom: 0;
}


/* Register button */

.act-upcoming-content .btn {
    align-self: flex-start;

    padding: 12px 22px;

    border: 0;
    border-radius: 7px;

    background: #004681;

    font-size: 14px;
    font-weight: 600;

    color: #fff;

    text-decoration: none;
}

.act-upcoming-content .btn:hover {
    background: #004681;
    color: #fff;
}


/* Image */

.act-upcoming-image {
    min-height: 360px;
    overflow: hidden;

    background: #f6f6f6;
}

.act-upcoming-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.act-upcoming-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 360px;

    object-fit: cover;

    transition: transform 0.35s ease;
}

.act-upcoming-item:hover .act-upcoming-image img {
    transform: scale(1.025);
}


/* =========================================================
   Upcoming Webinar Responsive
   ========================================================= */

@media (max-width: 991px) {

    .act-upcoming-item {
        grid-template-columns: 1fr;
    }

    .act-upcoming-item.is-reverse .act-upcoming-content,
    .act-upcoming-item.is-reverse .act-upcoming-image {
        order: initial;
    }

    .act-upcoming-content {
        padding: 35px;
    }

    .act-upcoming-image {
        min-height: 300px;
    }

    .act-upcoming-image img {
        min-height: 300px;
    }

}


@media (max-width: 600px) {

    .act-upcoming-list {
        gap: 35px;
    }

    .act-upcoming-content {
        padding: 28px 22px;
    }

    .act-upcoming-content h3 {
        font-size: 24px;
    }

    .act-upcoming-image,
    .act-upcoming-image img {
        min-height: 220px;
    }

}
/* =========================================================
   ACT Homepage Hero Slider
   ========================================================= */

.act-home-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.act-slider-track {
    position: relative;
    min-height: 520px;
}


/* Slides */

.act-slider-slide {
    position: absolute;
    inset: 0;

    min-height: 520px;

    background: #000;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.6s ease,
        visibility 0.6s ease;
}

.act-slider-slide.is-active {
    position: relative;

    opacity: 1;
    visibility: visible;
}


/* Background image */

.act-slider-background {
    position: absolute;
    inset: 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


/* Dark gradient for readable text */

.act-slider-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.90) 0%,
            rgba(0, 0, 0, 0.78) 28%,
            rgba(0, 0, 0, 0.55) 48%,
            rgba(0, 0, 0, 0.25) 68%,
            rgba(0, 0, 0, 0.06) 100%
        );
}

/* Inner content */

.act-slider-container {
    position: relative;
    z-index: 2;

    width: 90%;
    max-width: 1440px;
    min-height: 520px;

    margin: 0 auto;

    display: flex;
    align-items: center;
}

.act-slider-content {
    width: 100%;
    max-width: 620px;

    padding: 65px 0;

    color: #fff;
}


/* Subtitle */

.act-slider-subtitle {
    margin-bottom: 12px;

    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;

    color: #004681;
}


/* Heading */

.act-slider-content h2 {
    max-width: 600px;

    margin: 0 0 20px;

    font-size: 52px;
    line-height: 1.08;
    font-weight: 700;

    color: #fff;
}


/* Description */

.act-slider-description {
    max-width: 550px;

    margin: 0 0 28px;

    font-size: 17px;
    line-height: 1.65;

    color: rgba(255, 255, 255, 0.9);
}


/* Button */

.act-slider-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 13px 24px;

    border-radius: 7px;

    background: #004681;
    color: #fff;

    font-size: 15px;
    font-weight: 600;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.act-slider-button:hover {
    background: #004681;
    color: #fff;

    text-decoration: none;

    transform: translateY(-2px);
}


/* =========================================================
   Slider arrows
   ========================================================= */

.act-slider-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;

    width: 44px;
    height: 44px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.25);
    color: #fff;

    font-size: 22px;
    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);

    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}

.act-slider-arrow:hover {
    background: rgba(0, 0, 0, 0.55);
    border-color: #fff;
}

.act-slider-prev {
    left: 25px;
}

.act-slider-next {
    right: 25px;
}


/* =========================================================
   Slider dots
   ========================================================= */

.act-slider-dots {
    position: absolute;
    z-index: 5;

    left: 50%;
    bottom: 24px;

    display: flex;
    align-items: center;
    gap: 9px;

    transform: translateX(-50%);
}

.act-slider-dot {
    width: 10px;
    height: 10px;

    padding: 0;

    border: 1px solid #fff;
    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.act-slider-dot.is-active {
    background: #fff;
    transform: scale(1.2);
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 991px) {

    .act-slider-track,
    .act-slider-slide,
    .act-slider-container {
        min-height: 450px;
    }

    .act-slider-content {
        max-width: 560px;
        padding: 55px 0;
    }

    .act-slider-content h2 {
        font-size: 42px;
    }

    .act-slider-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(0, 0, 0, 0.84) 0%,
                rgba(0, 0, 0, 0.60) 55%,
                rgba(0, 0, 0, 0.20) 100%
            );
    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .act-slider-track,
    .act-slider-slide,
    .act-slider-container {
        min-height: 420px;
    }

    .act-slider-container {
        width: 88%;
    }

    .act-slider-content {
        max-width: 100%;
        padding: 55px 0 70px;
    }

    .act-slider-subtitle {
        font-size: 15px;
    }

    .act-slider-content h2 {
        font-size: 34px;
    }

    .act-slider-description {
        font-size: 15px;
        line-height: 1.55;
    }

    .act-slider-overlay {
        background: rgba(0, 0, 0, 0.66);
    }

    .act-slider-arrow {
        display: none;
    }

}


/* Very small screens */

@media (max-width: 480px) {

    .act-slider-content h2 {
        font-size: 29px;
    }

    .act-slider-button {
        padding: 11px 19px;
    }

}
/* =========================================================
   ACT Homepage - Our Clients
   ========================================================= */

.act-clients-section {
    padding: 55px 0 40px;
}

.act-clients-inner {
    width: 100%;
}

.act-clients-heading {
    margin-bottom: 28px;
}

.act-clients-heading span {
    display: block;
    margin-bottom: 8px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;

    color: #777;
    text-transform: uppercase;
}

.act-clients-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}


/* Logos */

.act-clients-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;

    align-items: center;
}

.act-client-item {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 120px;

    padding: 20px;

    border: 1px solid #eee;
    border-radius: 12px;

    background: #fff;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.act-client-item:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.07);
}

.act-client-item a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}

.act-client-item img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 70px;

    object-fit: contain;
}


/* Tablet */

@media (max-width: 991px) {

    .act-clients-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 600px) {

    .act-clients-section {
        padding: 40px 0 30px;
    }

    .act-clients-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .act-client-item {
        min-height: 95px;
        padding: 15px;
    }

    .act-client-item img {
        max-height: 55px;
    }

}
/* =========================================================
   ACT Homepage - Auto-scrolling Client Logos
   ========================================================= */

.act-clients-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.act-clients-track {
    display: flex;
    align-items: center;
    gap: 28px;

    width: max-content;

    will-change: transform;
}



.act-client-item {
    flex: 0 0 180px;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 110px;
    padding: 20px;

    border: 1px solid #eee;
    border-radius: 12px;

    background: #fff;
}

.act-client-item a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}

.act-client-item img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 65px;

    object-fit: contain;
}




/* Tablet */

@media (max-width: 991px) {

    .act-clients-track {
        gap: 22px;
        animation-duration: 26s;
    }

    .act-client-item {
        flex-basis: 160px;
        min-height: 100px;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .act-clients-track {
        gap: 16px;
        animation-duration: 22s;
    }

    .act-client-item {
        flex-basis: 135px;
        min-height: 90px;
        padding: 14px;
    }

    .act-client-item img {
        max-height: 52px;
    }

}


/* Accessibility */

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

    .act-clients-track {
        animation: none;
    }

}
/* =========================================================
   ACT Homepage Slider - Controls Polish
   ========================================================= */

.act-slider-arrow {
    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(4px);

    color: #fff;

    font-size: 20px;
    font-weight: 400;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        border-color 0.2s ease;
}

.act-slider-arrow:hover {
    background: rgba(0, 0, 0, 0.55);
    border-color: #fff;

    transform:
        translateY(-50%)
        scale(1.06);
}

.act-slider-prev {
    left: 28px;
}

.act-slider-next {
    right: 28px;
}


/* Dots */

.act-slider-dots {
    bottom: 22px;

    gap: 10px;

    padding: 8px 12px;

    border-radius: 20px;

    background: rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(4px);
}

.act-slider-dot {
    width: 9px;
    height: 9px;

    border: 1px solid rgba(255, 255, 255, 0.9);

    background: transparent;

    opacity: 0.75;
}

.act-slider-dot:hover {
    opacity: 1;
}

.act-slider-dot.is-active {
    width: 22px;

    border-radius: 10px;

    background: #fff;

    opacity: 1;

    transform: none;
}


/* Tablet */

@media (max-width: 991px) {

    .act-slider-arrow {
        width: 40px;
        height: 40px;

        font-size: 18px;
    }

    .act-slider-prev {
        left: 16px;
    }

    .act-slider-next {
        right: 16px;
    }

}


/* Mobile */

@media (max-width: 767px) {

    .act-slider-arrow {
        display: flex;

        top: auto;
        bottom: 18px;

        width: 36px;
        height: 36px;

        transform: none;

        font-size: 16px;
    }

    .act-slider-arrow:hover {
        transform: scale(1.05);
    }

    .act-slider-prev {
        left: 18px;
    }

    .act-slider-next {
        right: 18px;
    }

    .act-slider-dots {
        bottom: 21px;
    }

}
/* =========================================================
   ACT Global Header
   Used on homepage + all subpages
   ========================================================= */

.act-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;

    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid #ececec;

    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


/* Header inner row */

.act-site-header > .container {
    min-height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* =========================================================
   Logo
   ========================================================= */

.act-site-header img {
    max-height: 58px;
    width: auto;
}

.act-site-header .custom,
.act-site-header .mod-custom {
    margin: 0;
}


/* =========================================================
   Main Navigation
   ========================================================= */

.act-site-header ul.nav,
.act-site-header ul.navbar-nav,
.act-site-header .navbar-nav {
    display: flex;
    align-items: center;

    gap: 6px;

    margin: 0;
    padding: 0;
}

.act-site-header ul.nav > li,
.act-site-header .navbar-nav > li {
    position: relative;
}

.act-site-header ul.nav > li > a,
.act-site-header .navbar-nav > li > a {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 82px;

    padding: 0 15px;

    font-size: 15px;
    line-height: 1.3;
    font-weight: 600;

    color: #252525;

    text-decoration: none;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}


/* Hover */

.act-site-header ul.nav > li > a:hover,
.act-site-header .navbar-nav > li > a:hover {
    color: #004681;
}


/* Active menu item */

.act-site-header ul.nav > li.active > a,
.act-site-header ul.nav > li.current > a,
.act-site-header .navbar-nav > li.active > a,
.act-site-header .navbar-nav > li.current > a {
    color: #004681;
}


/* Active underline */

.act-site-header ul.nav > li > a::after,
.act-site-header .navbar-nav > li > a::after {
    content: "";

    position: absolute;

    left: 15px;
    right: 15px;
    bottom: 17px;

    height: 2px;

    background: #004681;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.2s ease;
}

.act-site-header ul.nav > li > a:hover::after,
.act-site-header ul.nav > li.active > a::after,
.act-site-header ul.nav > li.current > a::after,
.act-site-header .navbar-nav > li > a:hover::after,
.act-site-header .navbar-nav > li.active > a::after,
.act-site-header .navbar-nav > li.current > a::after {
    transform: scaleX(1);
}


/* =========================================================
   Dropdown Menu
   ========================================================= */

.act-site-header .dropdown-menu {
    min-width: 220px;

    padding: 10px;

    border: 1px solid #eee;
    border-radius: 10px;

    background: #fff;

    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.10);
}

.act-site-header .dropdown-menu a {
    display: block;

    padding: 10px 14px;

    border-radius: 6px;

    font-size: 14px;
    font-weight: 500;

    color: #333;

    text-decoration: none;
}

.act-site-header .dropdown-menu a:hover {
    background: #f3f8f7;
    color: #004681;
}


/* =========================================================
   Tablet / Mobile
   ========================================================= */

@media (max-width: 991px) {

    .act-site-header > .container {
        min-height: 70px;
    }

    .act-site-header img {
        max-height: 48px;
    }

    .act-site-header ul.nav > li > a,
    .act-site-header .navbar-nav > li > a {
        min-height: auto;

        padding: 11px 14px;
    }

    .act-site-header ul.nav > li > a::after,
    .act-site-header .navbar-nav > li > a::after {
        display: none;
    }

}


/* Mobile menu */

@media (max-width: 767px) {

    .act-site-header {
        position: sticky;
        top: 0;
    }

    .act-site-header > .container {
        min-height: 64px;
    }

    .act-site-header img {
        max-height: 44px;
    }

    .act-site-header ul.nav,
    .act-site-header ul.navbar-nav,
    .act-site-header .navbar-nav {
        align-items: stretch;
        gap: 0;
    }

    .act-site-header ul.nav > li > a,
    .act-site-header .navbar-nav > li > a {
        padding: 12px 15px;

        border-bottom: 1px solid #eee;

        font-size: 15px;
    }

}
/* =========================================================
   ACT Header - T4 layout corrections
   ========================================================= */

.act-site-header {
    position: sticky !important;
    top: 0;
    z-index: 9999;

    background: #fff !important;
    background-image: none !important;

    border-bottom: 1px solid #ececec;
    box-shadow: 0 3px 18px rgba(0,0,0,.05);
}

/* Remove T4 decorative header background */
.act-site-header::before,
.act-site-header::after {
    display: none !important;
}

/* Force the T4 header row into one horizontal line */
.act-site-header .container,
.act-site-header .t4-container,
.act-site-header .t4-row,
.act-site-header .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

/* Main container */
.act-site-header > .container,
.act-site-header .container {
    width: 90%;
    max-width: 1440px;

    min-height: 88px;

    margin: 0 auto;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    justify-content: space-between !important;
}


/* =========================================================
   Logo column
   ========================================================= */

.act-site-header .t4-col:first-child,
.act-site-header .col:first-child,
.act-site-header [class*="col-"]:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}

.act-site-header .custom,
.act-site-header .mod-custom {
    margin: 0 !important;
    padding: 0 !important;
}

.act-site-header img {
    display: block;

    width: auto !important;
    height: auto !important;

    max-width: 190px !important;
    max-height: 72px !important;
}


/* =========================================================
   Menu column
   ========================================================= */

.act-site-header .t4-col:last-child,
.act-site-header .col:last-child,
.act-site-header [class*="col-"]:last-child {
    flex: 1 1 auto !important;

    width: auto !important;
    max-width: none !important;

    margin-left: auto !important;
}

.act-site-header .mod-menu,
.act-site-header .navbar,
.act-site-header nav {
    width: auto !important;
    margin-left: auto !important;
}


/* Force top-level menu horizontal */

.act-site-header ul.mod-menu,
.act-site-header ul.nav,
.act-site-header ul.navbar-nav,
.act-site-header .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}


/* Top menu items */

.act-site-header ul.mod-menu > li,
.act-site-header ul.nav > li,
.act-site-header .navbar-nav > li {
    display: block !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
}


/* Top-level links */

.act-site-header ul.mod-menu > li > a,
.act-site-header ul.nav > li > a,
.act-site-header .navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;

    min-height: 88px !important;

    padding: 0 17px !important;

    font-size: 15px !important;
    line-height: 1.2;
    font-weight: 600;

    color: #262626 !important;

    white-space: nowrap;

    text-decoration: none !important;
}


/* Hover and active */

.act-site-header ul.mod-menu > li > a:hover,
.act-site-header ul.nav > li > a:hover,
.act-site-header .navbar-nav > li > a:hover,
.act-site-header li.active > a,
.act-site-header li.current > a {
    color: #004681 !important;
}


/* Underline */

.act-site-header ul.mod-menu > li > a::after,
.act-site-header ul.nav > li > a::after,
.act-site-header .navbar-nav > li > a::after {
    bottom: 20px;
}


/* =========================================================
   Desktop dropdown
   ========================================================= */

@media (min-width: 992px) {

    .act-site-header .dropdown-menu,
    .act-site-header ul.mod-menu ul {
        position: absolute;

        top: 100%;
        left: 0;

        min-width: 230px;

        padding: 10px;

        background: #fff;

        border: 1px solid #eee;
        border-radius: 10px;

        box-shadow: 0 14px 40px rgba(0,0,0,.10);
    }

    .act-site-header .dropdown-menu a,
    .act-site-header ul.mod-menu ul a {
        min-height: auto !important;

        padding: 11px 14px !important;

        color: #333 !important;

        border-radius: 6px;
    }

    .act-site-header .dropdown-menu a:hover,
    .act-site-header ul.mod-menu ul a:hover {
        background: #f3f8f7;
        color: #004681 !important;
    }

}


/* =========================================================
   Tablet / Mobile
   ========================================================= */

@media (max-width: 991px) {

    .act-site-header > .container,
    .act-site-header .container {
        min-height: 70px;

        width: 94%;
    }

    .act-site-header img {
        max-width: 150px !important;
        max-height: 56px !important;
    }

    /* Allow T4 mobile navigation to control menu layout */
    .act-site-header ul.mod-menu,
    .act-site-header ul.nav,
    .act-site-header ul.navbar-nav,
    .act-site-header .navbar-nav {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .act-site-header ul.mod-menu > li > a,
    .act-site-header ul.nav > li > a,
    .act-site-header .navbar-nav > li > a {
        min-height: auto !important;
        padding: 12px 16px !important;
    }

}
/* =========================================================
   ACT Global Footer
   ========================================================= */

.act-footer {
    width: 100%;
    padding: 55px 0 22px;

    color: rgba(255,255,255,.82);
}

.act-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 55px;

    align-items: start;
}

.act-footer-column {
    min-width: 0;
}

.act-footer-title {
    margin-bottom: 10px;

    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;

    color: #fff;
}

.act-footer-divider {
    width: 42px;
    height: 2px;

    margin-bottom: 20px;

    background: #004681;
}

.act-footer p {
    margin: 0 0 12px;

    font-size: 14px;
    line-height: 1.7;
}

.act-footer a {
    color: rgba(255,255,255,.84);
    text-decoration: none;

    transition: color .2s ease;
}

.act-footer a:hover {
    color: #004681;
}


/* Footer menus loaded through {loadposition footermenu} */

.act-footer-links ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.act-footer-links li {
    margin-bottom: 9px;
}

.act-footer-links li a {
    font-size: 14px;
}


/* Organiser logo */

.act-footer-organiser img {
    display: block;

    width: auto;
    height: auto;

    max-width: 190px;
    max-height: 90px;

    object-fit: contain;
}


/* Copyright */

.act-footer-bottom {
    margin-top: 45px;
    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.12);

    text-align: center;
}

.act-footer-bottom p {
    margin: 0;

    font-size: 13px;

    color: rgba(255,255,255,.58);
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 991px) {

    .act-footer-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 40px;
    }

    .act-footer-organiser {
        grid-column: 1 / -1;
    }

}

@media (max-width: 600px) {

    .act-footer {
        padding: 40px 0 20px;
    }

    .act-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .act-footer-organiser {
        grid-column: auto;
    }

    .act-footer-bottom {
        margin-top: 32px;
    }

}
/* =========================================================
   ACT Footer - Clean loaded footer menu
   ========================================================= */

.act-footer-links .module,
.act-footer-links .moduletable,
.act-footer-links .t4-module,
.act-footer-links [class*="module"] {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* Hide any old module title such as SITE MAP */
.act-footer-links .module-title,
.act-footer-links .module-title-wrap,
.act-footer-links h3,
.act-footer-links h4 {
    display: none !important;
}


/* Remove old box/container styling */
.act-footer-links .module-inner,
.act-footer-links .module-ct,
.act-footer-links .custom,
.act-footer-links .mod-menu {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
}


/* Footer menu */
.act-footer-links ul,
.act-footer-links ul.nav,
.act-footer-links ul.mod-menu {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    list-style: none !important;
}

.act-footer-links li {
    margin: 0 0 10px !important;
    padding: 0 !important;

    border: 0 !important;
}

.act-footer-links li a {
    display: inline-block !important;

    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.5;

    color: rgba(255,255,255,.72) !important;

    background: transparent !important;
    border: 0 !important;

    text-decoration: none !important;
}

.act-footer-links li a:hover {
    color: #004681 !important;
}


/* Remove accidental pseudo elements/icons */
.act-footer-links li a::before,
.act-footer-links li a::after {
    display: none !important;
}

/* =========================================================
   ACT Training / Masterclass Landing
   ========================================================= */

.act-training-intro {
    width: 90%;
    max-width: 1200px;

    margin: 0 auto;
    padding: 55px 0 65px;
}

.act-training-lead {
    max-width: 980px;

    margin: 0 0 28px;

    font-size: 22px;
    line-height: 1.55;

    color: #222;
}

.act-training-benefits {
    max-width: 980px;

    margin: 0;
    padding-left: 22px;

    font-size: 16px;
    line-height: 1.75;

    color: #444;
}

.act-training-benefits li {
    margin-bottom: 10px;
}


/* Cards */

.act-training-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;

    margin-top: 45px;
}

.act-training-link-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 180px;

    padding: 28px 20px;

    border: 1px solid #e8e8e8;
    border-radius: 16px;

    background: #fff;

    text-align: center;
    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.act-training-link-card:hover {
    transform: translateY(-4px);

    border-color: rgba(0,168,143,.25);

    box-shadow: 0 16px 38px rgba(0,0,0,.08);
}

.act-training-link-card img {
    width: 58px;
    height: 58px;

    margin-bottom: 18px;

    object-fit: contain;
}

.act-training-link-card span {
    font-size: 18px;
    font-weight: 700;

    color: #222;
}

.act-training-link-card:hover span {
    color: #004681;
}


/* Responsive */

@media (max-width: 767px) {

    .act-training-intro {
        padding: 40px 0 50px;
    }

    .act-training-lead {
        font-size: 19px;
    }

    .act-training-links {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .act-training-link-card {
        min-height: 145px;
    }

}
/* =========================================
   ACT Main Menu Dropdown
   ========================================= */

.act-site-header .navbar-nav {
    align-items: center;
}

.act-site-header .navbar-nav > .dropdown {
    position: relative;
}

/* Hide dropdown normally */
.act-site-header .navbar-nav > .dropdown > .dropdown-menu {
    display: none;
    position: absolute;

    top: 100%;
    left: 0;

    min-width: 220px;
    padding: 8px 0;
    margin: 0;

    background: #fff;

    border: 1px solid #e8e8e8;
    border-radius: 8px;

    box-shadow: 0 12px 30px rgba(0,0,0,.12);

    z-index: 99999;
}

/* Show on desktop hover */
@media (min-width: 992px) {

    .act-site-header .navbar-nav > .dropdown:hover > .dropdown-menu {
        display: block;
    }

}

/* Dropdown links */
.act-site-header .dropdown-menu .dropdown-item {
    display: block;

    width: 100%;

    padding: 11px 18px;

    color: #222;
    background: transparent;

    font-size: 14px;
    font-weight: 500;

    text-decoration: none;

    white-space: nowrap;
}

.act-site-header .dropdown-menu .dropdown-item:hover,
.act-site-header .dropdown-menu .dropdown-item:focus {
    color: #004681;
    background: #f5f7f7;
}

/* Arrow spacing */
.act-site-header .dropdown-toggle::after {
    margin-left: 7px;
    vertical-align: .15em;
}

/* Keep dropdown visible while cursor is over it */
.act-site-header .dropdown-menu {
    margin-top: 0 !important;
}


/* Mobile */
@media (max-width: 991px) {

    .act-site-header .navbar-nav > .dropdown > .dropdown-menu {
        position: static;

        width: 100%;

        border: 0;
        box-shadow: none;

        padding-left: 15px;
    }

    .act-site-header .navbar-nav > .dropdown > .dropdown-menu.show {
        display: block;
    }

}
/* Allow ACT menu dropdown to extend outside the header */
.act-site-header,
.act-site-header .t4-section-inner,
.act-site-header .section-inner,
.act-site-header .section-ct,
.act-site-header .t4-row,
.act-site-header .row,
.act-site-header .t4-col,
.act-site-header .navbar,
.act-site-header .navbar-nav {
    overflow: visible !important;
}

/* Keep header above all following sections */
.act-site-header {
    position: relative;
    z-index: 99999 !important;
}

.act-site-header .dropdown {
    position: relative;
}

.act-site-header .dropdown-menu {
    z-index: 100000 !important;
}
.act-events {
    transition: opacity .2s ease;
}

.act-events.is-loading {
    opacity: .35;
    pointer-events: none;
}
/* Highlight active Events filter */
.act-site-header .dropdown-menu a.is-active-event-filter {
    background: #f5f7f7;
    color: #004681 !important;
    font-weight: 700;
}


/* =========================================================
   ACT Footer Redesign
   ========================================================= */

.act-footer {
    background: #17252a;
    color: #d9e1e3;
    padding: 55px 0 0;
}

.act-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 40px;

    width: 90%;
    max-width: 1240px;
    margin: 0 auto;
    padding-bottom: 45px;
}

.act-footer h3,
.act-footer h4 {
    margin: 0 0 18px;

    font-size: 17px;
    font-weight: 700;

    color: #ffffff;
}

.act-footer a {
    color: #d9e1e3;
    text-decoration: none;

    transition: color .2s ease;
}

.act-footer a:hover {
    color: #004681;
}

.act-footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.act-footer-links li {
    margin-bottom: 10px;
}

.act-footer-contact {
    line-height: 1.8;
}

.act-footer-organiser img {
    display: block;

    max-width: 175px;
    max-height: 75px;

    margin-top: 8px;

    object-fit: contain;
}

.act-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);

    padding: 18px 5%;

    text-align: center;

    font-size: 13px;
    color: #aeb9bc;

    background: #101b1f;
}


/* =========================================================
   Back To Top Button
   ========================================================= */

#back-to-top,
.back-to-top,
.t4-back-to-top,
.t4-palette-mainnav .back-to-top {
    width: 46px !important;
    height: 46px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    border: 0 !important;
    border-radius: 50% !important;

    background: #004681 !important;
    color: #ffffff !important;

    box-shadow: 0 8px 22px rgba(0,0,0,.18);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

#back-to-top:hover,
.back-to-top:hover,
.t4-back-to-top:hover,
.t4-palette-mainnav .back-to-top:hover {
    background: #004681 !important;

    transform: translateY(-3px);

    box-shadow: 0 12px 28px rgba(0,0,0,.25);
}

/* Icons inside back-to-top */
#back-to-top i,
#back-to-top svg,
.back-to-top i,
.back-to-top svg,
.t4-back-to-top i,
.t4-back-to-top svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}


/* Footer responsive */
@media (max-width: 991px) {

    .act-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 640px) {

    .act-footer {
        padding-top: 40px;
    }

    .act-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .act-footer-bottom {
        padding: 16px 20px;
    }

}


/* =========================================================
   ACT Footer - final styling
   ========================================================= */

/* Remove the old T4 purple footer background */
#t4-footnav,
.t4-footnav,
.t4-section.t4-footnav {
    background: #17252a !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove T4 container spacing around our custom footer */
#t4-footnav > .t4-section-inner,
#t4-footnav .t4-section-inner,
#t4-footnav .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Full width footer */
.act-footer {
    width: 100%;
    margin: 0;
    padding: 55px 0 0;

    background: #17252a;
    color: #d9e1e3;
}

/* Inner content stays aligned with the site */
.act-footer-grid {
    width: 90%;
    max-width: 1240px;

    margin: 0 auto;
    padding: 0 0 48px;

    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 55px;
}

.act-footer h3,
.act-footer h4 {
    position: relative;

    margin: 0 0 25px;
    padding-bottom: 12px;

    color: #fff;

    font-size: 18px;
    font-weight: 700;
}

/* Teal underline */
.act-footer h3::after,
.act-footer h4::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 40px;
    height: 2px;

    background: #004681;
}

.act-footer a {
    color: #d7e0e2;
    text-decoration: none;

    transition: color .2s ease;
}

.act-footer a:hover {
    color: #004681;
}

.act-footer-links ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.act-footer-links li {
    margin-bottom: 13px;
}

.act-footer-contact {
    line-height: 1.9;
}

.act-footer-organiser img {
    display: block;

    width: auto;
    max-width: 175px;
    max-height: 85px;

    margin-top: 6px;

    object-fit: contain;
}

/* Copyright strip */
.act-footer-bottom {
    width: 100%;

    margin: 0;
    padding: 19px 20px;

    border-top: 1px solid rgba(255,255,255,.1);

    background: #101b1f;

    text-align: center;

    color: #aeb9bc;
    font-size: 13px;
}


/* Footer responsive */
@media (max-width: 991px) {

    .act-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 35px;
    }

}

@media (max-width: 640px) {

    .act-footer {
        padding-top: 40px;
    }

    .act-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}


/* =========================================================
   Back To Top visibility
   ========================================================= */

#back-to-top,
.back-to-top,
.t4-back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translateY(15px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease,
        background .2s ease !important;
}

#back-to-top.act-show-backtop,
.back-to-top.act-show-backtop,
.t4-back-to-top.act-show-backtop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: translateY(0);
}


/* Back-to-top visual style */
#back-to-top,
.back-to-top,
.t4-back-to-top {
    width: 46px !important;
    height: 46px !important;

    border-radius: 50% !important;
    border: 0 !important;

    background: #004681 !important;
    color: #fff !important;

    box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

#back-to-top:hover,
.back-to-top:hover,
.t4-back-to-top:hover {
    background: #004681 !important;
}


/* Reduce ACT footer height */
.act-footer {
    padding-top: 32px !important;
}

.act-footer-grid {
    padding-bottom: 28px !important;
    gap: 40px !important;
}

.act-footer h3,
.act-footer h4 {
    margin-bottom: 18px !important;
    padding-bottom: 8px !important;
}

.act-footer-links li {
    margin-bottom: 8px !important;
}

.act-footer-contact {
    line-height: 1.6 !important;
}

.act-footer-bottom {
    padding: 12px 20px !important;
}

#t4-footnav,
.t4-footnav,
.t4-section.t4-footnav {
    min-height: 0 !important;
}


/* =========================================================
   Remove extra T4 footer height / decoration
   ========================================================= */

#t4-footnav,
.t4-footnav,
.t4-section.t4-footnav {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

#t4-footnav .t4-section-inner,
#t4-footnav .section-inner,
#t4-footnav .row,
#t4-footnav .t4-row,
#t4-footnav .t4-col {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Remove JA Educatsy decorative footer shapes */
#t4-footnav::before,
#t4-footnav::after,
.t4-footnav::before,
.t4-footnav::after {
    display: none !important;
    content: none !important;
}

/* Ensure custom footer ends immediately after copyright */
.act-footer {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

.act-footer-bottom {
    margin-bottom: 0 !important;
}


/* =========================================================
   Webinar Speaker Profile Drawer
   ========================================================= */

.act-profile-overlay {
    background: rgba(0, 0, 0, 0.48) !important;
}

.act-profile-drawer {
    width: min(460px, 92vw) !important;
    padding: 32px 28px 36px !important;
    overflow-y: auto !important;
}

.act-profile-drawer-inner {
    max-width: 100% !important;
}

.act-profile-close {
    position: absolute !important;
    top: 16px !important;
    right: 18px !important;

    width: 38px !important;
    height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #f3f5f5 !important;
    color: #17252a !important;

    font-size: 22px !important;
    line-height: 1 !important;

    cursor: pointer !important;
    z-index: 5 !important;
}

.act-profile-close:hover {
    background: #004681 !important;
    color: #fff !important;
}

.act-profile-drawer img {
    width: 138px !important;
    height: 138px !important;

    object-fit: cover !important;
    object-position: center top !important;

    border-radius: 12px !important;

    margin: 15px 0 20px !important;
}

.act-profile-name {
    margin-bottom: 6px !important;
}

.act-profile-company {
    margin-bottom: 22px !important;
}

.act-profile-bio {
    padding-top: 22px !important;
    border-top: 1px solid #e5e5e5 !important;

    line-height: 1.75 !important;
}

@media (max-width: 640px) {

    .act-profile-drawer {
        width: 100% !important;
        padding: 28px 22px 32px !important;
    }

}

/* =========================================================
   Webinar article spacing + speaker drawer fixes
   ========================================================= */

/* Remove JA Educatsy/T4 space above webinar hero */
.act-webinar-page,
.act-webinar-hero {
    margin-top: 0 !important;
}

body:has(.act-webinar-hero) #t4-main-body,
body:has(.act-webinar-hero) .t4-main-body,
body:has(.act-webinar-hero) .item-page,
body:has(.act-webinar-hero) main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Remove spacing from the component row containing webinar */
body:has(.act-webinar-hero) #t4-hero,
body:has(.act-webinar-hero) .t4-hero,
body:has(.act-webinar-hero) .t4-section-inner,
body:has(.act-webinar-hero) .component {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Speaker profile overlay starts underneath sticky navbar */
.act-profile-overlay {
    position: fixed !important;
    top: 88px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    z-index: 150000 !important;
}

/* Drawer stays fully visible below navbar */
.act-profile-drawer {
    position: fixed !important;

    top: 88px !important;
    right: 0 !important;
    bottom: 0 !important;

    height: calc(100vh - 88px) !important;

    z-index: 150001 !important;

    overflow-y: auto !important;
    overscroll-behavior: contain;
}

/* Ensure close button always remains visible */
.act-profile-close {
    position: sticky !important;

    top: 0 !important;
    float: right;

    z-index: 150002 !important;
}


/* Mobile header is normally slightly smaller */
@media (max-width: 991px) {

    .act-profile-overlay {
        top: 72px !important;
    }

    .act-profile-drawer {
        top: 72px !important;
        height: calc(100vh - 72px) !important;
    }

}


/* =========================================================
   Webinar hero directly under header
   ========================================================= */

body:has(.act-webinar-page) #t4-hero,
body:has(.act-webinar-page) #t4-hero.t4-section,
body:has(.act-webinar-page) .t4-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:has(.act-webinar-page) #t4-hero > .t4-section-inner,
body:has(.act-webinar-page) #t4-hero > .container,
body:has(.act-webinar-page) #t4-hero > .container-fluid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove any inherited minimum height / spacing */
body:has(.act-webinar-page) #t4-hero {
    min-height: 0 !important;
    height: auto !important;
}

/* Drawer below sticky header */
.act-profile-overlay {
    top: 88px !important;
    height: calc(100vh - 88px) !important;
}

.act-profile-drawer {
    top: 88px !important;
    height: calc(100vh - 88px) !important;
}

@media (max-width: 991px) {
    .act-profile-overlay,
    .act-profile-drawer {
        top: 72px !important;
        height: calc(100vh - 72px) !important;
    }
}


/* =========================================================
   Webinar page - remove empty space above hero
   ========================================================= */

body:has(.act-webinar-page) #t4-hero {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* Empty Joomla message container must not reserve space */
body:has(.act-webinar-page) #system-message-container:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Collapse component wrappers */
body:has(.act-webinar-page) #t4-hero > *,
body:has(.act-webinar-page) .act-webinar-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Webinar hero begins immediately */
body:has(.act-webinar-page) .act-webinar-hero {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove possible generated pseudo-element spacing */
body:has(.act-webinar-page) #t4-hero::before,
body:has(.act-webinar-page) #t4-hero::after {
    content: none !important;
    display: none !important;
}

/* =========================================================
   ACT HEADER - TABLET + MOBILE
   ========================================================= */

@media (max-width: 991px) {

    #t4-header.act-site-header {
        position: relative;
        background: #fff;
    }

    #t4-header > .t4-section-inner.container {
        position: relative;
        width: 100%;
        min-height: 86px;
        padding-left: 15px;
        padding-right: 15px;
    }

    #t4-header .t4-row {
        position: relative !important;

        display: block !important;

        width: 100%;
        min-height: 86px;

        margin: 0 !important;
    }


    /* =====================================================
       CENTER LOGO
       ===================================================== */

    #t4-header .t4-row > .act-logo {
        position: absolute !important;

        top: 50% !important;
        left: 50% !important;
        right: auto !important;

        transform: translate(
            -50%,
            -50%
        ) !important;

        width: auto !important;
        max-width: none !important;

        padding: 0 !important;
        margin: 0 !important;

        flex: none !important;

        z-index: 10;
    }

    #t4-header .act-logo .custom,
    #t4-header .act-logo p {
        margin: 0 !important;
        padding: 0 !important;
    }

    #t4-header .act-logo a {
        display: block;
    }

    #t4-header .act-logo img {
        display: block;

        width: auto !important;
        height: auto !important;

        max-width: 105px;
        max-height: 60px;

        margin: 0 auto;
    }


    /* =====================================================
       MENU COLUMN
       Do not position the column itself
       ===================================================== */

    #t4-header .t4-row > .act-main-menu {
        position: static !important;

        width: auto !important;
        max-width: none !important;

        padding: 0 !important;
        margin: 0 !important;

        flex: none !important;
    }

    #t4-header .act-main-menu
    .t4-section-inner,
    #t4-header .act-main-menu
    .section-inner,
    #t4-header .act-main-menu
    .section-ct,
    #t4-header .act-main-menu
    nav.navbar,
    #t4-header .act-mobile-menu-wrapper {
        position: static !important;

        width: auto !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    /* =====================================================
       HAMBURGER - RIGHT SIDE
       ===================================================== */

    #t4-header .act-mobile-menu-toggle {
        display: flex !important;

        position: absolute !important;

        top: 50% !important;
        right: 15px !important;
        left: auto !important;

        transform: translateY(-50%) !important;

        width: 44px;
        height: 44px;

        flex-direction: column;
        align-items: center;
        justify-content: center;

        gap: 5px;

        padding: 0;

        border: 1px solid #d8dedc;
        border-radius: 9px;

        background: #fff;

        cursor: pointer;

        z-index: 1002;
    }

    #t4-header .act-mobile-menu-toggle span {
        display: block;

        width: 23px;
        height: 2px;

        margin: 0;

        border-radius: 2px;

        background: #222;

        transition:
            transform .2s ease,
            opacity .2s ease;
    }


    /* Hamburger -> X */

    #t4-header
    .act-mobile-menu-toggle.is-open
    span:nth-child(1) {
        transform:
            translateY(7px)
            rotate(45deg);
    }

    #t4-header
    .act-mobile-menu-toggle.is-open
    span:nth-child(2) {
        opacity: 0;
    }

    #t4-header
    .act-mobile-menu-toggle.is-open
    span:nth-child(3) {
        transform:
            translateY(-7px)
            rotate(-45deg);
    }


    /* =====================================================
       HIDE NORMAL MENU
       ===================================================== */

    #t4-header .sf-menu {
        display: none !important;
    }


    /* =====================================================
       OPEN MOBILE MENU
       ===================================================== */

    #t4-header .sf-menu.act-mobile-open {
        display: flex !important;

        position: absolute !important;

        top: calc(100% + 8px) !important;
        right: 15px !important;
        left: auto !important;

        z-index: 10000;

        width: 270px;
        max-width: calc(100vw - 30px);

        flex-direction: column;

        gap: 0;

        margin: 0 !important;
        padding: 8px !important;

        border: 1px solid #e1e6e4;
        border-radius: 10px;

        background: #fff;

        box-shadow:
            0 14px 35px
            rgba(0, 0, 0, .15);
    }


    #t4-header
    .sf-menu.act-mobile-open
    > li {
        width: 100%;

        margin: 0;
        padding: 0;
    }


    #t4-header
    .sf-menu.act-mobile-open
    > li
    > a {
        display: block;

        width: 100%;

        padding: 12px 14px;

        border-radius: 7px;

        color: #222;

        font-size: 15px;
        font-weight: 600;

        text-decoration: none;
    }


    #t4-header
    .sf-menu.act-mobile-open
    > li
    > a:hover,
    #t4-header
    .sf-menu.act-mobile-open
    > li.active
    > a,
    #t4-header
    .sf-menu.act-mobile-open
    > li.current
    > a {
        background: #eefaf7;

        color: #004681;
    }


    /* Events submenu */

    #t4-header
    .sf-menu.act-mobile-open
    .dropdown-menu {
        position: static !important;

        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 2px 0 7px !important;
        padding: 3px 0 3px 14px !important;

        border: 0 !important;

        background: transparent !important;

        box-shadow: none !important;

        transform: none !important;
    }

    #t4-header
    .sf-menu.act-mobile-open
    .dropdown-menu
    a {
        display: block;

        padding: 9px 12px;

        border-radius: 6px;

        color: #555;

        font-size: 13px;

        text-decoration: none;
    }

}
/* Desktop - never show mobile hamburger */
@media (min-width: 992px) {

    #t4-header .act-mobile-menu-toggle {
        display: none !important;
    }

    #t4-header .sf-menu {
        display: flex !important;
    }

}

/* ==========================================================
   ACP - ACT Footer Responsive Layout
   Desktop: Preserve existing layout
   Tablet:  Two columns + centred organiser
   Mobile:  Two columns + centred organiser
   ========================================================== */

/* TABLET */
@media (min-width: 768px) and (max-width: 1024px) {

    .act-footer .act-footer-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 40px 30px !important;
    }

    .act-footer .act-footer-organiser {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        text-align: center !important;
    }
}

/* MOBILE */
@media (max-width: 767px) {

    .act-footer .act-footer-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 30px 16px !important;
        align-items: start !important;
    }

    .act-footer .act-footer-links {
        grid-column: 1 !important;
        min-width: 0 !important;
    }

    .act-footer .act-footer-contact {
        grid-column: 2 !important;
        min-width: 0 !important;
    }

    .act-footer .act-footer-organiser {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        text-align: center !important;
        min-width: 0 !important;
    }

    .act-footer .act-footer-organiser img {
        display: block !important;
        max-width: 160px !important;
        width: auto !important;
        height: auto !important;
        margin: 15px auto 0 !important;
    }

    .act-footer .act-footer-contact a,
    .act-footer .act-footer-contact p {
        overflow-wrap: anywhere !important;
    }

    .act-footer .act-footer-bottom {
        text-align: center !important;
        padding: 16px 20px 55px !important;
    }
}
/* ==================================================
   ACP START - ACT Desktop Header Alignment
   Logo: Left | Navigation: Right
   ================================================== */

@media (min-width: 992px) {

    /* Main header row */
    #t4-header .t4-section-inner.container > .t4-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 500px !important;
    }

    /* Logo aligned left */
    #t4-header .act-logo {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Navigation occupies remaining space */
    #t4-header .act-main-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;
        margin-left: auto !important;
    }

    /* Push menu items to the right */
    #t4-header .act-main-menu .navbar {
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        padding-left: 0 !important;
    }

    #t4-header .act-main-menu .sf-menu {
        display: flex !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }


}
/* ==========================================================
   ACP START - Upcoming Webinar Full Height Image
   ========================================================== */

@media (min-width: 992px) {

    /* Keep two columns with slightly more room for content */
    .act-home-webinars .act-upcoming-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: stretch !important;
        min-height: 360px !important;
        width: 100% !important;
    }

    .act-home-webinars .act-upcoming-content {
        min-width: 0 !important;
        padding: 35px 40px !important;
    }

    /* Image fills the entire right or left column */
    .act-home-webinars .act-upcoming-image {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        align-self: stretch !important;
        overflow: hidden !important;
        background: #111 !important;
    }

    /* Image link fills its container */
    .act-home-webinars .act-upcoming-image > a {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* Image fills the space, keeping the subject on the right */
    .act-home-webinars .act-upcoming-image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;

        object-fit: cover !important;
        object-position: right center !important;
    }
}

/* Promotional text stays on the left of the image */
.act-home-webinars .act-upcoming-image .act-webinar-image-copy {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 75% !important;
    max-width: 75% !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    padding: 24px !important;
    box-sizing: border-box !important;

    z-index: 2 !important;
}

.act-home-webinars .act-upcoming-image .act-webinar-image-heading {
    font-size: clamp(18px, 1.6vw, 25px) !important;
    line-height: 1.25 !important;
    color: #fff !important;
    overflow-wrap: break-word !important;
}

/* Tablet and mobile */
@media (max-width: 991px) {

    .act-home-webinars .act-upcoming-item {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .act-home-webinars .act-upcoming-image {
        height: 300px !important;
        min-height: 0 !important;
        max-height: none !important;
        position: relative !important;
    }

    .act-home-webinars .act-upcoming-image > a {
        position: absolute !important;
        inset: 0 !important;
        height: 100% !important;
    }

    .act-home-webinars .act-upcoming-image img {
        height: 100% !important;
        min-height: 0 !important;
        width: 100% !important;
        object-fit: cover !important;
        object-position: right center !important;
    }
}

@media (max-width: 600px) {
    .act-home-webinars .act-upcoming-image {
        height: 240px !important;
    }

    .act-home-webinars .act-upcoming-image .act-webinar-image-copy {
        width: 80% !important;
        max-width: 80% !important;
        padding: 16px !important;
    }

    .act-home-webinars .act-upcoming-image .act-webinar-image-heading {
        font-size: 18px !important;
    }
}

/* ACP END - Upcoming Webinar Full Height Image */

/* =========================================================
   ACP START - ACT Global Brand Colour
   Primary Colour: #004681
   ========================================================= */

:root {
    --act-primary: #004681;
    --act-primary-rgb: 0, 70, 129;
    --act-primary-light: #eaf2f9;
}

/* ---------- Buttons ---------- */

.act-home-webinars .act-webinar-button,
.act-home-webinars .act-webinar-button.btn-primary,
.act-home-webinars .act-upcoming-content .btn,
.act-home-webinars .act-past-watch,
.act-home-webinars .act-button-arrow,
.act-home-webinars .act-upcoming-content .btn-primary {
    background-color: #004681 !important;
    border-color: #004681 !important;
    color: #ffffff !important;
}

.act-home-webinars .act-webinar-button:hover,
.act-home-webinars .act-upcoming-content .btn:hover,
.act-home-webinars .act-past-watch:hover {
    background-color: #004681 !important;
    border-color: #004681 !important;
    color: #ffffff !important;
    opacity: 0.9;
}

/* Keep the circular arrow/play background translucent */
.act-home-webinars .act-button-arrow {
    background: rgba(255,255,255,0.20) !important;
}

/* ---------- General CTA Buttons ---------- */

.act-webinar-page .btn-primary,
.act-webinar-page .btn-primary:hover,
.t4-content .btn-primary,
.t4-content .btn-primary:hover {
    background-color: #004681 !important;
    border-color: #004681 !important;
    color: #ffffff !important;
}

/* ---------- Navigation ---------- */

.t4-header .nav-link:hover,
.t4-header .nav-item.active > .nav-link,
.t4-header .nav-item.current > .nav-link,
.t4-header .nav-item > .nav-link.active,
.t4-header .dropdown-item:hover,
.t4-header .dropdown-item.active {
    color: #004681 !important;
}

.t4-header .nav-item.active > .nav-link::after,
.t4-header .nav-item.current > .nav-link::after,
.t4-header .nav-link.active::after {
    background-color: #004681 !important;
    border-color: #004681 !important;
}

/* ---------- Upcoming Webinars ---------- */

.act-home-webinars .act-upcoming-date {
    color: #004681 !important;
    background-color: #eaf2f9 !important;
}

/* ---------- Past Webinars ---------- */

.act-home-webinars .act-past-date,
.act-home-webinars .act-webinar-date {
    color: #004681 !important;
}

/* ---------- Image Status ---------- */

.act-home-webinars .act-webinar-image-status,
.act-webinar-page .act-webinar-hero-status {
    color: #004681 !important;
}

/* ---------- Webinar Detail Page ---------- */

.act-webinar-page .act-webinar-date,
.act-webinar-page .act-webinar-section-heading > span {
    color: #004681 !important;
}

/* ---------- Back to Top ---------- */

#back-to-top,
.back-to-top,
.backtotop,
.t4-back-to-top,
#backTop {
    background-color: #004681 !important;
    border-color: #004681 !important;
    color: #ffffff !important;
}

/* ---------- Forms ---------- */

input:focus,
select:focus,
textarea:focus {
    border-color: #004681;
}

/* =========================================================
   ACP END - ACT Global Brand Colour
   ========================================================= */
   /* ACP START - Remaining ACT Brand Colours */

/* Homepage slider subtitle */
.act-slider-subtitle {
    color: #a1cdf1 !important;
}

/* Homepage slider button */
.act-slider-button,
.act-slider-button:hover,
.act-slider-button:focus {
    background: #004681 !important;
    border-color: #004681 !important;
    color: #ffffff !important;
}



/* ACP END - Remaining ACT Brand Colours */
/* ACP START - ACT Remaining Accent Colours */

/* Homepage webinar section labels */
.act-home-webinars .act-home-upcoming > .act-section-heading span,
.act-home-webinars .act-home-past > .act-section-heading span,
.act-home-webinars .act-section-subtitle {
    color: #004681 !important;
}

/* Privacy Policy and other article heading underlines */
.com-content-article .page-header::after,
.t4-content .page-header::after {
    background-color: #004681 !important;
    border-color: #004681 !important;
}

/* ==================================================
   ACP START - ACT Footer Brand Colours
   ================================================== */

/* Footer heading underline */
.act-footer .act-footer-divider {
    background-color: #004681 !important;
    border-color: #004681 !important;
}

/* Footer contact links - lighter blue for readability */
.act-footer .act-footer-contact a {
    color: #67b7e8 !important;
    text-decoration: none;
}

.act-footer .act-footer-contact a:hover {
    color: #ffffff !important;
}

/* ==================================================
   ACP END - ACT Footer Brand Colours
   ================================================== */

/* ACP END - ACT Remaining Accent Colours */

/* ==================================================
   ACP START - ACT Remaining Teal Accent Fixes
   ================================================== */

/* Upcoming and Past Webinar section labels */
.act-home-webinars .act-home-upcoming > .act-section-heading span,
.act-home-webinars .act-home-past > .act-section-heading span,
.act-home-webinars .act-home-upcoming h2 + span,
.act-home-webinars .act-home-past h2 + span {
    color: #004681 !important;
}

/* Article heading underline - common patterns */
.act-page-heading::after,
.act-page-title::after,
.act-section-heading::after,
.act-content-heading::after,
.com-content-article .page-header::after {
    background: #004681 !important;
    border-color: #004681 !important;
}

/* ACP END - ACT Remaining Teal Accent Fixes */
/* ==================================================
   ACP START - ACT Homepage Section Label Colours
   ================================================== */

.act-home-webinars .act-home-webinars-heading > span,
.act-home-upcoming .act-home-webinars-heading > span,
.act-home-past .act-home-webinars-heading > span {
    color: #004681 !important;
}

/* ==================================================
   ACP START - Past Webinar Card Button Alignment
   ================================================== */

/* Card layout */
.act-home-webinars .act-past-card {
    display: flex !important;
    flex-direction: column !important;
}

/* Content layout */
.act-home-webinars .act-past-card .act-past-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Push Watch Webinar button to bottom */
.act-home-webinars .act-past-card .act-past-watch {
    margin-top: auto !important;
    align-self: flex-start !important;
}

/* Consistent spacing */
.act-home-webinars .act-past-card .act-past-content h3 {
    margin-bottom: 18px !important;
}

/* ==================================================
   ACP END - Past Webinar Card Button Alignment
   ================================================== */
   /* ==================================================
   ACP START - Past Webinar Alignment & Load More Fix
   ================================================== */

/* Keep webinar cards as flex containers */
.act-home-webinars .act-past-card {
    display: flex !important;
    flex-direction: column !important;
}

/* IMPORTANT: Respect JavaScript hidden state */
.act-home-webinars .act-past-card[hidden] {
    display: none !important;
}

/* Stretch card content */
.act-home-webinars .act-past-card .act-past-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

/* Align Watch Webinar buttons at the bottom */
.act-home-webinars .act-past-card .act-past-watch {
    margin-top: auto !important;
    align-self: flex-start !important;
}

/* Centre Load More below the cards */
.act-home-webinars .act-past-loadmore-wrap {
    width: 100%;
    grid-column: 1 / -1;
    text-align: center;
}

/* Preserve hidden state of Load More button */
.act-home-webinars .act-past-loadmore[hidden],
.act-home-webinars .act-past-loadmore-wrap[hidden] {
    display: none !important;
}

/* ==================================================
   ACP END - Past Webinar Alignment & Load More Fix
   ================================================== */