:root {
  --nsd-chat-button-primary: #F09737;
  --nsd-icon-size-desktop: 35px;
  --nsd-icon-size-mobile: 30px;
  --nsd-chat-button-desktop-bottom: 100px;
  --nsd-chat-button-mobile-bottom: 30px;
}

#nsd-button-wrapper {
  position: fixed;
  bottom: var(--nsd-chat-button-desktop-bottom);
  right: 20px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: end;
  width: 300px;
}

.chat-button {
  display: flex;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid #363636;
  box-shadow: 2px 3px 0px var(--nsd-chat-button-primary);
  border-radius: 24px;
  padding: 10px 16px;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500;
  font-size: 14px;
  color: #202020;
  cursor: pointer;
  text-decoration: none;
  overflow: hidden;
  white-space: nowrap;
  max-width: 70px;
  transition: all 0.4s ease-in-out;
}

.chat-button-label {
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}

.chat-button.expand {
  max-width: 300px;
}

.chat-button.expand .chat-button-label {
  opacity: 1;
  width: max-content;
  margin-right: 10px;
}

.chat-button:hover {
  max-width: 300px;
}

.chat-button:hover .chat-button-label {
  opacity: 1;
  width: max-content;
  margin-right: 10px;
}

.chat-button img {
  width: var(--nsd-icon-size-desktop);
  height: var(--nsd-icon-size-desktop);
  flex-shrink: 0;
  -webkit-animation: animationPhoneRinging 1.2s infinite ease-in-out;
  animation: animationPhoneRinging 1.2s infinite ease-in-out;
}

@-webkit-keyframes animationPhoneRinging {
  0% {
    -webkit-transform: rotate(0) skew(1deg);
    transform: rotate(0) skew(1deg)
  }
  10% {
    -webkit-transform: rotate(-25deg) skew(1deg);
    transform: rotate(-25deg) skew(1deg);
  }
  20% {
    -webkit-transform: rotate(25deg) skew(1deg);
    transform: rotate(25deg) skew(1deg);
  }
  30% {
    -webkit-transform: rotate(-25deg) skew(1deg);
    transform: rotate(-25deg) skew(1deg);
  }
  40% {
    -webkit-transform: rotate(25deg) skew(1deg);
    transform: rotate(25deg) skew(1deg);
  }
  50% {
    -webkit-transform: rotate(0)  skew(1deg);
    transform: rotate(0deg) skew(1deg);
  }
  100% {
    -webkit-transform: rotate(0) skew(1deg);
    transform: rotate(0) skew(1deg);
  }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  .chat-button img {
    width: var(--nsd-icon-size-mobile);
    height: var(--nsd-icon-size-mobile);
  }

  #nsd-button-wrapper {
    right: 15px;
    bottom: var(--nsd-chat-button-mobile-bottom);
  }
}