/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: lightgray;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

:root {
  --header-color         : #b4b4b4;
  --msg-ans-color        : #333;
  --msg-ans-bg-color     : transparent;
  --msg-ans-border-color : #a02337;
  --msg-qns-color        : #333;
  --msg-qns-bg-color     : #b4b4b4;
  --msg-time-color       : #212529;
  --input-qns-color      : #333;
  --input-qns-bg-color   : #b4b4b4;
  --send-btn-color       : #a02337;
  --user-info-text-color : #333;
  --setup-text-color     : #333;
  --content-font-size    : 15px;
  --option-font-size     : 14px;
  --setup-font-size      : 20px;
  --user-info-font-size  : 35px;
  --msg-time-font-size   : 10px;
}

a {
  color      : #004487 !important;
  font-weight: 600;
}

a:hover {
  color: #004487 !important;
}

* {
  -webkit-font-smoothing : antialiased !important;
  -moz-osx-font-smoothing: grayscale
}

body,
html {
  height           : 100%;
  margin           : 0;
  background-color : transparent !important;
  line-height      : 1.0 !important;
  font-size        : var(--content-font-size);
  font-family      : Roboto,Arial,Microsoft JhengHei,Helvetica,"sans-serif";
  overflow         : hidden;
}

.logo {
  height          : calc(100% - 20px);
  width           : calc(100% - 20px);
  border-radius   : 15px !important;
  border          : 0px !important;
  background-color: transparent !important;
  position        : absolute !important;
  margin-bottom   : 20px;
  margin-right    : 20px;
  z-index         : 100;
  bottom          : 0px;
  right           : 0px;
}

.card {
  height          : calc(95% - 20px);
  max-height      : calc(95% - 20px);
  width           : 450px;
  border-radius   : 15px !important;
  border-width    : 0px !important;
  background-color: white !important;
  position        : absolute !important;
  margin-bottom   : 10px;
  margin-right    : 10px;
  visibility      : hidden;
  bottom          : 0px;
  right           : 0px;
}

.msg_card_body {
  overflow-y: auto;
}

.card-header {
  border-radius   : 15px 15px 0 0 !important;
  border-bottom   : 0 !important;
  background-color: var(--header-color) !important;
}

.card-footer {
  border-radius: 0 0 15px 15px !important;
  border-top   : 0 !important;
}

.type_msg {
  background-color: var(--input-qns-bg-color) !important;
  border          : 0 !important;
  color           : var(--input-qns-color) !important;
  height          : 60px !important;
  overflow-y      : auto;
}

.type_msg:focus {
  box-shadow: none !important;
  outline   : 0px !important;
}

.send_btn {
  border-radius   : 0 15px 15px 0 !important;
  background-color: var(--send-btn-color) !important;
  border          : 0 !important;
  color           : white !important;
  cursor          : pointer;
}

.user_img_logo {
  height             : 100%;
  width              : 100%;
  border             : 0px;
  user-drag          : none;
  user-select        : none;
  -moz-user-select   : none;
  -webkit-user-drag  : none;
  -webkit-user-select: none;
  -ms-user-select    : none;
}

.user_img {
  height             : 70px;
  width              : 68px;
  border             : 2px solid var(--header-color);
  padding-left       : 0px;
  padding-bottom     : 0px;
  user-drag          : none;
  user-select        : none;
  -moz-user-select   : none;
  -webkit-user-drag  : none;
  -webkit-user-select: none;
  -ms-user-select    : none;
}

.user_img_msg {
  height             : 52px;
  width              : 55px;
  border             : 0px;
  padding-left       : 3px;
  user-drag          : none;
  user-select        : none;
  -moz-user-select   : none;
  -webkit-user-drag  : none;
  -webkit-user-select: none;
  -ms-user-select    : none;
}

.img_cont {
  position           : relative;
  height             : 70px;
  width              : 70px;
  user-drag          : none;
  user-select        : none;
  -moz-user-select   : none;
  -webkit-user-drag  : none;
  -webkit-user-select: none;
  -ms-user-select    : none;
}

.img_cont_msg {
  height             : 50px;
  width              : 50px;
  user-drag          : none;
  user-select        : none;
  -moz-user-select   : none;
  -webkit-user-drag  : none;
  -webkit-user-select: none;
  -ms-user-select    : none;
  margin-left        : -10px;
}

.online_icon {
  position        : absolute;
  height          : 12px;
  width           : 12px;
  background-color: #4cd137;
  border-radius   : 50%;
  bottom          : 0.2em;
  right           : 0.4em;
  border          : 1.5px solid white;
}

.user_info {
  margin-top   : auto;
  margin-bottom: auto;
  margin-left  : 15px;
}

.user_info span {
  font-size: var(--user-info-font-size);
  color    : var(--user-info-text-color);
  position : absolute;
  bottom   : 15px;
}

.setup {
  margin-left: 20px;
  margin-top : 5px;
}

.setup span {
  color       : var(--setup-text-color);
  font-size   : var(--setup-font-size);
  cursor      : pointer;
  margin-right: 5px;
}

.promotion_container {
  margin-bottom   : auto;
  margin-left     : 0px;
  border-radius   : 10px;
  color           : white;
  background-color: var(--msg-ans-border-color);
  border          : 1px solid var(--msg-ans-border-color);
  padding-top     : 8px;
  padding-bottom  : 16px;
  padding-left    : 6px;
  padding-right   : 6px;
  position        : relative;
  max-width       : 100%;
  width           : 100%;
  display         : flex;
  flex-direction  : column;
  justify-content : center;
}

.msg_cotainer {
  margin-top      : auto;
  margin-bottom   : auto;
  margin-left     : 10px;
  border-radius   : 10px;
  color           : var(--msg-ans-color);
  background-color: var(--msg-ans-bg-color);
  border          : 1px solid var(--msg-ans-border-color);
  padding-top     : 8px;
  padding-bottom  : 4px;
  padding-left    : 6px;
  padding-right   : 6px;
  position        : relative;
  max-width       : 90%;
  /*overflow        : hidden;*/
}

.msg_cotainer a {
  font-weight: 800;
  font-size  : var(--option-font-size);
}

.msg_cotainer > img {
  max-width:  330px;
}

.msg_option_container {
  margin-top   : 5px;
  margin-bottom: auto;
  margin-left  : 0px;
  position     : relative;
  display      : flex;
  flex-wrap    : wrap
}

.msg_option_active {
  border       : 1px solid;
  border-color : var(--msg-ans-border-color);
  border-radius: 16px;
  color        : var(--msg-ans-color);
  padding      : 4px 6px;
  cursor       : pointer;
  align-items  : center;
  margin-right : 3px;
  margin-bottom: 5px;
  font-weight  : 600;
  font-size    : var(--option-font-size);
  white-space  : nowrap;
}

.msg_option_active:hover {
  color           : white;
  background-color: var(--msg-ans-color);
}

.msg_option_highlight {
  font-weight: bold;
  background-color: lightcoral;
  color: #ffffff !important;
  border-color: transparent !important;
}

.msg_option_inactive {
  border       : 1px solid;
  border-color : var(--msg-ans-border-color);
  border-radius: 16px;
  color        : var(--msg-ans-color);
  padding      : 4px 6px;
  cursor       : pointer;
  align-items  : center;
  margin-right : 3px;
  margin-bottom: 5px;
  font-weight  : 600;
  font-size    : var(--option-font-size);
  white-space  : nowrap;
}

.msg_cotainer_send {
  margin-top      : auto;
  margin-bottom   : auto;
  margin-right    : 10px;
  border-radius   : 10px;
  color           : var(--msg-qns-color);
  background-color: var(--msg-qns-bg-color);
  padding         : 10px;
  position        : relative;
  min-width       : 42px;
}

.msg_cotainer ul {
  margin-bottom: 0px;
}

.msg_time {
  position : absolute;
  left     : 0;
  bottom   : -15px;
  color    : var(--msg-time-color);
  font-size: var(--msg-time-font-size);
}

.msg_time_send {
  position : absolute;
  right    : 0;
  bottom   : -15px;
  color    : var(--msg-time-color);
  font-size: 10px;
}

.msg_head {
  position: relative;
}

#input_msg::placeholder {
  color: black;
}

.msg_rating {
  padding: 5px 0px;
}

.msg_rating_star {
  font-size: 25px;
}

.btn_rating_submit {
  border: 0px;
  border-radius: 10px;
  color: white;
  background-color: var(--msg-ans-border-color);
  padding: 5px 12px;
  font-size: 13px;
}

.checked {
  color: orange;
}

/* Style for the unchecked star */
.unchecked {
  color: lightgray;
  font-family: 'Font Awesome 5 Free';
}

/* Use the far class to style the unchecked star */
.unchecked:before {
  content: "\f005";
  font-weight: 400;
}

.noselect {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select  : none;
  /* Safari */
  -khtml-user-select   : none;
  /* Konqueror HTML */
  -moz-user-select     : none;
  /* Old versions of Firefox */
  -ms-user-select      : none;
  /* Internet Explorer/Edge */
  user-select          : none;
  /* Non-prefixed version, currently
     supported by Chrome, Edge, Opera and Firefox */
}

.lds-ellipsis {
  display : inline-block;
  position: relative;
  width   : 60px;
  height  : 14px;
}

.lds-ellipsis div {
  position                 : absolute;
  top                      : 7px;
  width                    : 7px;
  height                   : 7px;
  border-radius            : 50%;
  background               : #333;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
  left     : 5px;
  animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
  left     : 0px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
  left     : 20px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
  left     : 35px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(24px, 0);
  }
}

/* Smartphone Device - Responsive */
@media only screen and (max-width: 480px) {
  :root {
    --content-font-size  : 11px;
    --option-font-size   : 10px;
    --setup-font-size    : 16px;
    --user-info-font-size: 25px;
  }
  .img_cont {
    height: 40px;
    width:  40px;
    padding-top: 5px;
  }
  .online_icon {
    bottom: -0.5em;
    right: 0.0em;
  }
  .user_img {
    height: 39px;
    width:  40px;
  }
  .user_info span {
    bottom: 5px;
  }
  .setup span {
    margin-right: 3px;
    font-size: 16px;
  }
  .logo {
    height          : calc(100% - 5px);
    width           : calc(100% - 5px);
    margin-right    : 5px;
    margin-bottom   : 5px;
  }
  .card {
    height          : calc(100% - 10px);
    max-height      : calc(100% - 10px);
    width           : calc(100% - 10px);
    margin-right    : 5px;
    margin-bottom   : 5px;
  }
  .type_msg {
    height : 30px !important;
  }
  .input-group-text {
    padding: .75rem 1.0rem .375rem .75rem !important;
  }
  .send_btn {
    border-radius: 0 10px 10px 0 !important;
  }
}

/* Smartphone Device (width: 480px - 896px) */
@media only screen and (min-width: 480px) and (max-width: 896px), 
       only screen and (min-device-pixel-ratio: 2) and (min-width: 480px) and (max-width: 1200px) {
  :root {
    --content-font-size  : 32px;
    --option-font-size   : 30px;
    --setup-font-size    : 40px;
    --user-info-font-size: 60px;
    --msg-time-font-size : 20px;
  }
  .img_cont {
    padding-top: 10px;
  }
  .user_info span {
    bottom: 15px;
    font-size: 50px;
  }
  .img_cont_msg {
    height: 100px;
    width:  100px;
  }
  .user_img_msg {
    height: 97px;
    width:  100px;
  }
  .setup {
    margin-top: 0px;
  }
  .setup span {
    margin-right: 8px;
    font-size: 28px;
  }
  .online_icon {
    bottom: -0.4em;
    right: 0.2em;
    height: 16px;
    width: 16px;
  }
  .logo {
    height          : calc(100% - 12.5px);
    width           : calc(100% - 12.5px);
    margin-right    : 12.5px;
    margin-bottom   : 12.5px;
  }
  .card {
    height          : calc(100% - 25px);
    max-height      : calc(100% - 25px);
    width           : calc(100% - 25px);
    margin-right    : 12.5px;
    margin-bottom   : 12.5px;
  }
  .msg_time {
    bottom: -30px;
  }
  .msg_cotainer {
    padding-top: 20px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .msg_cotainer > img {
    max-width: 600px !important;
  }
  .msg_option_container {
    margin-top: 12.5px;
  }
  .msg_option_active {
    padding: 8px 10px;
    margin-right: 7.5px;
    margin-bottom: 10px;
  }
  .msg_option_highlight {
    font-weight: bold;
    background-color: lightcoral;
    color: #ffffff !important;
    border-color: transparent !important;
  }
  .msg_option_inactive {
    padding: 8px 10px;
    margin-right: 7.5px;
    margin-bottom: 10px;
  }
  .type_msg {
    height : 80px !important;
  }
  .input-group-text {
    padding: .375rem 1.0rem .375rem .75rem !important;
  }
}

