/* Some blocks are syndicated to the checkout application and the Impact
   subsite; those blocks do not receive the instance class when syndicated, so
   in order for CSS and JavaScript to work in both local and syndicated contexts
   blocks are referenced using core classes (e.g.,
   “.block--plugin-id--views-exposed-filter-blocksearch-page”). For content
   blocks, the core class includes a UUID, so the machine name and block
   syndication modules combine to provide stable per-block classes. */
@layer base;
:root {
  /* Override base theme widths. */
  --bezel-inline-size: 5rem;
  --bezel-inline-size-large-screen: 2.5rem;
  --bezel-inline-size-medium-screen: 2.5rem;
  --bezel-inline-size-small-screen: 1.25rem;
  --gutter-inline-size: 3.75rem;
  --gutter-inline-size-large-screen: 2.5rem;
  --gutter-inline-size-medium-screen: 2.5rem;
  --gutter-inline-size-small-screen: 1.25rem;
  /* End override base theme widths. */
  --color-black: #212121;
  --color-black-rgb: 33, 33, 33;
  --color-blue: #002452;
  --color-blue-rgb: 0, 36, 82;
  --color-gold: #fabd0f;
  --color-gold-rgb: 250, 189, 15;
  --color-grey: #d1d3d4;
  --color-light-grey: #f1f1f2;
  --color-red: #b90e31;
  --color-red-rgb: 185, 14, 49;
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --font-family-sans-serif: 'Open Sans', sans-serif;
  --font-family-serif: 'Volkhov', serif;
  --font-size-7xl: 7.5rem;
  --font-size-6xl: 4.5rem;
  --font-size-5xl: 4rem;
  --font-size-4xl: 3.75rem;
  --font-size-3xl: 2.5rem;
  --font-size-2xl: 2rem;
  --font-size-xl: 1.625rem;
  --font-size-l: 1.5rem;
  --font-size-base: 1.25rem;
  --font-size-s: 1rem;
  --font-size-xs: 0.875rem;
  --font-size-2xs: 0.75rem;
  --font-weight-bold: 700;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --font-weight-semi-bold: 600;
  --font-small-caps: normal normal var(--font-weight-bold) normal var(--font-size-xs)/1 var(--font-family-sans-serif);
  --font-small-caps-letter-spacing: 0.1em;
  --font-small-caps-text-transform: uppercase;
  --gutter-inline-field: 2rem;
  --max-content-inline-size: 60rem;
  --scroll-margin-block-start: 20px; /* Pixels, because JavaScript uses it. */
  --ribbon-blue-gold-red: linear-gradient(to right, rgb(var(--color-blue-rgb)) 0, rgb(var(--color-blue-rgb)) 33%, rgb(var(--color-gold-rgb)) 33%, rgb(var(--color-gold-rgb)) 67%, rgb(var(--color-red-rgb)) 67%, rgb(var(--color-red-rgb)) 100%);
  --ribbon-gold-red: linear-gradient(to right, rgb(var(--color-gold-rgb)) 0, rgb(var(--color-gold-rgb)) 50%, rgb(var(--color-red-rgb)) 50%, rgb(var(--color-red-rgb)) 100%);
  font-family: var(--font-family-sans-serif);
  font-size: 16px;
  font-weight: var(--font-weight-normal);
  font-optical-sizing: auto;
  line-height: 1.4;
}
html {
  scroll-behavior: smooth;
}
body {
  position: relative;
  margin: 0;
  padding: 0 0 1rem 0;
  min-block-size: calc(100vh - (1em + var(--drupal-displace-offset-top, 0)));
  background-color: var(--color-blue);
  color: var(--color-white);
}
body::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  block-size: 1em;
  background-image: var(--ribbon-gold-red);
}
:is(h1, h2, h3, h4, h5, h6) {
  margin-block: 0 1rem;
  font-weight: var(--font-weight-semi-bold);
  line-height: 1.2;
}
h1 {
  margin-block-end: 2.5rem;
  font-family: var(--font-family-serif);
  font-size: var(--font-size-5xl);
  font-weight: var(--font-weight-normal);
  line-height: 1.1;
}
h2 {
  margin-block-end: 1.5rem;
  font-size: var(--font-size-4xl);
}
.paragraph--bundle-content .field--id-field-title h2,
.field--family-type-long-text h2,
.sidebar h2 {
  font-size: var(--font-size-3xl);
}
h3 {
  margin-block-end: 1.25rem;
  font-size: var(--font-size-2xl);
}
h4 {
  font-size: var(--font-size-xl);
}
h5 {
  font-size: var(--font-size-l);
}
h6 {
  margin-block-end: 0;
  font-size: var(--font-size-s);
}
p,
dl,
ol,
table,
ul {
  margin-block: 0 1rem;
}
ol,
ul {
  padding-inline-start: 2.5em;
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin-block: 0;
}
hr {
  margin-block: 2.5em;
  border: none;
  background-color: var(--color-grey);
  block-size: 1px;
  inline-size: 100%;
  color: var(--color-grey);
}
.queensu-giving-small-and-medium-screen {
  display: none;
}
/* Base link styles go in a base layer to facilitate overriding them for
   calls to action, buttons, etc. */
@layer base {
  a {
    font-weight: var(--font-weight-semi-bold);
    text-decoration: none;
    color: var(--color-white);
    transition: color 0.25s;
  }
  a:hover {
    color: var(--color-gold);
  }
  main.content-regions-container a {
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
    color: var(--color-blue);
    transition: color 0.25s;
  }
  main.content-regions-container a:hover {
    color: var(--color-red);
  }
  .toolbar a,
  .block--plugin-id--local-tasks-block a {
    font-weight: inherit;
    color: inherit;
  }
}
a.cta::after,
.view--id-funds.view--display-term-embed .views-row a.teaser-content h3::after {
  content: '\f061';
  position: relative;
  inset-block-start: 2px;
  display: inline-block;
  margin-inline: 0.5em 0.25em;
  font: var(--fa-font-solid);
  font-size: var(--font-size-base);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  transition: margin 0.25s;
}
.view--id-funds.view--display-term-embed .views-row a.teaser-content h3::after {
  margin-inline: 0.25em 0.25em;
  font-size: 1em;
}
a.cta:hover::after,
.view--id-funds.view--display-term-embed .views-row a.teaser-content:hover h3::after {
  margin-inline: 0.75em 0;
  text-decoration-color: transparent;
}
.view--id-funds.view--display-term-embed .views-row a.teaser-content:hover h3::after {
  margin-inline: 0.5em 0;
}
ul.links.inline a,
.field--id-field-cta a,
.content-regions-container a.cta-button,
.content-regions-container input.form-submit:where(:not(.field--type-file input.form-submit)),
.block--plugin-id--queensu-giving-donate-give-now a,
.node--bundle-story .field--id-field-fund a,
.taxonomy-term .field--id-field-fund a {
  display: inline-block;
  border: 1px solid var(--color-blue);
  background-image: linear-gradient(var(--color-blue), var(--color-blue) 50%, var(--color-white) 50%, var(--color-white));
  background-size: 100% 210%;
  padding: 1.25em 2.5em;
  font: var(--font-small-caps);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
  text-decoration: underline;
  text-decoration-color: transparent;
  white-space: nowrap;
  color: var(--color-white);
  transition: background 0.25s, text-decoration-color 0.25s, color 0.25s;
}
.paragraph--view-mode-feature .field--id-field-cta a,
.content-regions-container a.cta-button.alt {
  background-image: linear-gradient(var(--color-white), var(--color-white) 50%, var(--color-blue) 50%, var(--color-blue));
  color: var(--color-blue);
}
ul.links.inline a[href^='/giving/checkout'],
.field--id-field-cta a[href^='/giving/checkout'],
.content-regions-container a.cta-button[href^='/giving/checkout'],
.block--plugin-id--queensu-giving-donate-give-now a,
.node--bundle-story .field--id-field-fund a,
.taxonomy-term .field--id-field-fund a {
  border: none;
  background-image: linear-gradient(var(--color-gold), var(--color-gold) 50%, var(--color-blue) 50%, var(--color-blue));
  padding: calc(1.25em + 1px) calc(2.5em + 1px);
  color: var(--color-blue);
}
ul.links.inline a:hover,
.field--id-field-cta a:hover,
.content-regions-container a.cta-button:hover,
.content-regions-container input.form-submit:where(:not(.field--type-file input.form-submit)):hover,
.block--plugin-id--queensu-giving-donate-give-now a:hover,
.node--bundle-story .field--id-field-fund a:hover,
.taxonomy-term .field--id-field-fund a:hover {
  background-position: 100% 97.5%;
  text-decoration-color: var(--color-blue);
  color: var(--color-blue);
}
.paragraph--view-mode-feature .field--id-field-cta a:hover,
.content-regions-container a.cta-button.alt:hover,
ul.links.inline a[href^='/giving/checkout']:hover,
.field--id-field-cta a[href^='/giving/checkout']:hover,
.content-regions-container a.cta-button[href^='/giving/checkout']:hover,
.block--plugin-id--queensu-giving-donate-give-now a:hover,
.node--bundle-story .field--id-field-fund a:hover,
.taxonomy-term .field--id-field-fund a:hover {
  text-decoration-color: var(--color-white);
  color: var(--color-white);
}
/* If a paragraph contains only a CTA button, add additional margin below. */
.content.region-container .field--family-type-long-text p:has(a.cta-button:first-child:last-child) {
  margin-block-end: 2.5em;
}
/* If a sidebar block ends in a CTA button, add additional margin above. */
.sidebar .field--family-type-long-text p:last-child:has(a.cta-button:first-child:last-child) {
  margin-block-start: 2.5em;
}
ul.links.inline {
  display: flex;
  gap: var(--gutter-inline-size);
}
button.content-toggle {
  all: unset;
  max-inline-size: 2.75rem;
  overflow: hidden;
  white-space: nowrap;
  color: var(--color-blue);
  cursor: pointer;
}
button.content-toggle:focus {
  outline: revert;
}
button.content-toggle::before {
  content: '\002b';
  display: inline-block;
  position: relative;
  margin-inline-end: 2rem;
  padding: 0.25rem 0.375rem;
  block-size: fit-content;
  inline-size: fit-content;
  font: var(--fa-font-regular);
  font-size: var(--font-size-xl);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.25s;
}
.queensu-giving-detail-container[data-expanded='true'] button.content-toggle:not(.queensu-giving-detail-container[data-expanded='true'] .queensu-giving-detail-container[data-expanded='false'] button)::before {
  content: '\f068';
  background-color: var(--color-gold);
}
button.content-toggle:hover::before {
  background-color: var(--color-gold);
}
.field--id-field-cta .field-values {
  display: flex;
  gap: var(--gutter-inline-field);
}
/* The supercontent region is usually inside the content container; it only
   needs layout when it isn't. */
.region--id-superheader,
main.content-regions-container > .supercontent.region-container > .region,
.region--id-postcontent,
.paragraph--bundle-detail,
.paragraph--bundle-section {
  box-sizing: border-box;
  display: block;
  margin-inline: auto;
  padding-inline: var(--bezel-inline-size);
  min-inline-size: var(--min-inline-size);
  max-inline-size: var(--max-inline-size);
}
.block.queens-logo img {
  display: block;
  padding-block: 1.5rem;
  inline-size: 8.125rem;
  block-size: auto;
}
header.region-container,
main.content-regions-container {
  background-color: var(--color-white);
  color: var(--color-black);
}
header.region-container:not(:has(+ .banner.region-container img)) {
  border-block-end: 1px solid var(--color-grey);
}
header.region-container a {
  color: var(--color-black);
}
header.region-container a.is-active:not(.menu-level-0 > ul > li > a),
header.region-container li.menu-item--in-active-trail > a:not(.menu-level-0 > ul > li > a),
header.region-container a:not(.menu-level-0 > ul > li > a, .block--plugin-id--system-branding-block a):hover {
  color: var(--color-red);
}
.region--id-header {
  position: relative;
}
.region--id-header .region-content {
  display: flex;
  gap: var(--gutter-inline-size);
  padding-block: 2rem 1.5rem;
  align-items: center;
}
.block--plugin-id--system-branding-block {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-2xl);
}
.block--plugin-id--system-branding-block .site-name a {
  font-weight: var(--font-weight-normal);
}
/* The block is contained when syndicated to the Impact site. */
.region--id-header nav,
.region--id-header .block:has(nav) {
  flex: 1;
}
.region--id-header nav ul {
  display: flex;
  gap: var(--gutter-inline-field);
  margin: 0.375rem 0 0 0;
  padding: 0;
  list-style-type: none;
}
.region--id-header nav ul ul {
  display: block;
  margin-block: -0.5rem;
}
.region--id-header nav ul ul ul li {
  padding-inline-start: 1em;
}
/* Hide top-level buttons without children (just in case). */
.region--id-header nav li:has(button):not(:has(ul)) {
  display: none;
}
/* Hide search, let ../js/navigation.js show it to avoid a flash of unstyled
   content. */
.block--plugin-id--views-exposed-filter-blocksearch-page {
  display: none;
}
.region--id-header nav ul a:not(ul ul a),
.region--id-header nav ul button:not(ul ul button),
.block--plugin-id--views-exposed-filter-blocksearch-page h2 button {
  display: block;
  border-width: 0 0 0.25em 0;
  border-style: solid;
  border-color: transparent;
  background-color: transparent;
  padding: 0.75em 0 0.5em 0;
  font: var(--font-small-caps);
  font-size: var(--font-size-s);
  text-transform: var(--font-small-caps-text-transform);
  color: var(--color-black);
  cursor: pointer;
  transition: border-color 0.25s;
}
.block--plugin-id--views-exposed-filter-blocksearch-page h2 button {
  padding: 0.5rem 0;
  border-block-end-width: 0;
  inline-size: 1.125em;
  overflow: hidden;
  font-size: var(--font-size-l);
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.25s;
}
.region--id-header nav li.menu-item--in-active-trail a:not(ul ul a),
.region--id-header nav a:not(ul ul a):hover,
.region--id-header nav ul li.menu-item--in-active-trail button:not(ul ul button),
.region--id-header nav ul button:not(ul ul button):hover,
.region--id-header nav ul button:not(ul ul button)[aria-expanded='true'] {
  border-color: var(--color-red);
}
.block--plugin-id--views-exposed-filter-blocksearch-page h2 button:hover {
  color: var(--color-red);
}
.region--id-header nav ul ul a,
.region--id-header nav ul ul a:hover {
  display: block;
  padding-block: 0.5em;
  font-weight: var(--font-weight-normal);
}
.region--id-header nav button::after {
  content: '\f078';
  position: relative;
  inset-block-start: calc(1em / -16);
  display: inline-block;
  margin-inline-start: 0.5em;
  font: var(--fa-font-solid);
  font-size: var(--font-size-xs);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.region--id-header nav button[aria-expanded='true']::after {
  content: '\f077';
}
.block--plugin-id--views-exposed-filter-blocksearch-page h2 button::before {
  content: '\f002';
  position: relative;
  margin-inline-end: 1em;
  font: var(--fa-font-regular);
  font-size: var(--font-size-xl);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.block--plugin-id--views-exposed-filter-blocksearch-page h2 button[aria-expanded='true']::before {
  content: '\f00d';
}
/* Visibility can't be transitioned, so opacity is used to fake it; note that
   it doesn't ease out because of visibility being set to hidden. */
.region--id-header nav .menu-level-1,
.block--plugin-id--views-exposed-filter-blocksearch-page .content-container {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  margin-inline: calc(50% - 50vw);
  inline-size: 100vw;
  visibility: hidden;
  z-index: 2;
  background-color: var(--color-light-grey);
  opacity: 0;
  transition: opacity 0.25s;
}
/* Buttons in the menu have ul in the selector to avoid affecting the trigger
   for small screen navigation. */
.region--id-header nav ul button[aria-expanded='true'] + .menu-level-1,
.block--plugin-id--views-exposed-filter-blocksearch-page:has(h2 button[aria-expanded='true']) .content-container {
  visibility: visible;
  opacity: 1;
}
.region--id-header nav .menu-level-1 > .submenu-content,
.block--plugin-id--views-exposed-filter-blocksearch-page .block-content {
  box-sizing: border-box;
  display: flex;
  gap: var(--gutter-inline-size);
  margin-inline: auto;
  padding: 4rem var(--bezel-inline-size) 5rem var(--bezel-inline-size);
  min-inline-size: var(--min-inline-size);
  max-inline-size: var(--max-inline-size);
  font-size: var(--font-size-base);
}
.block--plugin-id--views-exposed-filter-blocksearch-page .block-content {
  position: relative;
  padding-block: 3em 4em;
  display: block;
}
.region--id-header nav .menu-level-1 > .submenu-content::after,
.block--plugin-id--views-exposed-filter-blocksearch-page .block-content::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  block-size: 1em;
  background-image: var(--ribbon-gold-red);
}
.region--id-header nav .menu-level-1 > .submenu-content > * {
  flex-basis: calc(100% / 3);
}
.region--id-header nav .menu-level-1 > .submenu-content > .menu-item-children {
  flex-basis: calc((100% / 3) * 2);
}
.region--id-header nav .menu-level-1 > .submenu-content > .menu-item-children > ul:has(li:nth-child(3)) {
  column-count: 2;
  column-gap: var(--gutter-inline-size);
}
.region--id-header nav .menu-level-1 > .submenu-content > .menu-item-children > ul li {
  break-inside: avoid-column;
}
.region--id-header nav .menu-level-1 > .submenu-content .media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.block--plugin-id--views-exposed-filter-blocksearch-page h2:has(button) {
  margin: 0;
}
.block--plugin-id--views-exposed-filter-blocksearch-page form {
  position: relative;
}
.block--plugin-id--views-exposed-filter-blocksearch-page label {
  display: none;
}
/* The search field is changed from “text” to “search” by queensu_giving_misc in
   order to leverage browsers' built-in “clear” functionality; both types are
   targeted just in case this ever changes. */
.block--plugin-id--views-exposed-filter-blocksearch-page input:is(.form-search, .form-text) {
  padding: 0.75em 2.5em 0.75em 1em;
  border-color: var(--color-blue);
  border-radius: 0.5em;
  inline-size: 100%;
  font-size: var(--font-size-base);
}
.block--plugin-id--views-exposed-filter-blocksearch-page .form-actions {
  position: absolute;
  inset: 0 0 0 auto;
  inline-size: 2em;
  overflow: hidden;
  font-size: var(--font-size-l);
  white-space: nowrap;
}
.block--plugin-id--views-exposed-filter-blocksearch-page .form-actions::before {
  content: '\f002';
  position: absolute;
  inset: 0.75em 0 0 0.5em;
  font: var(--fa-font-regular);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.block--plugin-id--views-exposed-filter-blocksearch-page .form-actions:hover::before {
  color: var(--color-red);
}
.block--plugin-id--views-exposed-filter-blocksearch-page .form-actions input.form-submit {
  position: relative;
  z-index: 1;
  border: none;
  padding-inline-start: 2em;
  background-color: transparent;
  font-size: 1em;
  cursor: pointer;
}
.block--plugin-id--queensu-giving-donate-checkout .block-content {
  position: relative;
  padding-block: 0.5em;
  inline-size: 2.5em;
  white-space: nowrap;
  overflow-x: hidden;
}
.block--plugin-id--queensu-giving-donate-checkout .fund-count {
  box-sizing: border-box;
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--color-black);
  border-radius: 50%;
  background-color: var(--color-gold);
  inline-size: 1.75em;
  aspect-ratio: 1;
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.block--plugin-id--queensu-giving-donate-checkout a::before {
  content: '\f07a';
  margin-inline-end: 1em;
  font: var(--fa-font-regular);
  font-size: var(--font-size-xl);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
main.content-regions-container:not(:has(.subcontent.region-container .region, .postcontent.region-container .region)) {
  padding-block-end: 7.5rem;
}
.banner.region-container {
  background-color: var(--color-white);
}
.banner.region-container * {
  margin-block: 0;
}
.banner.region-container .view {
  padding-block-end: 1em;
  block-size: 15rem;
  background-image: var(--ribbon-blue-gold-red);
  overflow: hidden;
}
.banner.region-container .view img {
  display: block;
  inline-size: 100%;
  object-fit: cover;
}
/* Add top padding to supercontent when breadcrumbs are not present (e.g., 403
   and 404 pages). */
.supercontent:not(body.front .supercontent):not(:has(.block--plugin-id--system-breadcrumb-block)) {
  padding-block-start: 2.5rem;
}
.block--plugin-id--system-breadcrumb-block {
  padding-block: 2rem 2.5rem;
  font-size: var(--font-size-s);
}
.block--plugin-id--system-breadcrumb-block ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.block--plugin-id--system-breadcrumb-block li {
  display: inline;
}
.block--plugin-id--system-breadcrumb-block li:not(:first-child)::before {
  content: '\003e';
  position: relative;
  inset-block-start: -2px;
  margin-inline: 0.25em;
  font-size: var(--font-size-xs);
}
.block--plugin-id--system-breadcrumb-block a {
  font-weight: var(--font-weight-normal);
  text-decoration-color: var(--color-blue);
  transition: text-decoration-color 0.25s, color 0.25s;
}
.block--plugin-id--system-breadcrumb-block a:hover {
  text-decoration-color: var(--color-red);
  color: var(--color-red);
}
.block--plugin-id--page-title-block h1 span.cta,
.block--plugin-id--page-title-block h1 span.commemoration-type {
  display: block;
  margin-block-end: 0.25em;
  font: var(--font-small-caps);
  font-size: var(--font-size-base);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
}
.supercontent .node--view-mode-lede {
  margin-block-end: 5rem;
}
main > .main-content {
  gap: 5rem;
  font-size: var(--font-size-base);
}
.subcontent.region-container {
  font-size: var(--font-size-base);
}
body:not(.front, .page-your-impact-donor-impact, .page--taxonomy-term--bundle-collection, .page--taxonomy-term--bundle-faculty) .main-content > .content.region-container,
body.page-your-impact-donor-impact .block--base-plugin-id--system-main-block,
.page--taxonomy-term--bundle-collection .view--id-fund-search,
.page--taxonomy-term--bundle-faculty .view--id-fund-search {
  max-inline-size: var(--max-content-inline-size);
}
/* Pad the bottom of main content when it has content and is followed by
   something (with exceptions immediately below). */
.main-content .block--plugin-id--system-main-block:not(:last-child):has(.node-content > *),
.content-regions-container:has(.subcontent.region-container .block .node--bundle-fund.node--view-mode-detail) .main-content .block--plugin-id--system-main-block {
  padding-block-end: 5rem;
}
/* Repeated block selector is for specificity. */
.main-content .block.block--plugin-id--system-main-block:has(+ .block .view--id-fund-search),
.main-content .block.block--plugin-id--system-main-block:has(+ .block .view--id-classes),
.main-content .block.block--plugin-id--system-main-block:has(+ .block .view--id-honourees) {
  padding-block-end: 0;
}
.main-content form {
  font-size: var(--font-size-s);
}
.main-content form div.form-item:has(
> input[type='email'],
> input[type='password'],
> input[type='search'],
> input[type='tel'],
> input[type='text'],
> input[type='url'],
> select,
> div > textarea) > label,
legend {
  font-size: var(--font-size-base);
}
.main-content form input[type='email'],
.main-content form input[type='password'],
.main-content form input[type='search'],
.main-content form input[type='tel'],
.main-content form input[type='text'],
.main-content form input[type='url'],
.main-content form textarea {
  border: 1px solid var(--color-black);
  padding: 0.75em;
  inline-size: 100%;
}
.main-content form textarea {
  min-block-size: 12em;
}
.main-content form select,
.option-list-navigation select {
  box-sizing: border-box;
  margin: 0;
  box-shadow: none;
  border: 1px solid var(--color-black);
  border-radius: 0;
  background: url('../img/select-widget-bg.svg') center right 0.75em / 1em 1em no-repeat scroll padding-box padding-box transparent;
  padding: 0.875em 2.5em 0.875em 0.75em;
  max-inline-size: 100%;
  overflow: hidden;
  font: inherit;
  text-align: start;
  line-height: 1.25;
  color: var(--color-black);
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.option-list-navigation select {
  background-color: var(--color-white);
}
.main-content form input[type=checkbox],
.main-content form input[type=radio] {
  display: inline-block;
  background-color: transparent;
  border: 1px solid var(--color-black);
  block-size: 1.5em;
  inline-size: 1.5em;
  border-radius: 50%;
  vertical-align: text-bottom;
  position: relative;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.main-content form input[type=checkbox] {
  border-radius: 3px;
}
.main-content form input[type=checkbox]:checked,
.main-content form input[type=radio]:checked {
  border: 0.5em solid var(--color-blue);
}
.main-content form .form-item,
.main-content form .form-wrapper:not(.queensu-giving-field-pair .form-wrapper):has(> .form-item-address-country-code) {
  margin-block-end: 1.5rem;
}
.main-content form .form-actions {
  margin-block-start: 2.5rem;
}
.field--family-type-long-text * + h2 {
  margin-block-start: 2.5rem;
}
.field--family-type-long-text * + h3 {
  margin-block-start: 1.5rem;
}
.field--family-type-long-text * + :is(h4, h5, h6) {
  margin-block-start: 1.25rem;
}
.media .field--family-type-long-text .field-value > *:last-child,
.paragraph .field--family-type-long-text .field-value > *:last-child {
  margin-block-end: 0;
}
.field--id-field-lede:not(.paragraph--bundle-detail .field--id-field-lede),
.field--family-type-long-text p.lede {
  margin-block-end: 2.5rem;
  font-size: var(--font-size-xl);
}
.field--family-type-long-text table {
  margin-block-start: 1.75rem;
  border-block: 1px solid var(--color-light-grey);
  border-collapse: collapse;
  min-inline-size: 75%;
  font-size: var(--font-size-s);
}
.field--family-type-long-text tr {
  border-block: 1px solid var(--color-light-grey);
}
.field--family-type-long-text thead tr {
  border-block-end-color: var(--color-black);
}
.field--family-type-long-text th,
.field--family-type-long-text td {
  padding: 1em;
}
.field--family-type-long-text th:first-child,
.field--family-type-long-text td:first-child {
  padding-inline-start: 0;
}
.media .field--id-field-caption {
  margin-block-start: 0.5em;
  font-size: var(--font-size-s);
}
.field--id-field-media {
  margin-block-end: 3.75rem;
}
body.front .field--id-field-media,
.node--view-mode-teaser .field--id-field-media {
  margin-block-end: 2.5rem;
}
.paragraph--bundle-content .field--id-field-media,
.paragraph--bundle-subblock .field--id-field-media,
body.front .paragraph--bundle-content .field--id-field-media {
  margin-block-end: 0;
}
.field--id-field-media .image {
  overflow: hidden;
}
.field--id-field-media .image img {
  display: block;
  inline-size: 100%;
  transition: transform 0.25s;
}
.field--id-field-media .image:not(.swiper-slide .image) img:hover {
  transform: scale(1.05);
}
/* “object-fit: cover” in featured paragraphs requires that no height have been
   set, even to “auto”. */
.field--id-field-media:not(.paragraph--view-mode-feature .field--id-field-media) img {
  block-size: auto;
}
.node--bundle-honouree.node--view-mode-full .field--id-field-media img {
  inline-size: auto;
}
.swiper-wrapper {
  align-items: center;
  background-color: var(--color-light-grey);
}
.swiper-wrapper img {
  margin-inline: auto;
}
.swiper-pagination-bullet,
.swiper-pagination-bullet-active {
  border: 1px solid var(--color-grey);
  background-color: rgba(var(--color-white-rgb), calc((1 / 3) * 2));
  border-radius: 0.5em;
  block-size: 1rem;
  inline-size: 1rem;
  opacity: 1;
  transition: inline-size 0.25s ease-in-out;
}
.swiper-pagination-bullet-active {
  background-color: rgba(var(--color-white-rgb), 0.9);
  inline-size: 2rem;
}
/* Sections in .subcontent (i.e., in nodes) don't need to break out of their
   containers, but sections in main content (i.e., in taxonomy terms) do. */
.main-content .field--id-field-section:not(.paragraph .field--id-field-section) {
  margin-inline: calc(50% - 50vw);
  inline-size: 100vw;
}
/* If the first section paragraph is highlighted, add margin above sections. */
body:not(.front) .field--id-field-section:has(> .field-values > .field-value:first-child > .paragraph.queensu-giving--highlight) {
  margin-block-start: 5rem;
}
/* Separate two consecutive unhighlighted, non-section bundle, spaced sections
   in main content or subcontent (but not postcontent). */
div:is(.main-content, .region--id-subcontent) .field--id-field-section:not(.paragraph .field--id-field-section) > .field-values > .field-value:has(> .paragraph:not(.paragraph--bundle-section, .queensu-giving--highlight, .queensu-giving--spacing-below-none)) + .field-value:has(> .paragraph:not(.paragraph--bundle-section, .queensu-giving--highlight, .queensu-giving--spacing-above-none)) {
  border-block-start: 1px solid var(--color-grey);
}
.paragraph.queensu-giving--highlight:not(.paragraph .paragraph),
.block:has(.node--bundle-fund.node--view-mode-detail) {
  background-color: var(--color-light-grey);
}
.paragraph.queensu-giving--spacing-above-normal,
.block:has(.node--bundle-story.node--view-mode-fund-detail),
.block:has(.node--bundle-fund.node--view-mode-detail) {
  padding-block-start: 5rem;
}
.paragraph.queensu-giving--spacing-below-normal,
.block:has(.node--bundle-story.node--view-mode-fund-detail),
.block:has(.node--bundle-fund.node--view-mode-detail) {
  padding-block-end: 5rem;
}
.block:has(.node--bundle-fund.node--view-mode-detail) {
  background-color: var(--color-light-grey);
}
.paragraph--bundle-card a {
  display: block;
  color: var(--color-black);
  text-decoration: none;
}
.paragraph--bundle-card h2 {
  font-size: var(--font-size-3xl);
  transition: color 0.25s;
}
.paragraph--bundle-card a:hover h2 {
  color: var(--color-red);
}
.paragraph:not(.paragraph .paragraph, .postcontent .paragraph, .paragraph--bundle-detail, .paragraph--bundle-section, .paragraph--view-mode-feature) > .inner-container,
.block:has(.node--bundle-fund.node--view-mode-detail) > .inner-container {
  box-sizing: border-box;
  margin-inline: auto;
  padding-inline: var(--bezel-inline-size);
  min-inline-size: var(--min-inline-size);
  max-inline-size: var(--max-inline-size);
}
.paragraph--bundle-content:has(.media) > .inner-container {
  display: flex;
  gap: var(--gutter-inline-size);
  align-items: center;
}
body.front .paragraph--bundle-content:has(.media) > .inner-container {
  gap: 5rem;
}
.paragraph--bundle-content.paragraph--view-mode-feature:has(iframe) > .inner-container {
  align-items: stretch;
}
/* Cards use a custom template to make the inner container a link so that the
   entire card can be linked. */
.paragraph--bundle-content > a.inner-container {
  display: block;
}
.paragraph--bundle-content:has(.media) > .inner-container > * {
  flex: 1;
}
.paragraph--bundle-content:has(.media) > .inner-container > .text {
  padding-block: 2.5rem;
}
body.front .paragraph--bundle-content:has(.media) > .inner-container > .text {
  padding-block: 0;
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact > .inner-container {
  align-items: start;
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .text .field:not(.field--id-field-cta) {
  font-family: var(--font-family-serif);
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-title {
  display: none;
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-body {
  margin-block-end: 2em;
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-body blockquote {
  margin: 0 0 1em 0;
  font-family: var(--font-family-sans-serif);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-medium);
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-body blockquote > *:first-child::before {
  content: '“';
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-body blockquote > *:last-child::after {
  content: '”';
}
body.front .paragraph--bundle-content.paragraph--label-stories-of-impact .field--id-field-body blockquote + p {
  font-size: var(--font-size-l);
}
.paragraph--view-mode-feature {
  padding-block: 2.5rem;
}
.paragraph--view-mode-feature:has(.media) {
  margin-inline: calc(50% - 50vw);
  padding-block: 0;
  inline-size: 100vw;
}
.paragraph--view-mode-feature .media img {
  object-fit: cover;
}
/* Expand all elements between the flex container and the video media. */
.paragraph--view-mode-feature:has(iframe) .inner-container > .field-entity-reference--entity-type-media,
.paragraph--view-mode-feature:has(iframe) .inner-container > .field-entity-reference--entity-type-media *:not(iframe, .media .field-value) {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Mimic “object-fit: cover” for video, with the caveat that the video aspect
   ratio is fixed to 3/2 here; see
   https://stackoverflow.com/questions/75094428/how-do-i-make-a-video-iframe-object-fit-cover-inside-a-div#answer-77840205 */
.paragraph--view-mode-feature:has(iframe) .media .field-value {
  position: absolute;
  inset: 0;
  overflow: hidden;
  container-type: size;
}
.paragraph--view-mode-feature:has(iframe) .media .field-value > iframe {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  block-size: 100%;
  inline-size: 100%;
  max-inline-size: none;
  pointer-events: none;
  /* Force the aspect ratio based on the parent container. */
  @container (min-aspect-ratio: 3/2) {
    block-size: calc((100cqw / 3) * 2);
  }
  @container (max-aspect-ratio: 3/2) {
    inline-size: 150cqh;
  }
}
/* End mimic “object-fit: cover” for video. */
.paragraph--view-mode-feature:has(.media) > .inner-container > *:not(:has(.media)),
body.front .paragraph--view-mode-feature:has(.media) > .inner-container > *:not(:has(.media)) {
  padding-block: 5rem;
}
.paragraph--view-mode-feature:has(.media) > .inner-container > *:not(:has(.media)) > * {
  box-sizing: border-box;
  margin-inline-start: auto;
  padding-inline-start: var(--bezel-inline-size);
  max-inline-size: calc((var(--max-inline-size) - var(--gutter-inline-size)) / 2);
}
.paragraph--bundle-set .field--id-field-section > .field-values {
  display: flex;
  gap: var(--gutter-inline-size);
}
body.front .paragraph--bundle-set .field--id-field-section > .field-values {
  gap: 5rem;
}
.paragraph--bundle-set .field--id-field-section > .field-values > * {
  flex: 1 1 0;
}
.paragraph--bundle-card .media {
  position: relative;
  margin-block-end: 2.5rem;
}
.paragraph--bundle-card .media::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  block-size: 1rem;
  background-image: var(--ribbon-gold-red);
  opacity: 0;
  transition: opacity 0.25s;
}
.paragraph--bundle-card a:hover .media::after {
  opacity: 1;
}
.block:has(.view--id-funds.view--display-term-embed) header > h2:last-child,
body.front .paragraph--bundle-block h2,
.paragraph--bundle-cta h2 {
  margin-block-end: 3rem;
  text-align: center;
}
.block:has(.view--id-funds.view--display-term-embed) header > h2:last-child {
  margin-block-start: 5rem;
  border-block-start: 1px solid var(--color-black);
  padding-block-start: 5rem;
}
.paragraph--bundle-cta h2 {
  margin-block-end: 3.75rem;
}
/* The block title is visible, but should not be here. */
body.front .paragraph--bundle-block .field-value > h2 {
  display: none;
}
body.front .paragraph--bundle-block h2 a {
  font-weight: var(--font-weight-semi-bold);
  text-decoration: none;
  color: var(--color-black);
}
body.front .paragraph--bundle-block .field--id-body {
  margin-block-end: 3rem;
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-semi-bold);
  text-align: center;
}
body.front .paragraph--bundle-block ul.links.inline {
  justify-content: center;
}
.paragraph--bundle-cta .field--id-field-cta .field-values {
  display: flex;
  gap: var(--gutter-inline-size);
  justify-content: center;
}
.paragraph--bundle-cta .field--id-field-cta .field-value {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-block-end: 1px solid var(--color-grey);
  font-size: var(--font-size-xl);
  text-wrap: balance;
}
.paragraph--bundle-cta .field--id-field-cta a {
  flex: 1;
  display: block;
  border-width: 0 0 3px 0;
  border-color: transparent;
  background-image: none;
  padding: 0 var(--gutter-inline-size);
  padding-block-end: 0.75em;
  font-size: inherit;
  font-weight: var(--font-weight-semi-bold);
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  color: var(--color-blue);
  transition: border-color 0.25s, color 0.25s;
}
.paragraph--bundle-cta .field--id-field-cta a:hover {
  border-color: var(--color-gold);
  color: var(--color-red);
}
.paragraph--bundle-detail > .inner-container {
  max-inline-size: var(--max-content-inline-size);
}
.paragraph--bundle-detail .detail {
  margin-block-start: 1.25rem;
  padding-inline: 2.5rem;
  background-color: var(--color-light-grey);
}
.paragraph--bundle-detail .field--id-field-subtitle {
  padding-block: 2.5rem;
  color: var(--color-blue);
}
.paragraph--bundle-detail .field--id-field-body {
  padding-block-end: 2.5rem;
}
.paragraph--view-mode-feature .field--id-field-body {
  margin-block-end: 3.75rem;
  font-size: var(--font-size-xl);
}
.paragraph--bundle-option-list .field--id-field-option-list-item {
  margin-block-end: 3.75rem;
}
.paragraph--bundle-option-list .field--id-field-option-list-item > .field-values > .field-value,
.option-list-navigation {
  margin-block-end: 2.5rem;
  border-block-end: 1px solid var(--color-grey);
  padding-block-end: 2.5rem;
}
.option-list-navigation {
  margin-block: 2.5rem;
}
.paragraph--bundle-option-list-item:has(.media) .inner-container > .content {
  display: flex;
  gap: var(--gutter-inline-size);
  padding-block-end: 1.5rem;
}
.paragraph--bundle-option-list-item:has(.media) .inner-container > .content > * {
  flex: 1;
}
.paragraph--bundle-option-list-item h3 {
  color: var(--color-blue);
}
.paragraph--bundle-option-list-item .field-entity-reference--entity-type-taxonomy-term,
.paragraph--bundle-option-list .option-list-navigation label span {
  display: block;
  margin-block-end: 1em;
  font: var(--font-small-caps);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
}
.paragraph--bundle-option-list-item .field-entity-reference--entity-type-taxonomy-term .field-value {
  display: inline;
}
.paragraph--bundle-option-list-item .field-entity-reference--entity-type-taxonomy-term .field-value + .field-value::before {
  content: '+';
  margin-inline-end: calc(1em / 3);
}
.paragraph--bundle-option-list-item .field--id-field-media {
  margin-block-end: 1rem;
}
/* This just moves the hr block margin into the container. */
.paragraph--bundle-hr {
  display: flex;
}
.node--bundle-fund .field--id-field-statistic {
  margin-block-start: 5rem;
  /* Account for the sidebar. */
  margin-inline: calc((50% + (15em / 2)) - 50vw);
  background-color: var(--color-blue);
  padding-block: 2.5rem 3rem;
  inline-size: 100vw;
  color: var(--color-white);
}
.node--bundle-fund .field--id-field-statistic > .field-values {
  box-sizing: border-box;
  display: flex;
  gap: var(--gutter-inline-size);
  margin-inline: auto;
  padding-inline: var(--bezel-inline-size);
  min-inline-size: var(--min-inline-size);
  max-inline-size: var(--max-inline-size);
}
.node--bundle-fund .field--id-field-statistic > .field-values > .field-value {
  flex: 1;
  text-align: center;
}
.node--bundle-fund .field--id-field-statistic .field--id-field-statistic-number {
  margin-block-end: 1rem;
  font-size: var(--font-size-7xl);
  font-weight: var(--font-weight-semi-bold);
  line-height: 1;
}
.node--bundle-fund .field--id-field-statistic .field--id-field-statistic-description {
  font-size: var(--font-size-l);
}
.node--bundle-fund.node--view-mode-teaser,
.node--bundle-class {
  position: relative;
  border-block-start: 1px solid var(--color-grey);
  padding-block: 2rem;
}
/* No border when a fund teaser is the first search result. */
ol li:first-child .node--bundle-fund.node--view-mode-teaser,
ul li:first-child .node--bundle-class {
  border-block-start: none;
  padding-block-start: 1.25rem;
}
.node--bundle-class .field--id-field-class-fund > .field-values > .field-value + .field-value {
  margin-block-start: 2.5rem;
}
.node--bundle-fund.node--view-mode-class-fund > .title,
.node--bundle-fund.node--view-mode-teaser > .title,
.node--bundle-fund.node--view-mode-detail,
.view--id-funds.view--display-team-block legend,
.view--id-honourees .honourees-group > .title,
.view--id-classes .no-results .title,
.paragraph--bundle-detail .field--id-field-subtitle .field-value:has(button),
.paragraph--bundle-option-list-item .field--id-field-title .field-value:has(button),
.paragraph--bundle-section .field--id-field-title .field-value:has(button) {
  display: flex;
  gap: var(--gutter-inline-size);
}
.node--bundle-fund.node--view-mode-class-fund > .title,
.node--bundle-fund.node--view-mode-teaser > .title,
.view--id-funds.view--display-team-block legend,
.view--id-honourees .honourees-group > .title,
.view--id-classes .no-results .title,
.paragraph--bundle-detail .field--id-field-subtitle .field-value:has(button),
.paragraph--bundle-option-list-item .field--id-field-title .field-value:has(button),
.paragraph--bundle-section .field--id-field-title .field-value:has(button) {
  gap: calc(var(--gutter-inline-size) / 2);
  align-items: center;
}
.node--bundle-fund.node--view-mode-detail > *:first-child {
  flex-grow: 1;
}
.node--bundle-fund.node--view-mode-class-fund .title h3,
.node--bundle-fund.node--view-mode-teaser .title h2,
.view--id-funds.view--display-team-block legend > .title,
.view--id-honourees .honourees-group > .title h3,
.view--id-classes .no-results .title h3,
.paragraph--bundle-detail .field--id-field-subtitle .field-value:has(button) h3,
.paragraph--bundle-section .field--id-field-title .field-value:has(button) h2 {
  flex-grow: 1;
  margin-block-end: 0;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semi-bold);
}
.view--id-funds.view--display-team-block .node--bundle-fund.node--view-mode-teaser .title h2 {
  font-size: var(--font-size-xl);
}
.node--bundle-class.node--view-mode-full .title h2 {
  font-size: var(--font-size-3xl);
}
.paragraph--bundle-option-list-item .field--id-field-title .field-value:has(button) h3 {
  flex-grow: 1;
}
.paragraph--bundle-section .field--id-field-title .field-value:has(button) h2 {
  color: var(--color-blue);
}
.paragraph--bundle-option-list .option-list-navigation select {
  display: block;
}
/* Offset for anchor links. */
.queensu-giving-detail-container {
  scroll-margin-block-start: calc(var(--scroll-margin-block-start) + var(--drupal-displace-offset-top, 0px));
}
/* Mirror the SECTION_TYPES title and content elements in jquery.section.js
   (each type's selector × each of its title and content selectors); together
   they target the same elements that receive the runtime
   .queensu-giving-detail-title and .queensu-giving-detail-content
   classes, but also work with JavaScript off and on unprocessed sections. */
article.node--bundle-fund.node--view-mode-teaser:not(.view .no-results article) .title :is(h2, h3),
article.node--bundle-class .field--id-field-class-fund > .field-values > .field-value .title :is(h2, h3),
.paragraph--bundle-option-list-item .field--id-field-title :is(h2, h3),
.paragraph--bundle-section .field--id-field-title :is(h2, h3),
.paragraph--bundle-detail .detail .field--id-field-subtitle h3,
.view--id-funds.view--display-team-block fieldset legend .title,
.view--id-honourees .honourees-group .title h3 {
  margin-block: 0 !important;
}
/* Only titles actually wired up as toggles get the pointer cursor; demote()
   removes this class from a lone child section so it no longer appears
   clickable. */
.queensu-giving-detail-title {
  cursor: pointer;
}
article.node--bundle-fund.node--view-mode-teaser:not(.view .no-results article) .node-content-container,
article.node--bundle-class .field--id-field-class-fund > .field-values > .field-value .node-content-container,
.paragraph--bundle-option-list-item .inner-container > .content,
.paragraph--bundle-option-list-item .inner-container > .field--id-field-body,
.paragraph--bundle-section .inner-container > .content,
.paragraph--bundle-section .inner-container > .field--id-field-body,
.paragraph--bundle-detail .detail .field--id-field-body,
.view--id-funds.view--display-team-block fieldset .views-rows,
.view--id-honourees .honourees-group ol,
.view--id-classes .no-results .title + * {
  padding-block-start: 1.5em;
}
.paragraph--bundle-option-list-item .inner-container > .content,
.paragraph--bundle-option-list-item .inner-container > .field--id-field-body {
  padding-block-start: 1em;
}
/* Besides the button, unlinked titles also toggle content visibility. */
.node--bundle-fund.node--view-mode-class-fund h3 a,
.node--bundle-fund.node--view-mode-teaser h2 a {
  display: block;
  text-decoration: none;
}
.node--bundle-fund.node--view-mode-detail h3 {
  margin-block-end: 2.5rem;
}
.node--bundle-fund.node--view-mode-class-fund ul.links.inline,
.node--bundle-fund.node--view-mode-teaser ul.links.inline,
.view--id-classes .no-results ul.links.inline {
  gap: calc(var(--gutter-inline-field) / 2);
  margin-block-end: 0;
}
.node--bundle-fund.node--view-mode-class-fund ul.links.inline .link--node-readmore,
.node--bundle-fund.node--view-mode-teaser ul.links.inline .link--node-readmore {
  display: none;
}
.paragraph--bundle-section > .inner-container {
  border-block: 1px solid  var(--color-grey);
  padding-block: 2.5rem;
  max-inline-size: var(--max-content-inline-size);
}
/* Section borders are not full-width, so can't be applied to the .field-value
   container and collapsed; compensate with a negative margin. */
.field-value:has(.paragraph--bundle-section) + .field-value:has(.paragraph--bundle-section) {
  margin-block-start: -1px;
}
.node--bundle-fund.node--view-mode-alternate-teaser h3 {
  font-size: var(--font-size-3xl);
}
form.webform-submission-form .form-actions + .form-item {
  margin-block-start: 2.5rem;
}
/* Gift planning request form. */
article.queensu-giving--gift-planning-information-request form.webform-submission-form {
  margin-block-start: 2.5rem;
}
article.queensu-giving--gift-planning-information-request form.webform-submission-form fieldset {
  margin-block: 0;
}
article.queensu-giving--gift-planning-information-request form.webform-submission-form input:is(
  [type='email']
  [type='tel']
  [type='text']
),
article.queensu-giving--gift-planning-information-request form.webform-submission-form select {
  inline-size: 100%;
}
article.queensu-giving--gift-planning-information-request fieldset.webform-checkboxes-other legend {
  display: block;
  margin-block-end: 1rem;
}
/* The container with queensu-giving-field-pair is added by
   jquery.miscellaneous.js. */
article.queensu-giving--gift-planning-information-request form.webform-submission-form .queensu-giving-field-pair {
  display: flex;
  gap: 2.5rem;
}
article.queensu-giving--gift-planning-information-request form.webform-submission-form .queensu-giving-field-pair > * {
  flex: 1;
}
.view--id-funds.view--display-term-embed .views-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: calc(var(--gutter-inline-size) / 2);
  row-gap: 3rem;
}
.view--id-funds.view--display-term-embed .views-row {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-black);
  transition: background-color 0.25s;
}
.view--id-funds.view--display-term-embed .views-row:has(a.teaser-content:hover) {
  background-color: var(--color-light-grey);
}
.view--id-funds.view--display-term-embed .views-row a.teaser-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--gutter-inline-size);
  font-weight: normal;
  text-decoration: none;
  color: var(--color-blue);
}
.view--id-funds.view--display-term-embed .views-row:has(.media) {
  grid-column: 1 / span 2;
}
.view--id-funds.view--display-term-embed .views-row:has(.media) article {
  display: flex;
}
.view--id-funds.view--display-term-embed .views-row:has(.media) article > * {
  box-sizing: border-box;
  flex: 0 0 calc(50% - (var(--gutter-inline-size) / 4));
}
.view--id-funds.view--display-term-embed .views-row:has(.media) article > .field--id-field-media {
  flex-basis: calc(50% + (var(--gutter-inline-size) / 4));
  position: relative;
  overflow: hidden;
  margin-block-end: 0;
}
.view--id-funds.view--display-term-embed .views-row:has(.media) article > .field--id-field-media *:not(img) {
  block-size: 100%;
}
.view--id-funds.view--display-term-embed .views-row:has(.media) article > .field--id-field-media img {
  display: block;
  min-inline-size: 100%;
  min-block-size: 100%;
  object-fit: cover;
  object-position: center;
}
.view--id-fund-search:not(.page--taxonomy-term--bundle-collection .view--id-fund-search, .page--taxonomy-term--bundle-faculty .view--id-fund-search),
.page--taxonomy-term--bundle-collection .block:has(.view--id-fund-search),
.page--taxonomy-term--bundle-faculty .block:has(.view--id-fund-search) {
  margin-block-start: 5rem;
}
.page--taxonomy-term--bundle-collection .block:has(.view--id-fund-search) h2,
.page--taxonomy-term--bundle-faculty .block:has(.view--id-fund-search) h2 {
  font-size: var(--font-size-3xl);
}
.view--id-stories:is(.view--display-block, .view--display-recent-block) .views-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem;
}
.view--id-stories.view--display-recent-block .views-rows {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gutter-inline-size);
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) a {
  display: block;
  font-weight: var(--font-weight-normal);
  text-decoration: none;
  color: var(--color-black);
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) h2 {
  font-size: var(--font-size-3xl);
}
.node--bundle-story.node--view-mode-alternate-teaser .field--id-field-media {
  margin-block-end: 2.5rem;
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) .media {
  position: relative;
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) .media::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  block-size: 1rem;
  background-image: var(--ribbon-gold-red);
  opacity: 0;
  transition: opacity 0.25s;
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) a:hover .media::after {
  opacity: 1;
}
.node--bundle-story:is(.node--view-mode-alternate-teaser, .node--view-mode-teaser) h2 {
  transition: color 0.25s;
}
.node--bundle-story.node--view-mode-teaser a:hover h2,
.node--bundle-story.node--view-mode-alternate-teaser a:hover h3 {
  color: var(--color-red);
}
/* The “Give Now” button on collection and faculty taxonomy term pages matches
   the button on fund pages, but doesn't appear in the sidebar. In order to have
   it show up in the right place (beside the title), it's absolutely positioned
   based on the content container and space is made beside the title and
   description (below). */
body.page--node--bundle-story .region-container.supercontent .region-content,
body.page--taxonomy-term--bundle-collection .region-container.content,
body.page--taxonomy-term--bundle-faculty .region-container.content {
  position: relative;
}
body.page--node--bundle-story .region-container.supercontent .region-content,
body.page--taxonomy-term--bundle-collection .region-container.supercontent,
body.page--taxonomy-term--bundle-collection .view--id-funds .taxonomy-term--view-mode-full .field--family-type-long-text:not(.paragraph .field--family-type-long-text),
body.page--taxonomy-term--bundle-faculty .region-container.supercontent,
body.page--taxonomy-term--bundle-faculty .view--id-funds .taxonomy-term--view-mode-full .field--family-type-long-text:not(.paragraph .field--family-type-long-text) {
  padding-inline-end: 20rem;
  max-inline-size: var(--max-content-inline-size);
}
.view--id-search header {
  margin-block-end: 2.5rem;
  font-size: var(--font-size-s);
  font-style: italic;
}
/* Fund and class search result view mode is not search result, but the ordered
   list still has to be hidden. */
.view--id-classes .views-section > ul,
.view--id-fund-search .views-section > ol,
.view--id-search .views-section > ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.view--id-search .views-section > ol > li:not(:last-child) {
  margin-block: 2.5rem;
  border-block-end: 1px solid var(--color-grey);
  padding-block-end: 2.5rem;
}
.view--id-search .view-content h2 {
  margin-block-end: 1rem;
  font-size: var(--font-size-2xl);
}
.view--id-search .view-content .links {
  margin-block-start: 1.5em;
}
/* The custom “End of results” area is provided by queensu_giving_misc. */
.view--id-search .end-of-results {
  margin-block-start: 4rem;
  font-style: italic;
  text-align: end;
}
.view--id-fund-search .view-content-empty {
  margin-block: 2.5rem;
}
.view--id-classes form,
.view--id-fund-search form {
  position: relative;
  margin-block-end: 1.25rem;
}
.view--id-classes form {
  display: flex;
  gap: var(--gutter-inline-field);
  align-items: flex-end;
  margin-block-start: 2.5rem;
}
.main-content .view--id-classes .form-item,
.main-content .view--id-classes .form-actions,
.main-content .view--id-fund-search .form-item,
.main-content .view--id-fund-search .form-actions {
  margin-block: 0;
}
.view--id-fund-search form input.form-text {
  border: none;
  background-color: var(--color-light-grey);
  padding: 1em 3em 1em 1em;
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
}
.view--id-fund-search .form-actions {
  position: absolute;
  inset: auto 0 0 auto;
  inline-size: 2.75em;
  overflow: hidden;
  font-size: var(--font-size-l);
  white-space: nowrap;
}
.view--id-fund-search .form-actions::before {
  content: '\f002';
  position: absolute;
  inset: 0.5em 0 0 0.375em;
  font: var(--fa-font-light);
  font-size: var(--font-size-2xl);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.view--id-fund-search .form-actions input.form-submit {
  position: relative;
  z-index: 1;
  border: none;
  padding: 1em 1em 1em 4em;
  background-image: none;
  background-color: transparent;
  font-size: 1em;
  cursor: pointer;
}
.view--id-classes form.queensu-giving-donate-class-views-exposed-form-dynamic .form-item:not(:first-child) label[for],
.view--id-classes form.queensu-giving-donate-class-views-exposed-form-dynamic .form-actions {
  display: none;
}
.main-content .view--id-classes form .form-item:has(input, select) label[for],
.main-content .view--id-fund-search form .form-item:has(input) label[for] {
  display: block;
  margin-block-end: 0.75em;
  font: var(--font-small-caps);
  font-size: var(--font-size-s);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
}
/* The label is hidden on the fund finder page (only); note that the placeholder
   text is different in this context, as well. */
.block--plugin-id--views-blockfund-search-block .view--id-fund-search form .form-item:has(input) label[for] {
  display: none;
}
.view--id-classes form select[disabled] {
  opacity: 0.5;
}
.view--id-classes form .form-item:first-child select {
  inline-size: 100%;
}
.view--id-classes .view-content-empty {
  margin-block-start: 2.5rem;
}
.view--id-classes .view-content-empty a.cta-button {
  margin-inline-end: 1em;
}
.view--id-honourees {
  margin-block-start: 2rem;
  border-block-start: 1px solid var(--color-grey);
  padding-block-start: 1.5rem;
}
.view--id-honourees header {
  margin-block-end: 1.5rem;
}
.view--id-funds.view--display-team-block fieldset,
.view--id-honourees .honourees-group {
  margin-block-end: 1.25rem;
  padding: 2.5rem;
  background-color: var(--color-light-grey);
}
.view--id-funds.view--display-team-block fieldset {
  padding-block-start: 0;
}
.view--id-funds.view--display-team-block legend {
  box-sizing: border-box;
  margin-inline: -2.5rem;
  background-color: var(--color-light-grey);
  padding: 2.5rem 2.5rem 0 2.5rem;
  inline-size: calc(100% + 5rem);
}
.view--id-funds.view--display-team-block .team-fund-sex {
  white-space: nowrap;
}
.view--id-honourees .honourees-group h3 {
  color: var(--color-blue);
}
.view--id-honourees .honourees-group ol {
  margin: 0;
  padding: 1.25rem 0 0 0;
  list-style-type: none;
}
.view--id-honourees .honourees-group li {
  margin-block: 0.5em;
}
nav.pager {
  margin-block-start: 5rem;
  border-block: 1px solid var(--color-grey);
  padding-block: 0.5em;
  font-size: var(--font-size-s);
}
nav.pager ul {
  margin-block: 0;
}
nav.pager a {
  text-decoration: none;
}
nav.pager li.is-active a {
  cursor: default;
}
/* Override AddToAny formatting. */
.block--base-plugin-id--addtoany-block {
  margin-block-end: 2rem;
}
.block.block--base-plugin-id--addtoany-block h2 {
  margin-block-end: 1.5em;
  font: var(--font-small-caps);
  font-size: var(--font-size-s);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
  color: var(--color-blue);
}
/* Repeated block selector is for specificity. */
.block.block--base-plugin-id--addtoany-block svg {
  display: none;
}
.block--base-plugin-id--addtoany-block .addtoany_list {
  display: flex;
  align-items: center;
}
.sidebar .block--base-plugin-id--addtoany-block .addtoany_list {
  justify-content: space-between;
}
.block--base-plugin-id--addtoany-block .addtoany_list * {
  margin: 0;
  padding: 0;
}
.block--base-plugin-id--addtoany-block .addtoany_list > a {
  font-size: var(--font-size-xl);
  transition: color 0.25s;
}
.block--base-plugin-id--addtoany-block .addtoany_list > a:hover {
  color: var(--color-gold);
}
.block--base-plugin-id--addtoany-block .addtoany_list > a > span {
  background-color: transparent !important;
  border-radius: 0;
  block-size: auto;
  inline-size: auto;
  line-height: inherit;
}
.block--base-plugin-id--addtoany-block .addtoany_list > a span {
  opacity: 1;
}
.block--base-plugin-id--addtoany-block .a2a_svg::before,
.block--base-plugin-id--addtoany-block .fa-external-link::before {
  content: '\f1e0';
  position: relative;
  margin-inline-end: 2rem;
  font: var(--fa-font-regular);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.block--base-plugin-id--addtoany-block .a2a_svg.a2a_s_facebook::before {
  content: '\f39e';
  font: var(--fa-font-brands);
}
.block--base-plugin-id--addtoany-block .a2a_svg.a2a_s_x::before {
  content: '\e61b';
  font: var(--fa-font-brands);
}
.block--base-plugin-id--addtoany-block .a2a_svg.a2a_s_linkedin::before {
  content: '\f0e1';
  font: var(--fa-font-brands);
}
/* Sidebar (and fake sidebar). */
body.page--node--bundle-fund .sidebar,
body.page--node--bundle-honouree .sidebar,
body.page--node--bundle-story .sidebar {
  flex-grow: 0;
  flex-basis: 15rem;
}
/* The fund link on collection and faculty taxonomy term pages and stories
   mimics the block that appears in the sidebar on fund pages, but is not in the
   sidebar. */
body.page--node--bundle-story .supercontent .field--id-field-fund,
body.page--taxonomy-term--bundle-collection .view--id-funds header .field--id-field-fund,
body.page--taxonomy-term--bundle-faculty .view--id-funds header .field--id-field-fund {
  position: absolute;
  inset: 0 0 auto auto;
  inline-size: 15rem;
  z-index: 1;
}
body.page--node--bundle-fund .sidebar,
body.page--node--bundle-honouree .sidebar,
body.page--node--bundle-story .supercontent .field--id-field-fund,
body.page--taxonomy-term--bundle-collection .view--id-funds header .field--id-field-fund,
body.page--taxonomy-term--bundle-faculty .view--id-funds header .field--id-field-fund {
  /* Match the height of the breadcrumbs including padding—roughly, just due to
     line height in the breadcrumbs. */
  padding-block-start: 5.75rem;
}
.sidebar.region-container .block {
  margin-block-end: 2.5em;
}
body.page--node--bundle-fund .sidebar .block--plugin-id--queensu-giving-donate-give-now a,
body.page--node--bundle-honouree .sidebar .block--plugin-id--queensu-giving-donate-give-now a,
body.page--node--bundle-story .supercontent .field--id-field-fund a,
body.page--taxonomy-term--bundle-collection .view--id-funds header .field--id-field-fund a,
body.page--taxonomy-term--bundle-faculty .view--id-funds header .field--id-field-fund a {
  display: block;
  text-align: center;
}
body.page--node--bundle-story .sidebar .field--id-field-link h2 {
  margin-block: 0;
  font: var(--font-small-caps);
  font-size: var(--font-size-s);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
}
body.page--node--bundle-story .sidebar .field--id-field-link a {
  text-decoration: none;
}
body.page--node--bundle-story .sidebar .field--id-field-link .field-value {
  border-block-end: 1px solid var(--color-grey);
  padding-block: 1.5rem;
  font-family: var(--font-family-serif);
}
body.page--node--bundle-story .sidebar .field--id-field-link .extlink {
  display: none;
}
/* Address display tweaks. */
.block--bundle-address .address span.locality::after {
  content: ',';
}
.block--bundle-address .address span.postal-code {
  display: block;
}
.block--bundle-address .address span.country {
  display: none;
}
.block-field.social-media ul {
  display: flex;
  gap: calc(var(--gutter-inline-field) / 2);
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: var(--font-size-xl);
}
.block-field.social-media li {
  inline-size: 2em;
  overflow: hidden;
  text-align: center;
}
.block-field.social-media a {
  transition: color 0.25s;
}
.block-field.social-media a:hover {
  color: var(--color-gold);
}
.block-field.social-media li span.extlink-nobreak {
  display: none;
}
/* The Contact us page uses the alternate template that moves the superheader
   out of the content area; it needs the sidebar first. */
body.queensu-giving--contact.one-sidebar main > .main-content {
  flex-direction: row-reverse;
}
body.queensu-giving--contact.one-sidebar .content.region-container {
  flex-grow: 1;
}
body.queensu-giving--contact.one-sidebar .content.region-container h2 {
  margin-block-end: 2.5rem;
  font-size: var(--font-size-3xl);
}
body.queensu-giving--gift-planning-information-request .sidebar .block {
  background-color: var(--color-light-grey);
  padding: 2.5rem;
}
.postcontent.region-container:has(.block--bundle-set, .view--id-stories) {
  margin-block-start: 5rem;
  background-color: var(--color-light-grey);
}
.region--id-postcontent > .region-content {
  padding-block: 5rem;
}
body.page--node--bundle-fund:not(:has(.node--bundle-fund.node--view-mode-detail)) .region--id-postcontent > .region-content,
body.page--node--bundle-honouree .region--id-postcontent > .region-content {
  margin-block-start: 5rem;
  border-block-start: 2px solid var(--color-grey);
}
.region--id-postcontent:not(:has(.block--bundle-set)) > .region-content,
.block--bundle-set .field-values:not(.field-values .field-values),
.paragraph--bundle-subblock > .inner-container:has(.media) {
  display: flex;
}
.paragraph--bundle-subblock > .inner-container:has(.media) {
  gap: var(--gutter-inline-size);
}
.region--id-postcontent:not(:has(.block--bundle-set)) > .region-content > *,
.block--bundle-set .field-values:not(.field-values .field-values) > .field-value {
  flex: 1;
  border-inline-start: 2px solid var(--color-grey);
  padding-inline: var(--gutter-inline-size);
}
.region--id-postcontent:not(:has(.block--bundle-set)) > .region-content > *:first-child,
.block--bundle-set .field-values:not(.field-values .field-values) > .field-value:first-child {
  border-inline-start: none;
  padding-inline-start: 0;
}
.region--id-postcontent:not(:has(.block--bundle-set)) > .region-content > *:last-child,
.block--bundle-set .field-values:not(.field-values .field-values) > .field-value:last-child {
  padding-inline-end: 0;
}
.region--id-postcontent:not(:has(.block--bundle-set)) h2,
.block--bundle-set h2 {
  margin-block-end: 2.5rem;
  font-size: var(--font-size-3xl);
}
.region--id-postcontent:not(:has(.block--bundle-set)) h3,
.block--bundle-set h3 {
  margin-block-end: 1.5rem;
  font-size: var(--font-size-xl);
  font-weight: normal;
}
.paragraph--bundle-subblock > .inner-container:has(.media) > * {
  flex: 1;
}
.block--bundle-set {
  font-size: var(--font-size-base);
}
.paragraph .field--id-field-cta {
  margin-block-start: 2.5rem;
}
.field-value:first-child:last-child > .paragraph--bundle-subblock:not(:has(.media)) .content:has(> :nth-child(2)) {
  display: flex;
  gap: var(--gutter-inline-size);
}
.field-value:first-child:last-child > .paragraph--bundle-subblock:not(:has(.media)) .content > *:first-child {
  flex: 1;
}
.field-value:first-child:last-child > .paragraph--bundle-subblock:not(:has(.media)) .content:has(> :nth-child(2)) .field--id-field-cta {
  margin-block-start: 0;
}
footer.region-container {
  padding-block: 6em 4em;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semi-bold);
}
footer.region-container h2 {
  margin-block-end: 1rem;
  font: var(--font-small-caps);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
}
footer.region-container ul {
  display: flex;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
footer.region-container span.extlink:not(.block--plugin-id--system-menu-blockshortcut span.extlink) {
  display: none;
}
.region--id-superfooter .region-content {
  display: flex;
  gap: var(--gutter-inline-size);
  flex-wrap: wrap;
}
.region--id-superfooter .region-content > * {
  flex-basis: calc(100% / 3);
}
.region--id-superfooter .region-content > *:is(:nth-child(2), :nth-child(3)) {
  flex-grow: 1;
}
.region--id-superfooter .region-content > *:is(:nth-child(4)) {
  flex: 0 1 auto;
}
.region--id-superfooter .region-content > *:nth-child(even) ul {
  justify-content: flex-end;
}
.region--id-superfooter .region-content > *:nth-child(4) li {
  margin-inline-end: auto;
}
.region--id-superfooter .media {
  margin-block-end: 2.5rem;
  max-inline-size: 15rem;
}
.region--id-superfooter .field--family-type-long-text .field-value > *:last-child {
  margin-block-end: 0;
}
.region--id-superfooter .block--plugin-id--system-menu-blockcontact ul {
  flex-wrap: wrap;
  row-gap: 0.75rem;
}
.block--plugin-id--system-menu-blockcontact li.menu-item--contact-type-address::before,
.block--plugin-id--system-menu-blockcontact a::before {
  content: '\f3c5';
  display: inline-block;
  margin-inline-end: 0.5em;
  font: var(--fa-font-solid);
  font-size: var(--font-size-base);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.block--plugin-id--system-menu-blockcontact li.menu-item--contact-type-address {
  flex-basis: 100%;
  line-height: 2;
}
.block--plugin-id--system-menu-blockcontact li.menu-item--contact-type-email a::before {
  content: '\f0e0';
}
.block--plugin-id--system-menu-blockcontact li.menu-item--contact-type-telephone a::before {
  content: '\f095';
}
.block--plugin-id--system-menu-blocksocial-media li {
  inline-size: 2em;
  overflow: hidden;
}
.block--plugin-id--system-menu-blocksocial-media li span.extlink-nobreak {
  display: none;
}
.block-field.social-media a,
.block--plugin-id--system-menu-blocksocial-media a {
  text-decoration: none;
}
.block-field.social-media a::before,
.block--plugin-id--system-menu-blocksocial-media a::before {
  content: '\f361';
  display: block;
  margin-inline-end: 1em;
  font: var(--fa-font-regular);
  font-size: var(--font-size-l);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.block-field.social-media .menu-item--label-facebook a::before,
.block--plugin-id--system-menu-blocksocial-media .menu-item--label-facebook a::before {
  content: '\f39e';
  font: var(--fa-font-brands);
  font-size: var(--font-size-l);
}
.block-field.social-media .menu-item--label-instagram a::before,
.block--plugin-id--system-menu-blocksocial-media .menu-item--label-instagram a::before {
  content: '\f16d';
  font: var(--fa-font-brands);
  font-size: var(--font-size-l);
}
.block-field.social-media .menu-item--label-linkedin a::before,
.block--plugin-id--system-menu-blocksocial-media .menu-item--label-linkedin a::before {
  content: '\f0e1';
  font: var(--fa-font-brands);
  font-size: var(--font-size-l);
}
.block-field.social-media .menu-item--label-x a::before,
.block--plugin-id--system-menu-blocksocial-media .menu-item--label-x a::before {
  content: '\e61b';
  font: var(--fa-font-brands);
  font-size: var(--font-size-l);
}
.block-field.social-media .menu-item--label-youtube a::before,
.block--plugin-id--system-menu-blocksocial-media .menu-item--label-youtube a::before {
  content: '\f167';
  font: var(--fa-font-brands);
  font-size: var(--font-size-l);
}
.region--id-superfooter .media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.region--id-footer .region-content {
  display: flex;
  gap: var(--gutter-inline-size);
  margin-block-start: 4.5rem;
  border-block-start: 1px solid rgba(var(--color-white-rgb), 0.25);
  padding-block-start: 2rem;
  align-items: center;
}
/* The block is contained when syndicated to the Impact site. */
.block.top-link,
.block:has(.block.top-link) {
  flex-grow: 1;
  font: var(--font-small-caps);
  letter-spacing: var(--font-small-caps-letter-spacing);
  text-transform: var(--font-small-caps-text-transform);
  text-align: end;
}
.block.top-link a {
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  transition: color 0.25s;
}
.block.top-link a::after {
  content: '\f077';
  position: relative;
  inset-block-start: 0.125em;
  display: inline-block;
  margin-inline-start: 1.25em;
  border: 1px solid rgba(var(--color-white-rgb), 0.5);
  padding: 0.75rem;
  inline-size: 1em;
  font: var(--fa-font-regular);
  font-size: var(--font-size-xl);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  transition: border-color 0.25s, background-color 0.25s, color 0.25s;
}
.block.top-link a:hover::after {
  border-color: var(--color-gold);
  background-color: var(--color-gold);
  color: var(--color-blue);
}
