/* Main site footer */

/* Variables */
.site-footer {
  /* Layout */
  --site-footer-content-max-width: 90%;

  /* Typography */
  --site-footer-font-size: 13px;
  --site-footer-line-height: 22px;

  /* Colors */
  --color-site-footer-bg          : var(--color-primary-purple);
  --color-site-footer-text        : hsl(0 0% 100% / 1);
  --color-site-footer-link        : hsl(0 0% 100% / 0.5);
  --color-site-footer-link-active : hsl(0 0% 100% / 1);
}

.site-footer {
  text-align: center;
  font-size: var(--site-footer-font-size);
  line-height: var(--site-footer-line-height);
  text-transform: uppercase;
  color: var(--color-site-footer-text); background: var(--color-site-footer-bg);
}

.site-footer ul,
.site-footer li { margin: 0; padding: 0; list-style-type: none; }
.site-footer a { text-decoration: none; color: var(--color-site-footer-link); }

.site-footer-content {
  max-width: var(--site-footer-content-max-width);
  margin: auto; padding: 60px 40px 40px;
}

.site-footer-logo { margin-bottom: 24px; }

.site-footer-info li { display: inline-block; color: var(--color-site-footer-text); }
.site-footer-info li + li::before { content: " | "; display: inline-block; margin: 0 10px; color: hsl(0 0% 100% / 0.3); }

.site-footer-regents { display: flex; justify-content: center; align-items: center; }
.site-footer-regents svg { position: relative; width: auto; height: 14px; margin-right: 4px; }

.site-footer .site-footer-links { margin: 40px 0; }
.site-footer .site-footer-links li { display: inline-block; margin: 0 12px; }
.site-footer .site-footer-links a { transition: color ease-out 200ms; }
.site-footer .site-footer-links a:hover,
.site-footer .site-footer-links a:focus,
.site-footer .site-footer-links a:active { color: var(--site-footer-link-active); }

.site-footer-extra-logos { margin-top: 50px; }
.site-footer-extra-logos img { width: auto; height: 100px; }
.site-footer-extra-logos img + img { margin-left: 12px; }


/* Custom footer styles */

.custom-footer {
  --margin-top: 80px;
  margin-top: var(--margin-top);
  padding: 100px var(--mobile-content-edge-padding) 64px;
  background: hsl(268deg 41% 34%);
  * { color: hsl(0 0% 100% / 1); }
  .layout {
    display: grid; grid-template-columns: 1fr 1fr; grid-gap: 0 max(5%, 40px);
    max-width: 1750px;
    margin: auto;
  }
  h1:first-child { margin-top: 0; }
  p { margin: var(--p-margin) 0; }
  @media (width < 800px) {
    .layout { grid-template-columns: 1fr; grid-row-gap: 30px; }
    .custom-footer-form { padding-top: 44px; border-top: 1px solid hsl(0 0% 100% / 1); }
  }
}

.site-main .components .com.com-custom-footer.custom-footer { margin-top: var(--margin-top); }

/* Disable margin on second footer if two custom footers exist on the page. */
#content:has(.com-custom-footer) + .custom-footer { margin-top: 0; }

.custom-footer-form {
  .frm_style_formidable-style.with_frm_style p.description, .frm_style_formidable-style.with_frm_style div.description, .frm_style_formidable-style.with_frm_style div.frm_description, .frm_style_formidable-style.with_frm_style .frm-show-form > div.frm_description, .frm_style_formidable-style.with_frm_style .frm_error, .frm_style_formidable-style.with_frm_style .frm_pro_max_limit_desc {
    color: hsl(0 0% 100% / 1);
  }
  .with_frm_style .frm_top_container .frm_primary_label, .with_frm_style .frm_hidden_container .frm_primary_label, .with_frm_style .frm_pos_top {
    color: hsl(0 0% 100% / 1);
  }
}
