/* ---------- CSS RESET ---------- */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure, figcaption, address {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-y: scroll;
    overflow-x: hidden;
}

html.html-modal-open {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
    display: block;
}

table {
    border-spacing: 0;

    th,
    td {
        vertical-align: middle;
    }
}

caption, th {
    text-align: center;
}

a {
    text-decoration: none;
    -webkit-transition: 0.2s all ease;
    -moz-transition: 0.2s all ease;
    -o-transition: 0.2s all ease;
    transition: 0.2s all ease;
}

li {
    list-style: none;
}

a:hover, a:focus {
    cursor: pointer;
    text-decoration: none;
}

* {
    outline: none !important;
    box-sizing: border-box;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}


input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
    -webkit-animation-name: autofill;
    -webkit-animation-fill-mode: both;
}

svg {
    overflow: auto;
    vertical-align: inherit;
}

ul {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}

body.modal-open, body.swal2-shown {
    padding-right: 0 !important;
}

html, body {
    font-size: 14px;
}

body {
    font-family: var(--font-family-base) !important;
    font-weight: $font-weight-400;
    min-height: 100vh;
    background-color: var(--body-bg);
    color: var(--dark);
    direction: ltr;
    cursor: default;

    @media (max-width: $screen-xs-max) {
        font-size: 11px;
    }
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}


@media print {
    * {
        // Tells the browser to print the colors and background accurately.
        -webkit-print-color-adjust: exact !important; /* Chrome, Safari */
        print-color-adjust: exact !important; /* Firefox */
        color-adjust: exact !important;
    }
}

.rtl .select2-container {
    left: auto !important;
    right: 0 !important;

    &.select2-container--open .select2-dropdown {
        left: auto !important;
        right: 0 !important;
    }
}
