.u-weight-bold {
  font-weight: 700;
}
.c-button {
  border-radius: var(--global-radius);
  display: inline-flex;
  outline: none;
  border: none;
  font-family: var(--button-font);
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 3.25;
  align-items: center;
  padding: 0 28px;
  box-shadow: 0 0 0 3px transparent;
  font-weight: var(--button-font-weight);
  text-align: center;
  transition: background-color 0.15s ease 0s, box-shadow 0.15s ease 0s;
  letter-spacing: var(--button-spacing, 0.0625rem);

  color: var(--primary-color-text);
  cursor: pointer;

  /*[2]*/
  background: hsl(var(--h), var(--s), var(--l));

  justify-content: center;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.c-button--block {
  display: flex;
  width: 100%;
}

.c-button--reauth {
  width: 70%;
}

@media (max-width: 576px) {
  .c-button--reauth {
    width: 100%;
  }
}

/*[2]*/
.c-button--primary {
  /*[2.1]*/
  --h: var(--primary-h);
  --s: var(--primary-s);
  --l: var(--primary-l);
}
.c-button--secondary {
  --h: var(--secondary-h);
  --h: var(--secondary-s);
  --h: var(--secondary-l);
}
.c-button--warning {
  --h: var(--warning-h);
  --s: var(--warning-s);
  --l: var(--warning-l);
}
.c-button--negative {
  --h: var(--negative-h);
  --s: var(--negative-s);
  --l: var(--negative-l);
}
.c-button--danger {
  --h: var(--danger-h);
  --s: var(--danger-s);
  --l: var(--danger-l);
}
.c-button:disabled,
.c-button[disabled] {
  pointer-events: none;
  cursor: default;
  --s: 50%;
  --l: 88%;
}
.c-button--modal-negative {
  --h: 207;
  --s: 7%;
  --l: 71%;
}

/*[3]*/
.c-button:hover {
  --l: 65%;
}
.c-button:focus {
  --focus-s: 39%;
  --focus-l: 87%;

  /*[3.1]*/
  --box-shadow-size: 3px;
}

.c-section {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-section--pink {
  background: #fbe4e4;
}
.c-section--header {
  padding: min(15vmin, 5.375rem) 1rem;
  position: relative;
  background-color: rgba(221, 72, 72, 0.3);
  font-family: var(--heading-font);
}
.c-section--header > *:not(.c-section__hero) {
  z-index: 3;
}
.c-logo {
  width: min(75vw, 431px);
  margin-bottom: clamp(1rem, 6vmin, 4rem);
}

.c-section__title {
  padding-top: clamp(1.75rem, 20vmin, 3.5rem);
  margin-bottom: clamp(3.25rem, 20vmin, 5rem);
  font-size: clamp(2rem, 1em + 4vw, 2.85714285714rem);
  transform: translateX(calc(0.275em / 2));
  letter-spacing: 1px;
  font-family: var(--heading-font);
}
.c-headline {
  font-size: clamp(2rem, 1em + 4vw, 4rem);
  width: min(calc(96vw - 2rem), 65.375rem);
  line-height: 1.27272727273;
  text-align: center;
  margin-bottom: 3rem;
  margin-top: 0;
  font-family: var(--heading-font);
}
.c-subheadline {
  margin-bottom: clamp(1.625rem, 5vmin, 3.375rem);
  font-size: clamp(0.75rem, 0.75rem + 1.5vw, 1.25rem);
  margin-top: 0;
  line-height: 1.33;
  font-family: var(--body-font);
}
.c-cta {
  --line-height: 2.9em;
  border-radius: calc(var(--line-height) / 2);
  margin-bottom: 1.5rem;
  font-size: clamp(1em, 0.5em + 4vw, 1.33rem);
  line-height: var(--line-height);
  white-space: nowrap;
  padding: 0 2em;
}

.u-textshadow {
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}
.c-header__strapline {
  font-family: var(--button-font);
  font-size: clamp(0.75em, 1em + 0.5vw, 18px);
  text-transform: uppercase;
  display: block;
  padding: min(3vmin, 1.5rem) 0;
  text-align: center;
}
.c-buckets {
  --side-pad: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18.5rem, 1fr));
  padding-left: 0;
  grid-column-gap: 2rem;
  grid-row-gap: 0;
  list-style: none;
  text-align: center;
  margin-bottom: 5vmin;
  margin-top: 0;
}
.c-buckets li {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  padding: 0 1rem;
}

@media (min-width: 40.9375rem) and (max-width: 61.45rem) {
  .c-buckets li:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 60rem) {
  .c-buckets li:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}

.c-buckets__text {
  line-height: 1.6;
  margin: 0 0 1.5em;
  color: var(--text-color-secondary);
  max-width: 30ch;
}
.c-buckets__title {
  margin-top: 0;
  font-size: 1.375rem;
  font-family: var(--body-font);
  font-weight: 700;
  margin-bottom: 0.875em;
}
.c-buckets__img {
  margin-bottom: 1.25rem;
}
@media (max-width: 479px) {
  .c-cta {
    font-size: 1.125rem;
  }
}

/*/**/
.c-footer__logo {
  margin: 0 0 clamp(2rem, 10vmin, 3.75rem);
}
.c-footer {
  background: #2b2b2b;
  color: white;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.c-footer > div {
  margin: 0 auto;
  --side-pad: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.c-cta--margin {
  margin-bottom: clamp(2rem, 20vmin, 7.5rem);
}

.c-footer__nav {
  color: white;
  font-size: 0.875rem;
}
.c-footer__nav ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-wrap: wrap;
  padding-left: 0;
  justify-content: center;
  margin-bottom: 2rem;
}
@media (min-width: 1100px) {
  .c-footer__nav ul {
    margin-bottom: 0;
  }
  .c-footer > div {
    flex-direction: row;
    justify-content: space-between;
  }
}
.c-footer__nav ul li {
  margin-bottom: 1em;
}
.c-footer__nav ul li:not(:last-child) {
  border-right: 1px solid currentColor;
}

.c-footer__nav a {
  color: currentColor;
  margin: 0 1rem;
  display: block;
}
.c-footer__nav a:hover {
  text-decoration: underline;
  text-underline-offset: 1px;
}

.c-callout {
  --side-pad: 0rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem 2rem 4rem 2rem;
  justify-content: center;
  text-align: center;
}

.c-callout__text {
  font-size: clamp(1em, 0.5em + 4vw, 1.42857142857em);
  padding: 2rem;
}
.c-button--reversed {
  background: white;
  color: black;
}
.c-button--reversed:hover {
  background: #fbe4e4;
}
@media (min-width: 1000px) {
  .c-callout {
    margin-bottom: clamp(2rem, 20vmin, 4.375rem);
    justify-content: space-between;
    flex-direction: row;
    text-align: left;
    padding-bottom: 2rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .c-callout__text {
    padding-left: 0;
  }
}

.c-login-button {
  color: inherit;
}
