.btn {
    display: inline-block;
    font-family: inherit;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    text-decoration: none !important;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    padding: 0.5rem 1.75rem;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0;
    position: relative;
    transition: color 0.5s, background-color 0.5s, border-color 0.5s;
}

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

.btn:focus,
.btn.focus {
    box-shadow: 0 0 0 0.2rem rgba(20, 110, 245, 0.35) !important;
}

/* Primary */

.btn-primary {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-primary:hover {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-primary:focus,
.btn-primary.focus {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
    opacity: 0.3;
}

/* Secondary */

.btn-secondary {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-secondary:hover {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-secondary:focus,
.btn-secondary.focus {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
    opacity: 0.3;
}

.btn-outline-primary {
    color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #ffffff;
    background-color: var(--tc-color-main-1);
    border-color: var(--tc-color-main-1);
}

.btn-outline-secondary {
    color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    color: #ffffff;
    background-color: var(--tc-color-main-2);
    border-color: var(--tc-color-main-2);
}

.btn-link {
    color: var(--tc-color-main-2);
    background-color: transparent;
    border-color: transparent;
}

.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

.btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
}

/* link primary */
.link-primary {
    color: var(--tc-color-main-1) !important;
}

.link-primary:hover {
    color: var(--tc-color-main-2-70) !important;
}

/* link secondary */

.link-secondary {
    color: var(--tc-color-main-2) !important;
}

.link-secondary:hover {
    color: var(--tc-color-main-2-70) !important;
}
