.btn-group, .btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.btn-group > .btn, .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto;
}

.btn-group > .btn:hover, .btn-group-vertical > .btn:hover {
    z-index: 1;
}

.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active {
    z-index: 1;
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.btn-toolbar .input-group {
    width: auto;
}

.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) {
    margin-left: -2px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
    padding-right: 1.3125rem;
    padding-left: 1.3125rem;
}

.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
    margin-left: 0;
}

.dropleft .dropdown-toggle-split::before {
    margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.btn-group-vertical > .btn, .btn-group-vertical > .btn-group {
    width: 100%;
}

.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -2px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn {
    margin-bottom: 0;
}

.btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid transparent;
    font-weight: 700;
    box-shadow: 10px 15px 18px rgba(23, 23, 36, 0.15);
    background: #fff;
    color: #171724;
    transition: all 0.2s ease-in-out;
    padding: 0.6875rem 1.75rem;
    font-size: 1.0625rem;
    line-height: 1.47;
    border-radius: 0;
}

.btn:hover, .btn.hover, .btn:active, .btn.active {
    box-shadow: none;
    text-decoration: none;
    border-color: #393944;
    background: #393944;
    color: #fff;
}

.btn:focus, .btn.focus {
    outline: 0;
}

.btn.disabled, .btn:disabled {
    opacity: 0.65;
    pointer-events: none;
}

.btn-icon {
    font-size: 1em;
    margin: 0 .47058em;
}

.btn-icon:first-child {
    margin-left: 0;
}

.btn-icon:last-child {
    margin-right: 0;
}

* + .btn {
    margin-top: 1.875rem;
}

.divider + .btn {
    margin-top: 3.125rem;
}

.row + .btn {
    margin-top: 2.5rem;
}

.btn-outline {
    box-shadow: none;
    border-color: #fff;
    background: transparent;
    color: #fff;
}

.btn-outline:hover {
    border-color: #fff;
    background: #fff;
    color: #171724;
}

.btn-block {
    display: flex;
    width: 100%;
}

.btn-rect, .btn-rect.btn-sm, .btn-group-sm > .btn-rect.btn, .btn-rect.btn-lg, .btn-group-lg > .btn-rect.btn {
    border-radius: 0;
}

.btn-round {
    border-radius: 2.93687rem;
}

.btn-round.btn-sm, .btn-group-sm > .btn-round.btn {
    border-radius: 2.31187rem;
}

.btn-round.btn-lg, .btn-group-lg > .btn-round.btn {
    border-radius: 3.56187rem;
}

.btn-sm, .btn-group-sm > .btn {
    padding: 0.375rem 1rem;
    font-size: 1.0625rem;
    line-height: 1.47;
    border-radius: 0;
}

.btn-lg, .btn-group-lg > .btn {
    padding: 1rem 2.5rem;
    font-size: 1.0625rem;
    line-height: 1.47;
    border-radius: 0;
}

.btn-primary {
    color: #fff;
    border-color: #6b39bd;
    background-color: #6b39bd;
}

.btn-primary:hover, .btn-primary.hover, .btn-primary:active, .btn-primary.active {
    color: #fff;
    border-color: #5a329e;
    background-color: #5a329e;
}

.btn-primary.btn-outline {
    color: #6b39bd;
    border-color: #6b39bd;
    background-color: transparent;
}

.btn-primary.btn-outline:hover, .btn-primary.btn-outline.hover, .btn-primary.btn-outline:active, .btn-primary.btn-outline.active {
    color: #fff;
    background-color: #6b39bd;
}

.btn-secondary {
    color: #fff;
    border-color: #31c77f;
    background-color: #31c77f;
}

.btn-secondary:hover, .btn-secondary.hover, .btn-secondary:active, .btn-secondary.active {
    color: #fff;
    border-color: #2ca46d;
    background-color: #2ca46d;
}

.btn-secondary.btn-outline {
    color: #31c77f;
    border-color: #31c77f;
    background-color: transparent;
}

.btn-secondary.btn-outline:hover, .btn-secondary.btn-outline.hover, .btn-secondary.btn-outline:active, .btn-secondary.btn-outline.active {
    color: #fff;
    background-color: #31c77f;
}

.btn-success {
    color: #fff;
    border-color: #77ba21;
    background-color: #77ba21;
}

.btn-success:hover, .btn-success.hover, .btn-success:active, .btn-success.active {
    color: #fff;
    border-color: #649922;
    background-color: #649922;
}

.btn-success.btn-outline {
    color: #77ba21;
    border-color: #77ba21;
    background-color: transparent;
}

.btn-success.btn-outline:hover, .btn-success.btn-outline.hover, .btn-success.btn-outline:active, .btn-success.btn-outline.active {
    color: #fff;
    background-color: #77ba21;
}

.btn-info {
    color: #fff;
    border-color: #138ce4;
    background-color: #138ce4;
}

.btn-info:hover, .btn-info.hover, .btn-info:active, .btn-info.active {
    color: #fff;
    border-color: #1475be;
    background-color: #1475be;
}

.btn-info.btn-outline {
    color: #138ce4;
    border-color: #138ce4;
    background-color: transparent;
}

.btn-info.btn-outline:hover, .btn-info.btn-outline.hover, .btn-info.btn-outline:active, .btn-info.btn-outline.active {
    color: #fff;
    background-color: #138ce4;
}

.btn-warning {
    color: #fff;
    border-color: #f19711;
    background-color: #f19711;
}

.btn-warning:hover, .btn-warning.hover, .btn-warning:active, .btn-warning.active {
    color: #fff;
    border-color: #c57d15;
    background-color: #c57d15;
}

.btn-warning.btn-outline {
    color: #f19711;
    border-color: #f19711;
    background-color: transparent;
}

.btn-warning.btn-outline:hover, .btn-warning.btn-outline.hover, .btn-warning.btn-outline:active, .btn-warning.btn-outline.active {
    color: #fff;
    background-color: #f19711;
}

.btn-danger {
    color: #fff;
    border-color: #e72660;
    background-color: #e72660;
}

.btn-danger:hover, .btn-danger.hover, .btn-danger:active, .btn-danger.active {
    color: #fff;
    border-color: #bd2354;
    background-color: #bd2354;
}

.btn-danger.btn-outline {
    color: #e72660;
    border-color: #e72660;
    background-color: transparent;
}

.btn-danger.btn-outline:hover, .btn-danger.btn-outline.hover, .btn-danger.btn-outline:active, .btn-danger.btn-outline.active {
    color: #fff;
    background-color: #e72660;
}

.btn-light {
    color: #171724;
    border-color: #f7f7f7;
    background-color: #f7f7f7;
}

.btn-light:hover, .btn-light.hover, .btn-light:active, .btn-light.active {
    color: #171724;
    border-color: #cacacd;
    background-color: #cacacd;
}

.btn-light.btn-outline {
    color: #f7f7f7;
    border-color: #f7f7f7;
    background-color: transparent;
}

.btn-light.btn-outline:hover, .btn-light.btn-outline.hover, .btn-light.btn-outline:active, .btn-light.btn-outline.active {
    color: #171724;
    background-color: #f7f7f7;
}

.btn-dark {
    color: #fff;
    border-color: #171724;
    background-color: #171724;
}

.btn-dark:hover, .btn-dark.hover, .btn-dark:active, .btn-dark.active {
    color: #fff;
    border-color: #44444e;
    background-color: #44444e;
}

.btn-dark.btn-outline {
    color: #171724;
    border-color: #171724;
    background-color: transparent;
}

.btn-dark.btn-outline:hover, .btn-dark.btn-outline.hover, .btn-dark.btn-outline:active, .btn-dark.btn-outline.active {
    color: #fff;
    background-color: #171724;
}

.btn-group .btn {
    margin: 0;
}

.btn-group .btn:hover {
    z-index: 0;
}

.context-dark .btn-dark {
    color: #171724;
    border-color: #fff;
    background-color: #fff;
}

.context-dark .btn-dark:hover, .context-dark .btn-dark.hover, .context-dark .btn-dark:active, .context-dark .btn-dark.active {
    color: #fff;
    border-color: #6b39bd;
    background-color: #6b39bd;
}

@media (min-width: 768px) {
    .row + .btn {
        margin-top: 3.125rem;
    }
}

@media (min-width: 992px) {
    p + .btn {
        margin-top: 3.125rem;
    }

    img + .btn {
        margin-top: 3.75rem;
    }

    .form-group + .btn {
        margin-top: 2.5rem;
    }
}

@media (min-width: 1600px) {
    .row + .btn {
        margin-top: 4.375rem;
    }
}
