@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300&display=swap');

body
{
    width: 100%;
    height: auto!important;
    background: linear-gradient(to top right, rgba(53, 79, 166, 1),rgba(53, 79, 166, 1));
}

.online-circle
{
    color: #0f880f;
    padding: 5px;
}
.offline-circle {
    color: #ccc;
    padding: 10px;
}

.users-container
{
    max-width: 80%;
    height: auto;
    color: #fff;
    position: relative;
    margin: 20px auto;
    font-weight: 200;
    border-radius: 5px;
    padding: 0px;
    position: relative;
    top: -10px;
}
@media(max-width:768px)
{
    .users-container { min-width: 100%; }
    .users-container .logged-in-user { width: 100%; }
}
.users-container .logged-in-user
{
    width: 80%;
    display: flex;
    padding: 12px 12px 20px 12px;
    flex-wrap: wrap;
    position: relative;
    background: #334a96;
    font-weight: 200;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a7e;
    margin: 0px auto;
}
.users-container .logged-in-user .user-img
{
    width: 150px;
    height: 150px;
    border-radius: 50%;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a4f;
}
.users-container .logged-in-user .user-action
{
    position: absolute;
    left: 110px;
    top: 140px;
}
.users-container .logged-in-user .user-action .button
{
    background: transparent;
    outline: none;
    border: none;
}
.users-container .logged-in-user .user-action .button .uploadicon
{
    padding: 10px;
    background: rgba(0,0,0,.8) !important;
    color: #fff;
    border-radius: 50%;
    outline: none;
    border: none;
}
.users-container .logged-in-user .user-info
{
    position: absolute;
    right: 10px;
}
.users-container .logged-in-user .user-info .username
{
    font-weight: 360;
    font-size: 25px;
    float: right;
}
.users-container .logged-in-user .logout-cont
{
    width: 150px;
    position: absolute;
    bottom: 25px;
    right: 10px;
}
.users-container .logged-in-user .logout-cont a
{
    padding: 10px 20px;
    width: 120px;
    border: none;
    outline: none;
    background: #354fa6;
    font-weight: 400;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a7e;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
}

.users-container .logged-in-user .logout-cont a:hover { box-shadow: -3px -3px 15px #172657, -3px -3px 50px #060b1b69; }

.users-container .users-fields
{
    width: 30%;
    height: auto;
    display: flex;
    padding: 12px;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 20px;
    background: #334a96;
    font-weight: 200;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a80;
    margin: 0px auto;
}
@media(max-width:768px)
{
    .users-container .users-fields { width: 90% }
}

.users-container .users-fields .searchbar
{
    position: relative;
    width: 100%;
    padding-left: 12px;
}
.users-container .users-fields .searchbar .form
{
    position: absolute;
    top: -5px;
    right: 0px;
    width: 100%;
    padding-left: 10px;
}
.users-container .users-fields .searchbar .form input
{
    width: calc(100% - 63px);
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    background: #334a96;
    border: 0px;
    border-bottom: 4px solid #3a4d94;
    border-radius: 0px;
    outline: none;
    padding: 5px ;
    color: #fff;
    visibility: hidden;
}
.users-container .users-fields .searchbar input:focus { border-bottom: 3px solid #263a7c; }
.users-container .users-fields .searchbar .form input::placeholder { color:#fff; }

.users-container .users-fields .searchbar button
{
    padding: 5px;
    width: 50px;
    border: none;
    outline: none;
    background: #354fa6;
    font-weight: 400;
    box-shadow: -3px -3px 15px #284194, -3px -3px 50px #13245a5b;
    color: #fff;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    text-decoration: none;
    font-size: 25px;
}

.users-container .users-container-section
{
   width: 100%;
   height: auto;
}
.users-container .users-container-section::-webkit-scrollbar
{
    width: 3px;
    background: #264094;
    display: none;
}

.users-container .users-cont
{
   width:100%;
   height:auto;

}

.users-container .btn-block { margin: 0.25rem; width: auto }
.users-container .btn:hover { outline: 0; box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25); }

.users-container .users-cont .box
{
   position: relative;
    width: 100%;
    height: auto;
    padding: 4px;
    display: flex;
    flex-direction: column;
}

.users-container .users-cont .box .user-img
{
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.users-container .users-cont .box .user-info
{
   position: absolute;
   lefT: 45px;
   color: #fff;
   display: flex;
   flex-direction: row-reverse;
}

.users-container .users-cont .box .user-info .username
{
   font-size: 15px;
   font-weight: 300;
   float: right;
   padding-left: 6px;
   padding-right: 6px;
}
.users-container .users-cont .box .user-info .online-circle { padding: 5px;}

/* Form upload modal */

/* The Modal (background) */
.modal
{
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Modal Content/Box */

/* The Close Button */
.modal .close
{
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.modal .close:hover, .close:focus
{
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/* Modal Header */

/* Modal Body */
.modal .modal-body
{
    padding: 2px 16px;
    text-align: center;
}
/* Modal Footer */
.modal .modal-footer
{
  padding: 2px 16px;
  background-color: #223883;
  color: white;
}

/* Modal Content */
.modal .modal-content
{
  position: relative;
  top: 20%;

  background-color: #fefefe;
  margin: 0px auto;
  padding: 0;
  border: 1px solid #888;
  width: 350px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  animation-name: animatetop;
  animation-duration: 0.4s
}
.modal .modal-content .modal-body .img-preview
{
    width: 150px;
    height: 150px;
    margin: 0 auto;
}
.modal .modal-content .modal-body .img-preview div
{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: none;
}
.modal .modal-content .modal-body #file_upload_btn
{
    border: none;
    outline: none;
    background: #122153;
    padding: 5px 7px;
    border-radius: 6px;
    color: #fff;
    box-shadow: 0px 0px 3px #000;
}
.modal .modal-content .modal-body #file_upload_btn ion-icon
{
    float: left;
    padding-top: 5px;
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0}
  to {top: 20%; opacity: 1}
}

/* ---------- Index ---------- */
.header
{
    height: 90vh;
    display: flex;
    color: #fff;
}

.header .main-cont
{
    display: flex;
    padding: 20px;
    margin: 0px auto !important;
    align-items: center;
}
.header .main-cont .text { text-align: center; margin-right: 5em }
.header .main-cont .text h2 { font-weight: 200; }

.header .main-cont .text button
{
    padding: 10px 20px;
    border: none;
    outline: none;
    background: #354fa6;
    font-weight: 200;
    box-shadow: -3px -3px 15px #284194, -3px -3px 50px #13235a;
    color: #fff;
    border-radius: 5px;
}
.header .main-cont .text button:hover { transform:scale(1.1); }

.header .main-cont .img-cont, .img-cont
{
    width: 200px;
    height: 200px;
    margin: 12px;
    background: #334a96;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a85;
}

@media(max-width:768px)
{
    .header .main-cont .img-cont { position: absolute; top:150px; }
}

/* ------------------ Section (login / signup) ------------- */
.section
{
    width: 100%;
    height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to top right, rgba(53, 79, 166, 1),rgba(53, 79, 166, 1));
    color: #fff;
    position: relative;
}

.section .img-cont {
    position: absolute;
    right:0;
    top: 0;
    z-index: 0;
}
.section .forms { z-index: 10 }

.section .signup-form
{
    width: 350px;
    height: auto;
    background: #3952a5;
    font-weight: 200;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #13245a85;
    padding: 20px;
    border-radius: 5px;
}
.section .signup-form form .file-btn
{
    padding: 4px 8px;
    background: #435fbd;
    font-weight: 200;
    box-shadow: -3px -3px 15px #2c469b07, -3px -3px 50px #0d183bd2;
    border-radius: 5px;
    border: none;
    outline: none;
    color: #fff;
}
.section .signup-form form .file-btn:hover { transition: .2s; padding: 4px 9px; }
.section .signup-form form .head { height: 50px; }
.section .signup-form form .head h3 { font-size: 20px; font-weight:250; }

/* -------------------------- Chat ------------------------ */
.chat-section
{
    width: 100%;
    height: 100vh;
    background: #13235a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px;
    color: #fff;
}

.chat-section .chat-card
{
    width: 70vw;
    height: 85vh;
    box-shadow: -2px -1px 5px #284194;
    padding: 0px;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    background: #e2dede;
}

@media(max-width:768px)
{
    .chat-section .chat-card { min-width: 100% !important; height:100vh;  }
    .chat-section .chat-msg  { height: 82vh !important;  }
}

.chat-section .chat-card-head
{
    padding: 10px;
    background: #435fbd;
}
.chat-section .chat-card-head .back ion-icon { color: #fff; }

.chat-section .chat-card-head .user-info
{
    display: flex;
    line-height: 50px;
}
.chat-section .chat-card-head .user-info a
{
    font-size: 25px;
    line-height: 50px;
}

.chat-section .chat-card-head .user-info .user-img
{
    width: 50px;
    height: 50px;
    background: #13235a;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
}

.chat-section .chat-card-head .user-info .username_status { position: relative; }

.chat-section .chat-card-head .user-info .username
{
    word-wrap: break-word;
    font-size: 25px;
    line-height: 50px;
}
.chat-section .chat-card-head .user-info .username_status ion-icon
{
    position: absolute;
    top: 13px;
}

.chat-section .chat-msg-ovl
{
    width: 100%;
    height: 100%;
    text-align: center;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    background: #fff;
    color: #000;
}

.chat-section .chat-msg
{
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    transition: .2s;
    padding: 10px;
    position: relative;
}
.chat-section .chat-body
{
    height: calc(100% - 74px - 70px);
    position: relative;
}

.chat-section .chat-body:hover > .chat-msg::-webkit-scrollbar { visibility: visible; transition: 1s; }
.chat-section .chat-msg::-webkit-scrollbar       { width: 10px; }
.chat-section .chat-msg::-webkit-scrollbar-track { background: #777; }
.chat-section .chat-msg::-webkit-scrollbar-thumb { border-radius: 20px; background:#13235a; }

.chat-section .chat-msg p
{
    padding: 5px;
    font-size: 15px;
    box-shadow: -3px 3px 20px #9b9898;

}
.chat-section .chat-msg .incoming
{
    display: flex;
    width: 100%;
}

.chat-section .chat-msg .outgoing
{
    display: flex;
    width: 100%;
}
.chat-section .chat-msg .incoming .details p
{
    background: #1b2b5fc0;
    border-radius: 5px 0px 5px 5px;
    word-wrap: break-word;
}

.chat-section .chat-msg .incoming .details
{
    margin-left: auto;
    max-width: 350px;
    align-items: flex-end;
    position: relative;
}

.chat-section .chat-msg .msg_date { font-size: 10px; color: gray; padding: 5px 0 2px}
.chat-section .chat-msg .outgoing .details
{
    margin-right: auto;
    max-width: 80%;
    align-items: flex-end;
    position: relative;
}

.chat-section .chat-msg .incoming .details .user-img
{
    width: 20px;
    height: 20px;
    background: #3d4e85;
    border-radius: 50%;
    position: absolute;
    left: -25px;
}
.chat-section .chat-msg .outgoing .details p
{
    background: #4256b1;
    border-radius: 0px 5px 5px 5px;
}

.chat-section .chat-footer
{
    width: 100%;
    background: #0d1b4b;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 3;
}
.chat-section .chat-footer form      { width: 100%; }
.chat-section .chat-footer .send-btn { width: 112px; padding: 6px; }


@media(max-width:768px)
{
    .chat-footer .mt-1 { margin-top: 0!important }
    .chat-footer .pt-1 { padding-top: 0!important }
}