* {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    box-sizing: border-box
}

body {
    font-family: "Gotham-Book", "Roboto", system-ui, -apple-system;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    padding-right: 0 !important
}

header {
    font-family: "Gotham-Book", "Roboto", system-ui, -apple-system !important
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type="number"] {
    -moz-appearance: textfield
}

a {
    color: var(--bs-body-color);
    text-decoration: none !important;
    transition: all 0.3s ease
}

a:not([class]):hover {
    text-decoration: underline !important
}

@media (min-width:576px) {
    .card-deck {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        margin-right: -15px;
        margin-left: -15px
    }
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;

    >.col,
    >[class*="col-"] {
        padding-right: 0;
        padding-left: 0
    }
}

.scroll-hidden {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.scroll-hidden::-webkit-scrollbar {
    display: none
}

@media (min-width:576px) {
    .w-sm-50 {
        width: 50% !important
    }

    .w-sm-75 {
        width: 75% !important
    }
}

.shadow-bottom {
    box-shadow: 0 .9rem .625rem -.9rem rgb(0 0 0 / .15)
}

.hover-underline:hover {
    text-decoration: underline !important
}

.btn-flat {
    border-radius: 0 !important
}

.box-shadow {
    max-height: 495px;
    -webkit-box-shadow: 4px 4px 5px 0 rgb(50 50 50 / .2);
    -moz-box-shadow: 4px 4px 5px 0 rgb(50 50 50 / .2);
    box-shadow: 4px 4px 5px 0 rgb(50 50 50 / .2)
}

.no-wrap {
    white-space: nowrap
}

.text-justify {
    text-align: justify
}

.tooltip-tag {
    --bs-tooltip-bg: #555;
    --bs-tooltip-color: var(--bs-white)
}

.ui-tooltip {
    background: #555;
    color: var(--bs-white);
    border-radius: var(--bs-border-radius)
}

.ui-tooltip::before {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 6px;
    border-color: #fff0 #fff0 #555 #fff0;
    top: -12px;
    left: 20%;
    transform: translateX(-50%)
}

.small {
    font-size: 0.85rem !important
}

img.lazy {
    opacity: 0;
    transition: opacity 0.3s ease;
}

img.lazy-loaded {
    opacity: 1;
}

img.lazy-error {
    opacity: 1;
    content: none;
}