.chatbubble {
  position: fixed;
  z-index: 3;
  color: white;
  bottom: 0;
  right: 30px;
  transform: translateY(450px);
  transition: transform .3s ease-in-out;
}

.chattablecaption {
  caption-side: top; 
  font-family: var(--web-font);
  padding-top: 0px;
  padding-bottom: 0px;
}

.chatbubble.opened {
  transform: translateY(0)
}

.chatbubble .unexpanded {
  display: block;
  background-color: var(--basic-color);
  padding: 10px 15px 10px;
  position: relative;
  cursor: pointer;
  width: 350px;
  border-radius: 10px 10px 0 0;
}

.chatbubble .expanded {
  height: 450px;
  width: 350px;
  background-color: #fff;
  text-align: left;
  padding: 10px;
  color: #333;
  text-shadow: none;
  font-size: 14px;
}

.chatbubble .chat-window {
  overflow: auto;
  border: 1px solid gray;
}

.chatbubble .loader-wrapper {
  margin-top: 50px;
  text-align: center;
}

.chatbubble .messages {
  display: none;
  list-style: none;
  margin: 0 0 50px;
  padding: 0;
}

.chatbubble .messages li {
  width: 85%;
  float: left;
  padding: 10px;
  border-radius: 5px 5px 5px 0;
  font-size: 14px;
  background: #c9f1e6;
  margin-bottom: 10px;
}

.chatbubble .messages li .sender {
  font-weight: 600;
}

.chatbubble .messages li.support {
  float: right;
  text-align: right;
  color: #fff;
  background-color: #e33d3d;
  border-radius: 5px 5px 0 5px;
}

.chatbubble .chats .input {
  position: absolute;
  bottom: 0;
  padding: 10px;
  left: 0;
  width: 100%;
  background: #f0f0f0;
  display: none;
}

.chatbubble .chats .input .form-group {
  width: 80%;
}

.chatbubble .chats .input input {
  width: 100%;
}

.chatbubble .chats .input button {
  width: 20%;
}

.chatbubble .chats {
  display: none;
  height: 100%;
}

.chatbubble .login-screen {
  margin-top: 20px;
  display: none;
}

.chatbubble .chats.active,
.chatbubble .login-screen.active {
  display: block;
}

/* Loader Credit: https://codepen.io/ashmind/pen/zqaqpB */

.chatbubble .loader {
  color: #e23e3e;
  font-family: var(--web-font);
  font-weight: bold;
  font-size: 10vh;
  opacity: 0.8;
}

.chatbubble .loader span {
  display: inline-block;
  -webkit-animation: pulse 0.4s alternate infinite ease-in-out;
  animation: pulse 0.4s alternate infinite ease-in-out;
}

.chatbubble .loader span:nth-child(odd) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@-webkit-keyframes pulse {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.5;
  }
}

@keyframes pulse {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: 0.5;
  }
}

@media screen and (max-width: 768px) {
  .chatbubble.opened{
    right:10px;
  }
  .unexpanded, .expanded{
    width:100% !important;
  }

  .chatbubble .expanded {
    height: 400px !important;
  }

  .chatbubble.opened {
    transform: translateY(-60px);
  }
}

@media screen and (max-height: 560px) {
  .chatbubble{
    z-index:1030;
  }
}

.cx-side-button-group {
  top:40% !important;
}
