.button{
  background: var(--button-bg);
  color: var(--button-color);
  border-radius: var(--button-radius);
  padding: var(--button-padding);
  height: var(--button-height);
  margin: var(--button-margin);
  font-family: var(--button-font-family);
  text-transform: var(--button-text-transform);
  line-height: 1;
  text-decoration: none;
  border: none;
  outline: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--animate-medium);
  gap: .8rem;
  flex-direction: row-reverse;
}
.button:hover{
  background: var(--button-bg-hover);
  color: var(--button-color-hover);
}
.button::before{
  --fa: var(--button-icon);
  --fa-style: 400;
  --_fa-family: var(--fa-family, var(--fa-style-family, "Font Awesome 7 Pro"));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: var(--fa-display, inline-block);
  font-family: var(--_fa-family);
  font-feature-settings: normal;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  font-weight: var(--fa-style, 900);
  text-align: center;
  text-rendering: auto;
  content: var(--fa) / "";
  color: var(--button-color);
  font-size: var(--font-size-body);
  line-height: 1;
  transition: var(--animate-medium);
}
.button:hover::before{
  color: var(--button-color-hover);
}
.button:focus,
.button:focus-within,
.button:focus-visible,
.button:target{
  box-shadow: var(--shadow);
}
.light .button{
  background: var(--button-bg-light);
  color: var(--button-color-light);
}
.light .button:hover{
  background: var(--button-bg-hover-light);
  color: var(--button-color-hover-light);
}
.light .button::before{
  color: var(--button-color-light);
}
.light .button:hover::before{
  color: var(--button-color-hover-light);
}
.dark .button{
  background: var(--button-bg-dark);
  color: var(--button-color-dark);
}
.dark .button:hover{
  background: var(--button-bg-hover-dark);
  color: var(--button-color-hover-dark);
}
.dark .button::before{
  color: var(--button-color-dark);
}
.dark .button:hover::before{
  color: var(--button-color-hover-dark);
}
.main .button{
  background: var(--button-bg-main);
  color: var(--button-color-main);
}
.main .button:hover{
  background: var(--button-bg-hover-main);
  color: var(--button-color-hover-main);
}
.main .button::before{
  color: var(--button-color-main);
}
.main .button:hover::before{
  color: var(--button-color-hover-main);
}