/*********************************************************************/
/***** BEGIN DESIGNPLUS THEME IMPORT & CUSTOMIZATION  ****************/
/*********************************************************************/
/* Import statements need to be at the top of your CSS file */

/*** Legacy Sidebar ***/
/* For Main CSS file */
@import url(https://designtools.ciditools.com/css/themes.css);
/* For Mobile app CSS file */
/*@import url(https://designtools.ciditools.com/css/app.css);*/
/* Institution color customizations */
@import url(https://designtools.ciditools.com/css/inst_theme_overrides.css);

/*** New Sidebar ***/
/* For Main CSS files */
@import url(https://designplus.ciditools.com/css/content.css);
@import url(https://designplus.ciditools.com/css/editor.css);
/* For Mobile app CSS file */
/*@import url(https://designplus.ciditools.com/css/mobile.css);*/

:root {
    --dt-color-primary: #03639a;
    --dt-color-primary-contrast: #FFFFFF;
    --dt-color-primary-dark-text: #03639a;
    --dt-color-secondary: #555EA9;
    --dt-color-secondary-contrast: #FFFFFF;
    --dt-color-secondary-dark-text: #555EA9;
    --dt-color-accent: #474747;
    --dt-color-accent-contrast: #FFFFFF;
    --dt-color-accent-dark-text: #474747;
    --dt-color-gray: #CCCCCC;
    --dt-color-gray-contrast: #000000;
    --dt-color-gray-dark-text: #636363;
    --dt-color-white: #FFFFFF;
    --dt-color-white-contrast: #000000;
    --dt-color-white-dark-text: #707070;
    --dt-color-graybg: #E6E6E6;
    --dt-color-graybg-contrast: #000000;
}

/*********************************************************************/
/***** END DESIGNPLUS THEME IMPORT & CUSTOMIZATION   *****************/
/*********************************************************************/

@charset "utf-8";
@supports (-ms-ime-align: auto) {
 .ic-app-header__main-navigation {
 background-color: #17375e;
}
 .ic-app-header__menu-list-item.ic-app-header__menu-list-item--active .ic-app-header__menu-list-link {
 background-color:#1c7cbe;
 color:#ffffff !important;
}
.ic-app-header__logomark {
background-image:url('https://instructure-uploads-eu.s3-eu-west-1.amazonaws.com/account_88040000000000001/attachments/12050/BelfastMetLogoNavyWhite.jpg')
}
.ic-icon-svg {
 fill:#ffffff;
}

}


.kl_wrapper a.Button.Button--primary {
  background-color: var(--dt-color-primary) !important;
  color: var(--dt-color-primary-contrast) !important;
}

.ic-app-header__menu-list-link .menu-item-icon-container {
  width: 32px;
  height: 32px;
}

.ic-app-header__menu-list-link .menu-item-icon-container svg,
.ic-app-header__menu-list-link .menu-item-icon-container img {
  width: 100%;
  height: 100%;
  display: block;
}

#lw-speech-bubble {
  position: fixed;
  background: #ffffff;
  color: #333;
  padding: 8px 14px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  white-space: nowrap;
  z-index: 9999;
  pointer-events: none;
  border: 1.5px solid #f5f5f5;
  opacity: 0;
  visibility: hidden;
  left: 0;
  top: 0;
}

#lw-speech-bubble.lw-visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.15s ease;
}

/* Tail pointing down (bubble is above the button) */
#lw-speech-bubble[data-position="above"]::before {
  content: '';
  position: absolute;
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 9px 0;
  border-style: solid;
  border-color: #f5f5f5 transparent transparent;
}

#lw-speech-bubble[data-position="above"]::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 8px 7px 0;
  border-style: solid;
  border-color: #ffffff transparent transparent;
}

/* Tail pointing up (bubble is below the button) */
#lw-speech-bubble[data-position="below"]::before {
  content: '';
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 9px 10px;
  border-style: solid;
  border-color: transparent transparent #f5f5f5;
}

#lw-speech-bubble[data-position="below"]::after {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 7px 8px;
  border-style: solid;
  border-color: transparent transparent #ffffff;
}

@keyframes lwElectricFlash {
  0% {
    box-shadow: 0 2px 8px rgba(0,0,0,.15),
                0 0 0 rgba(0,200,255,0);
    transform: scale(1);
  }
  25% {
    box-shadow: 0 2px 8px rgba(0,0,0,.15),
                0 0 16px 4px rgba(0,200,255,.6);
    transform: scale(1.03);
  }
  40% {
    box-shadow: 0 2px 8px rgba(0,0,0,.15),
                0 0 10px 2px rgba(0,200,255,.3);
    transform: scale(1.015);
  }
  60%, 100% {
    box-shadow: 0 2px 8px rgba(0,0,0,.15),
                0 0 0 rgba(0,200,255,0);
    transform: scale(1);
  }
}

.lw-flash {
  animation: lwElectricFlash 1.8s ease-in-out 3;
  will-change: transform, box-shadow;
}

#lw-bubble-close {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 16px;
  height: 16px;
  background: #000000;
  color: #ffffff;
  border-radius: 50%;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  cursor: pointer;
  pointer-events: all;
  display: block;
}

#lw-bubble-close:hover {
  background: #333333;
}


/*********************************************************************/
/***** BELFAST MET : LEFT-DOCK MAIN MENU (overlay, modern, scoped) ***/
/*********************************************************************/
/*
   Left overlay for the Main Menu modal.

   SPECIFICITY NOTE
   ----------------
   DesignPlus ships its own .dp-wrapper .modal-content rules that were
   beating a plain override, so the panel stayed see-through. Every rule
   below is prefixed with .dp-wrapper (or html) to out-specify those
   base styles, and the opaque background is locked in.

   PUBLISHED vs EDITOR
   -------------------
   On a PUBLISHED page DesignPlus transforms the modal to
   #transformedModal0Content. In the EDITOR / unpublished state it is
   still #dpPopup0Content. Both ids are covered so it previews in the
   editor and works live.
*/

/* Brand tokens on the scoped class */
.bmMenuDock {
  --bm-navy:      #17375e;
  --bm-navy-deep: #1C1F33;
  --bm-blue:      #03639a;
  --bm-blue-lift: #1c7cbe;
  --bm-panel:     #eef2f6;
  --bm-tint:      #eaf3fa;
  --bm-text:      #1C1F33;
  --bm-muted:     #6b7a90;
  --bm-hairline:  rgba(23,55,94,.10);
}

body.modal-open { padding-right: 0 !important; }

/* Pin the outer modal to the viewport */
html body #transformedModal0Content.modal {
  position: fixed !important;
  inset: 0 !important;
  padding: 0 !important;
  z-index: 10000 !important;
  overflow: hidden !important;
}

/* Dialog: docked left, below the Canvas top bar.
   Change --bm-top if the header height differs (try 48 or 64). */
html body #transformedModal0Content .modal-dialog {
  --bm-top: 0px;
  position: fixed !important;
  top: var(--bm-top) !important;
  left: 0 !important;
  margin: 0 !important;
  width: 342px !important;
  max-width: 86% !important;
  height: calc(100vh - var(--bm-top)) !important;
  max-height: calc(100vh - var(--bm-top)) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Content: OPAQUE panel. High-specificity to beat .dp-wrapper .modal-content.
   Covers published (.modal-content) and editor (.dp-modal-content) ids. */
.dp-wrapper #transformedModal0Content .modal-content,
.dp-wrapper .bmMenuDock,
.dp-wrapper #dpPopup0Content.dp-modal-content,
#transformedModal0Content .modal-content,
.bmMenuDock {
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: #eef2f6 !important;
  background-image: none !important;
  opacity: 1 !important;
  box-shadow: 6px 0 28px rgba(16,26,43,.28) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* Header: navy gradient */
.dp-wrapper .bmMenuDock .modal-header,
#transformedModal0Content .modal-header,
.bmMenuDock .modal-header {
  flex: 0 0 auto !important;
  background: linear-gradient(135deg, #17375e 0%, #1C1F33 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px 20px !important;
}
.bmMenuDock .modal-header *,
#transformedModal0Content .modal-header * {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Body: internal scroll region */
.bmMenuDock .modal-body,
#transformedModal0Content .modal-body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 14px 14px 22px !important;
  background-color: #eef2f6 !important;
}
.bmMenuDock .modal-body::-webkit-scrollbar { width: 8px; }
.bmMenuDock .modal-body::-webkit-scrollbar-thumb { background: rgba(23,55,94,.22); border-radius: 8px; }

/* Buttons: modern card with icon chip */
.dp-wrapper #transformedModal0Content .btn-mid,
#transformedModal0Content .btn-mid,
.bmMenuDock .btn-mid {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 7px 0 !important;
  padding: 11px 13px !important;
  background: #ffffff !important;
  color: #1C1F33 !important;
  border: 1px solid rgba(23,55,94,.10) !important;
  border-radius: 13px !important;
  text-align: left !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(16,26,43,.04) !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}
#transformedModal0Content .btn-mid:hover,
#transformedModal0Content .btn-mid:focus,
.bmMenuDock .btn-mid:hover,
.bmMenuDock .btn-mid:focus {
  transform: translateX(5px) !important;
  background: #eaf3fa !important;
  color: #1C1F33 !important;
  box-shadow: 0 6px 16px rgba(23,55,94,.12) !important;
  text-decoration: none !important;
}

/* Icon chip on each button's leading icon */
#transformedModal0Content .btn-mid > i,
#transformedModal0Content .btn-mid i:first-child,
.bmMenuDock .btn-mid > i,
.bmMenuDock .btn-mid i:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 auto !important;
  border-radius: 10px !important;
  background: #eaf3fa !important;
  color: #03639a !important;
  transition: background .18s ease, color .18s ease !important;
}
#transformedModal0Content .btn-mid:hover > i,
#transformedModal0Content .btn-mid:hover i:first-child,
.bmMenuDock .btn-mid:hover > i,
.bmMenuDock .btn-mid:hover i:first-child {
  background: #03639a !important;
  color: #ffffff !important;
}

/* Featured Home button (first in the body) */
#transformedModal0Content .modal-body .btn-mid:first-of-type,
.bmMenuDock .modal-body .btn-mid:first-of-type {
  background: linear-gradient(135deg, #17375e 0%, #03639a 100%) !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(3,99,154,.28) !important;
}
#transformedModal0Content .modal-body .btn-mid:first-of-type > i,
#transformedModal0Content .modal-body .btn-mid:first-of-type i:first-child,
.bmMenuDock .modal-body .btn-mid:first-of-type > i,
.bmMenuDock .modal-body .btn-mid:first-of-type i:first-child {
  background: rgba(255,255,255,.18) !important;
  color: #ffffff !important;
}

/* Close button, visible on dark header */
#transformedModal0Content .btn-close.new-close,
.bmMenuDock .btn-close.new-close {
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Backdrop: light frost for legibility, scoped to this page's modal.
   Raise the alpha toward 0.9 for a stronger wash, lower toward 0.5 to
   show more of the page. */
html body:has(#transformedModal0Content.show) .modal-backdrop,
html body:has(#transformedModal0Content.show) .modal-backdrop.show {
  opacity: 1 !important;
  background-color: rgba(240, 244, 248, 0.82) !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(3px) !important;
  backdrop-filter: blur(3px) !important;
}
@supports not (selector(body:has(*))) {
  html body.modal-open .modal-backdrop.show {
    opacity: 1 !important;
    background-color: rgba(240, 244, 248, 0.82) !important;
  }
}
/*********************************************************************/
/***** BELFAST MET : COLLAPSE MAIN MENU MODAL IN THE EDITOR ONLY   ***/
/***** Replace the previous collapse block with this version.      ***/
/*********************************************************************/
/*
   Folds the Main Menu modal down to just its header in the Rich Content
   Editor so teachers are less likely to edit it by accident. Cosmetic
   only. Targets the EDITOR-ONLY id #dpPopup0Content, so it cannot affect
   the published page (which uses #transformedModal0Content).

   FIX vs previous version: expand now works on HOVER. The old version
   used :focus-within, but hidden (display:none) children cannot receive
   focus, so it never expanded. Hover does not have that problem.
*/

/* Collapsed state: show only the header, locked look */
#dpPopup0Content.dp-modal-content {
  max-height: 64px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 2px dashed #9aa7b8 !important;
  border-radius: 8px !important;
  opacity: 0.9 !important;
  cursor: pointer !important;
  transition: max-height 0.2s ease, border-color 0.2s ease !important;
}

/* Hide the body (buttons + social) while collapsed */
#dpPopup0Content.dp-modal-content > *:not(.dp-modal-title):not(h4) {
  display: none !important;
}

/* Keep the title visible */
#dpPopup0Content.dp-modal-content .dp-modal-title,
#dpPopup0Content.dp-modal-content h4 {
  display: block !important;
  margin: 0 !important;
  padding: 6px 10px !important;
}

/* Helper caption */
#dpPopup0Content.dp-modal-content::after {
  content: "Navigation menu (managed centrally) : hover to expand, click to edit";
  display: block !important;
  position: absolute !important;
  left: 10px !important;
  bottom: 6px !important;
  font-size: 11px !important;
  color: #6b7a90 !important;
  font-style: italic !important;
}

/* HOVER expands it so genuine edits are possible */
#dpPopup0Content.dp-modal-content:hover {
  max-height: 2000px !important;
  overflow: visible !important;
  border-color: #03639a !important;
  opacity: 1 !important;
}
#dpPopup0Content.dp-modal-content:hover > * {
  display: revert !important;
}
#dpPopup0Content.dp-modal-content:hover::after {
  display: none !important;
}s-within::after {
  display: none !important;
}
