.tui-totara_catalog-explore{margin-bottom:var(--gap-6)}.tui-totara_catalog-explore__subtitle{font-weight:var(--font-body-lg-weight);font-size:var(--font-body-lg-size);font-family:var(--font-body-lg-family);line-height:var(--font-body-lg-line-height);margin:var(--gap-2) 0 var(--gap-6) 0;color:var(--color-neutral-6)}.tui-totara_catalog-explore__content{display:flex;flex-flow:column;gap:var(--gap-4);margin-top:var(--gap-3)}.tui-totara_catalog-explore__loadMoreContainer{display:flex;justify-content:space-around}.tui-totara_catalog-filterBar__browseButtons{display:flex;padding:calc(var(--gap-base) * 1)}.tui-totara_catalog-filterBar__browseButtons::before{position:absolute;left:0;width:100%;border-top:var(--border-width-thin) solid var(--filter-bar-border-color);content:""}.tui-totara_catalog-filterBar__browseButtons-reset{margin:var(--gap-4) 0 var(--gap-1) var(--gap-1)}.tui-totara_catalog-filterBar__notify-loading{font-style:italic}.tui-totara_catalog-filterBar__notify-icon{margin-right:var(--gap-2)}.tui-totara_catalog-sortBar{display:flex;flex-flow:row wrap;gap:var(--gap-3) var(--gap-6);align-items:center;justify-content:space-between}.tui-totara_catalog-sortBar__start{display:flex;gap:var(--gap-2);align-items:center}.tui-totara_catalog-sortBar__copy{flex:1}.tui-totara_catalog-sortBar__content{display:flex;flex-flow:column;gap:var(--gap-2)}.tui-totara_catalog-treeFilter{padding:calc(var(--gap-base) * 1)}.tui-totara_catalog-filterBarExplore{display:flex;flex-direction:column}.tui-totara_catalog-filterBarExplore__bar{display:flex;flex-direction:row;height:4rem;background-color:var(--color-neutral-3);border-radius:var(--border-radius-curved)}.tui-totara_catalog-filterBarExplore:has(.tui-totara_catalog-filterBarExplore__search input:focus) .tui-totara_catalog-filterBarExplore__bar{outline:2px solid var(--color-state-focus);outline-offset:var(--focus-outline-offset);background-color:var(--color-background);outline-offset:0}.tui-totara_catalog-filterBarExplore--small .tui-totara_catalog-filterBarExplore__bar{height:3.25rem}.tui-totara_catalog-filterBarExplore__search{display:flex;flex:1;gap:calc(var(--gap-base) * 4);padding-right:calc(var(--gap-base) * 2)}.tui-totara_catalog-filterBarExplore__section{display:flex;flex:0 0 auto;align-items:center;padding-block:calc(var(--gap-base) * 3)}.tui-totara_catalog-filterBarExplore__sectionInner{display:flex;flex:1;border-left:var(--border-width-thin) solid var(--color-neutral-4);padding-inline:calc(var(--gap-base) * 3)}.tui-totara_catalog-filterBarExplore--small .tui-totara_catalog-filterBarExplore__sectionInner{padding-inline:calc(var(--gap-base) * 2)}.tui-totara_catalog-filterBarExplore__section--only .tui-totara_catalog-filterBarExplore__sectionInner{border-left:none}.tui-totara_catalog-filterBarAreaPopover{white-space:nowrap}.tui-totara_catalog-filterBarAreaPopover__content{display:flex;flex-direction:column;gap:var(--gap-6);padding:0 var(--gap-1) var(--gap-1) var(--gap-1)}.tui-totara_catalog-filterBarAreaPopover__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--gap-4);padding-bottom:var(--gap-1)}.tui-totara_catalog-filterBarAreaPopover__buttons::before{position:absolute;left:0;width:100%;border-top:var(--border-width-thin) solid var(--filter-bar-border-color);content:""}.tui-totara_catalog-filterBarAreaPopover__buttons-reset{flex-grow:1;padding:var(--gap-5) var(--gap-1) 0}.tui-totara_catalog-filterBarAreaPopover__buttons__notification{padding:var(--gap-5) var(--gap-1) 0;color:var(--color-neutral-6);font-size:var(--btn-sm-font-size)}.tui-totara_catalog-searchFilter{position:relative;display:flex;flex-grow:1}.tui-totara_catalog-searchFilter__search{flex:1;padding:0 calc(var(--gap-base) * 10) 0 calc(var(--gap-base) * 14);font-size:var(--form-input-font-size);line-height:var(--form-input-line-height);background-color:transparent;border:none}.tui-totara_catalog-searchFilter__search:focus{background-color:transparent;outline:none}.tui-totara_catalog-searchFilter__search::placeholder{color:#717171}.tui-totara_catalog-searchFilter--small .tui-totara_catalog-searchFilter__search{padding-left:calc(var(--gap-base) * 4)}.tui-totara_catalog-searchFilter__icon{position:absolute;left:calc(var(--gap-base) * 6);display:flex;align-items:center;height:100%;color:var(--filter-search-icon-color);pointer-events:none}.tui-totara_catalog-searchFilter__clearContainer{position:absolute;right:0;height:100%;display:flex;align-items:center;justify-content:center}.tui-totara_catalog-searchFilter__clearIcon{color:var(--filter-search-clear-icon-color)}.tui-totara_catalog-catalogGrid{position:relative;display:grid;grid-template-columns:repeat(auto-fill, minmax(min(var(--tui-card-default-width), 100%), 1fr));gap:calc(var(--gap-card-grid) * 1.5) var(--gap-card-grid)}.tui-totara_catalog-catalogGrid__item-transition-move,.tui-totara_catalog-catalogGrid__item-transition-enter-active,.tui-totara_catalog-catalogGrid__item-transition-leave-active{transition:all 0.2s ease}@media (prefers-reduced-motion:reduce){.tui-totara_catalog-catalogGrid__item-transition-move,.tui-totara_catalog-catalogGrid__item-transition-enter-active,.tui-totara_catalog-catalogGrid__item-transition-leave-active{transition-duration:0s}}.tui-totara_catalog-catalogGrid__item-transition-enter-from,.tui-totara_catalog-catalogGrid__item-transition-leave-to{transform:scale(0.8);opacity:0}@media (prefers-reduced-motion:reduce){.tui-totara_catalog-catalogGrid__item-transition-enter-from,.tui-totara_catalog-catalogGrid__item-transition-leave-to{transform:unset;opacity:unset}}.tui-totara_catalog-catalogGrid__item-transition-leave-active{display:none}.tui-totara_catalog-itemCard{}.tui-totara_catalog-itemCard__hero-icon{display:flex;align-items:center;justify-content:center;width:2rem;aspect-ratio:1;padding:calc(var(--gap-base) * 1);background:var(--color-neutral-1);border-radius:100%}.tui-totara_catalog-itemCard__hero-icon>img{width:1.5rem;height:1.5rem;object-fit:contain}.tui-totara_catalog-itemCard__mediaBottomOverlay{display:flex;flex-flow:column;gap:calc(var(--gap-base) * 2)}.tui-totara_catalog-itemCard__logo{align-self:end;padding:calc(var(--gap-base) * 2);background:var(--color-neutral-1)}.tui-totara_catalog-itemCard__logo>img{max-height:1rem}.tui-totara_catalog-itemCard__body{display:flex;flex-flow:column;gap:calc(var(--gap-base) * 2);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-totara_catalog-itemCard__subtitleRow{display:flex;flex-flow:row wrap;gap:calc(var(--gap-base) * 2);justify-content:space-between}.tui-totara_catalog-itemCard__iconPlaceholders{display:flex;justify-content:center}@media (hover:hover){.tui-totara_catalog-itemCard__iconPlaceholders{opacity:0;transition:opacity 0.3s ease-in-out}.tui-totara_catalog-itemCard:focus-within .tui-totara_catalog-itemCard__iconPlaceholders,.tui-totara_catalog-itemCard:hover .tui-totara_catalog-itemCard__iconPlaceholders{opacity:1}}.tui-totara_catalog-itemModal__container{position:relative;display:flex;flex-direction:column;flex-grow:1;min-height:0;padding:calc(var(--gap-base) * 2);overflow-y:auto}.tui-totara_catalog-itemModal__image{width:100%;aspect-ratio:1.7777777778;object-fit:cover;background:var(--color-neutral-4);border-radius:calc(var(--modal-border-radius) - calc(var(--gap-base) * 2))}.tui-totara_catalog-itemModal__close{position:absolute;top:calc(var(--gap-base) * 6);right:calc(var(--gap-base) * 6);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--color-backdrop-contrast);background-color:var(--color-backdrop-standard);border:none;border-radius:100%}.tui-totara_catalog-itemModal__close:hover{background-color:var(--color-backdrop-heavy)}.tui-totara_catalog-itemModal__content{display:flex;flex-flow:column;gap:calc(var(--gap-base) * 6);margin-top:calc(var(--gap-base) * 2);padding:calc(var(--gap-base) * 4)}.tui-totara_catalog-itemModal__loading{display:flex;align-items:center;justify-content:center;min-height:36.4375rem;color:var(--color-neutral-6)}.tui-totara_catalog-itemModal__title{margin:0}.tui-totara_catalog-itemModal__detailsLink{display:flex;gap:calc(var(--gap-base) * 2);align-items:center;padding:calc(var(--gap-base) * 4);background:var(--color-neutral-2);border:var(--border-width-thin) solid var(--color-neutral-5);border-radius:var(--border-radius-normal)}.tui-totara_catalog-itemModal__detailsLink-description{flex:1}.tui-totara_catalog-itemModal__placeholders{display:flex;flex-flow:column;gap:calc(var(--gap-base) * 4)}.tui-totara_catalog-iconPlaceholders{display:flex;flex-flow:row wrap;gap:calc(var(--gap-base) * 2)}.tui-totara_catalog-iconPlaceholders__item>img{width:1.4rem;height:1.4rem;object-fit:contain}.tui-totara_catalog-textPlaceholders{display:flex;flex-flow:column;gap:calc(var(--gap-base) * 2)}.tui-totara_catalog-emptyState__icon{margin-bottom:var(--gap-6);color:var(--color-neutral-6);text-align:center}.tui-totara_catalog-emptyState__text{color:var(--color-neutral-7);text-align:center}.tui-totara_catalog-emptyState__text-result{font-weight:var(--font-display-xs-weight);font-size:var(--font-display-xs-size);font-family:var(--font-display-xs-family);line-height:var(--font-display-xs-line-height);margin-bottom:var(--gap-3)}.tui-totara_catalog-emptyState__text-hint{font-weight:var(--font-body-lg-weight);font-size:var(--font-body-lg-size);font-family:var(--font-body-lg-family);line-height:var(--font-body-lg-line-height);color:var(--color-neutral-6)}.tui-totara_catalog-filterBarButton{display:inline-flex;gap:calc(var(--gap-base) * 2);align-items:center;justify-content:center;min-width:calc(var(--btn-line-height) + (var(--btn-padding-v)) * 2);max-width:100%;min-height:calc(var(--btn-line-height) + (var(--btn-padding-v)) * 2);padding:var(--btn-padding-v) var(--btn-padding-h);color:var(--color-text);font-size:var(--btn-font-size);line-height:var(--btn-line-height);overflow-wrap:break-word;background-color:transparent;border:none;border-radius:var(--btn-radius);cursor:pointer;transition:background-color var(--transition-button-duration) var(--transition-button-function), border-color var(--transition-button-duration) var(--transition-button-function)}.tui-totara_catalog-filterBarButton__content{display:flex;align-items:center;justify-content:center}.tui-totara_catalog-filterBarButton:focus-visible{outline:2px solid var(--color-state-focus);outline-offset:var(--focus-outline-offset)}.tui-totara_catalog-filterBarButton:hover{background-color:rgba(0, 0, 0, 0.05)}.tui-totara_catalog-filterBarButton:active{background-color:rgba(0, 0, 0, 0.07)}.tui-totara_catalog-filterBarButton__iconBefore{display:flex;align-items:center;justify-content:center}.tui-totara_catalog-filterBarButton__iconAfter{display:flex;align-items:center;justify-content:center}.tui-totara_catalog-exploreHeaderButtons{display:flex;gap:var(--gap-1)}
/* =========================================================
   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;
  }
}

