:root {
 --uva-blue: #232d4b;
 --alumni-light-blue: #175A94;
 --secondary-web-blue: #141E3C;
 --archer-font-family: "Archer A", "Archer B", Georgia, 'Times New Roman', Times, serif;
 --archer-font-weight: 800;
 --ringside-font-family: "Ringside Narrow A", "Ringside Narrow B", Arial, Helvetica, sans-serif;
 --ringside-font-weight: 400;

 --primary-color: var(--uva-blue);
 --primary-color-alternate: var(--secondary-web-blue);
 --secondary-color: var(--alumni-light-blue);

 --body-font-color: #444444;
 --body-font-family: var(--ringside-font-family);
 --body-font-weight: var(--ringside-font-weight);
 --heading-font-family: var(--archer-font-family);
 --heading-font-weight: var(--archer-font-weight);
 --form-font-family: var(--ringside-font-family);
 --form-font-weight: var(--ringside-font-weight);
 --form-error-color: #cc0000;
}

body {
 background-color: var(--primary-color);
 background-image: url("https://awscdn.uvaalumni.org/images/footer-mountains.png");
 background-position: center bottom;
 background-attachment: fixed;
 background-size: contain;
 background-repeat: no-repeat;
 color: var(--body-font-color);
 font-family: var(--body-font-family);
 font-weight: var(--body-font-weight);
 height: 100vh;
}

a:not(.btn) {
 color: var(--primary-color);
 text-underline-offset: 0.25em;
}
 a:not(.btn):hover, a:not(.btn):focus, a:not(.btn):active {
  color: var(--secondary-color);
  text-decoration-style: dotted;
 }

h1, h2, h3, h4, h5, h6, legend {
 color: var(--primary-color);
 font-family: var(--heading-font-family);
 font-weight: var(--heading-font-weight);
}

fieldset {
 border-top: 1px solid #dee2e6;
 padding-top: 1rem;
}

.btn-primary {
 background-color: var(--primary-color);
 border-color: var(--primary-color);
}
 .btn-primary:hover, .btn-primary:active, .btn-primary:focus {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
 }

.form-control.is-invalid, .was-validated .form-control:invalid {
 border-color: var(--form-error-color);
}

.icon-link {
  align-items: baseline;
}

.invalid-feedback {
 color: var(--form-error-color);
}

.page {
 background-color: white;
}

.required-text {
 color: var(--form-error-color);
 font-size: 80%;
 font-style: italic;
}