.btn {
    border-radius: var(--btn_border_radius);
    padding: var(--btn_padding_top) var(--btn_padding_right);
    text-transform: var(--btn_text_transform);
    font-size:var(--btn_font_size);
    font-weight: var(--btn_font_weight);
    letter-spacing: var(--btn_font_letter_spacing);
    border: var(--btn_border_width) var(--btn_border_style) var(--gray-900);
}

.btn-sm {
    padding-top: calc(var(--btn_padding_top) - 3px);
    padding-bottom: calc(var(--btn_padding_top) - 3px);
    padding-right: calc(var(--btn_padding_right) - 5px);
    padding-left: calc(var(--btn_padding_right) - 5px);
    font-size: calc(var(--btn_font_size) - 2px);
    border-width: calc(var(--btn_border_width)-1px);
}

.btn::after, a.link::after {
    display: inline-block;
    margin-left: 0.35em;
    vertical-align: 0em;
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    margin-left: 15px;
}

.btn:hover::after, a.link:hover::after {
    transform: rotate(-360deg);
    -webkit-transition:all 0.40s ease-out;
    -moz-transition:all 0.40s ease-out;
    -o-transition:all 0.40s ease-out;
}

.btn-primary {
    background-color: var(--btn_primary_background);
    color: var(--btn_primary_color);
    border-color: var(--btn_primary_border_color);
}

.btn-primary:hover {
    background-color: var(--btn_primary_hover_background);
    color: var(--btn_primary_hover_color);
    border-color: var(--btn_primary_hover_border_color);
}

.btn-check:focus+.btn-primary, .btn-primary:focus {
    color: var(--btn_primary_hover_color);
    background-color: var(--btn_primary_hover_background);
    border-color: var(--btn_primary_hover_border_color);
    box-shadow: 0 0 0 0.25rem var(--primary_color_hover_apacity) !important;
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    color: var(--btn_primary_hover_color);
    background-color: var(--btn_primary_hover_background);
    border-color: var(--btn_primary_hover_border_color);
}

a.link:hover {
    color: var(--primary_color) !important;
}

.form-floating>.form-control {
    height: calc(3.8rem + 2px);
    line-height: 30px;
    border-radius: 0;
    font-size: 17px;
}

form-floating>label {
    padding: 5px;
    line-height: normal;
}

label {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.3px;
}
