button,
.button {
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  padding: 0.5rem 1rem;
  border: 1px solid #145E7F;
  background: transparent;
  color: #145E7F;
  border-radius: 8rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 500;
}
@media (min-width: 1024px) {
  button,
  .button {
    font-size: 1.125rem;
  }
}
button span.icon,
.button span.icon {
  background-color: #145E7F;
}
button path,
.button path {
  fill: #145E7F;
}
button:hover, button:focus-visible,
.button:hover,
.button:focus-visible {
  color: #FFFFFF;
  background-color: #0C4863;
  border-color: #0C4863;
}
button:hover span.icon, button:focus-visible span.icon,
.button:hover span.icon,
.button:focus-visible span.icon {
  background-color: #FFFFFF;
}
button:hover path, button:focus-visible path,
.button:hover path,
.button:focus-visible path {
  fill: #FFFFFF;
}
button:focus-visible,
.button:focus-visible {
  outline: 2px solid #145E7F;
  outline-offset: 2px;
}
button[disabled],
.button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}
button .icon,
button path,
.button .icon,
.button path {
  transition: all 0.15s ease-in-out;
}
button.link,
.button.link {
  -webkit-appearance: none;
          appearance: none;
  color: #145E7F;
  border: none;
  border-radius: 0;
  background: initial;
  padding: 0;
}

.button.button--primary {
  color: #FFFFFF;
  background: #145E7F;
}
.button.button--primary span.icon {
  background-color: #FFFFFF;
}
.button.button--primary path {
  fill: #FFFFFF;
}
.button.button--primary:hover, .button.button--primary:focus-visible {
  background-color: #0C4863;
  border-color: #0C4863;
}
.button.button--secondary {
  color: #145E7F;
  background: transparent;
}
.button.button--secondary span.icon {
  background-color: #145E7F;
}
.button.button--secondary path {
  fill: #145E7F;
}
.button.button--secondary:hover, .button.button--secondary:focus-visible {
  color: #145E7F;
  background-color: #D0DEE5;
  border-color: #145E7F;
}
.button.button--secondary:hover span.icon, .button.button--secondary:focus-visible span.icon {
  background-color: #145E7F;
}
.button.button--secondary:hover path, .button.button--secondary:focus-visible path {
  fill: #145E7F;
}
.button.button--reset {
  background: none;
  color: #656565;
  border-color: transparent;
}
.button.button--reset span.icon {
  background-color: #656565;
}
.button.button--reset path {
  fill: #656565;
}
.button.button--reset:hover, .button.button--reset:focus-visible {
  color: #145E7F;
  background-color: #D0DEE5;
  border-color: #145E7F;
}
.button.button--reset:hover span.icon, .button.button--reset:focus-visible span.icon {
  background-color: #145E7F;
}
.button.button--reset:hover path, .button.button--reset:focus-visible path {
  fill: #145E7F;
}
.button.button--size-small {
  font-size: 0.8rem;
}
@media (min-width: 1024px) {
  .button.button--size-small {
    font-size: 1rem;
  }
}
.button.button--size-extrasmall {
  padding: 0.5rem;
  border-radius: 0.5rem;
}
.button.button--size-extrasmall {
  font-size: 0.8rem;
}
@media (min-width: 1024px) {
  .button.button--size-extrasmall {
    font-size: 1rem;
  }
}
.button.button--size-extrasmall .icon {
  width: 0.75rem;
  height: 0.75rem;
}
.button.button--size-large, .form--size-large .button {
  min-height: 2.5rem;
}
@media (min-width: 1024px) {
  .button.button--size-large, .form--size-large .button {
    min-height: 3.5rem;
  }
  .button.button--size-large:focus-visible, .form--size-large .button:focus-visible {
    outline-offset: 4px;
  }
}
