@charset "UTF-8";
/*
Description: This is the custom compiler SCSS file. It creates anything in addition to the base CSS styles.

Use this file to call in SCSS scripts not included in the base compiler.
*/

.breadcrumbs {
  margin-bottom: 0;
}

.block-main img {
  height: auto !important;
}

.snippet {
  margin-bottom: 2rem;
}

.no-margin {
  margin: 0;
}

.no-margin-top {
  margin-top: 0;
}

.no-margin-right {
  margin-right: 0;
}

.no-margin-bottom {
  margin-bottom: 0;
}

.no-margin-left {
  margin-left: 0;
}

.text-muted {
  color: #DDDDDD;
}

ul.tick {
  list-style: none;
  margin-left: 0;
}
ul.tick li:before {
  font-family: "fontAwesome";
  float: left;
}
ul.tick li {
  padding-left: 1.3rem;
}
ul.tick li:before {
  content: "";
  color: #43AC6A;
  margin-left: -1.3rem;
}

ul.chevron {
  list-style: none;
  margin-left: 0;
}
ul.chevron li:before {
  font-family: "fontAwesome";
  float: left;
}
ul.chevron li {
  padding-left: 0.7rem;
}
ul.chevron li:before {
  content: "";
  margin-left: -0.6rem;
}

ul.caret {
  list-style: none;
  margin-left: 0;
}
ul.caret li:before {
  font-family: "fontAwesome";
  float: left;
}
ul.caret li {
  padding-left: 0.7rem;
}
ul.caret li:before {
  content: "";
  margin-left: -0.6rem;
}

.styled-list ul {
  list-style: none;
  margin-left: 0;
}
.styled-list ul li:before {
  font-family: "fontAwesome";
  float: left;
}
.styled-list ul li:before {
  font-family: "fontAwesome";
  float: left;
}

.styled-list.chevron li {
  padding-left: 0.7rem;
}
.styled-list.chevron li:before {
  content: "";
  margin-left: -0.6rem;
}

.styled-list.caret li {
  padding-left: 0.7rem;
}
.styled-list.caret li:before {
  content: "";
  margin-left: -0.6rem;
}

.styled-list.tick li {
  padding-left: 1.3rem;
}
.styled-list.tick li:before {
  content: "";
  color: #43AC6A;
  margin-left: -1.3rem;
}

@media only screen and (max-width: 40em) {
  .inline-list.centered-inline-list {
    list-style-type: none;
    text-align: center;
    margin: 0 auto;
  }
  .inline-list.centered-inline-list li {
    float: none;
    display: inline-block;
  }
}

.address-list.inline-list li {
  margin-left: 0.33rem;
}
.address-list.inline-list li:first-child {
  margin-left: 1.375rem;
}
.address-list.inline-list li:after {
  content: ",";
}
.address-list.inline-list li:last-child:after {
  content: none;
}

hr.spacer {
  border-color: transparent;
  display: block;
  height: 1rem;
  margin: 0;
}

.text-columns {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
}

.social-icons li {
  margin-left: 0rem;
}

.social-icons .facebook > .fa-stack > .fa-circle {
  color: #3b5998;
}
.social-icons .twitter > .fa-stack > .fa-circle {
  color: #00aced;
}
.social-icons .google > .fa-stack > .fa-circle {
  color: #dd4b39;
}
.social-icons .instagram > .fa-stack > .fa-circle {
  color: #517fa4;
}
.social-icons .linkedin > .fa-stack > .fa-circle {
  color: #007bb6;
}
.social-icons .youtube > .fa-stack > .fa-circle {
  color: #bb0000;
}

.social-icons:hover {
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -o-transform: rotate(360deg);
}

.social-icons.spin > li {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
}
.social-icons.spin > li:hover {
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
}

.hero-unit {
  padding: 5% 0;
  margin-bottom: 2rem;
  background: #008cba;
  color: #ffffff;
}
.hero-unit h1 {
  color: #ffffff;
}
.hero-unit .hero-unit-subtitle {
  margin: 0;
}
.hero-unit .button {
  margin: 1rem 0 0;
}

.page-header {
  margin-bottom: 1rem;
  padding: 2rem 0;
}
.page-header h1 {
  margin: 0;
}

/* Course / page header band (prod parity) */
.page-header {
  background: #F37320;
  padding: 5rem 0;
  margin-bottom: 0;
}

.page-header .entry-title,
.page-header-title h1 {
  color: #ffffff;
}

.sidebar > .widget {
  margin-bottom: 1rem;
}
.sidebar > .widget h3 {
  font-size: 1.2rem;
}
.sidebar > .widget ul {
  margin: 0;
  list-style: none;
}

.post-featured-image {
  margin-bottom: 2rem;
}

.alignleft {
  float: none;
  margin: 1rem 0;
}

.alignright {
  float: none;
  margin-left: 1rem 0;
}

.alignright,
.alignleft {
  max-width: 100%;
  width: 100%;
}

@media only screen and (min-width: 40.0625em) {
  .alignright {
    float: right;
    margin: 1rem 1rem 0 1rem;
  }
  .alignleft {
    float: left;
    margin: 1rem 1rem 1rem 0;
  }
  .alignright,
  .alignleft {
    max-width: 33%;
    width: 33%;
  }
}

.aligncenter {
  margin: 0 auto;
}

.wp-caption {
  text-align: left;
  margin-bottom: 1rem;
  max-width: 100%;
}
.wp-caption .wp-caption-text {
  margin: 0;
  padding: 0.5rem;
  font-size: 0.9rem;
  color: #666666;
}

.card {
  background-color: #ffffff;
  border: 1px solid #dddddd;
}
.card a {
  display: block;
}
.card .featured-image {
  display: block;
}
.card .title {
  margin: 1rem;
  color: #222222;
}
.card .title.has-summary {
  margin-bottom: -0.5rem;
}
.card .summary {
  padding: 1rem;
  color: #222222;
}
.card .read-more {
  padding: 0 1rem 1rem;
  color: #008cba;
}

.item > a > .card:hover {
  background-color: #f7f7f7;
}
.item > a > .card:hover .title {
  color: #008cba;
}
.item > a > .card:hover .summary {
  color: #008cba;
}

/* ------------------------------------------------------------
   Typography overrides (modern system fonts)
   ------------------------------------------------------------ */
:root {
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
    "Apple Color Emoji", "Segoe UI Emoji";
}

html {
  font-size: 16px;
}

body {
  font-family: var(--font-sans) !important;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-sans) !important;
  letter-spacing: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-header-title h1,
.page-header-title .entry-title {
  text-transform: none;
}

/* =========================================================
   NAV (single source of truth)
   ========================================================= */

/* Desktop: submenu toggle buttons hidden (dropdowns use hover/focus) */
@media (min-width: 769px) {
  .submenu-toggle,
  .site-nav__submenuToggle {
    display: none !important;
  }
}

/* Mobile: menu + submenus controlled by nav.js */
@media (max-width: 768px) {
  /* Ensure hamburger remains visible/clickable */
  .toggle-topbar,
  .toggle-topbar.menu-icon,
  .toggle-topbar .nav-toggle {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Let the top-bar expand */
  .top-bar {
    height: auto !important;
    overflow: visible !important;
  }

  /* Main menu hidden by default */
  .top-bar .top-bar-section {
    display: none !important;
  }

  /* Main menu shown when opened by JS (supports all bridge states) */
  .top-bar.expanded .top-bar-section,
  .top-bar.is-open .top-bar-section,
  .top-bar .top-bar-section[data-nav-open="1"] {
    display: block !important;
  }

  /* Kill Foundation dropdown "flyout" behaviour on mobile */
  .top-bar-section .dropdown,
  .top-bar-section .sub-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    clip: auto !important;
    overflow: visible !important;
    float: none !important;
  }

  /* Full width items */
  .top-bar-section ul,
  .top-bar-section ul li {
    width: 100%;
  }

  /* Parent link padding so it doesn't sit under the toggle */
  .site-nav__has-children > .site-nav__link,
  .top-bar-section li.menu-item-has-children > a,
  .top-bar-section li.has-dropdown > a {
    padding-right: 3rem !important;
  }

  /* Remove Foundation arrow on parent links */
  .top-bar-section .has-dropdown > a:after,
  .top-bar-section .menu-item-has-children > a:after {
    display: none !important;
    content: none !important;
  }

  /* Submenus hidden unless opened */
  .top-bar .sub-menu {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .top-bar li.submenu-open > .sub-menu {
    display: block !important;
  }

  /* Ensure parent li anchors the toggle */
  .site-nav__has-children {
    position: relative;
  }

  /* HARD RESET:
     Foundation styles li > button like an orange CTA.
     Neutralise submenu toggle specifically (more specific than base.css). */
  .top-bar-section ul li > button.submenu-toggle,
  .top-bar-section ul li > button.site-nav__submenuToggle {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1 !important;
    border-radius: 0 !important;
  }

  /* Toggle button: right-side full-height tappable area */
  .site-nav__submenuToggle.submenu-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    height: 100% !important;
    width: 3rem !important;

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

    cursor: pointer !important;
  }

  /* Chevron indicator (single source of truth) */
  .site-nav__submenuToggle.submenu-toggle::before {
    content: "" !important;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    display: inline-block;
    opacity: 0.9;
    transition: transform 150ms ease;
  }

  /* Rotate chevron when open */
  .site-nav__has-children.submenu-open
    > .site-nav__submenuToggle.submenu-toggle::before {
    transform: rotate(-135deg);
  }

  /* VISUAL NESTING for submenu items */
  .top-bar-section ul.sub-menu {
    padding: 0.25rem 0 !important;
  }

  .top-bar-section ul.sub-menu > li {
    background: rgba(0, 0, 0, 0.08) !important;
  }

  .top-bar-section ul.sub-menu > li > a {
    padding-left: 1.75rem !important;
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
    font-size: 0.95rem !important;
    opacity: 0.95;
  }

  .top-bar-section ul.sub-menu > li + li > a {
    border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  .top-bar-section li.submenu-open > ul.sub-menu {
    border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  }

  /* Screen-reader helper */
  .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

/* Desktop dropdowns (no Foundation JS): hover + focus-within */
@media (min-width: 64em) {
  .top-bar-section li.menu-item-has-children,
  .top-bar-section li.has-dropdown,
  .site-nav__has-children {
    position: relative;
  }

  /* Reset Foundation clip trick; control visibility */
  .top-bar-section .sub-menu,
  .top-bar-section .dropdown {
    clip: auto !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;

    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 1000;
    background: #ffffff;
    min-width: 14rem;
  }

  .top-bar-section li.menu-item-has-children:hover > .sub-menu,
  .top-bar-section li.has-dropdown:hover > .sub-menu,
  .top-bar-section li.menu-item-has-children:focus-within > .sub-menu,
  .top-bar-section li.has-dropdown:focus-within > .sub-menu {
    display: block !important;
  }
}

/* Admin bar vs header layering */
@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar .top-bar-container,
  body.admin-bar .top-bar {
    position: relative !important;
    z-index: 999999 !important;
  }

  body.admin-bar #wpadminbar {
    z-index: 999998 !important;
  }
}

/* ------------------------------------------------------------
   Cards / Builder block-grid (modern replacement)
------------------------------------------------------------ */

ul[class*="block-grid-"] > li.item {
  display: flex;
}

li.item .card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

li.item .card .caption {
  flex: 1 1 auto;
}

li.item .card .read-more {
  margin-top: auto;
}

.builder-block-grid > ul[class*="block-grid-"] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

.builder-block-grid > ul[class*="block-grid-"] > li {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
  display: block;
}

@media only screen {
  .builder-block-grid > ul.small-block-grid-1 {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 40.063em) {
  .builder-block-grid > ul.medium-block-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 64em) {
  .builder-block-grid > ul.large-block-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.builder-block-grid li.item .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.builder-block-grid li.item .caption {
  flex: 1 1 auto;
}

.builder-block-grid li.item .read-more {
  margin-top: auto;
}


/* Live-parity hero wrapper + overlay */
.hero-wrapper { position: relative; }
.hero-wrapper .blackup {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.2);
  z-index: 0;
}
.hero-wrapper .hero-unit {
  position: relative;
  z-index: 1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}


