.tui-format_pathway-activityFooter{margin:var(--gap-5) 0}.tui-format_pathway-activityToolbar{display:flex;justify-content:flex-end;min-height:2.25rem}.tui-format_pathway-activityToolbar__showCourseInformation--noBackLink{margin-right:auto}.tui-format_pathway-activityToolbar__link{padding:var(--gap-2)}.tui-format_pathway-activityToolbar__link--disabled{color:var(--color-text-disabled)}.tui-format_pathway-activityToolbar__header{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);margin:0;padding:var(--gap-2) var(--gap-4);color:var(--color-neutral-6)}.tui-format_pathway-activityToolbar__backLink{margin-right:auto}.tui-format_pathway-activityToolbar__backLink--collapse{margin-left:var(--gap-6)}.tui-format_pathway-courseInformation{padding-bottom:var(--gap-4);overflow:hidden;background-color:var(--color-neutral-3);border-radius:var(--border-radius-normal)}.tui-format_pathway-courseInformation--inProgress{padding-bottom:0}.tui-format_pathway-courseInformation__base{display:flex;padding-top:var(--gap-4)}.tui-format_pathway-courseInformation__baseName{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);display:-webkit-box;flex-grow:1;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.tui-format_pathway-courseInformation__baseImage{width:4rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;aspect-ratio:1.7777777778;margin-left:var(--gap-2);object-fit:cover;border-radius:var(--border-radius-normal)}.tui-format_pathway-courseInformation__completionProgress{flex-grow:1;margin:auto 0 auto var(--gap-4)}.tui-format_pathway-courseInformation>*:not(.tui-format_pathway-courseInformation__progress){margin-right:var(--gap-4);margin-left:var(--gap-4)}.tui-format_pathway-courseInformation>*+*{margin-top:var(--gap-4)}.tui-format_pathway-courseToolbar{display:flex;justify-content:space-between;min-height:2.25rem}.tui-format_pathway-courseToolbar__header{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);margin:0;padding:var(--gap-2) var(--gap-4);color:var(--color-neutral-6)}.tui-format_pathway-progressNavigation__progressTrackerNav{padding-top:var(--gap-2)}.tui-format_pathway-progressNavigation__sectionTitle--hidden{color:var(--progresstracker-color-hidden)}.tui-format_pathway-progressNavigation__sectionTitleIcon{color:var(--progresstracker-color-hidden)}.tui-format_pathway-progressNavigation--limitHeight .tui-format_pathway-progressNavigation__sectionTitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tui-format_pathway-progressNavigation--limitHeight .tui-format_pathway-progressNavigation__activityName{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tui-format_pathway-progressTrackerItem{display:block;width:100%;padding:var(--gap-2);color:var(--progresstracker-color-locked);line-height:var(--font-body-line-height);text-align:left;overflow-wrap:break-word}.tui-format_pathway-progressTrackerItem--link{color:var(--color-state)}.tui-format_pathway-progressTrackerItem--link:hover,.tui-format_pathway-progressTrackerItem--link:focus{color:var(--color-state);text-decoration:none;background:var(--color-state-highlight-neutral)}.tui-format_pathway-progressTrackerItem--selected{color:var(--color-neutral-1);background:var(--color-state-active)}.tui-format_pathway-progressTrackerItem--selected:hover,.tui-format_pathway-progressTrackerItem--selected:focus,.tui-format_pathway-progressTrackerItem--selected:focus:hover{color:var(--color-neutral-1);background:var(--color-state-active)}.tui-format_pathway-progressTrackerItem--hidden{color:var(--progresstracker-color-hidden)}.tui-format_pathway-progressTrackerItem--hidden:hover,.tui-format_pathway-progressTrackerItem--hidden:focus{color:var(--progresstracker-color-hidden)}.tui-format_pathway-progressTrackerItem--selected.tui-format_pathway-progressTrackerItem--hidden{color:var(--progresstracker-color-hidden--inverse);background:var(--progresstracker-color-hidden)}.tui-format_pathway-progressTrackerItem--selected.tui-format_pathway-progressTrackerItem--hidden:hover,.tui-format_pathway-progressTrackerItem--selected.tui-format_pathway-progressTrackerItem--hidden:focus,.tui-format_pathway-progressTrackerItem--selected.tui-format_pathway-progressTrackerItem--hidden:focus:hover{color:var(--progresstracker-color-hidden--inverse);background:var(--progresstracker-color-hidden)}.tui-format_pathway-activityView{margin-top:var(--gap-2);padding-left:var(--page-content-padding);padding-right:var(--page-content-padding)}@media (min-width:1000px){.tui-format_pathway-activityView{padding-left:var(--page-content-padding-desktop);padding-right:var(--page-content-padding-desktop)}}.tui-format_pathway-activityView__sidePanel{overflow:visible}.tui-format_pathway-activityView__activity>*+*{margin-top:var(--gap-2)}.tui-format_pathway-activityView__activityContent{max-width:810px;margin:auto;margin-top:var(--gap-2);margin-bottom:var(--gap-5)}.tui-format_pathway-activityView__sidePanelInner{padding:var(--gap-2) 0}.tui-format_pathway-activityView__sidePanelInner>*+*{margin-top:var(--gap-4)}.tui-format_pathway-activityView__activityNotification{padding-top:var(--gap-2)}
/* =========================================================
   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 */
}

/* Hero carousel (inst354) – desktop base */
#inst354 .slick-slide article.item__container {
    position: relative;
    min-height: 420px;
    overflow: hidden;
}

#inst354 .item__text-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2;
}

#inst354 .item__text-container_inner {
    position: static !important;
    max-width: 980px;
    padding: 0 24px;
    text-align: center !important;
}

#inst354 .item__text-container__element {
    display: block !important;
    text-align: center !important;
    margin: 8px 0;
}

#inst354 .slick-slide article.item__container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    z-index: 1;
}

#inst354 h2.item__text-container__element {
    display: inline-block;
    max-width: 75%; /* controls wrapping width */
    line-height: 1.4;
    text-align: center;
    margin: 0 auto;
}

/* =========================================
   LOGGED-OUT HOMEPAGE – CENTER HERO TEXT
   (Banner block: #inst125 on page-site-index)
   ========================================= */

#page-site-index #inst125 .gallery-main .item__container {
    position: relative;                 /* anchor for absolute text container */
}

/* Make the text box fill the slide and centre everything */
#page-site-index #inst125 .item__text-container {
    position: absolute !important;
    inset: 0 !important;                /* top/right/bottom/left: 0 */
    display: flex !important;
    align-items: center !important;     /* vertical centre */
    justify-content: center !important; /* horizontal centre */
    text-align: center !important;
    padding: 0 2rem;
    z-index: 2;
}

/* Keep text nicely constrained on big screens */
#page-site-index #inst125 .item__text-container__inner {
    max-width: 960px;
    margin: 0 auto;
}

/* Headings & paragraph centred */
#page-site-index #inst125 h1,
#page-site-index #inst125 p {
    text-align: center !important;
}


/* =========================================================
   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;
    }
}

/* =========================================================
   AWESOME BLOCK BACKGROUNDS – SIMPLE & STABLE
   inst178 / inst181 = Latest news
   inst274           = Upcoming workshops
   inst302           = eLearning
   ========================================================= */

/* Remove any old styling based on data-block attribute */
.block[data-block="upcoming_workshops"] {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
}

/* Do NOT touch positioning of the instances – just colours & padding */
#inst178,
#inst181,
#inst274,
#inst302 {
    padding: 0 !important;
    margin: 0 !important;
}

/* Inner block area – add a little padding & radius */
#inst178 .block,
#inst181 .block,
#inst274 .block,
#inst302 .block {
    padding: 20px !important;
    border-radius: 12px;
}

/* Latest News – grey background behind cards */
#inst178 .block,
#inst181 .block {
    background-color: #f4f4f4 !important;
}

/* Upcoming workshops – white background */
#inst274 .block {
    background-color: #ffffff !important;
}

/* eLearning – grey background behind cards */
#inst302 .block {
    background-color: #f4f4f4 !important;
}

/* Card spacing inside each panel */
#inst178 .card,
#inst181 .card,
#inst274 .card,
#inst302 .card {
    margin-bottom: 15px;
}

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

/* 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;
    }
}

/* ===== Hero text (inst354) – responsive, centred ===== */

/* Add some breathing space around the text */
#inst354 .item__text-container__inner {
    padding: 3rem 1.5rem;
}

/* Main heading */
#inst354 h1.item__text-container__element {
    font-size: clamp(1.8rem, 4vw, 3rem) !important;
    line-height: 1.15;
    margin: 0 0 1rem 0;
    text-align: center !important;
}

/* Subheading paragraph */
#inst354 h2.item__text-container__element {
    font-size: clamp(1rem, 2.3vw, 1.3rem) !important;
    line-height: 1.6;
    max-width: 42rem;
    margin: 0 auto;
    text-align: center !important;
}

/* ================================================
   MOBILE HERO IMAGE FIX – KEEP IMAGE FULL HEIGHT
   ================================================ */
@media (max-width: 768px) {

    /* Make the hero image fill the slide height instead of shrinking */
    #inst354 .item__background--large,
    #inst354 .item__background--small {
        width: 100%;
        height: 100%;
    }

    #inst354 .item__background-image {
        width: 100% !important;
        height: 100% !important;     /* key bit: fill container vertically */
        object-fit: cover;           /* crop nicely instead of squashing */
        display: block;
    }
}

/* =========================================================
   LOGGED-OUT HOMEPAGE HERO (inst125) – MOBILE FIX ONLY
   ========================================================= */
@media (max-width: 768px) {

  /* Let the hero grow with its text instead of being a fixed strip */
  #page-site-index #inst125 .generated-content--user .no-overflow > div {
    height: auto !important;        /* override inline height:375px */
    min-height: 260px;
    padding: 40px 16px 32px;        /* top / sides / bottom padding */
    box-sizing: border-box;
    background-position: center !important;
    background-size: cover !important;
    text-align: center !important;
  }

  /* Hide the two empty <h1><br></h1> spacers on mobile */
  #page-site-index #inst125 h1:nth-of-type(1),
  #page-site-index #inst125 h1:nth-of-type(2) {
    display: none !important;
  }

  /* Main heading – scale down for phones */
  #page-site-index #inst125 h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  /* Paragraph text – smaller and more readable */
  #page-site-index #inst125 p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-top: 12px !important;
  }
}

/* =========================================
   "My learning" hero banner (Dashboard ID 12, block inst348)
   ========================================= */

/* Kill extra gap around the banner */
body#page-totara-dashboard-12 #inst348 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* Reset gallery container spacing */
body#page-totara-dashboard-12 #inst348 .gallery-main {
    margin: 0 !important;
    padding: 0 !important;
}

/* Let slick wrapper heights be automatic */
body#page-totara-dashboard-12 #inst348 .gallery-main .slick-list,
body#page-totara-dashboard-12 #inst348 .gallery-main .slick-track {
    height: auto !important;
    overflow: visible !important;
}

/* Fix the actual slide/container height */
body#page-totara-dashboard-12 #inst348 .gallery-main .item,
body#page-totara-dashboard-12 #inst348 .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 */
body#page-totara-dashboard-12 #inst348 .gallery-main .item__background--large,
body#page-totara-dashboard-12 #inst348 .gallery-main .item__background--small {
    position: absolute;
    inset: 0;
    height: 100% !important;
}

/* Image fills the hero neatly */
body#page-totara-dashboard-12 #inst348 .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 */
body#page-totara-dashboard-12 #inst348 .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 */
body#page-totara-dashboard-12 #inst348 .item__text-container__element {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    color: #fff;
    font-weight: bold;
}

@media (max-width: 767px) {
    body#page-totara-dashboard-12 #inst348 .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=8, Banner block: #inst355
-----------------------------------------------------*/

@media (max-width: 768px) {

  /* 1. Use banner image as background and hide the inline image */
  body#page-totara-dashboard-8 #inst355 .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;
  }

  body#page-totara-dashboard-8 #inst355 .item__background--large,
  body#page-totara-dashboard-8 #inst355 .item__background--large .item__background-image {
    display: none !important;
  }

  /* 2. Make sure "About us" heading is always visible on mobile */
  body#page-totara-dashboard-8 #inst355 .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;
  }

  body#page-totara-dashboard-8 #inst355 .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 */
  #page-totara-dashboard-11 #inst328 .gallery-main,
  #page-totara-dashboard-11 #inst328 .gallery-main .slick-list,
  #page-totara-dashboard-11 #inst328 .gallery-main .slick-track,
  #page-totara-dashboard-11 #inst328 .gallery-main .slick-slide,
  #page-totara-dashboard-11 #inst328 .gallery-main .item,
  #page-totara-dashboard-11 #inst328 .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 */
  #page-totara-dashboard-11 #inst328 .item__background--large {
    display: none !important;
  }

  #page-totara-dashboard-11 #inst328 .item__background--small {
    display: block !important;
  }

  #page-totara-dashboard-11 #inst328 .item__background--small .item__background-image {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }

  /* Compact and position the "Contact us" title nicely */
  #page-totara-dashboard-11 #inst328 h1.item__text-container__element {
    font-size: 32px !important;
    line-height: 1.2;
    margin: 0;
  }

  #page-totara-dashboard-11 #inst328 .item__text-container__inner {
    padding: 12px 15px 0;
  }

  /* Remove any extra gap between banner and first HTML block */
  #page-totara-dashboard-11 #inst327 {
    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) */
#inst386 .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 */
#inst386 .item__text-container__inner {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

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

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

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

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

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

  /* Center the text vertically + horizontally */
  #inst386 .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 */
  #inst386 .item__text-container__inner {
      max-width: 900px !important;
      margin: 0 auto !important;
      width: 100% !important;
  }

  /* Force centered text */
  #inst386 h1,
  #inst386 h2,
  #inst386 p {
      text-align: center !important;
  }
}

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

  #inst386 .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;
  }

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

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

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

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

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

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

/* Fix the slide height and positioning */
#page-site-index #inst386 .gallery-main .item,
#page-site-index #inst386 .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 #inst386 .item__background--large,
#page-site-index #inst386 .item__background--small {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
}

#page-site-index #inst386 .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 #inst386 .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 #inst386 .item__text-container__inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Heading + subheading */
#page-site-index #inst386 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 #inst386 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 #inst386 .gallery-main .item,
    #page-site-index #inst386 .gallery-main .item__container {
        height: 280px !important;
        max-height: 60vh;
    }

    /* Use the "small" background image and hide the large one */
    #page-site-index #inst386 .item__background--large {
        display: none !important;
    }
    #page-site-index #inst386 .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 #inst386 .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 #inst386 .item__text-container__inner {
        padding: 0;
    }

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

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

/*Start: QMHHAS-82*/
#page-login-signup #fitem_id_username {
    display:none;
}
/*End: QMHHAS-82*/
