* {
  box-sizing: border-box;
}
.floating-chat * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
   
}
.floating-chat {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  
  position: fixed;
  bottom: 30px;
  right: 20px;
  width: 40px;
  height: 40px;
  transform: translateY(90px);
  transition: all 400ms ease-out;
  border-radius: 50%;
  z-index: 999;
  box-shadow: 0px 15px 20px rgb(0 0 0 / 10%);
  opacity: 0;  
  background: -webkit-linear-gradient(-45deg, #FAFAFA 0, #FAFAFA 25%, #FAFAFA 50%, #FAFAFA 75%, #FAFAFA 100%);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.floating-chat .chat-bot-icon{
  bottom: -4px;
  position: fixed;
  right: 0px;   
}

.floating-chat.enter:hover {  
  opacity: 1;
}
.floating-chat.enter {
  transform: translateY(0);
  opacity: 1;  
}

.floating-chat.expand {
  width: 350px;  
  max-width: 100%;    
  height: 65vh;  
  cursor: auto;
  opacity: 1;
  z-index: 9999; 
  bottom: 30px;
  border-radius: 10px 10px 10px 10px;  
}
 
.floating-chat :focus {
  outline: 0;  
}

.floating-chat .btn-minimizwe {
  background: transparent;
  border: 0;
  color: white;    
  cursor: pointer;
}

.floating-chat .chat {
  display: flex;
  flex-direction: column;
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  transition: all 400ms ease-out;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.floating-chat .chat.enter {
  opacity: 1;
  border-radius: 0;  
  width: auto;
  height: auto;
}

.floating-chat .chat .header {
  flex-shrink: 0; 
  display: flex;
  border-radius: 8px 8px 0 0;
  background-image: linear-gradient(to right, #68a3fc 0%, #37cac7 97%);
  padding: 15px;
  color: white;
}

.floating-chat .chat .header .title {
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0 5px;
}
.floating-chat .chat .header button {
  flex-shrink: 0;
 }

.floating-chat .chat .footer { 
  padding-top: 10px;
  max-height: 90px;
  background-color: transparent;
  position: fixed;
  bottom: 0;  
  width: 100%;
}

.floating-chat .chat .footer .text-box {
  border-radius: 3px;
  background-color: #fff;
  min-height: 100%;
  width: 100%;
  margin-right: 5px;
  color: #636366;
  overflow-y: auto;
  padding:0px;
  border-radius: 0;
  font-size: 12px;
  border: #636366 1px solid;
}
.floating-chat .chat .footer .text-box::placeholder {
  color: #636366;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
 color: #636366;
}

::-ms-input-placeholder { /* Microsoft Edge */
 color: #636366;
}

.floating-chat .chat .footer .text-box::-webkit-scrollbar {
  width: 5px;
}
.floating-chat .chat .footer .text-box::-webkit-scrollbar-track {
  border-radius: 5px;
  background-color: rgba(25, 147, 147, 0.1);
}
.floating-chat .chat .footer .text-box::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(25, 147, 147, 0.2);
}

.chat-reple-message {
  width: fit-content;    
  border-radius: 20px 20px 20px 0;
  background-color: rgba(87, 138, 213, 0.05);
  border: none;
  display: inline-block;
  padding: 10px 20px 10px 20px;
  margin-bottom: 15px;
  margin-top: 5px;
  font-size: 14px;
  color: #636366;
}

.chat-bubble button:focus{
  outline: none !important;
}
.floating-chat .chat-body .chat-bubble.you {
  color: #636366;
  align-self: flex-start;
  display: inline-flex;
  border-radius: 30px;
  border: solid 1px #578ad5;
  padding-left: 10px;
  max-width: 100%;
  word-break: break-all;
  background: transparent;
}


.floating-chat .chat-body .chat-bubble.me {
  background-color: #578ad5;
  color: #fff;
  border-radius: 20px 20px 0px 20px;
  float: right;
  align-self: flex-end;
  display: table;
  margin-top: 15px;
  margin-bottom: 10px;
  max-width: 100%;  
  word-break: break-all;
}
.chat-bubble.you .button.btn-chat {
  background-color: transparent;
  text-shadow: none;
  border: none;
  font-size: 13px;
  color: #636366;
  font-weight: normal;
  white-space: normal;
  word-wrap: break-word;
  cursor: pointer;
}

.btn-chat{
  color: #636366;
  align-self: flex-start;
  display: inline-flex;
  border-radius: 30px;
  border: solid 1px #578ad5;
  padding: 5px 15px;
  max-width: 100%;
  word-break: break-all;
  margin-bottom: 10px;
  background-color: transparent;
  text-shadow: none;
  font-size: 14px;  
  font-weight: normal;
  white-space: normal;
}

.floating-chat .chat-body .chat-bubble {
  font-size: 14px;
  padding: 5px 15px;
  box-shadow: none;
  display: inline-block;
  clear: both;
  margin-bottom: 10px;
  box-shadow: 0 5px 5px rgb(0 0 0 / 2%);
}

.floating-chat .chat-body {
  padding: 10px 20px; 
  min-height: 59vh;
  max-height: 59vh;


  background: #FAFAFA;
  width: 100%;
  margin-bottom: 0px;
  /* border-radius: 0; */
}

.floating-chat .chat-input {
  width: 100%;
  position: relative;
  margin-bottom: -5px;
}

.floating-chat .chat-input input {
  width: 100%;
  background: #ffffff;
  padding: 15px 70px 15px 15px;
  border-radius: 0;
  resize: none;
  border-width: 0;
  border-style: solid;
  border-color: #f8f8f8;
  color: #a1a1a1;
  font-weight: normal;
  font-size: 14px; 
  line-height: normal;
  height: 66px;
}

.floating-chat .chat-input input::placeholder{
  font-size: 14px;
  /* color: #a1a1a1; */
  color: #cac7c7 !important;
}


.floating-chat .chat-input .input-action-icon {
  width: 61px;
  height: 61px;
  white-space: nowrap;
  position: absolute;
  z-index: 1;
  top: 15px;
  right: 20px;
  text-align: right;
}

.floating-chat .chat-input .input-action-icon a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  float: right;    
  cursor: pointer;
  background-image: linear-gradient(to right, #68a3fc 0%, #37cac7 97%);
  border-radius: 50%;
  margin-top: -2px;
}

.floating-chat .chat-input .input-action-icon a svg {
  height: 17px;
  width: 17px;
  color: #a9a9a9;
}

img.img-send {
  width: 15px;
  height: 15px;
  background-image: linear-gradient(to right, #68a3fc 0%, #37cac7 97%);
  border-radius: 50%;
}
.chatbox-scroller {
  overflow: auto;
  min-height: 58vh;
  max-height: 58vh;
  margin-right: -20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column-reverse;
  overflow-x: hidden;
}
  
.scrollbar-thin,
::-webkit-scrollbar-thumb {
    background: #d4d4d4;    
    border-radius: 10px;
}

::-webkit-scrollbar {
    width: 5px;
}



.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 15px;
  background-image: linear-gradient(to right, #68a3fc 0%, #37cac7 97%);
}

.floating-chat .chat-reple-message a{
  /* color: #636366; */
  color: #007bff;
}

.floating-chat .chat-reple-message a:hover{
  color: #0056b3;
}

.dot:nth-last-child(1) {
  animation: fallingAnimation 1s 0.3s linear infinite;
}
.dot:nth-last-child(2) {
  animation: fallingAnimation 1s 0.2s linear infinite;
}
.dot:nth-last-child(3) {
  animation: fallingAnimation 1s 0.1s linear infinite;
}

@keyframes fallingAnimation {
  0% {
    transform: translate(0,-15px);
    opacity:0;
  }
  25%, 50%, 75% {
    transform: translate(0,0);
    opacity:1;
  }
  100% {
    transform: translate(0,15px);
    opacity:0;

  }
}

@media screen and (max-width: 480px) {
  .floating-chat {  
   
   padding-left: 15px;
   padding-right: 15px;
   
  }
}

@media screen and (max-width: 400px) {
.floating-chat.expand {
  width: 90%;
  /*min-height: 440px;
  height: 500px;
*/
}
.floating-chat .chat-body {
  padding: 10px 10px;

}

}