/* stylelint-disable-next-line wrap-rem-on-px/wrap-rem-on-px */
/* stylelint-disable wrap-rem-on-px/wrap-rem-on-px */
/* stylelint-enable wrap-rem-on-px/wrap-rem-on-px */
/*
USAGE:
font-size: fluid(12, 62); : from rem(12)@380px to  rem(62)@1440px
gap: fluid(10, 33, 992);  : from rem(10)@991px to  rem(33)@1440px
margin-right: fluid(32, 65, 320, 2560);  : from rem(32)@320px to  rem(65)@2560px
*/
/*
AUTOFILL

USAGE:
@include mixin.autofill(background-color, text-color);
@include mixin.autofill;

Note: Call this mixin in the wrapper or container to where you intend to manipulate the
      default chrome autofill styles for input, textarea and select elements.
*/
/* stylelint-disable */
/* stylelint-enable */
.search-panel {
  width: 100%;
  max-width: 100%;
  padding: 2.5rem 1.25rem;
  border-radius: 1rem;
  background-color: #e4eef3;
}
@media screen and (min-width:991px) {
  .search-panel {
    padding: 2.5rem;
    border-radius: 1.5rem;
  }
}
@media screen and (min-width:1440px) {
  .search-panel {
    max-width: 82.5rem;
  }
}
.search-panel h3 {
  margin: 0 0 1.5rem;
  color: #1b2a4b;
  font-family: "Radio Canada", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
@media screen and (min-width:991px) {
  .search-panel h3 {
    font-size: 1.875rem;
  }
}
.search-panel form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 1rem;
  border-radius: 0.75rem;
  background-color: #fff;
}
.search-panel form > span[aria-hidden=true] {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  color: #cf4b27;
}
.search-panel form > span[aria-hidden=true] svg {
  display: block;
  width: 100%;
  height: 100%;
}
.search-panel input[type=search] {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1b2a4b;
  font-family: "Figtree", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width:991px) {
  .search-panel input[type=search] {
    font-size: 1.25rem;
  }
}
.search-panel input[type=search]::placeholder {
  color: #1b2a4b;
  opacity: 1;
}
.search-panel input[type=search]:focus, .search-panel input[type=search]:focus-visible {
  outline: none;
}

.visually-hidden,
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.section.section--vaccine-cards {
  padding: 2.5rem 0 3.75rem;
}
.section.section--vaccine-cards:has(.search-panel) {
  padding-top: 0;
}
@media screen and (min-width:1199px) {
  .section.section--vaccine-cards {
    padding-bottom: 5rem;
  }
}

.vaccine-cards__heading {
  margin: 0 0 2rem;
  width: 100%;
  color: #1b2a4b;
  font-family: "Radio Canada", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.035rem;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width:1199px) {
  .vaccine-cards__heading {
    font-size: 3.25rem;
    letter-spacing: -0.065rem;
  }
}
.vaccine-cards__empty {
  margin: 2rem 0 0;
  padding: 1.5rem 1.25rem;
  width: 100%;
  color: #cf4b27;
  font-family: "Figtree", sans-serif;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width:991px) {
  .vaccine-cards__empty {
    margin-top: 2.5rem;
    padding: 2rem 1.5rem;
    font-size: 1.5rem;
  }
}
.vaccine-cards__empty[hidden] {
  display: none;
}
.vaccine-cards .search-panel {
  width: 100%;
  max-width: 100%;
  margin-bottom: 2.5rem;
}
@media screen and (min-width:700px) {
  .vaccine-cards .search-panel {
    margin-bottom: 1.75rem;
  }
}
@media screen and (min-width:1199px) {
  .vaccine-cards .search-panel {
    margin-bottom: 2.5625rem;
  }
}
@media screen and (min-width:1440px) {
  .vaccine-cards .search-panel {
    max-width: 82.5rem;
  }
}
.vaccine-cards__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.vaccine-cards__list > li {
  min-width: 0;
}
@media screen and (min-width:768px) {
  .vaccine-cards__list > li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 1.375rem;
    width: 100%;
    padding: 1.25rem 0 2.5rem;
    border-radius: 1.5rem;
    background-color: #3F7EA0;
    color: #fff;
    line-height: 1.4;
  }
}
@media screen and (min-width:768px) {
  .vaccine-cards__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width:1199px) {
  .vaccine-cards__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.vaccine-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  gap: 1.375rem;
  width: 100%;
  height: 100%;
  padding: 1.25rem 0 2.5rem;
  border-radius: 1.5rem;
  background-color: #3F7EA0;
  color: #fff;
  line-height: 1.4;
}
@media screen and (min-width:768px) {
  .vaccine-card {
    display: contents;
  }
}
.vaccine-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 100%;
  padding-inline: 0.9375rem;
}
.vaccine-card__title span {
  width: 100%;
  color: #fff;
  font-family: "Radio Canada", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: break-word;
}
@media screen and (min-width:1199px) {
  .vaccine-card__title span {
    font-size: 1.875rem;
  }
}
.vaccine-card__divider {
  flex-shrink: 0;
  width: 100%;
  height: 0.25rem;
  margin: 0;
  border: 0;
  background-color: #1b2a4b;
}
.vaccine-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 1.5625rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width:1199px) {
  .vaccine-card__body {
    gap: 0.5rem;
    margin-bottom: 1.4375rem;
  }
}
.vaccine-card__body .vaccine-card__block {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  width: 100%;
  padding-inline: 1.25rem;
}
.vaccine-card__body .vaccine-card__block + .vaccine-card__block {
  margin-top: 0.5rem;
}
@media screen and (min-width:1199px) {
  .vaccine-card__body .vaccine-card__block {
    margin-bottom: 1rem;
  }
}
@media screen and (min-width:1199px) {
  .vaccine-card__body .vaccine-card__block:last-child {
    margin-bottom: 0;
  }
}
.vaccine-card__body .vaccine-card__block:last-child p {
  margin-bottom: 0;
}
.vaccine-card__body h4 {
  margin: 0;
  width: 100%;
  color: #fff;
  font-family: "Radio Canada", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: start;
  word-break: break-word;
}
@media screen and (min-width:1199px) {
  .vaccine-card__body h4 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
  }
}
.vaccine-card__body p {
  width: 100%;
  margin: 0;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: start;
  word-break: break-word;
}
.vaccine-card__body ul,
.vaccine-card__body ol {
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 0 0 0 1.875rem;
  color: #fff;
  font-family: "Figtree", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}
.vaccine-card__body ul {
  list-style: disc;
  list-style-position: outside;
}
.vaccine-card__body ol {
  list-style-type: decimal;
  list-style-position: outside;
}
.vaccine-card__body ul > li,
.vaccine-card__body ol > li {
  display: list-item;
  margin: 0 0 0.5rem;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: start;
  list-style-position: outside;
}
.vaccine-card__body ul > li::before,
.vaccine-card__body ol > li::before {
  display: none;
  content: none;
}
.vaccine-card__body ul > li:last-child,
.vaccine-card__body ol > li:last-child {
  margin-bottom: 0;
}
.vaccine-card__body ul > li {
  list-style-type: disc;
}
.vaccine-card__body ol > li {
  list-style-type: decimal;
}
.vaccine-card__body li > ul,
.vaccine-card__body li > ol {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.vaccine-card__body strong,
.vaccine-card__body b {
  font-weight: 700;
}
.vaccine-card__body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.vaccine-card__body a:hover, .vaccine-card__body a:focus-visible {
  text-decoration-thickness: 0.125rem;
}
.vaccine-card__body a:focus-visible {
  outline: 0.125rem solid #fff;
  outline-offset: 0.125rem;
}
.vaccine-card__foot {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: auto;
}
@media screen and (min-width:768px) {
  .vaccine-card__foot {
    margin-top: 0;
  }
}
.vaccine-card a.vaccine-card__cta {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 6.25rem;
  background-color: #edab48;
  color: #1b2a4b;
  font-family: "Figtree", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.vaccine-card a.vaccine-card__cta:link, .vaccine-card a.vaccine-card__cta:visited {
  color: #1b2a4b;
}
.vaccine-card a.vaccine-card__cta:hover {
  background-color: #e9971b;
  color: #1b2a4b;
}
.vaccine-card a.vaccine-card__cta:focus-visible {
  background-color: #e9971b;
  color: #1b2a4b;
  outline: 0.125rem solid #fff;
  outline-offset: 0.1875rem;
}
.vaccine-card a.vaccine-card__cta:active {
  background-color: #1b2a4b;
  color: #fff;
}
