.custom-button {
    --outline-color: var(--primary-color-500);
    --background-color: var(--primary-color-100);
    --background-color-hover: var(--primary-color-200);
    --text-color: var(--primary-color-900);
    display: flex;
}
.custom-button.align-left {
    justify-content: flex-start;
}
.custom-button.align-center {
    justify-content: center;
}
.custom-button.align-right {
    justify-content: flex-end;
}
.custom-button .button-link {
    display: inline-block;
    padding: 3px 12px 2px;
    font-family: 'subway_bold';
    font-size: 14px;
    line-height: 24px;
    letter-spacing: .2em;
    color: var(--text-color);
    text-decoration: none;
    background-color: var(--background-color);
    text-transform: uppercase;
}
.custom-button .button-link:focus {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--outline-color);
    outline: none;
}
.hospitality-theme .custom-button .button-link {
    color: white;
    background-color: var(--splash-light-blue);
}
.hospitality-theme.inc .custom-button .button-link {
    color: white;
    background-color: var(--black);
    border: none;
}
@media (hover: hover) {
    .custom-button .button-link:hover {
        background-color: var(--background-color-hover);
    }
    .hospitality-theme .custom-button .button-link:hover {
        background-color: var(--splash-dark-blue);
    }
    .hospitality-theme.inc .custom-button .button-link:hover {
        background-color: var(--black);
        border: 2px solid var(--red);
    }
}

@media screen and (min-width: 64em) {
    .custom-button .button-link {
        padding: 12px 25px 10px;
        font-size: 18px;
        line-height: 24px;
    }
}