    html {
        box-sizing: border-box;
    }
    
     :root {
        --white: #fff;
        --black: #000;
        --bg: #f8f8f8;
        --grey: #999;
        --dark: #1a1a1a;
        --light: #e6e6e6;
        --wrapper: 1000px;
        --blue: #00b0ff;
        --selected-chat: #e6e6e6;
    }
    
    body {
        margin: 0px;
        max-height: 99vh;
        font-family: 'Source Sans Pro', sans-serif;
        font-weight: 400;
        overscroll-behavior: none;
    }
    
    *,
    *:before,
    *:after {
        box-sizing: border-box;
        ;
    }
    
    *:focus {
        outline: none;
    }
    
    ul {
        list-style: none;
        margin-bottom: 100px !important;
    }
    
    #back-icon {
        display: none;
    }
    
    .page {
        display: flex;
        margin: 0 auto;
        min-height: 100vh;
        height: 100%;
    }
    
    .primary {
        flex: 1 1 66.6%;
        background: #ffffff;
        max-width: 80vw;
    }
    
    .secondary {
        flex: 0 0 20vw;
        background: #fff;
    }
    /* .online {
    background-color: green;
}

.offline {
    background-color: red;
    color: white;
} */
    
    .image-chat {
        max-width: 100%;
        max-height: 100%;
        cursor: pointer;
    }
    
    .flex-container {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        padding: 10px;
        background-color: white;
        max-height: calc(100vh - 180px);
        height: calc(100vh - 180px);
        overflow-y: scroll;
        box-shadow: 0px 3px 10px -7px #6a6a6a;
    }
    
    .hide-scroll {
        overflow-y: hidden;
    }
    
    .me {
        align-self: flex-end;
        background-color: #229640;
        color: white;
    }
    
    .you {
        align-self: flex-start;
        background-color: #f1f0f0;
        color: black;
    }
    
    .deleted {
        background-color: #72727242;
        color: #959595;
    }
    
    .bubble {
        font-family: 'Roboto', sans-serif;
        font-size: 15px;
        position: relative;
        display: inline-block;
        clear: both;
        margin-bottom: 8px;
        padding: 10px 14px;
        vertical-align: top;
        border-radius: 16px;
        max-width: 60%;
        margin: 10px;
        overflow-wrap: break-word;
        animation-duration: 0.3s;
        transition-timing-function: cubic-bezier(0.4, -0.04, 1, 1);
    }
    
    .bubble a {
        color: black;
    }
    
    .time-span {
        font-size: 10px;
    }
    
    .bubble:before {
        position: absolute;
        display: block;
        width: 8px;
        height: 6px;
        content: '\00a0';
        -webkit-transform: rotate(29deg) skew(-35deg);
        /* transform: rotate(29deg) skew(-35deg); */
    }
    
    .groupName {
        width: 30px;
        text-align: center;
        background: #fdcdcd;
        height: 30px;
        display: inline-block;
        border-radius: 55px;
        margin-top: 15px;
        font-size: 14px;
    }
    
    .mb-20 {
        margin-bottom: 20px;
    }
    
    .mb-40 {
        margin-bottom: 40px;
    }
    
    .ml-0 {
        margin-left: 0px;
    }
    
    .ml-10 {
        margin-left: 10px;
    }
    
    .right {
        float: right;
    }
    
    .clearfix {
        overflow: auto;
    }
    
    .clearfix::after {
        content: "";
        clear: both;
        display: table;
    }
    
    .action-text-buton {
        background: linear-gradient(to right, #4A00E0, #8E2DE2);
        /* background: -webkit-linear-gradient(#eee, #333); */
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    
    .new-input {
        float: left;
        display: block;
        width: 100%;
        height: 42px;
        padding: 0 15px;
        border: 1px solid var(--light);
        background-color: #ffffff;
        border-radius: 10px;
        font-family: 'Source Sans Pro', sans-serif;
        font-weight: 400;
    }
    
    .button-normal {
        border-style: solid;
        -webkit-border-radius: 10px;
        background-color: #ffffff;
        color: #ffffff;
        transition: background-color 300ms ease-out;
        margin-top: 0px;
        font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-seri;
        padding: 11px 20px;
        font-size: medium;
        cursor: pointer;
        border-width: 0px;
    }
    
    .gr1 {
        background: #8E2DE2;
        background: -webkit-linear-gradient(to right, #4A00E0, #8E2DE2);
        background: linear-gradient(to right, #4A00E0, #8E2DE2);
    }
    
    .gr2 {
        background: #8E2DE2;
        background: -webkit-linear-gradient(to right, #7c7c7c, #5d5d5d);
        background: linear-gradient(to right, #7c7c7c, #5d5d5d);
    }
    
    .groupName p {
        padding: 0px;
        margin: 0px;
        margin-top: 5px;
    }
    
    .close-btn {
        padding-left: 10px;
        padding-right: 10px;
        margin-top: -10px;
        padding-bottom: 10px;
    }
    
    .info-button {
        position: fixed;
        padding: 10 14px;
        top: 0px;
        background: #ffffff;
        /* border-color: red; */
        border: 1px solid #909090;
        color: #20942c;
        border-radius: 55px;
        right: 0;
        margin-top: 13px !important;
    }
    
    .bubble.me:before {
        right: -3px;
        background-color: #229640;
    }
    
    .bubble.you:before {
        left: -3px;
        background-color: #f1f0f0;
    }
    
    .chat-message {
        padding-top: 20px;
        max-width: 100vw;
    }
    
    .chat-textarea {
        width: 100%;
        border: none;
        padding: 10px 20px;
        font: 14px/22px "Lato", Arial, sans-serif;
        margin-bottom: 10px;
        border-radius: 5px;
        resize: none;
        background-color: #f1f0f0;
    }
    
    .chat-message-button {
        float: right;
        color: #94C2ED;
        font-size: 16px;
        text-transform: uppercase;
        border: none;
        cursor: pointer;
        font-weight: bold;
    }
    
    .new-message-container {
        display: flex;
        flex-direction: row;
        margin: 0 8px 0 12px;
        overflow: hidden;
        position: relative;
    }
    
    .send-item {
        align-items: flex-end;
        display: flex;
        flex-shrink: 0;
        padding-bottom: 8px;
    }
    
    .chat-input {
        display: flex;
        /* align-self: center; */
        /* flex: 1 1 auto; */
        margin: 8px 8px 8px 0;
        margin-top: 36px;
        cursor: pointer;
    }
    
    .chat-container {
        display: flex;
        flex-direction: column;
    }
    
    .flex-container-image {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
    }
    
    .tag-item {
        margin: 10px;
        padding: 5px 15px;
        font-size: 16px;
        border-radius: 10px;
        background: #efefef;
    }
    
    .tag-item span {
        margin-left: 5px;
        margin-right: 10px;
        color: red;
        font-weight: 900;
        cursor: pointer;
    }
    
    .modal-div-inside p {
        font-weight: 900;
    }
    
    .flex-cell {
        flex: 0 0 20%;
        display: flex;
        justify-content: center;
        align-items: stretch;
        padding: 0.3rem;
        box-sizing: border-box;
    }
    
    .modal-div-inside {
        width: 50%;
        margin: 45px auto;
        background: white;
        overflow-y: scroll;
        max-height: 80%;
        max-height: 80vh;
        padding: 15px 25px 25px;
    }
    
    .flex-cell:before {
        content: '';
        display: table;
        padding-top: 100%;
    }
    
    .flex-item-i {
        flex-grow: 1;
        border: 1px solid rgb(209, 209, 209);
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 15px;
    }
    
    .flex-item-i img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 15px;
        cursor: pointer;
    }
    
    .flex-item-i a {
        font-size: 18px;
        font-weight: 800;
    }
    
    .soubory-flex {
        flex: 0 0 50%;
        height: 80px;
    }
    
    .soubory-item {
        justify-content: left;
    }
    
    .soubory-item div {
        color: black;
        margin-left: 20px;
    }
    
    .soubory-item div a {
        color: black;
    }
    
    .soubory-item span {
        display: block;
        color: rgb(89, 89, 89);
        font-size: 18px;
    }
    /* .people-list {
    width: 260px;
    float: left;
    margin: 0 auto;
    background: #444753;
    border-radius: 5px;
}

.people-list .search {
    padding: 20px;
}

.people-list input {
    border-radius: 3px;
    border: none;
    padding: 14px;
    color: white;
    background: #6A6C75;
    width: 90%;
    font-size: 14px;
}

.people-list .fa-search {
    position: relative;
    left: -25px;
}

.people-list ul {
    padding: 20px;
    height: 770px;
}

.people-list ul li {
    padding-bottom: 20px;
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.people-list .about {
    padding-left: 8px;
}

.people-list .about {
    float: left;
    margin-top: 8px;
}

.people-list .status {
    color: #92959E;
}

.online,
.offline,
.me {
    margin-right: 3px;
    font-size: 10px;
}



.people-list img {
    float: left;
} */
    
    .left {
        border: 1px solid #e6e6e6;
        background-color: var(--white);
        max-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        border-top: 0px;
    }
    
    .left .top {
        position: relative;
        width: 100%;
        height: 116px;
        padding: 29px;
        padding-top: 15px;
        padding-bottom: 5px;
    }
    
    .left input {
        float: left;
        width: 70%;
        height: 42px;
        padding: 0 15px;
        border: 1px solid var(--light);
        background-color: #eceff1;
        border-radius: 21px;
        font-family: 'Source Sans Pro', sans-serif;
        font-weight: 400;
    }
    
    .left a.search {
        display: block;
        float: right;
        width: 42px;
        height: 42px;
        margin-left: 10px;
        border: 1px solid var(--light);
        background-color: #496d7d;
        background-repeat: no-repeat;
        background-position: top 12px left 14px;
        border-radius: 50%;
    }
    
    .left .top:after {
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        width: 90%;
        height: 1px;
        content: '';
        background-color: var(--light);
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
    
    .left .people {
        margin-left: -1px;
        border-right: 1px solid var(--light);
        border-left: 1px solid var(--light);
        width: calc(100% + 2px);
        padding: 0px;
        margin: 0px;
    }
    
    .left .people .person {
        position: relative;
        width: 100%;
        padding: 12px 10% 16px;
        cursor: pointer;
        background-color: var(--white);
        font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-serif;
        padding-top: 5px;
        padding-bottom: 4px;
    }
    
    .left .people .person img {
        float: left;
        width: 50px;
        height: 50px;
        margin-right: 12px;
        border-radius: 50%;
        display: none;
    }
    
    .left .people .person .stav-kontaktu {
        float: left;
        width: 20px;
        height: 20px;
        margin-right: 12px;
        border-radius: 50%;
        margin-top: 5px;
    }
    
    .left .people .person .name {
        font-size: 16px;
        line-height: 22px;
        color: var(--dark);
        /* font-family: 'Source Sans Pro', sans-serif; */
        font-weight: 600;
    }
    
    .left .people .person .time {
        font-size: 11px;
        position: absolute;
        right: 4%;
        padding: 0 0 5px 5px;
        color: var(--grey);
        background-color: var(--white);
    }
    
    .preview {
        font-size: 14px;
        display: inline-block;
        overflow: hidden !important;
        width: 70%;
        white-space: nowrap;
        text-overflow: ellipsis;
        color: var(--grey);
    }
    
    .left .people .person:after {
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        width: 90%;
        height: 1px;
        content: '';
        background-color: var(--light);
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
    
    .left .people .person.active,
    .left .people .person:hover {
        margin-top: -1px;
        margin-left: -1px;
        /* padding-top: 13px; */
        /* border: 0; */
        background-color: var(--selected-chat);
        width: calc(100% + 2px);
        padding-left: calc(10% + 1px);
    }
    
    .left .people .person.active span,
    .left .people .person:hover span {
        color: var(--black);
        background: transparent;
    }
    
    .left .people .person.active:after,
    .left .people .person:hover:after {
        display: none;
    }
    
    .online div {
        border: 2px solid rgb(58, 111, 37);
        background-color: #64b53b;
    }
    
    .offline div {
        border: 2px solid #ff1e00;
        background-color: #ff9b8e;
    }
    
    .idle div {
        border: 2px solid rgb(255, 195, 22);
        background-color: #ffd500;
    }
    
    .phone div {
        border: 2px solid #004dff;
        background-color: #3d78e6;
    }
    
    .new-message-name {
        font-weight: 700 !important;
    }
    
    .new-message-text {
        font-weight: 700;
        color: black;
    }
    
    .conversation-start {
        position: relative;
        width: 100%;
        margin-bottom: 27px;
        text-align: center;
    }
    
    .conversation-start span {
        font-size: 14px;
        display: inline-block;
        color: var(--grey);
    }
    
    .conversation-start span:before,
    .conversation-start span:after {
        position: absolute;
        top: 10px;
        display: inline-block;
        width: 30%;
        height: 1px;
        content: '';
        background-color: var(--light);
    }
    
    .conversation-start span:before {
        left: 0;
    }
    
    .conversation-start span:after {
        right: 0;
    }
    
    .hyphenate {
        /* Careful, this breaks the word wherever it is without a hyphen */
        overflow-wrap: break-word;
        word-wrap: break-word;
        /* Adds a hyphen where the word breaks */
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        -moz-hyphens: auto;
        hyphens: auto;
    }
    
    .title-panel {
        display: inline;
        border-bottom: 1px solid #e6e6e6;
    }
    
    .button {
        border-style: solid;
        border-width: 2px;
        cursor: pointer;
        font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
        font-weight: normal;
        line-height: normal;
        margin: 0 0 1.25rem;
        position: relative;
        text-decoration: none;
        text-align: center;
        -webkit-appearance: none;
        -webkit-border-radius: 5px;
        display: inline-block;
        padding-top: 10px;
        padding-right: 2rem;
        padding-bottom: 10px;
        padding-left: 2rem;
        font-size: 1rem;
        background-color: #00b0ff;
        border-color: #0b94c2;
        color: #fff;
        transition: background-color 300ms ease-out;
    }
    
    #logoutBtn {
        border-style: solid;
        border-width: 1px;
        position: relative;
        -webkit-border-radius: 5px;
        background-color: #ffffff;
        border-color: #000000;
        color: #000;
        transition: background-color 300ms ease-out;
        margin-top: 5px;
        padding: 10px 20px;
        cursor: pointer;
    }
    
    #logoutBtn:hover {
        background-color: #f1f1f1;
    }
    
    #newGroupBtn {
        border-style: solid;
        /* display: block; */
        border-width: 1px;
        position: relative;
        /* -webkit-border-radius: 191px; */
        background-color: #ffffff;
        font-weight: 500;
        border-color: #ffffff;
        color: #5f5f5f;
        transition: background-color 300ms ease-out;
        margin-top: 15px;
        font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-seri;
        /* padding: 10px 20px; */
        font-size: larger;
        cursor: pointer;
    }
    
    .btnText {
        border-style: solid;
        /* display: block; */
        border-width: 1px;
        position: relative;
        /* -webkit-border-radius: 191px; */
        background-color: #ffffff;
        font-weight: 500;
        border-color: #ffffff;
        color: #5f5f5f;
        transition: background-color 300ms ease-out;
        margin-top: 15px;
        font-family: Helvetica Neue, Segoe UI, Helvetica, Arial, sans-seri;
        /* padding: 10px 20px; */
        font-size: larger;
        cursor: pointer;
    }
    
    .horLine {
        width: 100%;
        margin-top: 10px;
        height: 1px;
        color: rebeccapurple;
        background: #e4e4e4;
    }
    
    #userName {
        float: left;
        padding-left: 30px;
    }
    
    #userInfo:after {
        content: "";
        display: table;
        clear: both;
    }
    
    #login input[type="text"],
    input[type="password"] {
        width: 100%;
        height: 42px;
        padding: 0 15px;
        outline: none;
        border: 1px solid var(--light);
        background-color: #eceff1;
        border-radius: 8px;
        font-family: 'Source Sans Pro', sans-serif;
        font-weight: 400;
    }
    
    @supports (zoom:2) {
        input[type="radio"],
        input[type=checkbox] {
            zoom: 1.7;
            margin: 0;
            margin-top: 3px;
        }
    }
    
    @supports not (zoom:2) {
        input[type="radio"],
        input[type=checkbox] {
            transform: scale(2);
            margin: 15px;
        }
    }
    
    label {
        /* fix vertical align issues */
        display: inline-block;
        vertical-align: top;
        margin-top: 10px;
    }
    
    .label-chb {
        /* fix vertical align issues */
        display: inline-block;
        vertical-align: top;
        margin-top: 5px;
    }
    /*** POPUP ***/
    
    [data-popup] {
        display: none;
        position: fixed;
        z-index: 9999;
        height: 100vh;
        /* left: 0; */
        /* margin: 45px auto; */
        width: 100%;
        /* min-width: 200px; */
        /* padding: 15px 25px 25px; */
        background: #989898c2;
    }
    
    [data-popup] h2 span {
        float: right;
    }
    
    [data-popup] h1 span {
        float: right;
    }
    
    .close-modal {
        cursor: pointer;
        font-size: 33px;
    }
    
    .title-panel i {
        float: left;
        margin-right: 10px;
        margin-top: 23px;
        margin-left: 15px;
        margin-right: 15px;
        color: #000;
        cursor: pointer;
    }
    
    .side-mobile-unactive {
        flex: 0 0 0px !important;
    }
    
    .chat-mobile-active {
        transition: width 4s;
        max-width: 100vw !important;
    }
    
    .chat-mobile-unactive {
        transition: width 1s;
        width: 0vw !important;
        /* display: none !important; */
    }
    
    .side-mobile-active {
        transition: width 0.3s;
        flex: 0 0 100vw !important;
    }
    
    .flex-container-mobile {
        transition: width 0.3s;
        max-height: calc(100vh - 207px) !important;
        height: calc(100vh - 207px) !important;
    }
    
    .message-to-send-mobile {
        transition: height 0.3s;
        height: 60px !important;
    }
    
    .left-mobile {
        max-height: 100%;
    }
    
    .chat-soubor {
        text-decoration: none;
    }
    
    .me .chat-soubor {
        color: white;
    }
    
    .you .chat-soubor {
        color: black;
    }
    
    .zobr {
        border: 0px !important;
    }
    
    .odeslano {
        position: absolute;
        right: 15px;
        bottom: 10px;
        color: rgb(0, 0, 0);
    }
    
    .zobrazeno {
        position: absolute;
        right: 15px;
        bottom: 10px;
        color: rgb(0, 0, 0);
    }
    
    .scroll-container {
        /* overflow-y: scroll;
        max-height: 600px; */
    }
    
    .scroll-popup {
        overflow-y: scroll;
        max-height: 90%;
    }
    /* Extra small devices (phones, 600px and down) */
    /* Small devices (portrait tablets and large phones, 600px and up) */
    
    @media screen and (max-width: 1400px) {
        .left .people .person {
            width: 300px;
        }
        .secondary {
            flex: 0 0 300px;
        }
        .flex-container {
            width: calc(100vw - 300px);
        }
    }
    
    @media screen and (max-width: 880px) {
        /* .left .people .person {
            height: 90px;
            width: 90px;
        }
        .secondary {
            flex: 0 0 90px;
        }
        .preview,
        .top,
        .time,
        .stav-kontaktu {
            display: none;
        }
        .left .people .person.active,
        .left .people .person:hover {
            width: 90px;
            padding-left: 10px;
        } */
        /* .left .people .person .name {
            font-size: 14px;
            white-space: nowrap; 
            text-overflow: ellipsis;
        } */
        .left .people .person {
            width: 100%;
        }
        .bubble {
            max-width: 80vw;
        }
        .flex-container {
            width: calc(100vw - 300px);
        }
        /* .online {
            border-left: 5px solid rgb(56, 160, 15);
        }
        .offline {
            border-left: 5px solid rgb(219, 51, 39);
        } */
        [data-popup] {
            width: 100%;
            height: 100%;
            margin: 0px;
        }
        .scroll-popup {
            max-height: 100%;
        }
        .modal-div-inside {
            margin: 0;
            height: 100%;
            max-height: 100vh;
            width: 100%;
        }
    }
    
    @media only screen and (max-width: 600px) {
        .primary {
            max-width: 75vw;
            /* max-height: 50vh; */
        }
        html {
            /* max-height: 50vh; */
        }
        .flex-container {
            width: 100vw;
        }
        /* #message-to-send {
            height: 60px;
        } */
        .bubble {
            font-size: 15px;
        }
        .chat-input {
            margin-top: 20px;
        }
        #back-icon {
            display: inline;
        }
        .new-message-container {
            /* position: absolute;
            bottom: 0px;
            width: 95%; */
        }
        .flex-cell {
            flex: 0 0 33%;
        }
        .soubory-flex {
            flex: 0 0 100%;
        }
    }
    
    @media only screen and (min-width: 768px) {}
    
    html {
        width: 100%;
    }
    
    body {
        height: 100em;
        width: 100vw;
        position: fixed;
        /* prevent overscroll bounce*/
        -webkit-overflow-scrolling: touch;
        /* iOS velocity scrolling */
    }