:root {
  --color-spirit-gold-600: #f0b323;
  --size-row-width-max: 1288px;
  --footer-social-icon-font-size: var(--24px, 1.5rem);
  --footer-transition-base: all 0.3s ease-out;
  --footer-focus-outline-width: 3px;
  --footer-focus-outline-offset: 3px;
  --footer-focus-outline-offset-card: 6px;
  --footer-focus-outline-color: var(--color-spirit-gold-600, #f0b323);
  --footer-font-family-base: "Roboto", sans-serif;
  --footer-space-3xs: 8px;
  --footer-space-2xs: 11px;
  --footer-space-sm: 22px;
  --footer-space-md: 33px;
  --footer-space-lg: 44px;
  --footer-space-2lg: 54px;
  --footer-space-xl: 66px;
  --footer-space-2xl: 88px;
  --footer-font-family-FA: "Font Awesome 6 Sharp";
  --footer-font-size-sm: var(--14px, 0.875rem);
  --footer-font-size-medium: var(--16px, 1rem);
  --footer-font-size-2md: var(--18px, 1.125rem);
  --footer-font-weight-regular: 400;
  --footer-font-weight-medium: 500;
}

.cdsp-footer {
  z-index: 2;
  position: relative;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: inherit;
  -webkit-font-smoothing: antialiased;
  font-family: var(--footer-font-family-base);
  padding-top: var(--footer-space-2xl);
  text-align: center;
  color: white;
  background: linear-gradient(85deg, rgba(7, 35, 26, 0) -0.01%, var(--william-mary-green-wm-green-900, rgba(7, 35, 26, 0.8)) 99.32%), linear-gradient(0deg, rgba(24, 48, 40, 0) -0.09%, var(--william-mary-green-griffin-green, #183028) 97.27%), linear-gradient(279deg, rgba(24, 48, 40, 0) 43.48%, var(--william-mary-green-griffin-green, #183028) 99.99%), linear-gradient(81deg, rgba(24, 48, 40, 0) 43.48%, var(--william-mary-green-griffin-green, #183028) 99.99%), linear-gradient(180deg, rgba(241, 245, 237, 0) 50.09%, var(--Moss-Moss-100, rgba(241, 245, 237, 0.2)) 100.09%), linear-gradient(0deg, var(--Moss-Moss-600, #789d4a) -0.09%, rgba(120, 157, 74, 0) 74.91%), #115740;
  background-image: url("https://dev-cdsp.wm.edu/__homepage/assets/pixelated_gradient_large.png");
  background-size: cover;
  leading-trim: both;
  text-edge: cap;
  /* gradient blur */
}
.cdsp-footer :where(a) {
  text-decoration: none;
}
.cdsp-footer :where(:focus-visible) {
  outline: var(--footer-focus-outline-width) solid var(--footer-focus-outline-color);
  outline-offset: var(--footer-focus-outline-offset);
}
.cdsp-footer > * {
  max-width: var(--size-row-width-max);
  margin: 0 auto;
}
.cdsp-footer :where(ul) {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cdsp-footer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 147px;
  bottom: 0;
  left: 0;
  fill: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(15px);
  mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 50%, rgb(0, 0, 0) 100%);
}
.cdsp-footer__info-wrapper, .cdsp-footer__subfooter {
  position: relative;
  z-index: 2;
}
.cdsp-footer__logo {
  display: block;
  padding: 0 var(--footer-space-sm);
  margin: 0 auto;
  margin-bottom: var(--footer-space-lg);
  line-height: 1;
  color: white;
  max-width: 400px;
}
.cdsp-footer__logo:hover, .cdsp-footer__logo:focus-visible {
  text-decoration: none;
}
.cdsp-footer__logo-mobile, .cdsp-footer__logo-mobile img {
  display: block;
}
.cdsp-footer__logo-desktop {
  display: none;
}
.cdsp-footer__city {
  font-size: var(--footer-font-size-2md);
  font-weight: var(--footer-font-weight-medium);
  margin: 0 0 var(--footer-space-sm) 0;
  padding: 0;
  line-height: 1;
}
.cdsp-footer__contact {
  display: inline-block;
  color: rgba(255, 255, 255, 0.75);
  font-size: var(--footer-font-size-medium);
  font-weight: var(--footer-font-weight-medium);
  letter-spacing: 0.8px;
  margin-bottom: var(--footer-space-lg);
  line-height: 1;
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
}
.cdsp-footer__contact:hover, .cdsp-footer__contact:focus-visible {
  text-decoration-color: white;
}
.cdsp-footer a.cdsp-footer__contact:hover,
.cdsp-footer a.cdsp-footer__contact:focus-visible {
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
  text-decoration-color: white;
}
.cdsp-footer__social-media__wrapper {
  margin-bottom: var(--footer-space-2lg);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--footer-space-sm);
  line-height: 1;
}
.cdsp-footer__social-icon {
  font-family: "Font Awesome 6 Brands";
  font-size: var(--footer-social-icon-font-size);
  font-weight: var(--footer-font-weight-regular);
  line-height: 1;
  color: white;
}
.cdsp-footer__social-icon i {
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
  text-underline-offset: 3px; /* 1.98px */
}
.cdsp-footer__social-icon:hover i, .cdsp-footer__social-icon:focus-visible i {
  text-decoration-color: white;
}
.cdsp-footer__links {
  --links-vertical-gap: 38px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: var(--links-vertical-gap);
  height: max-content;
  padding: var(--footer-space-lg) var(--footer-space-sm);
  margin: 0 var(--footer-space-sm);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.cdsp-footer__link-wrapper {
  text-align: left;
  padding-bottom: calc(var(--footer-space-xl) - var(--links-vertical-gap));
}
.cdsp-footer__link {
  color: var(--william-mary-green-wm-green-200, #cfddd9);
  font-size: var(--footer-font-size-2md);
  font-weight: var(--footer-font-weight-medium);
  line-height: 1;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--footer-space-3xs);
}
.cdsp-footer__link span {
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
}
.cdsp-footer__link .fa-arrow-right {
  transform: rotate(-45deg);
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--footer-font-family-FA);
  font-weight: var(--footer-font-weight-regular);
  line-height: 1.1;
  transition: var(--footer-transition-base);
  text-decoration: none;
  position: relative;
  left: 0;
}
.cdsp-footer__link:hover span, .cdsp-footer__link:focus-visible span {
  color: white;
  text-decoration-color: white;
}
.cdsp-footer__link:hover span + .fa-arrow-right, .cdsp-footer__link:focus-visible span + .fa-arrow-right {
  color: var(--color-spirit-gold-600, #f0b323);
  transform: rotate(0deg);
}
.cdsp-footer a.cdsp-footer__link:hover span,
.cdsp-footer a.cdsp-footer__link:focus-visible span {
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
  text-decoration-color: white;
}
.cdsp-footer a.cdsp-footer__link:hover,
.cdsp-footer a.cdsp-footer__link:focus-visible,
.cdsp-footer a.cdsp-footer__link:hover i,
.cdsp-footer a.cdsp-footer__link:focus-visible i {
  text-decoration: none;
}
.cdsp-footer__wm-logo {
  display: inline-block;
  height: 21px;
  margin-bottom: var(--footer-space-sm);
  border-color: transparent;
  border-style: dotted;
  border-width: 0px 0px 1px 0px;
}
.cdsp-footer__wm-logo:hover, .cdsp-footer__wm-logo:focus-visible {
  border-color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}
.cdsp-footer__wm-logo:hover svg path, .cdsp-footer__wm-logo:focus-visible svg path {
  fill: white;
}
.cdsp-footer__wm-logo svg {
  margin: 0;
}
.cdsp-footer__subfooter {
  padding-top: var(--footer-space-md);
  padding-bottom: var(--footer-space-md);
  font-family: var(--footer-font-family-sans);
}
.cdsp-footer__subfooterlist {
  margin-bottom: var(--footer-space-sm);
}
.cdsp-footer__subfooterlistlink {
  display: inline-block;
  color: rgba(228, 235, 219, 0.9);
  font-size: var(--footer-font-size-sm);
  font-weight: var(--footer-font-weight-regular);
  line-height: 1;
  padding: var(--footer-space-2xs);
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
}
.cdsp-footer__subfooterlistlink:hover, .cdsp-footer__subfooterlistlink:focus-visible {
  color: white;
  text-decoration-color: white;
}
.cdsp-footer a.cdsp-footer__subfooterlistlink:hover,
.cdsp-footer a.cdsp-footer__subfooterlistlink:focus-visible {
  text-decoration-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 6%; /* 1.08px */
  text-underline-offset: 11%; /* 1.98px */
  text-underline-position: from-font;
  transition: var(--footer-transition-base);
  text-decoration-color: white;
}
.cdsp-footer__copyright {
  color: var(--Moss-Moss-200, #e4ebdb);
  font-size: var(--footer-font-size-sm);
  font-weight: var(--footer-font-weight-medium);
  line-height: 1;
}
@media (min-width: 52.188rem) {
  .cdsp-footer__logo-mobile {
    display: none;
  }
  .cdsp-footer__logo-desktop, .cdsp-footer__logo-desktop img {
    display: block;
  }
  .cdsp-footer__logo {
    padding: 0;
    max-width: 475px;
    margin-left: 0;
  }
  .cdsp-footer__info-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: "info links";
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    padding: 0 var(--footer-space-sm) 0 var(--footer-space-lg);
  }
  .cdsp-footer__info {
    grid-area: info;
    text-align: left;
    padding-right: var(--footer-space-lg);
    border-right: 1px solid rgba(255, 255, 255, 0.25);
  }
  .cdsp-footer__social-media__wrapper {
    justify-content: flex-start;
    margin-bottom: var(--footer-space-2lg);
  }
  .cdsp-footer__links {
    grid-area: links;
    padding: 0;
    padding-left: var(--footer-space-2lg);
    margin: 0;
    border: none;
  }
}
@media (min-width: 67.5rem) {
  .cdsp-footer__info-wrapper {
    padding: 0 var(--footer-space-lg);
  }
  .cdsp-footer__links {
    padding-left: var(--footer-space-xl);
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .cdsp-footer__subfooter {
    padding: var(--footer-space-2xs) var(--footer-space-sm);
  }
  .cdsp-footer__subfooter, .cdsp-footer__subfooter-wrapper, .cdsp-footer__subfooterlist {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .cdsp-footer__subfooterlist {
    margin: 0;
  }
  .cdsp-footer__copyright {
    padding: 0;
    margin: var(--footer-space-2xs) 0;
    position: relative;
    top: -1px;
  }
  .cdsp-footer__wm-logo {
    margin: 0;
  }
}
@media (min-width: 80rem) {
  .cdsp-footer__subfooterlist {
    gap: var(--footer-space-sm);
  }
  .cdsp-footer__subfooter {
    padding-left: var(--footer-space-lg);
    padding-right: var(--footer-space-lg);
  }
}
@media (min-width: 90rem) {
  .cdsp-footer__info-wrapper, .cdsp-footer__subfooter {
    padding-left: 0;
    padding-right: 0;
  }
}/*# sourceMappingURL=footer.css.map */