.tui-core_course-courseCard{display:flex;flex-direction:column;width:100%}.tui-core_course-courseCard__content{display:flex;flex-direction:column;flex-grow:1;padding:var(--gap-4);padding-top:0}.tui-core_course-courseCard__content>*{margin-top:var(--gap-2)}.tui-core_course-courseCard__title{font-weight:var(--font-h4-weight);font-size:var(--font-h4-size);font-family:var(--font-h4-family);line-height:var(--font-h4-line-height)}.tui-core_course-courseCard__title--limitHeight{display:-webkit-box;height:3.9375rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.tui-core_course-courseCard__image{width:100%;height:7.5rem;background-position:50%;background-size:cover;border-top-left-radius:var(--card-border-radius);border-top-right-radius:var(--card-border-radius)}.tui-core_course-categorySelector__categorySelector{margin:var(--gap-2)}.tui-coreCourseAdderRow__image{float:left;width:3.75rem;height:2.5rem;margin-right:var(--gap-2);background-position:50%;background-size:cover}.tui-coreCourseAdderRow__name{height:var(--font-body-line-height);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tui-coreCourseAdderRow__category{font-weight:var(--font-body-xs-weight);font-size:var(--font-body-xs-size);font-family:var(--font-body-xs-family);line-height:var(--font-body-xs-line-height);height:1.1em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tui-core_course-courseInfo{display:grid;grid-template-columns:1fr;gap:var(--gap-4);margin-bottom:var(--gap-5)}@media (min-width:600px){.tui-core_course-courseInfo{grid-template-columns:auto 1fr}}.tui-core_course-courseInfo__image{width:15rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;aspect-ratio:1.7777777778;object-fit:cover;border-radius:var(--border-radius-normal)}.tui-core_course-courseInfo__summaryFiles,.tui-core_course-courseInfo__contacts{margin:var(--gap-2) 0 0;list-style-type:none}.tui-core_course-courseInfo__summaryFiles>li+li,.tui-core_course-courseInfo__contacts>li+li{margin-top:var(--gap-2)}.tui-core_course-courseInfo__summaryFilesImage{max-width:100px;max-height:100px}.tui-core_course-coursePickerModal__picker{flex-grow:1;height:31.25rem}.tui-core_course-coursePickerModal__buttons{flex-grow:1;justify-content:flex-end}.tui-core_course-picker{display:flex;flex-direction:column}.tui-core_course-picker__table{margin:var(--gap-4) 0}.tui-core_course-picker__selectionInfo{padding-top:var(--gap-3);border-top:var(--border-width-normal) solid var(--color-neutral-5);font-weight:var(--font-body-sm-weight);font-size:var(--font-body-sm-size);font-family:var(--font-body-sm-family);line-height:var(--font-body-sm-line-height)}.tui-core_course-picker__listScroll{height:100%;overflow-y:auto}.tui-core_course-picker__loadMore{display:flex;justify-content:center;margin:var(--gap-4) 0}
/* =========================================================
   DASHBOARD – BASE STYLES
   ========================================================= */

/*Start: MHSS application button*/
.mhss_button {
    background-color: #fdb913;
    color: #282828 !important;
    height: 60px;
    border: 0px;
    border-radius: 10px;
    padding: 18px 18px;
    text-decoration: none;
    display: inline-block;
    font-size: 28px;
    font-weight: semibold;
}

.mhss_button:hover {
    transition-duration: 0.4s;
    background-color: #fec861;
    text-decoration: none;
}
/*End: MHSS application button*/

/*Start: Link button colour options*/
.yellow {
    background-color: #fdb913;
    color: black !important;
    border: 0px;
    border-radius: 5px;
    padding: 10px 12px;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    font-size: 18px;
}

.yellow:hover {
    transition-duration: 0.4s;
    background-color: #fec861;
}

.abutton{
    background-color: var(--btn-bg-color);
    border-color: var(--btn-border-color);
    color: var(--btn-text-color) !important;
    border: 0px;
    border-radius: var(--btn-prim-radius);
    padding: var(--btn-prim-padding);
    text-decoration: none;
    text-align: center;
    display: inline-block;
    font-size: 18px;
}

.abutton:hover {
    transition-duration: 0.3s;
    background-color: var(--btn-bg-color-hover);
    border-color: var(--btn-border-color-hover);
}
/*End: Link button colour options*/

/*Start: Hero*/
.hero {
    height: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.hero-image {
    height: auto;
    width: 100%;
    opacity: 0.4;
}

.hero-text {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color:black;
}
/*End: Hero*/
/*END DASHBOARD*/

/* Hide entire page-heading div on home page */
#page-site-index .page-heading {
    display: none !important;
}

/* 1) Do NOT blur the caption text on hover */
.block_carousel figure.tile:hover .caption,
.block_carousel figure.tile:hover .caption * {
    filter: none !important;         /* cancels any inherited blur/drop-shadow filters */
    text-shadow: none !important;    /* cancels theme hover glow on text */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.learning.has-summary:hover .tile h3,
.learning.has-summary:hover .tile h2,
.learning.has-summary:hover .tile .coursename,
.learning.has-summary:hover .tile .coursename a {
    text-shadow: none !important;
    filter: none !important;
    transform: none !important;
    color: #000 !important; /* or your preferred color */
}

.learning.has-summary:hover .tile,
.learning.has-summary:hover .coursename {
    filter: blur(0) !important;
    text-shadow: none !important;
}

.learning.has-summary .coursename,
.learning.has-summary:hover .coursename {
    -webkit-font-smoothing: antialiased !important;
    font-weight: 600 !important; /* match your normal style */
}

/* =========================================================
   MOBILE LAYOUT OVERRIDES – DASHBOARD + FRONT PAGE
   ========================================================= */

@media (max-width: 768px) {

    /* Make MHSS and yellow buttons full-width on phones */
    .mhss_button {
        width: 100%;
        font-size: 22px;
        height: auto;
        padding: 14px 12px;
        text-align: center;
    }

    .yellow {
        width: 100%;
        font-size: 16px;
    }

    /* Stack blocks/cards to full width */
    .pagelayout-dashboard .block-region .block,
    .pagelayout-dashboard .block-region .card,
    .pagelayout-frontpage .block-region .block,
    .pagelayout-frontpage .block-region .card {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Reduce side padding so content fits nicely */
    .pagelayout-dashboard .page-content,
    .pagelayout-frontpage .page-content {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    /* Ensure images scale within cards/blocks */
    .pagelayout-dashboard .block img,
    .pagelayout-dashboard .card img,
    .pagelayout-frontpage .block img,
    .pagelayout-frontpage .card img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Hero text – keep within screen width */
    .hero-text {
        width: 90%;
        font-size: 1rem;
    }
}

/* =========================================================
   FOOTER – MOBILE FIX (STACK COLUMNS, REMOVE VERTICAL LINE)
   ========================================================= */

@media (max-width: 768px) {

    /* Remove side gutters on the main footer row */
    #page-footer .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Each top-level footer column becomes full-width */
    #page-footer .row > div,
    #page-footer .row > [class*="col-"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 1rem;
        border-left: none !important;   /* kills any vertical divider */
        border-right: none !important;
    }

    /* Make sure the footer itself uses the full viewport width */
    #page-footer,
    #page-footer .container,
    #page-footer .container-fluid {
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Slightly smaller text for readability on phones */
    #page-footer,
    #page-footer p,
    #page-footer li {
        font-size: 0.85rem;
        line-height: 1.4;
    }
}

/* =========================================================
   FOOTER – RESPONSIVE LAYOUT FOR HTML BLOCK (footertext)
   ========================================================= */

/* Default: small tidy tweaks even on desktop */
#page-footer .page-footer-main-content .generated-content--user .no-overflow > div {
    width: 100%;
    box-sizing: border-box;
}

/* Make sure the logo is always visible and scales sensibly */
#page-footer .page-footer-main-content img[alt="Queensland Government"] {
    max-width: 250px;
    height: auto;
    display: block;
}

/* -----------------------------
   MOBILE LAYOUT (≤ 768px)
   Stack logo / text / links
   ----------------------------- */
@media (max-width: 768px) {

    /* Turn the footer table into a stacked layout */
    #page-footer .page-footer-main-content table {
        width: 100% !important;
        border-collapse: collapse;
        display: block;
    }

    #page-footer .page-footer-main-content table tbody,
    #page-footer .page-footer-main-content table tr {
        display: block;
        width: 100% !important;
    }

    #page-footer .page-footer-main-content table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
        padding: 10px 0 !important;
        text-align: left !important;
        border-left: none !important;   /* remove the vertical divider on mobile */
    }

    /* Logo cell – centre or left as you prefer */
    #page-footer .page-footer-main-content table td:first-child {
        text-align: left !important;    /* change to 'center' if you want it centred */
    }

    #page-footer .page-footer-main-content table td:first-child img[alt="Queensland Government"] {
        max-width: 200px;
        margin: 0 0 10px 0;             /* small spacing under logo */
    }

    /* Text cell – keep readable */
    #page-footer .page-footer-main-content table td:nth-child(2) {
        font-size: 14px;
        line-height: 1.6;
    }

    /* Links cell – stack the links with small spacing */
    #page-footer .page-footer-main-content table td:last-child {
        padding-top: 5px !important;
        font-size: 14px;
    }

    #page-footer .page-footer-main-content table td:last-child p {
        margin: 0 0 6px 0;
    }

    #page-footer .page-footer-main-content table td:last-child a {
        display: inline-block;
        text-decoration: none;
    }

    /* Logged-in info + small links underneath – centre on mobile */
    .page-footer-loggedin-info {
        text-align: left;
        margin-top: 10px;
        font-size: 13px;
    }

    .page-footer-loggedin-info .btn {
        margin-left: 5px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .footer-links-container ul {
        padding-left: 0;
    }

    .footer-links-container li {
        display: inline-block;
        margin-right: 10px;
        font-size: 13px;
    }
}

/* =========================================
   "My learning" hero banner (Dashboard ID 5, block mylearninghero)
   ========================================= */

/* Kill extra gap around the banner */
.block.mylearninghero.block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* Reset gallery container spacing */
.block.mylearninghero.block .gallery-main {
    margin: 0 !important;
    padding: 0 !important;
}

/* Let slick wrapper heights be automatic */
.block.mylearninghero.block .gallery-main .slick-list,
.block.mylearninghero.block .gallery-main .slick-track {
    height: auto !important;
    overflow: visible !important;
}

/* Fix the actual slide/container height */
.block.mylearninghero.block .gallery-main .item,
.block.mylearninghero.block .gallery-main .item__container {
    position: relative;
    height: 230px !important;      /* change to 210 / 250 etc if you want */
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Background wrappers fill the container */
.block.mylearninghero.block .gallery-main .item__background--large,
.block.mylearninghero.block .gallery-main .item__background--small {
    position: absolute;
    inset: 0;
    height: 100% !important;
}

/* Image fills the hero neatly */
.block.mylearninghero.block .gallery-main .item__background-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Position the "Welcome" text nicely over the image */
.block.mylearninghero.block .item__text-container {
    position: absolute;
    inset: 0 auto auto 0;
    display: flex;
    align-items: center;   /* vertical alignment */
    padding-left: 1rem;
    padding-right: 1rem;
    background: transparent !important;
}

/* Heading size */
.block.mylearninghero.block .item__text-container__element {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    color: #fff;
    font-weight: bold;
}

@media (max-width: 767px) {
.block.mylearninghero.block .item__text-container__element {
        font-size: 22px;
    }
}

/* ============================================
   ABOUT US (dashboard id 8) & CONTACT US (id 11)
   MOBILE LAYOUT FIX – STACK COLUMNS FULL WIDTH
   ============================================ */

@media (max-width: 768px) {

    /* 1. Stack any Bootstrap-style columns inside the main HTML
       so “Our mission” and staff cards become full-width */
    body#page-totara-dashboard-8 .generated-content--user .row > [class*="col-"],
    body#page-totara-dashboard-11 .generated-content--user .row > [class*="col-"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 1rem;
    }

    /* 2. Remove side gutters on those rows so content uses the screen */
    body#page-totara-dashboard-8 .generated-content--user .row,
    body#page-totara-dashboard-11 .generated-content--user .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 3. If the mission / team layout is using tables, stack cells too */
    body#page-totara-dashboard-8 .generated-content--user table,
    body#page-totara-dashboard-11 .generated-content--user table {
        width: 100% !important;
        border-collapse: collapse;
        display: block;
    }

    body#page-totara-dashboard-8 .generated-content--user table tr,
    body#page-totara-dashboard-11 .generated-content--user table tr {
        display: block;
        width: 100% !important;
    }

    body#page-totara-dashboard-8 .generated-content--user table td,
    body#page-totara-dashboard-11 .generated-content--user table td {
        display: block;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 1rem;
    }
}

/* ----------------------------------------------------
   ABOUT US PAGE – HERO BANNER (MOBILE)
   Dashboard: id=3, Banner block: aboutusbanner
-----------------------------------------------------*/

@media (max-width: 768px) {

  /* 1. Use banner image as background and hide the inline image */
  .block.aboutusbanner.block .gallery-main .item__container {
    background-image: url("https://qmhhas.stage.kineoplatforms.net/pluginfile.php/671/block_gallery/image68face1311709/355/web_banner_about%20us-oca4dduxn4d.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 220px !important;
    position: relative;
  }

  .block.aboutusbanner.block .item__background--large,
  .block.aboutusbanner.block .item__background--large .item__background-image {
    display: none !important;
  }

  /* 2. Make sure "About us" heading is always visible on mobile */
  .block.aboutusbanner.block .item__text-container {
    position: relative;
    z-index: 2;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-top: 60px;          /* pushes text down below sticky header */
    padding-left: 20px;
  }

  .block.aboutusbanner.block .item__text-container__element {
    display: block !important;
    font-size: 32px !important; /* smaller than desktop */
    line-height: 1.2;
    margin: 0;
    color: #00929f !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* CONTACT US dashboard – force stable banner height on mobile */
@media (max-width: 767px) {

  /* Force a consistent 220px height on the whole gallery block */
  .block.contactbanner.block .gallery-main,
  .block.contactbanner.block .gallery-main .slick-list,
  .block.contactbanner.block .gallery-main .slick-track,
  .block.contactbanner.block .gallery-main .slick-slide,
  .block.contactbanner.block .gallery-main .item,
  .block.contactbanner.block .gallery-main article.item__container {
    height: 220px !important;
    min-height: 220px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Always use the small background image on phones */
  .block.contactbanner.block .item__background--large {
    display: none !important;
  }

  .block.contactbanner.block .item__background--small {
    display: block !important;
  }

  .block.contactbanner.block .item__background--small .item__background-image {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }

  /* Compact and position the "Contact us" title nicely */
  .block.contactbanner.block h1.item__text-container__element {
    font-size: 32px !important;
    line-height: 1.2;
    margin: 0;
  }

  .block.contactbanner.block .item__text-container__inner {
    padding: 12px 15px 0;
  }

  /* Remove any extra gap between banner and first HTML block */
  #page-totara-dashboard-11 .block.questiontext.block {
    margin-top: 0 !important;
  }
}

/* LOGIN PAGE – mobile layout fixes */
@media (max-width: 767px) {

  /* Limit rules to the login page only */
  body#page-login-index .loginbox.twocolumns {
    max-width: 100%;
    padding: 20px 15px;
    margin: 0 auto;
  }

  /* Stack the sign in + first time panels */
  body#page-login-index .loginbox.twocolumns .loginpanel,
  body#page-login-index .loginbox.twocolumns .signuppanel {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    box-sizing: border-box;
  }

  /* Make the “Is this your first time here?” heading behave on mobile */
  body#page-login-index .signuppanel h2 {
    font-size: 28px;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 10px;
  }

  /* Optional: slightly reduce the Sign in heading size too */
  body#page-login-index .loginpanel h2 {
    font-size: 28px;
    line-height: 1.2;
  }

  /* Center the “Create new account” button nicely */
  body#page-login-index .signupform input[type="submit"] {
    display: inline-block;
    width: auto;
    padding: 8px 18px;
  }
  body#page-login-index .signupform {
    text-align: center;
  }

  /* Hero image – shrink height so it doesn’t dominate on phones */
  body#page-login-index #login_hero-image img {
    width: 100%;
    height: auto;
    max-height: 160px;
    object-fit: cover;
  }
}
/* LOGIN PAGE – tidy big heading on tablet (iPad mini etc.) */
@media (min-width: 768px) and (max-width: 1024px) {
  body#page-login-index .signuppanel h2 {
    font-size: 32px !important;   /* smaller heading */
    line-height: 1.2 !important;  /* more breathing room between lines */
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-wrap: break-word;
    margin-top: 0;
    margin-bottom: 10px;
  }
}

/* LOGIN PAGE – fix buttons getting cut on narrow phones */
@media (max-width: 480px) {

  /* Make panels full width just in case */
  body#page-login-index .loginbox.twocolumns .loginpanel,
  body#page-login-index .loginbox.twocolumns .signuppanel {
    float: none;
    width: 100%;
  }

  /* Make all main buttons fluid width */
  body#page-login-index .loginbox #loginbtn,
  body#page-login-index .loginbox #guestlogin input[type="submit"],
  body#page-login-index .loginbox .signupform input[type="submit"] {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 16px auto 0;   /* centres nicely */
  }
}

/* LOGIN PAGE – fix "Create new account" button on small phones */
@media (max-width: 480px) {
  body#page-login-index .signupform input[type="submit"] {
    display: block;
    width: 100% !important;      /* full width of the column */
    max-width: 100% !important;
    white-space: normal !important;  /* allow text to wrap */
    text-align: center;
    padding: 10px 8px;
    font-size: 16px;             /* slightly smaller text */
    box-sizing: border-box;
  }

  /* Optional: reduce side padding so the column is a bit wider */
  body#page-login-index .signuppanel .subcontent {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* FORCE HOMEPAGE BANNER TEXT TO CENTER (override gallery JS) */
.block.welcomebanner.block .item__text-container {
    display: flex !important;
    align-items: center !important;     /* vertical */
    justify-content: center !important; /* horizontal */
    text-align: center !important;
    height: 100% !important;
    width: 100% !important;
    padding: 0 2rem !important;
    position: absolute !important;
    inset: 0 !important;
}

/* Inner wrapper */
.block.welcomebanner.block .item__text-container__inner {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

/* Override Kineo template forcing left alignment */
.block.welcomebanner.block h1,
.block.welcomebanner.block h2,
.block.welcomebanner.block p {
    text-align: center !important;
}

/* Ensure mobile also centered */
@media (max-width: 768px) {
    .block.welcomebanner.block .item__text-container {
        padding: 1rem !important;
        justify-content: center !important;
    }
}

/* =========================================================
   LOGGED-OUT HOMEPAGE HERO BANNER (welcomebanner)
   Desktop: Center text
   Mobile: Keep text clean + readable
   ========================================================= */

/* DESKTOP / LARGE TABLET (center text perfectly) */
@media (min-width: 769px) {

  /* Make slide a positioning context */
  .block.welcomebanner.block .gallery-main .item__container {
      position: relative !important;
  }

  /* Center the text vertically + horizontally */
  .block.welcomebanner.block .item__text-container {
      position: absolute !important;
      inset: 0 !important;               /* fill container */
      display: flex !important;
      align-items: center !important;    /* vertical center */
      justify-content: center !important;/* horizontal center */
      text-align: center !important;
      padding: 0 2rem !important;
      height: 100% !important;
      width: 100% !important;
      background: transparent !important;
      z-index: 2;
  }

  /* Inner contents limited for readability */
  .block.welcomebanner.block .item__text-container__inner {
      max-width: 900px !important;
      margin: 0 auto !important;
      width: 100% !important;
  }

  /* Force centered text */
  .block.welcomebanner.block h1,
  .block.welcomebanner.block h2,
  .block.welcomebanner.block p {
      text-align: center !important;
  }
}

/* MOBILE – keep layout clean */
@media (max-width: 768px) {

  .block.welcomebanner.block.item__text-container {
      position: absolute !important;
      bottom: 20px;
      left: 0;
      right: 0;
      display: block !important;
      text-align: left !important;
      padding: 0 16px !important;
      background: transparent !important;
  }

  .block.welcomebanner.block.item__text-container__inner {
      max-width: 100% !important;
      margin: 0 !important;
  }

  .block.welcomebanner.block h1.item__text-container__element {
      font-size: 26px !important;
      line-height: 1.2 !important;
      margin-bottom: 8px !important;
  }

  .block.welcomebanner.block h2.item__text-container__element {
      font-size: 16px !important;
      line-height: 1.4 !important;
  }
}

/* =========================================================
   FRONT PAGE HERO (welcomebanner) – CLEAN RESPONSIVE LAYOUT
   ========================================================= */

/* Base hero layout (desktop + tablet) */
#page-site-index .block.welcomebanner.block .gallery-main {
    margin: 0 !important;
    padding: 0 !important;
}

#page-site-index .block.welcomebanner.block .gallery-main .slick-list,
#page-site-index .block.welcomebanner.block .gallery-main .slick-track {
    height: auto !important;
}

/* Fix the slide height and positioning */
#page-site-index .block.welcomebanner.block .gallery-main .item,
#page-site-index .block.welcomebanner.block .gallery-main .item__container {
    position: relative;
    height: 340px !important;          /* overall hero height */
    max-height: 70vh;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Background image fills the whole hero */
#page-site-index .block.welcomebanner.block .item__background--large,
#page-site-index .block.welcomebanner.block .item__background--small {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
}

#page-site-index .block.welcomebanner.block .item__background-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Text sits centred over the image */
#page-site-index .block.welcomebanner.block .item__text-container {
    position: absolute !important;
    inset: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 2;
    background: transparent !important;
    text-align: center;
}

#page-site-index .block.welcomebanner.block .item__text-container__inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Heading + subheading */
#page-site-index .block.welcomebanner.block h1.item__text-container__element {
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    line-height: 1.2 !important;
    margin: 0 0 0.75rem 0 !important;
    text-align: center !important;
}

#page-site-index .block.welcomebanner.block h2.item__text-container__element {
    font-size: clamp(1rem, 2.1vw, 1.25rem) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: center !important;
}

/* -----------------------------
   MOBILE (phones ≤ 768px)
   ----------------------------- */
@media (max-width: 768px) {

    /* Slightly shorter hero on phones */
    #page-site-index .block.welcomebanner.block .gallery-main .item,
    #page-site-index .block.welcomebanner.block .gallery-main .item__container {
        height: 280px !important;
        max-height: 60vh;
    }

    /* Use the "small" background image and hide the large one */
    #page-site-index .block.welcomebanner.block .item__background--large {
        display: none !important;
    }
    #page-site-index .block.welcomebanner.block .item__background--small {
        display: block !important;
    }

    /* Put the text toward the lower half with a soft gradient
       so it doesn’t look like a white block */
    #page-site-index .block.welcomebanner.block .item__text-container {
        align-items: flex-end;
        padding: 24px 16px 22px;
        background: linear-gradient(
            to top,
            rgba(255,255,255,0.9) 0%,
            rgba(255,255,255,0.75) 40%,
            rgba(255,255,255,0.0) 100%
        ) !important;
    }

    #page-site-index .block.welcomebanner.block .item__text-container__inner {
        padding: 0;
    }

    #page-site-index .block.welcomebanner.block h1.item__text-container__element {
        font-size: 1.7rem !important;
    }

    #page-site-index .block.welcomebanner.block h2.item__text-container__element {
        font-size: 0.95rem !important;
    }
}

/* Fix caption being cut off under workshop carousel */
.block_carousel article.learning.has-summary figure.tile {
    height: auto !important;         /* allow enough space for 2-line caption */
    padding-bottom: 10px !important; /* creates space for the caption bar */
    overflow: visible !important;
}

/* Ensure the caption itself sits fully inside the visible area */
.block_carousel article.learning.has-summary .caption {
    bottom: 0 !important;
    height: auto !important;
    min-height: 40px;
    padding: 6px 10px;
}

/* Smaller caption text for workshop tiles */
.block_carousel article.learning.has-summary .caption h3 {
    font-size: 18px !important;
    line-height: 1.2 !important;
}

.block_carousel article.learning.has-summary .caption .ellip {
    font-size: 18px !important;
    line-height: 1.2 !important;
}

/* Improve readability of top-right tags (New, Date) */
.block_carousel article.learning.has-summary .custom-tags .custom-tag {
    background-color: rgba(0, 0, 0, 0.6) !important; /* darker */
    color: #ffffff !important;                       /* white text */
    font-weight: 600 !important;                     /* semi-bold */
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

/* Fix hover arrow overlapping caption text */
.block_carousel article.learning.has-summary .toggle-card-details {
    bottom: -12px !important;    /* pushes arrow below the grey caption bar */
    top: auto !important;        /* prevent theme from overriding */
}

/* Optional: adjust arrow size slightly to match spacing */
.block_carousel article.learning.has-summary .toggle-card-details:before {
    font-size: 14px !important;
}

/* Force the arrow to sit fully BELOW the caption bar */
.block_carousel article.learning.has-summary {
    position: relative !important;
}

.block_carousel article.learning.has-summary .toggle-card-details {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    /* Push it far enough below the caption so it never overlaps */
    bottom: -22px !important;

    z-index: 5 !important;
}

/* Prevent the arrow from shifting upward on hover */
.block_carousel article.learning.has-summary:hover .toggle-card-details {
    bottom: -22px !important;
}

/* Front page: Latest news + eLearning cards (block_awesome) */
#page-site-index .block_awesome .awesome-block.template-2 {
    /* control overall card height */
    min-height: 430px;          /* tweak 410–460px as needed */
    display: flex;
    flex-direction: column;
}

/* Make the image a consistent height */
#page-site-index .block_awesome .awesome-block.template-2 > img {
    width: 100%;
    height: 200px;              /* adjust to match workshops tiles */
    object-fit: cover;
}

/* Let caption stretch and push button to the bottom */
#page-site-index .block_awesome .awesome-block.template-2 .caption {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

#page-site-index .block_awesome .awesome-block.template-2 .caption .awesome-link {
    margin-top: auto;           /* keeps button aligned at bottom of card */
}

/* Match Latest news + eLearning title font to Upcoming workshops */
#page-site-index .block_awesome .awesome-block.template-2 .caption h3 {
    font-size: 18px !important;     /* similar to workshops h3 */
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

/* Optional: slightly smaller label/date line like the carousel */
#page-site-index .block_awesome .awesome-block.template-2 .caption h2 {
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Apply styling ONLY to course 87 */
.course-87 {

  /* ------------------------------
     Main content spacing + layout
     ------------------------------ */
  #region-main {
    padding: 20px !important;
    line-height: 1.7 !important;   /* Better readability */
    font-size: 16px !important;
  }

  /* ------------------------------
     Headings – clean, spaced, readable
     ------------------------------ */
  h2, h3, h4 {
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #00929f !important;      
  }

  /* ------------------------------
     Paragraph spacing
     ------------------------------ */
  p {
    margin-bottom: 14px !important;
    line-height: 1.7 !important;
  }

  /* ------------------------------
     List spacing and readability
     ------------------------------ */
  ul, ol {
    margin-top: 8px !important;
    margin-bottom: 16px !important;
    padding-left: 25px !important;  /* Indent */
    line-height: 1.7 !important;
  }

  ul li, ol li {
    margin-bottom: 5px !important;
  }

  /* ------------------------------
     Activity list spacing
     ------------------------------ */
  .activityinstance {
    margin-bottom: 18px !important;
  }

  /* ------------------------------
     Optional: Soft content box feel
     ------------------------------ */
  #region-main {
    background: #fffff !important;
    border: 1px solid ##6a737b !important;
    border-radius: 6px !important;
  }
}

