.button {
    display: inline-block;
    -webkit-appearance: none;
    line-height: 1;
    padding: 1em 2em;
    letter-spacing: 0.04em;
    border-width: thin;
    border-style: solid;
    text-align: center;
    margin: 5px;
    opacity: 1;
    transition: opacity 0.4s ease-out;
}

.button__text {
    position: relative;
}

.button:hover {
    opacity: 0.9;
}

/* ------- color classes ------- */
.button--white {
    background: var(--white);
    border-color: var(--white);
    color: var(--text-dark);
}

.button--primary {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
    border-radius: var(--button-border-radius);
}

.button--black {
    background: var(--black);
    border-color: var(--black);
    color: var(--text-light);
}

.button--transparent {
    background: transparent;
    border-color: var(--text-dark);
    color: var(--text-dark);
}
