/*
 Theme Name:   ODS
 description: A child theme of the Twenty Twenty One default WordPress theme
 Author:       ETD
 Template:     twentytwentyone
 Version:      1.0.0
*/
:root {
  --color-text: #1a1a1a;
  --color-white: #ffffff;
  --color-dark-blue: #0369ac;
  --color-greyscale-20: #cccccc;
  --color-greyscale-background-alt: #666666;
  --color-greyscale-border: #EDEDED;
  --color-grey-but-somehow-different: #404040;
  --color-link: #0066CC;
  --color-link-hover: #00478F;
  --color-link-active: #002142;
  --color-link-focus: #009ADB;
  --color-freshness: #CD0000;
  --mega-menu-bar-padding: .5rem;
  --text-raleway: "Raleway", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --text-open-sans: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --apprenticeship-color: #735C71;
  --pill-padding-top: 0.385rem;
  --pill-padding-bottom: .285rem;
  --pill-padding-horizontal: 0.875rem;
  --banner-height: 18.75rem;
  --banner-offset: 6.25rem;
  --banner-color-accent: #3193CC;
  --font-path-open-sans-light: url('/ontario-design-system-dist-1.6.0/fonts/open-sans-400/open-sans-400.woff2');
  --font-path-open-sans-regular: url('/ontario-design-system-dist-1.6.0/fonts/open-sans-600/open-sans-600.woff2');
  --font-path-open-sans-bold: url('/ontario-design-system-dist-1.6.0/fonts/open-sans-700/open-sans-700.woff2');
  --post-title-max-width-desktop: 46rem;
}

@font-face {
    font-family: "Open Sans";
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: var(--font-path-open-sans-light);
}
@font-face {
    font-family: "Open Sans";
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: var(--font-path-open-sans-regular);
}

@font-face {
    font-family: "Open Sans";
    font-weight: 700;
    font-display: swap;
    src: var(--font-path-open-sans-bold);
}

::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

body {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 2rem);
}

main {
  margin-bottom: 3rem;
  flex-grow: 1;
}
main.regular-page p:last-child {
  margin-bottom: 0;
}

main.maintenance {
  display: flex;
}

.maintenance .ontario-info-page {
  padding: 0;
}

main.home {
  padding-top: 2rem;
  & .ontario-column--home-alert {
    & .ontario-alert {
      margin-top: -.8125rem;
      margin-bottom: 2rem;
    }
  }
}

@media (min-width: 73rem) {
  main.home {
    & .ontario-column--home-alert {
      max-width: 48rem;
    }
  }
  main.email-unsubscribe, main.contact {
    & .ontario-alert {
      max-width: 48rem;
    }
  }
  main.email-notifications, main.email-preferences {
    & #adminCustomAlert.ontario-alert {
      max-width: 48rem;
    }
  }
}

.ontario-alert[id^="sectionAlert"] {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.ontario-alert__body p:last-of-type {
  margin-bottom: 0;
}

.breadcrumbs-alert {
  & .ontario-alert {
    max-width: 48rem;
  }
}

.ontario-column--update-alert, .form-alert {
  & .ontario-alert {
    margin-top: 0;
  }
}
.form-alert--mobile {
  & .ontario-alert {
    margin-bottom: 1.5rem;
  }
}
.ontario-column--update-section-alert {
  & .ontario-alert {
    margin-top: .7875rem;
  }
}

.regular-page-alert, .post-alert {
  & .ontario-alert {
    margin-bottom: 2rem;
  }
}

.post-alert {
  & .ontario-alert {
    margin-top: 1rem;
  }
}
.contact-page-alert {
  & .ontario-alert {
    margin-bottom: -1rem;
  }
}
@media (min-width: 40rem) {
  .contact-page-alert {
    & .ontario-alert {
      margin-top: 4rem;
      margin-bottom: -1rem;
    }
  }
}
main .error-page {
  margin-top: 3rem;
  margin-bottom: 2rem;
}

@media (max-width: 39.99rem) {
  main .error-page {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 40rem) {
  main {
    margin-bottom: 4rem;
  }

  main.home {
    padding-top: 2.8125rem;
  }
}

article {
  padding-top: 2rem;
}


.no-scroll, .no-scroll--except-large {
  overflow-y: hidden;
}

@media (min-width: 73rem) {
  .no-scroll--except-large {
    overflow-y: auto;
  }
}

.show-for-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (min-width:73rem) {
  .show-for-sr--large {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

@media (max-width: 72.99rem) {
  .show-for-sr--below-large {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

.show-for-sr--text {
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

@keyframes slideUp {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

/* Overriding vestigial breakpoint from foundation */
@media only screen and (min-width: 73rem) {
  .ontario-column,.ontario-columns {
      position: relative;
      padding-left: 1rem;
      padding-right: 1rem;
      box-sizing: border-box;
      float: left
  }
  @media only screen and (max-width: 73rem) {
    #ontario-header-search-toggler {
        padding-right: 0;
    }
  }
  .ontario-large-1 {
      width: 8.3333333333%
  }

  .ontario-large-2 {
      width: 16.6666666667%
  }

  .ontario-large-3 {
      width: 25%
  }

  .ontario-large-4 {
      width: 33.3333333333%
  }

  .ontario-large-5 {
      width: 41.6666666667%
  }

  .ontario-large-6 {
      width: 50%
  }

  .ontario-large-7 {
      width: 58.3333333333%
  }

  .ontario-large-8 {
      width: 66.6666666667%
  }

  .ontario-large-9 {
      width: 75%
  }

  .ontario-large-10 {
      width: 83.3333333333%
  }

  .ontario-large-11 {
      width: 91.6666666667%
  }

  .ontario-large-12 {
      width: 100%
  }
}

.ontario-column--flex {
  display: flex;
}

.ontario-column--latest-updates {
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1rem;
}

@media only screen and (min-width:40em) {
  .ontario-column--latest-updates {
    margin-bottom: 2rem;
  }
}

.ontario-column--latest-updates h2 {
  margin-bottom: 0;
}

.ontario-column--form-filters {
  padding-left: 0;
}

@media (min-width: 73rem) {
  .ontario-column--form-filters {
    padding-right: 2rem;
  }
}

.ontario-block-redirect {
  /* Figma claims 13em, which is bonkers */
  max-width: 46em;
  margin: 0 auto;
  padding: 2em;
  border: 1px solid #4D4D4D;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  z-index: 1;
  top: 100%;
  animation: slideUp 1s forwards;
}

.ontario-block-redirect ontario-button {
  margin-top: 1em;
  margin-bottom: calc(2em - 1.5rem);
}

@media only screen and (min-width:40em) {
  .ontario-block-redirect {
    top: 50%;
    animation: none;
    transform: translateY(-50%);
  }

  .ontario-block-redirect ontario-button {
    /* Compensates for the stupid right margin ODS puts on the button */
    padding-left: 1.75rem;
  }
}

.ontario-block-redirect .ontario-button {
  margin: 0;
}

.ontario-block-redirect p {
  margin-bottom: 0;
}

.ontario-block-redirect ontario-button+p {
  font-size: 14px;
}

.ontario-block-redirect__sub-content {
  text-align: center;
}

.centre-my-contents {
  display: flex;
  justify-content: center;
}

.hr--spacer {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.contact-page-hr {
  border-bottom: 4px solid #EDEDED;
}

@media (min-width: 73rem) {
  .contact-page-hr {
    max-width: 48rem;
  }
}

@media (min-width: 40rem) {
  .hr--spacer {
    margin-top: 3rem;
    margin-bottom: 2rem;
  }
}

/* Super normal, super cool */
.not-ontario-h1, .not-ontario-h2--pretending-i-m-not-the-page-title {
  font-size: 1.6875rem;
  line-height: 2.3125rem;
}

.regular-page .not-ontario-h1, .post-page .not-ontario-h1, .ontario-h1--forms, .q-a .not-ontario-h1, .guidelines .not-ontario-h1 {
  font-size: 2rem;
}

.regular-page .not-ontario-h3--single, .contact .not-ontario-h3 {
  font-size: 1.437rem;
  line-height: 1.39;
}

.not-ontario-h2--update-single, .not-ontario-h3--single, .home-page-program-list .not-ontario-h3 {
  font-size: 1.25rem;
  line-height: 1.875rem;
}

.not-ontario-h3--single-bordered {
  border-top: 1px solid var(--color-text);
  padding-top: 1rem;
} 
@media (min-width: 40rem) {
  .q-a .not-ontario-h1, .guidelines .not-ontario-h1 {
    font-size:2.5rem;
  }
  .not-ontario-h3--single-bordered:not(.not-ontario-h3--single-bordered-first) {
    border-top-color: var(--color-greyscale-20);
  } 
}

.not-ontario-h2--callout-email {
  font-size: 1.4375rem;
  line-height: 2rem;
}

.not-ontario-h3--update-single, .not-ontario-h4--single {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.regular-page .not-ontario-h4--single {
  font-size: 1.25rem;
  line-height: 1.5;
}

.not-ontario-h1,
.not-ontario-h2--update-single,
.not-ontario-h3--update-single,
.not-ontario-h3--single,
.not-ontario-h4--single {
  font-weight: 700;
}

.not-ontario-h5{
  font-size: 1.1875rem;
  line-height: 1.8125rem;
}

.not-ontario-h2-bottom-spacing--update-single {
  margin-bottom: 0;
}

/* Adding missing margin between sidebar and page title for templates mobile devices*/
@media (max-width: 39.99rem) {
  .not-ontario-h2--page-title-top-margin {
    margin-top: 2rem;
  }
}

@media (min-width: 40rem) {
  .not-ontario-h1 {
    font-size: 2.1875rem;
    line-height: 3rem;
  }

  .regular-page .not-ontario-h1, .post-page .not-ontario-h1, .ontario-h1--forms {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  .not-ontario-h2--pretending-i-m-not-the-page-title {
    font-size: 2.0625rem;
    line-height: 2.75rem;
    margin-top: 3rem;
    margin-bottom: 1.2125rem;
  }

  .regular-page .not-ontario-h3--single, .contact .not-ontario-h3 {
    font-size: 1.75rem;
    line-height: 1.43;
  }
  .not-ontario-h2--update-single, .not-ontario-h3--single, .home-page-program-list .not-ontario-h3  {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }

  .not-ontario-h2--callout-email {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }

  .not-ontario-h3--update-single, .not-ontario-h4--single {
    line-height: 1.8125rem;
    font-size: 1.1875rem;
  }
  .regular-page .not-ontario-h4--single {
    font-size: 1.5rem;
  }
}

@media (min-width: 73rem) {
  .not-ontario-h1 {
    font-size: 2.5rem;
  }
  .not-ontario-h2--pretending-i-m-not-the-page-title {
    margin-top: 0;
  }
}

.banner {
  background: var(--color-dark-blue);
  color: var(--color-white);
  position: relative;
}

/*.banner:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}*/

.banner h1 {
  margin-top: 2rem;
  margin-bottom: .5rem;
}

.banner p {
  max-width: 60ch;
  font-size: 1rem;
  margin-bottom: 2rem;
}

.banner img {
  display: block;
  height: var(--banner-height);
  width: calc(var(--banner-height) * 1.29);
  margin-right: calc(var(--banner-offset) * -1);
  margin-left: calc(var(--banner-offset) * -1);
  max-width: none;
}

.banner__row {
  display: flex;
  border-bottom: 1rem solid var(--banner-color-accent);
}

.banner__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.banner__img {
  display: none;
  line-height: 0;
}

.banner__img-wrapper {
  position: relative;
  display: inline-block;
}

.banner__img-wrapper:after {
  --border-width: .9375rem;
  --slant: 24.45deg;
  /* vanilla css doesn't have cosine, so we have to approximate it  */
  --cosine-of-slant: 0.91032;
  content: "";
  background-color: var(--banner-color-accent);
  position: absolute;
  right: calc(var(--banner-offset) * -1 - var(--border-width));
  top: 0;
  bottom: 0;
  width: var(--border-width);
  transform: rotate(var(--slant)) skewY(calc(var(--slant) * -1));
  height: calc(var(--banner-height) / var(--cosine-of-slant));
  transform-origin: top;
}

/* Removing it as I added the element after the cards in DOM but using css to manipulate it's position */
/* .latest-updates__see-more-link {
  Needs this tweak to make it seem like
      it's on the same baseline as the adjacent 
      heading
  transform: translateY(-.25rem);
  margin-top: 1rem;
  display: inline-block;
} */

/* .latest-updates__see-more-link--desktop {
  display: none;
} */

/* Since "See more updates" is shifted below vards due to accessibility reason, manipulating it's position using css */
@media (min-width: 73rem) {
  /* Shift link before cards */
  .updates-card-column {
    display: flex;
    flex-direction: column-reverse;
  }
  .latest-updates__header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }
  .latest-updates__see-more-link {
    margin-left: auto;
    position: relative;
    top: -39px;
  }
}

/* Ensuring the link shows properly below cards in tablet/mobile mode */
@media (max-width: 72.99rem) {
  .updates-card-column {
    display: block;
    flex-direction: column;
  }

  .latest-updates__see-more-link {
    display: block;
    position: static;
    margin-left: 0;
  }

  .latest-updates__see-more-link {
    margin-top: 1.25rem;
  }
}

@media (max-width: 39.99rem) {
  .latest-updates__see-more-link {
    margin-top: 1rem;
  }
}


@media (min-width: 73rem) {
  .banner__row {
    border-bottom: 0 solid transparent;
  }
}

@media (min-width: 40rem) {
  /* .latest-updates__see-more-link {
    margin-top: 1.25rem;
  } */

  /* .latest-updates__see-more-link--desktop {
    margin-top: 0;
  } */

  .banner h1 {
    margin-top: 3.5rem;
    margin-bottom: 1rem;
  }

  .banner p {
    max-width: 60ch;
    font-size: 1.25rem;
    margin-bottom: 3.5rem;
  }
}

@media (min-width: 73rem) {
  .banner h1 {
    margin-top: 0;
  }

  .banner p {
    margin-bottom: 0;
    font-size: 1.375rem;
  }

  .banner__img {
    display: block;
  }

  .latest-updates__see-more-link {
    padding-right: 0;

  }

  .latest-updates__see-more-link--desktop {
    display: inline-block;
  }
}

.updates {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-col {
  margin: 0 0 .25rem;
  font-weight: 700;
}

.header-col--not-followed-by-text {
  margin-bottom: 1.25rem;
}

@media (min-width: 40rem) {
  .header-col {
    margin-bottom: 1.25rem;
  }
}

.col-with-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
}

.col-with-actions h2 {
  margin-bottom: 0;
}

.actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.actions button:not(:last-child) {
  margin-right: .75rem;
}

.not-ontario-h2 {
  font-size: 1.4375rem;
  line-height: 2rem;
}

@media (min-width: 40rem) {
  .not-ontario-h2 {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}

.update-card {
  background: #fafafa;
  border: 1px solid var(--color-greyscale-20);
  padding: 1.5rem;
}

.update-card__date {
  border-bottom: 1px solid var(--color-greyscale-20);
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.update-card__content {
  font-weight: 700;
  line-height: 1.5rem;
}

.custom-post-type-card {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: .5rem;
  margin-bottom: 2rem;
}

.custom-post-type-card-link:focus {
  box-shadow: none;
}

[data-responsive-columns] {
  list-style: none;
  display: grid;
  --columns: 1;
}

.quick-links {
  --columns: 1;
  grid-auto-rows: 1fr;
  align-items: start;
  margin: 0;
}

@media (min-width: 40rem) {
  [data-responsive-columns] {
    --columns: 2;
    list-style: none;
    grid-template-columns: calc(100% / var(--columns));
    grid-auto-flow: column;

    grid-auto-columns: minmax(33%, 1fr);
    /* Adjust as needed */
    grid-auto-rows: min-content;
    /* Rows size based on content */
  }

  [data-responsive-columns="4"] {
    grid-auto-columns: 1fr;
  }

  .quick-links {
    --columns: 2;
    grid-template-columns: repeat(var(--columns), 1fr);
  }
}

@media (min-width: 73rem) {
  [data-responsive-columns] {
    --columns: 3;
  }

  [data-responsive-columns="4"] {
    --columns: 4;
/*    grid-template-columns: calc((100% - 2rem * (var(--columns) - 1)) / var(--columns));*/
    grid-template-columns: repeat(4, 1fr);
  }

  .quick-links {
    --columns: 3;

  }
}

.quick-links__item {
  box-sizing: border-box;
  padding: 0;
  margin: 0 .5rem 1rem 0;
}

li.quick-links__item:last-child {
  padding: 0;
  margin: 0 .5rem 0 0;
}

@media (min-width: 40rem) {
  li.quick-links__item:last-child {
    margin-bottom: 1rem;
  }
}

.quick-links ontario-icon-new-window {
  margin-right: .5rem;
  transform: translateY(calc((.2rem + 3px) * -1));
  margin-bottom: calc((.2rem + 3px) * -1);
}

.quick-links__item--last-row,
li.quick-links__item--last-row:last-child,
.columnar-list__item--last-row,
li.columnar-list__item--last-row:last-child {
  margin-bottom: 0;
}

.quick-link {
  display: flex;
  flex-wrap: nowrap;
  text-decoration: none;
  color: var(--color-text);
}

.quick-link:hover {
  text-decoration: underline;
}

.quick-link__text-wrap {
  line-height: 1.2;
}

.filter-group {
  border-top: 4px solid var(--color-dark-blue);
}

.filter-triggers {
  display: flex;
  justify-content: space-between;
}

.button-that-looks-like-a-link {
  display: inline-block;
  border: none;
  padding: 0;
  background-color: transparent;
  margin: 0;
  font-family: inherit;
  font-size: 1rem;
  cursor: pointer;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: var(--color-link);
}

.button-that-looks-like-a-link:hover {
  color: var(--color-link-hover);
}

.button-that-looks-like-a-link:active {
  color: var(--color-link-active);
}

.button-that-looks-like-a-link:focus {
  box-shadow: 0 0 0 4px var(--color-link-focus);
  outline: 4px solid transparent;
  transition: all 0.1s ease-in-out;
}

.button-that-looks-like-a-link--and-has-an-underline {
  text-decoration: underline;
}

.ontario-button--primary-callout-email {
  margin-bottom: 0;
}

.ontario-button:disabled {
    filter: grayscale(100%) blur(.5px); /* Apply greyscale and blur */
    cursor: not-allowed;               /* Change the cursor to indicate it's disabled */
    opacity: 0.6;                      /* Reduce opacity for a more 'disabled' look */
}
.ontario-button.waiting:disabled {
    cursor: wait;               /* Change the cursor to indicate it's disabled */
}

.not-like-the-other-lists {
  margin-left: 1.5rem;
  line-height: 1.1;
  font-weight: 700;
}

.ontario-accordion__button {
  fill: var(--color-link);
}

.ontario-accordion--expand-open-all, .ontario-accordion--expand-close-all {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}

[data-share-button] {
  position: relative;
  display: flex;
  justify-content: center;
}

[data-share-button-message] {
  background-color: #ffffff;
  color: #1a1a1a;
  position: absolute;
  white-space: pre;
  transform: translateY(calc(-100% - .5rem));
  opacity: 1;
}

[data-share-button-message].show-for-sr--text {
  opacity: 0;
}

.ontario-row--flex-ends {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.ontario-row--flex-ends:before,
.ontario-row--flex-ends:after {
  display: none;
}

/* Remove background color as it changes when whitespaces are clicked */
.ontario-card:active {
  background-color: #fafafa;
}

/* Only apply background when a clickable element inside the card is clicked */
.ontario-card.ontario-card--eopg.is-active-click:active {
  background-color: #f2f2f2;
}


.ontario-card__container--eopg-home {
  flex-direction: column;
  padding-bottom: .25rem;
}

@media (min-width: 73rem) {
  .ontario-card__container--eopg-home {
    justify-content: space-between;
    flex-direction: row;
  }
}

@media (max-width: 72.99rem) {
  .ontario-card--eopg-home {
    width: auto !important;
    /* This is ODS's fault */
  }

  .ontario-card--cards-per-row-3 .ontario-card--eopg {
    margin: .5rem 0;
  }

  .ontario-card--cards-per-row-3 .ontario-card--eopg:last-child {
    margin-bottom: 0;
  }

  .ontario-card--cards-per-row-3 .ontario-card--eopg:first-child {
    margin-top: 0;
  }
}
.ontario-card--forms, .ontario-card--eopg {
  flex-grow: 1;
  max-width: 100%;
  flex-basis: 100%;
  margin-top: 0;
  margin-right: 0;
  border-radius: .125rem;
  box-shadow: none;
  padding-top: .5rem;
  transition: all .3s;
  cursor: auto;  
}
.ontario-card--forms {
  margin-bottom: 1rem;
}
@media (min-width: 73rem) {
  .ontario-card--forms {
    padding-top: .5rem;
  }
}
.ontario-card--forms:not(:first-child) {
  border-top: 1px solid #CCCCCC;
}
.ontario-card--forms:active {
  background-color: transparent;
}

.ontario-card--eopg {
  background-color: #fafafa;
  border: 1px solid #cccccc;
}

.updates-section .ontario-card--eopg {
  margin-bottom: 2rem;
}

.updates-main-content .ontario-card--eopg {
  margin-bottom: 2rem;
}

.updates-main-content .ontario-alert {
  margin-top: 0;
}

.ontario-card--eopg:focus-within, 
.ontario-card--forms:focus-within,
.ontario-card--eopg:hover,
.ontario-card--forms:hover,
.ontario-card--eopg:focus,
.ontario-card--forms:focus {
  box-shadow: none;
}

@media (min-width: 40rem) {
  .ontario-card--eopg, .ontario-card--forms {
    padding-top: 1rem;
  }
}

.ontario-card--eopg-home {
  flex-grow: 0;
  flex-basis: calc(33.3% - 1.75rem);
  margin-bottom: 0;
}

.ontario-card__text-container--eopg, .ontario-card__text-container--forms {
  padding-top: 0;
}

.ontario-card__text-container--eopg a:empty {
  /* Why does Wordpress gotta be like this */
  display: none !important;
}

.ontario-card--eopg-home a {
  display: inline-block;
  padding-bottom: .5rem;
}

.ontario-card--eopg a {
  color: #1a1a1a;
  text-decoration: none;
  width: 100%;
}

.ontario-card--eopg a:focus {
  box-shadow: 0 0 0 4px var(--color-link-focus);
}

.ontario-card__relationship--initiatives a:focus,
.program-pill a:focus,
.program-pill a:focus {
  box-shadow: 0 0 0 4px var(--color-link-focus);
}

.ontario-card--eopg:hover .ontario-card__heading {
  -webkit-text-decoration-line: none;
  text-decoration: none;
}

.custom-post-type-flex-container {
  --card-margin: .625rem;
  display: flex;
  flex-direction: column;
  /* Added to stack items vertically */
  flex-wrap: wrap;
  justify-content: flex-start;
  max-height: calc(5* 84px);
  margin-top: calc(var(--card-margin) * -1);
  margin-bottom: calc(var(--card-margin) * -1);
}

.custom-post-type-flex-item {
  flex-basis: 100%;
  /* Each item will now take the full width of the container */
}

@media (min-width: 73rem) {
  .custom-post-type-flex-item {
    flex-basis: calc(25% - 4px);
  }
}

@media (max-width: 39.999rem) {
  .custom-post-type-flex-item {
    flex-basis: 100%;
    /* Each item takes full width of the container */
  }

  .program-flex-container .ontario-card.custom-post-type-card {
    max-width: calc(100% - 4rem);
  }

  .custom-post-type-card-text {
    max-width: 90%;
  }

}

@media (min-width: 73rem) {
  .custom-post-type-flex-item .ontario-card.custom-post-type-card {
    max-width: 16rem;
    /* max-width: calc(33% - 1rem); */
  }
}

.custom-post-type-flex-item .ontario-card.custom-post-type-card {
  box-shadow: none;
  border-radius: 2px;
  padding-right: 0.5rem;
  margin: var(--card-margin) var(--card-margin) var(--card-margin) 0;
  width: auto;
  height: 4rem;
  list-style-type: none;
  transition: all .3s ease-in-out;
  position: relative;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
}

.custom-post-type-card-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  max-width: 100%;
}

.custom-post-type-flex-item>a>.ontario-card.custom-post-type-card:hover {
  box-shadow: 0rem .375rem .75rem .125rem rgba(0, 0, 0, .35);
}

.custom-post-type-flex-item>a:focus .ontario-card.custom-post-type-card {
  box-shadow: 0rem .375rem .75rem .125rem rgba(0, 0, 0, .35);
  outline: none;
}

.custom-post-type-flex-item>a>.ontario-card.custom-post-type-card:active {
  box-shadow: 0rem .375rem .75rem .125rem rgba(0, 0, 0, .35);
}

.custom-post-type-flex-item>a {
  text-decoration: none;
  /* This ensures that the link is not underlined */
  color: inherit;
}

.custom-post-type-flex-item>a:hover,
.custom-post-type-flex-item>a:active,
.custom-post-type-flex-item>a:focus {
  text-decoration: none;
  /* This removes the underline on hover, focus, and active states */
}

.ontario-card__description--eopg {
  border-bottom: 1px solid #cccccc;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: .5rem;
  margin-right: 1rem;
  margin-left: 1rem;
  transition: all .3s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: auto;
}

.ontario-card__heading--eopg-all-updates {
  padding: 0;
}

.ontario-card__heading--eopg-all-updates a {
  display: block;
  padding: 1rem 1rem 0;
}

.ontario-card__heading--eopg a:after {
  content: none;
}

@media (min-width: 40rem) {

  .ontario-card__heading--eopg,
  .ontario-card__heading--eopg-all-updates a {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .ontario-card__heading--eopg-all-updates {
    padding: 0;
  }
}

.ontario-card__heading--eopg-home {
  /* Get rid of padding because margin clips, but padding doesn't */
  padding-bottom: 0;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  -webkit-line-clamp: 4;
}

@media (min-width: 40rem) and (max-width: 72.99rem) {
  .ontario-card__heading--eopg-home {
    -webkit-line-clamp: 2;
  }
}

.ontario-card__heading--eopg-all-updates {
  font-size: 1.125rem;
}

@media (min-width: 40rem) {
  .ontario-card__heading--eopg-all-updates {
    font-size: 1.1875rem;
  }
}

.ontario-card__summary:hover .ontario-card__heading,
.ontario-card__summary:focus-within .ontario-card__heading {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.ontario-card__summary:hover .ontario-card__heading--forms, .ontario-card__summary:focus-within .ontario-card__heading--forms {
  -webkit-text-decoration-line: none;
  text-decoration-line: none;
  text-decoration: none;
  text-decoration-thickness: 0;
}

/* .ontario-card__summary:focus-within header {
  box-shadow: 0 0 2px 4px var(--color-link-focus);
} */

.ontario-card__relationships {
  padding: 0 1rem 1rem 1rem;
}

.ontario-card__relationships.ontario-card__relationships--forms {
  padding: 0;
}

@media (min-width: 40rem) {
  .ontario-card__relationships {
    padding: 0 1.5rem 1.5rem 1.5rem;
  }
}

.ontario-card__relationship {
  margin-top: 1rem;
}

.ontario-card__relationship:not(:first-child) {
  margin-top: .5rem;
}

.ontario-card__relationship--initiatives a {
  color: var(--color-link);
  text-decoration: underline;
  font-weight: 400;
}

.ontario-card__relationship--initiatives a:hover {
  color: var(--color-link-hover);
}

.program-pill__container {
  display: flex;
  flex-wrap: wrap;
}

.program-pill {
  display: inline-block;
  border-radius: 0.8125rem;
  font-family: var(--text-raleway);
  font-weight: 700;
  color: #ffffff;
  font-size: .9375rem;
  padding: var(--pill-padding-top) var(--pill-padding-horizontal) var(--pill-padding-bottom);
  line-height: 1;
  margin-right: 0.375rem;
  margin-top: 0.375rem;
  text-align: center;
  transition: transform .125s ease-in-out, box-shadow .125s ease-in-out;
}

.program-pill--two-tone {
  color: var(--apprenticeship-color);
  padding: calc(var(--pill-padding-top) - 2px) calc(var(--pill-padding-horizontal) - 2px) calc(var(--pill-padding-bottom) - 2px);
  border: 2px solid var(--apprenticeship-color);
  background-color: #ffffff;
}

.program-pill:hover {
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
  transform: translateY(-1px);
}

.program-pill a {
  color: #ffffff;
  text-decoration: none;
}

.program-pill--two-tone a {
  color: var(--apprenticeship-color);
}

.program-pill abbr,
.ontario-card__meta-list-item abbr {
  text-decoration: none;
}

.ontario-card__description--eopg-excerpt {
  padding-top: 0;
  padding-bottom: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  max-height: 4rem;
}

@media (min-width: 40rem) {
  .ontario-card__description--eopg-excerpt {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.ontario-card__description--eopg-excerpt .more-link {
  display: none;
}

.partially-hidden-title-for-accessibility {
  font-size: 0;
}

.ontario-card__meta:not(:last-child) {
  margin-bottom: 2rem;
}

@media (min-width: 40rem) {
  .ontario-card__meta:not(:last-child) {
    margin-bottom: 3rem;
  }
}

.ontario-card__meta {
  --top-border: .25rem;
  padding: calc(0.5rem + var(--top-border)) 1rem 1rem;
  background-color: #f2f2f2;
  border-top: var(--top-border) solid #0369AC;
}

.ontario-card__meta-title {
  font-weight: 700;
  margin-bottom: 0.75rem;
  font-family: var(--text-raleway);
}

.ontario-card__meta-list {
  margin: 0 0 0 1.75rem;
}

.ontario-card__meta-list-item {
  padding-bottom: 0;
}
.page-wpum-docs__description a, .ontario-card__meta-list-item a {
  display: inline;
  & .link-icon {
    transform: translateY(7px);
    margin-top: -7px;
    width: auto;
  }
}

.ontario-footer {
  margin-top: 0;
}

.ontario-footer__logo {
  max-height: 3.5rem;
}

@media (min-width: 40rem) and (max-width: 72.99rem) {
  .custom-post-type-flex-container {
    display: flex;
    flex-basis: 50%;
    /* Each item takes full width of the container */
    flex-wrap: wrap;
    max-height: calc(10* 84px);
    max-width: 100%;
    width: 100%;

  }

  .custom-post-type-flex-item {
    --padding: .5rem;
    flex: 0 0 calc(50% - (var(--padding) * 1));
    /* Adjust the width for two items per row, accounting for margin */
    padding-left: 0;
    padding-right: var(--padding);
    box-sizing: border-box;
    width: 50%;
  }

  .custom-post-type-card {
    margin-bottom: 0;
  }

  .custom-post-type-card-text {
    max-width: 100%;
    /* Ensure the text takes up the full width of the card */
  }

  .custom-post-type-flex-item .ontario-card.custom-post-type-card {
    max-width: 100%;
    width: 95%;
  }

  .ontario-footer {
    padding-bottom: 3rem;
  }

  .ontario-footer .ontario-footer__expanded-top-section {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }

  .ontario-footer .ontario-footer__expanded-bottom-section {
    padding-top: 3rem;
    padding-bottom: 0rem;
  }
}

@media (max-width: 39.999rem) {
  .custom-post-type-flex-container {
    display: flex;
    flex-direction: column;
    /* Stack items vertically */
    max-width: 100%;
    max-height: calc(25* 84px);
  }

  .custom-post-type-flex-item {
    flex: 0 0 100%;
    /* Each item takes the full width */
    box-sizing: border-box;
  }

  .custom-post-type-card {
    width: 100%;
  }

  .custom-post-type-card-text {
    max-width: 100%;
    /* Text takes up the full width of the card */
  }

  .custom-post-type-flex-item .ontario-card.custom-post-type-card {
    min-width: 92%;
  }

  .ontario-footer {
    padding-bottom: 3rem;
  }

  .ontario-footer .ontario-footer__expanded-top-section {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }

  .ontario-footer .ontario-footer__expanded-bottom-section {
    padding-top: 3rem;
    padding-bottom: 0;
  }

}

.freshness {
  color: var(--color-freshness);
  font-family: var(--text-raleway);
  font-size: .75rem;
  font-weight: 700;
  transform: translateY(calc(-1 * 0.125rem));
  white-space: pre;
  display:inline-block;
  width: fit-content;
}

.freshness--next-to-date {
  padding-left: .5rem;
}


.eopg-section-heading h2 {
  margin-bottom: 0;
}

/* Updates single page */
article.type-post {
  padding-top: 1rem;
}

@media (min-width: 40rem) {
  article.type-post {
    padding-top: 2rem;
  }
}

.post-header {
  padding-bottom: 2rem;
}

.post-header__pre-title {
  display: flex;
  justify-content: space-between;
}

.post-header__title {
  margin-top: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 73rem) {
  .post-header__title {
    max-width: var(--post-title-max-width-desktop);
  }
}

.post-header__dispatches {
  max-width: 46rem;
}

.post-single .post-header__title {
  font-size: 1.4375rem;
  line-height: 1.39;
}

.contact-header-2 {
  margin-bottom: 2rem;
}

@media (min-width: 40rem) {
  .post-header__title {
    margin-bottom: 2rem;
  }
  .post-single .post-header__title {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}

@media (max-width: 39.999rem) {
  .post-header__title {
    margin-bottom: 1rem;
  }
  .contact-header-2 {
    margin-bottom: 1rem;
  }
  .feedback-section p {
    margin-bottom: 0;
  }
  #main {
      margin-bottom: 2.5rem;
    }
}

.post-header__dispatches {
  max-width: 46rem;
}

.post-header__dispatch {
  display: flex;
}

.post-header__dispatch-label {
  display: block;
  min-width: 3.125rem;
}

@media (min-width: 40rem) {
  .post-header__dispatch-label {
    min-width: 6rem;
  }
}

.post-main {
  padding-right: 1rem;
  margin-bottom: 1rem;
}

main.post {
  margin-bottom: 3rem;
}

@media (min-width: 40rem) {
  .post-main {
    margin-bottom: 3rem;
  }
}

.post-main__content {
  border-top: .25rem solid var(--color-greyscale-border);
  padding-top: 1rem;
}

.post-main__content p {
  margin-top: .25rem;
  margin-bottom: 1rem;
}

.post-main__content p:last-child {
  margin-bottom: 0;
}

.post-main__content ul,
.post-main__content ol {
  margin: .75rem 0 .75rem 1.75rem;
}

.post-main__content li:not(:last-child) {
  padding-bottom: .25rem;
}

.post-main__content p+ul,
.post-main__content p+ol {
  margin-top: -.25rem;
}

@media (min-width: 40rem) {

  .post-main__content ul,
  .post-main__content ol {
    margin-left: 1.125rem;
  }

  .post-main__content li:not(:last-child) {
    padding-bottom: .375rem;
  }
}

.post-main .ontario-table-container {
  margin-top: .25rem;
  margin-bottom: 1.5rem;
}

.post-main p+.ontario-table-container {
  margin-top: -.75rem;
}

/* ODS had this as scroll
    but why tho? */
@media screen and (max-width: 40em) {
  .ontario-table-div {
    overflow-x: auto;
  }
}
.update-section .not-ontario-h3--update-single {
  margin-top: 1rem;
  margin-bottom: 0;
}

.update-section .not-ontario-h4--update-single {
  margin-top: 1rem;
  margin-bottom: 0;
}

.section-bottom-spacing {
  padding-bottom: 24px;
}

.page-section .not-ontario-h3--single  {
  margin: 2.5rem 0 1rem;
}
.page-section .not-ontario-h3--single-bordered {
  margin-top: 2rem;
}
@media (min-width: 40rem) {
  .page-section .not-ontario-h3--single-bordered {
    margin-top: 2.5rem;
  } 
}
.page-section .not-ontario-h4--single {
  margin: 1.5rem 0 1rem;
}

.ontario-info-page {
  min-height: 31rem;
  padding: 3rem 1rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}

.ontario-info-page h1 {
  margin-top: 0;
  margin-bottom: 1rem;
}

main .ontario-info-page p {
  margin-bottom: 0;
  max-width: 46ch;
}

main .ontario-info-page p:not(:last-child) {
  margin-bottom: .5rem;
}

.ontario-info-page a {
  white-space: pre;
}

.hr--spacer-info-page {
  max-width: 46rem;
  width: calc(100vw - 2rem);
  margin-top: 1.75rem;
  margin-bottom: 1.5rem;
}

.pagination {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

main.post .pagination {
  /* Anybody else starting to wonder if Figma is inconsistent? */
  margin-bottom: 0;
}

@media (min-width: 40rem) {
  main.post .pagination {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}

.page-numbers {
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-greyscale-background-alt);
}

a.page-numbers {
  text-decoration: none;
  color: var(--color-greyscale-background-alt);
}

.page-numbers.current {
  background-color: var(--color-greyscale-20);

}

.page-numbers.next,
.page-numbers.current {
  color: var(--color-text);
}

.page-numbers.next,
.page-numbers.prev {
  width: 1.5rem;
/*  transform: translateY(-2px);*/
}

@media (min-width: 73rem) {
  .reverse-row-for-accessibility-on-desktop {
    display: flex;
    flex-direction: row-reverse;
  }
}


.ontario-accordions-eopg__container {
  max-width: none;
}

.ontario-accordion-eopg__label {
  font-size: 1.1875rem;
}

.ontario-accordion-eopg__controls {
  justify-content: space-between;
}

.ontario-accordion-eopg {
  border-top: 0 solid transparent;
}

.ontario-accordion-eopg:last-of-type {
  border-bottom: 0 solid transparent;
}

.ontario-accordion-eopg-heading,
.ontario-accordion-eopg__button {
  font-size: 1rem;
  font-weight: 400;
  color: var(--color-text);
  max-width: none;
}

.revision__past-threshold {
  display: inline;
}

[data-revision] p,
[data-revision] p:last-of-type {
  margin-bottom: 0;
}

[data-revision] :not([data-past-the-threshold]) p:first-of-type {
  display: inline;
}

.ontario-alert__body [data-revision] ul:last-of-type {
  margin-bottom: 0;
}

.ontario-alert__body [data-revision] p:last-of-type+ul {
  margin-top: 0
}

[data-revision] ul {
  margin: 0;
  list-style-position: inside;
}

[data-revision] li {
  padding: 0;
}

@media (min-width: 73rem) {
  [data-revision-ellipsis] {
    display: none;
  }
}
ontario-page-alert {
  display: inline-block;
  width: 100%;
  max-width: 52rem;
}
.ontario-page-alert--hidden {
  display: none;
}

@keyframes ripple-effect {

  0%,
  100% {
    filter: blur(2px) grayscale(1);
  }

  50% {
    filter: blur(3px) grayscale(1);
  }
}

.ontario-page-alert--loading {
  filter: blur(4px) grayscale(1);
  position: relative;
  overflow: hidden;
  animation: ripple-effect 2s infinite;
}

.ontario-page-alert--loading-finished {
  filter: none;
}

.custom-post-type-container--index-page {
  gap: 1rem 2rem;
}

[data-responsive-columns].custom-post-type-container--index-page .custom-post-type-card {
  max-width: none;
}

[data-responsive-columns].custom-post-type-container--index-page .custom-post-type-flex-item {
  width: auto;
  max-width: 23rem;
}

.breadcrumb {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0;
}

@media (min-width: 40rem) {
  .breadcrumb {
    margin: 2rem 0;
  }
}

.page-title--with-border {
  font-family: var(--text-raleway);
  border-bottom: .25rem solid var(--banner-color-accent);
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

@media (min-width: 73rem) {
  .regular-page .page-title--with-border, .updates-section .page-title--with-border {
    margin-bottom: 3rem;
  }
}

.breadcrumb-nav+.page-title {
  margin-top: 2rem;
}

.breadcrumb .breadcrumb-item {
  padding: 0;
}

.breadcrumb-item a {
  margin-right: .5rem;
}

.breadcrumb-item:not(:last-child) a {
  position: relative;
  padding-right: 1rem;
}

.breadcrumb-item:not(:last-child) a::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 24px;
  /* Match the SVG's viewBox */
  height: 24px;
  /* Match the SVG's viewBox */
  background-image: url('data:image/svg+xml;utf8,<svg class="svg-icon" role="img" xmlns="http://www.w3.org/2000/svg" fill="rgb(26, 26, 26)" viewBox="0 0 24 24" id="chevron-right"><path d="M10 6L8.6 7.4l4.58 4.6-4.58 4.6L10 18l6-6-6-6z"></path></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(2px);
}

@media (min-width: 40rem) {
  .index-page .page-title {
    margin-bottom: 4rem;
  }
}

.not-ontario-h2 + .custom-post-type-container--index-page {
  margin: 2rem 0;
}

.custom-post-type-container--index-page:last-child, .not-ontario-h2 + .custom-post-type-container--index-page:last-child {
  margin-bottom: 0;
}

@media (min-width: 40rem) {
  .custom-post-type-container--index-page, .not-ontario-h2 + .custom-post-type-container--index-page {
    margin-bottom: 4rem;
  }
}

.preamble {
  padding-top: 2rem;
  margin-bottom: 2rem;
}

.preamble p:last-of-type {
  margin-bottom: 1rem;
}

.reverse-row-for-accessibility-on-desktop {
  /* Instead of applying a negative margin on the page title
  with underline when there is a dropdown below it on mobile 8( */
  transform: translateY(-.5rem);
}

@media (min-width: 40rem) {
  .preamble {
    padding-top: 3rem;
  }

  .reverse-row-for-accessibility-on-desktop {
    transform: translateY(0);
  }
}

@media (min-width: 73rem) {
  .preamble {
    padding-top: 0;
  }

  :not(.contact) .main-content-below-page-title-with-border {
    margin-top: 2rem;
  }
  .contact .main-content-below-page-title-with-border {
    margin-top: 0;
  }
}

.table-of-contents ul, ul.page-wpum-docs {
  margin-left: 0;
}

.table-of-contents ul {
  padding-left: 2rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.table-of-contents li {
  padding-bottom: .25rem;
}

.table-of-contents li a {
  text-decoration: none;
  font-weight: 600;
}

ul.page-wpum-docs {
  padding-left: .5rem;
}

.page-wpum-docs__description {
  display: inline-block;
}

.page-wpum-docs__meta {
  white-space: pre;
}
.page-wpum-docs__wrap {
  flex-basis: calc(100% - 1.5rem);
}
.page-wpum-docs__date {
  display: flex;
  align-items: baseline;
}

.table-of-contents li a:focus-within, .table-of-contents li a:hover {
  text-decoration: underline;
}

.table-of-contents li::marker {
  color: #0066CC;
  transform: translateX(-1rem);
}

.page-wpum-docs ul {
  list-style: none;
}
.page-wpum-docs li {
  padding-bottom: .375rem;
  display: flex;
  align-items: flex-start;
}
.page-wpum-docs li::before {
  content: "•";
  font-size: 1.5rem;
  line-height: 1.05;
  color: #0066CC;
  width: 1rem;
  flex-basis: 1.5rem;
}

.regular-page__description {
  margin-bottom: 2rem;
  max-width: 48rem;
}

@media (min-width: 73rem) {
  .regular-page__description {
    margin-bottom: 2.5rem;
  }
}

.regular-page__description + .table-of-contents {
  margin-top: -.5rem;
}

.right-align-button-with-title {
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 40rem) and (max-width: 72.999rem) {
  .right-align-button-with-title {
    margin-top: 3rem;
  }
}
.right-align-button-with-title a {
  margin-right: 0;
}
@media (min-width: 40rem) {
  .right-align-button-with-title a {
    margin-bottom: 2rem;
  }
}

.margin-bottom-1 {
  margin-bottom: 1rem;
}

.ontario-row > .main-content-below-page-title-with-border {
  margin-bottom: 2rem;
}

@media (min-width: 40rem) and (max-width: 72.999rem) {
  .ontario-header-row {
  justify-content: start;
  }
}
.ontario-checkboxes {
  margin-bottom: 0;
}
.ontario-checkboxes__input:disabled, .ontario-checkboxes__input:disabled + .ontario-checkboxes__label {
  color: #999999;
  cursor: default;
}
.ontario-checkboxes__input:disabled + .ontario-checkboxes__label:before {
  border-color: #999999;
}

/* A couple little things ported from Q and As */
.qs-as-status{
    color: #c10000;
    font-size: 0.8em;
    font-weight: bold;
    margin-left: 0.3em;
    bottom: 0.05em;
    text-transform: uppercase;
}

ul.qs-as-list{
  list-style: none;
  padding: 0;
  margin: 1em 0 1.6em;
}

.ontario-back-button .ontario-icon {
    margin: 0 .375rem 0 0;
    padding: 0;
    min-width: 1.5rem;
    min-height: 1.5rem
}

.ontario-button.ontario-button--tertiary.ontario-back-button {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1rem;
    padding-left: .5rem;
    padding-right: 1rem;
    min-width: 3rem;
    width: unset
}

@media (min-width: 73rem) {
  .ontario-button.ontario-button--tertiary.ontario-back-button {
    margin-top: 0;
  }
}

.ontario-pretending-Im-not-a-heading {
  font-size: 1rem;
  font-weight: 500;
  font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  margin-bottom: 0;
}

.accordion-list-heading h3, h4 {
  & .freshness {
    margin-left: .25rem;
  }
}

.ontario-accordion__button .ontario-accordion__button-icon--close, .ontario-accordion__button .ontario-accordion__button-icon--open {
  align-self: flex-start;
  height: 1.5rem;
}

.accordion-list-heading--bordered, .q-a .accordion-list-heading {
  flex-wrap: wrap;
  justify-content: flex-start;
  & .ontario-accordion__button--expand-all {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }
} 
@media (min-width: 40rem) {
  .accordion-list-heading--bordered, .q-a .accordion-list-heading {
    & .ontario-accordion__button--expand-all {
        width: auto;
        display: inline-block;
      }
  }  
  .accordion-list-heading--bordered:not(.accordion-list-heading--bordered-first), .supplemental-headings {
    border-top-color: var(--color-greyscale-20);
  } 
}

.grecaptcha-badge {
    bottom: 6rem !important;
}

@media (min-width: 40rem) {
    .grecaptcha-badge {
        bottom: 8rem !important;
    }
}

@media (min-width: 73rem) {
    .grecaptcha-badge {
        bottom: 6rem !important;
    }
}

[lang="fr"] .rc-anchor-normal-footer.smalltext .rc-anchor-p {
  font-size: 8px;
}
.ontario-alert__header--icon-only {
  justify-content: center;
}
@media (min-width: 40rem) {
  .ontario-alert__header--icon-only {
    float: left;
  }
}

@media screen and (min-width: 73em) {
    .ontario-hide-for-large-and-up {
        display:none !important
    }
    .ontario-visually-hidden-for-large-and-up {
          position: absolute;
          width: 1px;
          height: 1px;
          padding: 0;
          margin: -1px;
          overflow: hidden;
          clip: rect(0, 0, 0, 0);
          white-space: nowrap; /* added line for better support */
          border: 0;
    }
}

/* Hide skip links off-screen */
.skip a {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Show skip links when focused */
.skip a:focus {
  position: absolute;
  left: 10px;
  top: 10px;
  width: auto;
  height: auto;
  overflow: visible;
  background-color: #ffffff;
  color: #000000;
  padding: 8px 16px;
  z-index: 1000;
  text-decoration: none;
  border: 2px solid #000000;
}


/* ================================================================================================== */

/* Sidebar Styles */
.program-sidebar-menu {
  width: 256px;
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative; 
}

.program-sidebar-menu li {
  line-height: 1.5em;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  height: auto;
  display: block;
  padding: 0;
  &:hover {
    cursor: pointer;
  }
}

.program-sidebar-menu li:last-child {
  border-bottom: none;
}

.program-sidebar-menu li a {
  display: block;
  font-family: var(--text-raleway);
  text-decoration: none;
  color: #000;
  padding: 8px 16px;
  font-size: 1em;
  width: 100%;
  transition: background-color 0.1s ease, color 0.1s ease;
  font-weight: 700;

}

/* Active state */
.program-sidebar-menu li.active a {
  background-color: var(--sidebar-highlight-color, #4a90e2);
  color: #fff;
}

/* Hover (non-focused, non-active) */
.program-sidebar-menu li:not(.active) a:hover:not(:focus) {
  background-color: var(--sidebar-highlight-color, #4a90e2);
  color: #fff;
  outline: none;
}

/* Focus state */
.program-sidebar-menu li a:focus {
  background-color: var(--sidebar-highlight-color, #4a90e2);
  color: #fff;
  outline: 1px solid var(--sidebar-highlight-color, #4a90e2);
  outline-offset: 0;
}

/*.program-sidebar-menu li a:focus:not(.using-mouse) {
  outline: 2px solid #4a90e2;
  outline-offset: 1px;
}*/

/* Desktop: show full sidebar */
@media (min-width:1169px) {
  .program-sidebar-menu {
    width: 256px;
  }
  .program-sidebar-menu li a {
    overflow-wrap: break-word; 
    white-space: normal; 
    line-height: 26px; 
    padding: 7px 16px;
  }
  .category-box {
    padding: 8px;
  }
  
  /* Updated Hover for Desktop */
  .program-sidebar-menu li:not(.active):hover a {
    background-color: var(--sidebar-highlight-color, #4a90e2);
    color: #fff;
  }
  
  /* Remove the previous hover background */
  .program-sidebar-menu li:not(.active):hover {
    background-color: transparent;
  }
}

/* Tablet and Mobile */
@media (max-width:1168px) {
  /* Initially show only the active item */
  .sidebar-collapsible .program-sidebar-menu li:not(.active) {
    display: none;
  }

  .sidebar-collapsible .program-sidebar-menu {
    width: 100%;
    overflow: hidden;
  }



  .sidebar-collapsible .program-sidebar-menu li.active {
    min-height: 48px;
  }

  .program-sidebar-menu li:focus-visible {
    outline:none;
  }

  /* Active item as a single bar (collapsed view) */
  .sidebar-collapsible .program-sidebar-menu li.active a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    position: relative;
    color: #fff;
    outline-offset: -3px;
  }

  .sidebar-collapsible .program-sidebar-menu li.active a::after {
    content: '▼';
    font-size: 0.8em;
    margin-left: 10px;
    color: #fff;
  }

  /* Expanded state: show all items, place "Make a selection" at the top */
  .sidebar-collapsible .program-sidebar-menu.expanded {
    padding-top: 48px; /* space for the "Make a selection" bar */
  }

  /* Position active item as a top header line in expanded mode */
  .sidebar-collapsible .program-sidebar-menu.expanded li.active {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    min-height: 48px; /* Force consistent height */
    height: 48px; /* Enforce fixed height when expanded */
  }

  .sidebar-collapsible .program-sidebar-menu.expanded li.active a {
    color: transparent; /* Hide original text */
    height: 48px; /* Match parent height */
    min-height: 48px;
  }

  .sidebar-collapsible .program-sidebar-menu.expanded li.active a::before {
    content: 'Make a selection';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: calc(100% - 56px);
  }

  .sidebar-collapsible .program-sidebar-menu.expanded li.active a::after {
    content: '▲';
    font-size: 0.8em;
    color: #fff;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }

  /* Show all items below the "Make a selection" line */
  .sidebar-collapsible .program-sidebar-menu.expanded li {
    display: block;
    line-height: 1.6rem;
  }

  /* Non-active items in expanded mode */
  .sidebar-collapsible .program-sidebar-menu.expanded li:not(.active) a {
    color: #000;
    background-color: #fff;
    min-height: 40px;
    height: auto;
    line-height: 1.6rem;
    padding: 8px 16px; 
  }

  .sidebar-collapsible .program-sidebar-menu li a {
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  .sidebar-collapsible .program-sidebar-menu.expanded li:not(.active) a:hover {
    background-color: var(--sidebar-highlight-color, #4a90e2);
    color: #fff;
  }

  /* Removing extra space as it adding extra margin for page templates
  .sidebar-collapsible {
    margin-bottom: 20px; Adjust as needed
  } */

  /* Add spacing below the page title */
  .page-title {
    margin-top: 20px; /* Adjust as needed */
  }

  .category-box {
    padding: 8px;
  }

  /* Focus styles for expanded menu items */
  .sidebar-collapsible .program-sidebar-menu.expanded li a:focus {
    background-color: var(--sidebar-highlight-color, #4a90e2);
    color: #fff;
    box-shadow: none;
    outline: 3px solid var(--highlight-color, #4a90e2);
    outline-offset: -3px;
    transition: outline .1s ease-in-out;
  }

  /* Override focus styles for active item to prevent text overlap */
  .sidebar-collapsible .program-sidebar-menu.expanded li.active a:focus {
    background-color: var(--sidebar-highlight-color, #4a90e2);
    color: transparent; /* Keep text transparent to avoid overlap */
  }
}

@media (max-width: 1168px) {
  .program-sidebar-menu li {
    width: 100%; 
  }
  .program-sidebar-menu {
    width: 100%; 
    max-width: 736px; /* Optional maximum */
  }
}

/* Styling to remove the outline on sidemenu and page description links when clicked */
/* Remove outline for mouse interactions while preserving keyboard navigation */
*:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* Maintain focus styles for keyboard navigation */
*:focus-visible {
  outline: 3px solid var(--highlight-color, #4a90e2);
  outline-offset: 1px;
}

/* Sidebar specific focus states */
.sidebar-item a:focus-visible,
.resource-sidebar li a:focus-visible,
.program-sidebar-menu li a:focus-visible {
  color: #fff;
  outline-offset: -3px;
  outline: 3px solid var(--highlight-color, #4a90e2);
}

/* Remove outline but keep background for mouse clicks */
.sidebar-item a:focus:not(:focus-visible),
.resource-sidebar li a:focus:not(:focus-visible),
.program-sidebar-menu li a:focus:not(:focus-visible) {
  color: #fff;
  outline: none;
}

main table:has(td:nth-child(5)) td, main table:has(td:nth-child(6)) td, main table:has(td:nth-child(7)) td, main table:has(td:nth-child(8)) td, main table:has(td:nth-child(9)) td {
  padding-left: .375rem;
  padding-right: .25rem;
}

@media (max-width: 1168px) {
    /* Force first item to show on special pages */
    [data-sub-page-fix="true"] .sidebar-collapsible .program-sidebar-menu li:first-child {
        display: block !important;
    }
    [data-sub-page-fix="true"] .sidebar-collapsible .program-sidebar-menu li:first-child a {
        background-color: ' . esc_attr($program_color) . ';
        color: #fff;
    }
}

/* ================================================================================================== */

/* Typography - Orphan Prevention */
.no-orphans{
  /* never auto-hyphenate; allow only &shy; */
  -webkit-hyphens: manual;
  hyphens: manual;
  /* sane defaults */
  word-break: normal;
  overflow-wrap: normal;
}
/* balance lines where available */
@supports (text-wrap: balance){
  .no-orphans{ text-wrap: balance; }
}
/* Chrome/Safari/Edge: strongest anti-orphan heuristics */
@supports (text-wrap: pretty){
  .no-orphans{ text-wrap: pretty; }
}
/* nicer edges for quotes/punct when supported */
@supports (hanging-punctuation: first){
  .no-orphans{ hanging-punctuation: first last allow-end; }
}