:root {
  --kcdp-primary: #244c66;
  --kcdp-primary-dark: #1b384d;
  --kcdp-primary-light: #2f6280;
  --kcdp-primary-hover: #0b6a9a;
}

a,
.page__content a {
  color: var(--kcdp-primary);
}

a:hover,
.page__content a:hover {
  color: var(--kcdp-primary-dark);
}

.greedy-nav .visible-links a:before {
  background: var(--kcdp-primary);
}

.btn--primary,
.btn--info,
.btn--primary:visited,
.btn--info:visited {
  background-color: var(--kcdp-primary);
  border-color: var(--kcdp-primary);
  color: #fff;
}

.page__content a.btn--primary,
.page__content a.btn--info,
.page__content a.btn--primary:visited,
.page__content a.btn--info:visited {
  color: #fff;
}

.btn--primary:hover,
.btn--info:hover,
.btn--primary:focus,
.btn--info:focus {
  background-color: var(--kcdp-primary-hover);
  border-color: var(--kcdp-primary-hover);
  color: #fff;
}

.page__content a.btn--primary:hover,
.page__content a.btn--info:hover,
.page__content a.btn--primary:focus,
.page__content a.btn--info:focus {
  color: #fff;
}

.box--primary,
.notice--primary {
  border-color: var(--kcdp-primary);
}

.box--primary {
  border: 0;
  background-color: transparent;
}

#events .box {
  background-color: transparent !important;
}

.notice--primary {
  background-color: rgba(36, 76, 102, 0.08);
}

.page__footer {
  background-color: #f5f7f8;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.footer-brand img {
  max-height: 56px;
  height: auto;
  width: auto;
}

.footer-tagline {
  margin: 0;
  font-weight: 600;
  color: var(--kcdp-primary);
}

.page__footer-follow .socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.page__footer-follow .socials__item {
  margin-left: 0;
}

.page__footer-follow .socials li + li::before,
.page__footer-follow .socials__item::before {
  content: none;
  padding: 0;
}

.socials__item__link,
.socials__item__link:visited {
  background-color: var(--kcdp-primary);
}

.socials__item__link:hover,
.socials__item__link:focus {
  background-color: var(--kcdp-primary-hover);
}

#objectives ul,
#objectives li {
  text-align: left;
}

.supported-by-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

.supported-by-item {
  text-align: center;
}

.supported-by-logo {
  max-height: 3.55rem; /* 75% of masthead logo max-height (4rem) */
  width: auto;
  height: auto;
  display: block;
}

.supported-by-name {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.home-page #purpose > *:not(h1),
.home-page #mission > *:not(h1),
.home-page #objectives > *:not(h1),
.home-page #join > *:not(h1),
.home-page #events > *:not(h1) {
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
}

.home-page #purpose > p,
.home-page #mission > p:first-of-type,
.home-page #join > p:first-of-type,
.home-page #events > p:first-of-type {
  text-align: left;
}

.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
}

.sponsor-card {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  text-align: center;
}

.sponsor-card__logo {
  max-height: 75px;
  width: auto;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0rem;
}

.sponsorship-page .page__content {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.sponsorship-page .page__content p,
.sponsorship-page .page__content li {
  text-align: left;
}

.sponsorship-page .page__content ul {
  text-align: left;
  padding-left: 1.2rem;
}

.sponsorship-page .sponsor-grid p,
.sponsorship-page .sponsor-grid li {
  text-align: center;
}

@media (max-width: 900px) {
  .home-page #purpose > *:not(h1),
  .home-page #mission > *:not(h1),
  .home-page #objectives > *:not(h1),
  .home-page #join > *:not(h1),
  .home-page #events > *:not(h1) {
    max-width: 90%;
  }

  .sponsorship-page .page__content {
    max-width: 90%;
  }
}

.sponsorship-page .current-sponsors-heading,
.sponsorship-page .sponsor-grid h3 {
  text-align: center;
}
