.s2 {
    width: 250px;
    height: 100vh;
    position: fixed;
    z-index: 99999;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    transition: transform 500ms, box-shadow 500ms;
    box-shadow: rgba(13, 38, 76, 0.19) 0px 9px 20px;
}

.s2.closed {
    transform: translateX(-250px);
        box-shadow: none;
}

.s2-bt {
    border-top: 1px solid rgb(218, 218, 218);
}

.s2-t-btn {
    height: 35px;
}

.s2-middle {
    vertical-align: middle;
}

.s2-truncate {
    text-overflow: clip;
}

.s2-t {
    overflow-y: scroll;
    width: 100%;
    flex-grow: 1;
}

/* -------------------------------------------------------------------------- */
/*                              SIDEBAR ELEMENTS                              */
/* -------------------------------------------------------------------------- */

.s2-icon {
    font-size: 22px;
    margin-left: 11px;
    margin-right: 15px;
}

.s2-avatar {
    border-radius: 9999px;
    overflow: hidden;
    height: 25px;
    width: 25px;
    margin-right: 13px;
    margin-left: 10px;
}

.s2-icon-item {
    display: flex;
    align-items: center;
    margin: 4px;
    border-radius: 6px;
    padding: 4px;
    cursor: pointer;
}

.s2-icon-item:hover {
    background-color: rgb(239, 239, 239);
}

.green-section .s2-icon {
    color: rgb(34, 139, 34);
}

.purple-section .s2-icon {
    color: rgb(92, 46, 166);
}

.orange-section .s2-icon {
    color: rgb(255, 140, 0);
}

/* -------------------------------------------------------------------------- */
/*                                  SCROLLBAR                                 */
/* -------------------------------------------------------------------------- */

/* Hide scrollbar for Chrome, Safari and Opera */
.s2-t::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.s2-t {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* -------------------------------------------------------------------------- */
/*                                    FONTS                                   */
/* -------------------------------------------------------------------------- */

.font-md {
    font-size: 16px;
    font-weight: 500;
}

.font-sm {
    font-size: 14px;
}

/* -------------------------------------------------------------------------- */
/*                                   MARGINS                                  */
/* -------------------------------------------------------------------------- */

.s2-mt-sm {
    margin-top: 4px;
}

.s2-mb-sm {
    margin-bottom: 4px;
}

.s2-pt-lg {
    padding-top: 8px;
}

.s2-mb-lg {
    margin-bottom: 8px;
}

.s2-py-lg {
    padding-bottom: 8px;
    padding-top: 8px;
}

.s2-mt-lg {
    margin-top: 8px;
}

.s2-ml-lg {
    margin-left: 8px;
}

.s2-ml-xl {
    margin-left: 16px;
}

.s2-mb-xl {
    margin-bottom: 16px;
}

.s2-mt-xl {
    margin-top: 16px;
}

/* -------------------------------------------------------------------------- */
/*                                    FLEX                                    */
/* -------------------------------------------------------------------------- */

.flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-grow {
    flex-grow: 1;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-none {
    flex: none;
}

.justify-start {
    justify-content: flex-start;
}

.justify-around {
    justify-content: space-around;
}

.justify-stretch {
    justify-content: stretch;
}

.basis-1-2	{
    flex-basis: 50%;
}

.justify-items-center {
    justify-items: center;
}

.items-center {
    align-items: center;
}

/* -------------------------------------------------------------------------- */
/*                                   OTHERS                                   */
/* -------------------------------------------------------------------------- */

.w-auto {
    width: auto;
}

.s2-tr {
    top: 5px;
    right: 20px;
}

.s2-py-10 {
    padding: 10px 0 10px 0;
}

.h-nav-logo {
    height: 30px;
}

/* -------------------------------------------------------------------------- */
/*                             OPEN CLOSE SIDEBAR                             */
/* -------------------------------------------------------------------------- */

#hamburger {
    position: relative;
    margin-left: 0px;
    padding-left: 20px;
}

#outside-sidebar {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 99998;
    background-color: rgb(0, 0, 0);

    visibility: hidden;
    opacity: 0;
    transition: visibility 0ms 500ms, opacity 500ms;
}

#outside-sidebar.outside-visible {
    visibility: visible;
    opacity: 0.25;
    transition-delay: 0ms;
}