.app-button:not(:disabled) {
    cursor: pointer;
}
.app-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    line-height: 24px;
    color: #1D2533;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 8px 32px;
    font-size: 14px;
    border-radius: 8px;
}
.app-button:hover {
    color: #1D2533;
}
.app-button__text {
    display: flex;
    align-items: center;
}
.app-button__text > svg:first-child {
    margin-right: 12px;
    margin-bottom: 4px;
    margin-left: -4px;
}
.app-button__text > svg:last-child {
    margin-left: 12px;
    margin-bottom: 4px;
    margin-right: -4px;
}
.app-button__text > svg:only-child {
    margin-left: 0;
    margin-bottom: 4px;
    margin-right: 0;
}

.app-button_primary {
    color: #FFF;
    background-color: #C71E3F;
    border: 1px solid #C71E3F;
}
.app-button_primary:hover {
    color: #FFF;
}
.app-button_secondary {
    color: #1D2533;
    background-color: transparent;
    border: 1px solid #D3D4DB;
}
.app-button_secondary:hover {
    color: #1D2533;
}
.app-button_tag {
    color: #1D2533;
    background-color: #F4F4F5;
    border: 1px solid #F4F4F5;
}
.app-button_tag:hover {
    color: #1D2533;
}
.app-button_disabled {
    color: #B5B7C0;
    background: #F4F4F5;
    border: 1px solid #F4F4F5;
    pointer-events: none;
}

.app-button_block {
    width: 100%;
    display: flex;
}
.app-button_large {
    padding: 16px;
}
.app-button_small {
    padding: 4px 16px 2px 16px;
}
.app-button_text {
    padding: 0;
    background-color: transparent;
    border: 1px solid transparent;
    text-align: start;
    justify-content: flex-start;
    font-size: inherit!important;
}
.app-button_text.app-button_primary {
    color: #C71E3F;
}
.app-button__spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: -0.125em;
    border: 0.25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: .75s linear infinite spinner-border;
}
@keyframes spinner-border {
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}