*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size       : 14px;
    background-color: #ffffff;
}

body {
    min-width      : 100vw;
    min-height     : 100vh;
    scroll-behavior: smooth;
    text-rendering : optimizeSpeed;
    overflow-x     : hidden;
    line-height    : 1.5;
}

img,
svg {
    vertical-align: middle;
    border-style  : none;
}

.invisible {
    visibility: hidden !important;
}

.hidden {
    display: none !important;
}

.w-5 {
    width: 5% !important;
}

.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}

.w-25 {
    width: 25% !important;
}

.w-30 {
    width: 30% !important;
}

.w-35 {
    width: 35% !important;
}

.w-40 {
    width: 40% !important;
}

.w-45 {
    width: 45% !important;
}

.w-50 {
    width: 50% !important;
}

.w-55 {
    width: 55% !important;
}

.w-60 {
    width: 60% !important;
}

.w-65 {
    width: 65% !important;
}

.w-70 {
    width: 70% !important;
}

.w-75 {
    width: 75% !important;
}

.w-80 {
    width: 80% !important;
}

.w-85 {
    width: 85% !important;
}

.w-90 {
    width: 90% !important;
}

.w-95 {
    width: 95% !important;
}

.w-100 {
    width: 100% !important;
}

.h-5 {
    height: 5% !important;
}

.h-10 {
    height: 10% !important;
}

.h-15 {
    height: 15% !important;
}

.h-20 {
    height: 20% !important;
}

.h-25 {
    height: 25% !important;
}

.h-30 {
    height: 30% !important;
}

.h-35 {
    height: 35% !important;
}

.h-40 {
    height: 40% !important;
}

.h-45 {
    height: 45% !important;
}

.h-50 {
    height: 50% !important;
}

.h-55 {
    height: 55% !important;
}

.h-60 {
    height: 60% !important;
}

.h-65 {
    height: 65% !important;
}

.h-70 {
    height: 70% !important;
}

.h-75 {
    height: 75% !important;
}

.h-80 {
    height: 80% !important;
}

.h-85 {
    height: 85% !important;
}

.h-90 {
    height: 90% !important;
}

.h-95 {
    height: 95% !important;
}

.h-100 {
    height: 100% !important;
}

.vw-5 {
    width: 5vw !important;
}

.vw-10 {
    width: 10vw !important;
}

.vw-15 {
    width: 15vw !important;
}

.vw-20 {
    width: 20vw !important;
}

.vw-25 {
    width: 25vw !important;
}

.vw-30 {
    width: 30vw !important;
}

.vw-35 {
    width: 35vw !important;
}

.vw-40 {
    width: 40vw !important;
}

.vw-45 {
    width: 45vw !important;
}

.vw-50 {
    width: 50vw !important;
}

.vw-55 {
    width: 55vw !important;
}

.vw-60 {
    width: 60vw !important;
}

.vw-65 {
    width: 65vw !important;
}

.vw-70 {
    width: 70vw !important;
}

.vw-75 {
    width: 75vw !important;
}

.vw-80 {
    width: 80vw !important;
}

.vw-85 {
    width: 85vw !important;
}

.vw-90 {
    width: 90vw !important;
}

.vw-95 {
    width: 95vw !important;
}

.vw-100 {
    width: 100vw !important;
}

.vh-5 {
    height: 5vh !important;
}

.vh-10 {
    height: 10vh !important;
}

.vh-15 {
    height: 15vh !important;
}

.vh-20 {
    height: 20vh !important;
}

.vh-25 {
    height: 25vh !important;
}

.vh-30 {
    height: 30vh !important;
}

.vh-35 {
    height: 35vh !important;
}

.vh-40 {
    height: 40vh !important;
}

.vh-45 {
    height: 45vh !important;
}

.vh-50 {
    height: 50vh !important;
}

.vh-55 {
    height: 55vh !important;
}

.vh-60 {
    height: 60vh !important;
}

.vh-65 {
    height: 65vh !important;
}

.vh-70 {
    height: 70vh !important;
}

.vh-75 {
    height: 75vh !important;
}

.vh-80 {
    height: 80vh !important;
}

.vh-85 {
    height: 85vh !important;
}

.vh-90 {
    height: 90vh !important;
}

.vh-95 {
    height: 95vh !important;
}

.vh-100 {
    height: 100vh !important;
}

.fs-0-50 {
    font-size: 0.5rem !important;
}

.fs-0-75 {
    font-size: 0.75rem !important;
}

.fs-1 {
    font-size: 1rem !important;
}

.fs-1-25 {
    font-size: 1.25rem !important;
}

.fs-1-50 {
    font-size: 1.5rem !important;
}

.fs-1-75 {
    font-size: 1.75rem !important;
}

.fs-2 {
    font-size: 2rem !important;
}

.fs-2-25 {
    font-size: 2.25rem !important;
}

.fs-2-50 {
    font-size: 2.5rem !important;
}

.fs-2-75 {
    font-size: 2.75rem !important;
}

.fs-3 {
    font-size: 3rem !important;
}

.fs-3-25 {
    font-size: 3.25rem !important;
}

.fs-3-50 {
    font-size: 3.5rem !important;
}

.fs-3-75 {
    font-size: 3.75rem !important;
}

.fs-4 {
    font-size: 4rem !important;
}

.fs-4-25 {
    font-size: 4.25rem !important;
}

.fs-4-50 {
    font-size: 4.5rem !important;
}

.fs-4-75 {
    font-size: 4.75rem !important;
}

.fs-5 {
    font-size: 5rem !important;
}

.fs-5-25 {
    font-size: 5.25rem !important;
}

.fs-5-50 {
    font-size: 5.5rem !important;
}

.fs-5-75 {
    font-size: 5.75rem !important;
}

.fw-100 {
    font-weight: 100 !important;
}

.fw-200 {
    font-weight: 200 !important;
}

.fw-300 {
    font-weight: 300 !important;
}

.fw-400 {
    font-weight: 400 !important;
}

.fw-500 {
    font-weight: 500 !important;
}

.fw-600 {
    font-weight: 600 !important;
}

.fw-700 {
    font-weight: 700 !important;
}

.fw-800 {
    font-weight: 800 !important;
}

.fw-900 {
    font-weight: 900 !important;
}

.fw-lighter {
    font-weight: lighter !important;
}

.fw-normal {
    font-weight: normal !important;
}

.fw-bold {
    font-weight: bold !important;
}

.fw-heavy {
    font-weight: heavy !important;
}

.text-truncate {
    overflow     : hidden;
    text-overflow: ellipsis;
    white-space  : nowrap;
}

.text-truncate.text-truncate-2l {
    white-space       : initial;
    display           : -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.text-truncate.text-truncate-3l {
    white-space       : initial;
    display           : -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.center {
    display  : block;
    position : absolute;
    top      : 50%;
    left     : 50%;
    transform: translate(-50%, -50%);
}

.object {
    display   : block;
    max-width : 100%;
    max-height: 100%;
    width     : auto;
    height    : auto;
    object-fit: contain;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-zoom-in {
    cursor: zoom-in;
}

.cursor-zoom-out {
    cursor: zoom-out;
}

table>thead>tr>th.center,
table>tbody>tr>th.center,
table>tbody>tr>td.center {
    text-align: center;
}

table>thead>tr>th.middle,
table>tbody>tr>th.middle,
table>tbody>tr>td.middle {
    vertical-align: middle;
}

.overflow-auto {
    overflow: auto !important;
    overflow: overlay !important;
}

.overflow-auto-x {
    overflow-y: hidden !important;
    overflow-x: auto !important;
    overflow-x: overlay !important;
}

.overflow-auto-y {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overflow-y: overlay !important;
}
