/* Backgrounds */
.text-bg-primary-hover:hover
{
    color: #fff !important;
    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}


/* Sections */
.section
{
    padding-top: 5rem;
    padding-bottom: 5rem;
}


/* Nav */
.dropdown-item {
    transition-property: color, background-color;
    transition-duration: .2s;
    transition-timing-function: ease-out;
}

/* .dropdown-item:hover i {
    color: white !important;
}

.btn-outline-light:hover {
    color: rgb(var(--bs-dark-rgb)) !important;
} */


/* Bootstrap ext */
.cursor-pointer { cursor: pointer; }
.table-transparent { --bs-table-bg: none !important; }

/* Buttons */
.btn { transition: all .2s linear; }
.btn-unstyled
{
    border: 0;
    padding: 0;
    background-color: transparent;
    text-decoration: none;
}
[class*="btn-outline-"]
{
    background: linear-gradient(0deg, var(--bs-btn-color), var(--bs-btn-color)) no-repeat right bottom / 0 100%;
    background-color: transparent !important;
    transition: background-size .3s, color .3s ease;
}
[class*="btn-outline-"]:where(:hover, :focus-visible) 
{
    background-size: 100% 100%;
    background-position-x: left;
}

@media(max-width: 480px) 
{
    .btn-expand { width: 100%; text-align: center; }
}

/* Text */
.text-truncate
{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-border-black { text-shadow: 3px 0 #000, -3px 0 #000, 0 3px #000, 0 -3px #000, 3px 3px #000, -3px -3px #000, 3px -3px #000, -3px 3px #000; }

.text-capitalize-first { display: inline-block; }
.text-capitalize-first::first-letter { text-transform: capitalize; }

.ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }
.ls-3 { letter-spacing: 4px; }
.ls-4 { letter-spacing: 6px; }
.ls-5 { letter-spacing: 10px; }


/* Fixes */
/* a:not(.btn) { text-decoration: none; } */
/* a:not(.btn):hover { text-decoration: underline; } */

button i, a i { pointer-events: none; }

.btn { text-wrap: nowrap; }
.btn-icon
{
    display: flex;
    justify-content: center;
    align-items: center;
}

:root {
    --bs-breadcrumb-divider: "\203A";
}


/* Transitions fixes */
body
{
    transition-property: color, background-color;
    transition-duration: .3s;
    transition-timing-function: ease-out;
}

div, input, textarea, select, option, span
{
    transition-property: background, border !important;
    transition-duration: .2s !important;
    transition-timing-function: ease-out !important;
}

.scale { transition: transform .2s ease !important; }
.scale-1:hover { transform: scale(1.03); }
.scale-2:hover { transform: scale(1.05); }
.scale-3:hover { transform: scale(1.1); }
.scale-4:hover { transform: scale(1.15); }
.scale-5:hover { transform: scale(1.2); }


/* Forms */
.form-label, .col-form-label {
    font-weight: 500;
}

.form-fieldset 
{
    padding: 1rem !important;
    padding-bottom: .5rem !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius)!important;
}

.form-fieldset legend 
{
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    float: none;
    width: auto;
}

/* Borders */
.border-dashed, .border-dotted, .border-asterisk
{
    border-bottom: 0px;
    border-left: 0px;
    border-right: 0px;
}

.border-dashed {
    border-style: dashed;
}

.border-dotted {
    border-style: dotted;
}
.border-asterisk {
    border-style: solid;
    border-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJFBMVEX///+KioowMDBAQEAMDAxiYmLm5ubMzMxQUFC2trYiIiIAAAA2IPbUAAAAAXRSTlMAQObYZgAAACVJREFUCB1jYAADLiDJNaOKgYEtpIGBgcO4mYGBk4kTKMjIwAAAMvcC1AqHZy8AAAAASUVORK5CYII=') 7 0 0 repeat;

}