/* Customer Service Widget Styles */
.toast {
  position: fixed;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #242629;
  color: #fff;
  padding: 10px 20px;
  font-size: 16px;
  opacity: 0.8;
  border-radius: 3px;
  display: none;
  width: fit-content;
}
.csw-container-placeholder {
	margin-bottom: 0;
}

.csw-container {
/*   display: none; */
  position: fixed;
  right: 20px;
  bottom: 20%;
  z-index: 9999;
    display: flex;
  flex-direction: column;
  align-items: center;
}

.csw-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.csw-button-container {
  position: relative;
}

.csw-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 62px;
  padding: 10px 0;
  position: relative;
}
.csw-button.csw-wechat-btn {
  padding: 5px 0;
}

.csw-button span {
  font-size: 12px;
  margin-top: 4px;
  white-space: nowrap;
}

/* Icons */
.csw-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.csw-wechat-icon {
  display: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMmVtIiBoZWlnaHQ9IjJlbSIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJvYWMtdGV4dC0xNiBvYWMtc2hyaW5rLTAgb2FjLW1iLTEgbGc6b2FjLWhpZGRlbiI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjExIDExLjVhNi42ODcgNi42ODcgMCAwIDEtLjQwNi0uMDA3bC0zLjA4OCAyLjAzOC4xNzMtMi44ODRDMS4xMTMgOS42NzIgMCA3Ljk1NSAwIDYgMCAyLjk2MiAyLjY4Ni41IDYgLjVjMy4xMzcgMCA1LjcxMSAyLjIwNiA1Ljk3NyA1LjAxOWE2LjEyNyA2LjEyNyAwIDAgMC0xLjk5My4xNzNDOS44MDcgMy45MzcgOC4xMjQgMi41IDYgMi41IDMuNzU0IDIuNSAyIDQuMTA4IDIgNmMwIDEuMTcxLjY3IDIuMjY0IDEuNzk1IDIuOTE4LjMyNi4xOS41ODUuNDY0Ljc1Ny43ODRsLjA1Ny4xMTguMTQ4LS4wODhhMiAyIDAgMCAxIC44NTUtLjIzN2guMThMNiA5LjVsLjExLS4wMDFhNC41ODMgNC41ODMgMCAwIDAgMCAyWiIgZmlsbD0iIzAwNjRGRiI+PC9wYXRoPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYgMTAuNWMwLTIuMjEtMi4wMTUtNC00LjUtNFM3IDguMjkgNyAxMC41czIuMDE1IDQgNC41IDRsLjIzNC0uMDA1IDEuOTQ5IDEuMjg2LS4xMDMtMS43MzNDMTUuMDE4IDEzLjM4IDE2IDEyLjA0MiAxNiAxMC41Wm0tNyAwYzAtMS4wNDkgMS4wNy0yIDIuNS0yczIuNS45NTEgMi41IDJjMCAuNjk0LS40NjcgMS4zNjUtMS4yNjIgMS43MzRsLS4xNDUuMDc1YTIuMDAyIDIuMDAyIDAgMCAwLS4yNjYuMThsLS4wODQuMDczLS4wNjQtLjAxN2ExLjk5OCAxLjk5OCAwIDAgMC0uNTM2LS4wNDhsLS4xNDMuMDAzYy0xLjQzIDAtMi41LS45NTEtMi41LTJaIiBmaWxsPSIjM0RGIj48L3BhdGg+PC9zdmc+");
}
@media (max-width: 768px) {
  .csw-wechat-icon {
    display: block;
  }
}

.csw-service-icon {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMmVtIiBoZWlnaHQ9IjJlbSIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjkwOSAxNS40MTlhNC45ODggNC45ODggMCAwIDEtMy42My0xLjU2IDEgMSAwIDAgMSAxLjQ1Mi0xLjM3NyAyLjk4OCAyLjk4OCAwIDAgMCAyLjE3OC45MzdjLjgzNiAwIDEuNjE1LS4zNDIgMi4xNzgtLjkzN2ExIDEgMCAwIDEgMS40NTIgMS4zNzUgNC45ODggNC45ODggMCAwIDEtMy42MyAxLjU2MloiIGZpbGw9IiMzREYiPjwvcGF0aD48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgMTFWOWE4IDggMCAwIDEgMTUuOTk2LS4yNDlsLjAwNC4yNVYxNGExIDEgMCAwIDEtMSAxaC0yYTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMWgxYTYgNiAwIDAgMC0xMS45OTYtLjIyNEwyIDloMWExIDEgMCAwIDEgMSAxdjRhMSAxIDAgMCAxLTEgMUgxYTEgMSAwIDAgMS0xLTF2LTNaIiBmaWxsPSIjMDA2NEZGIj48L3BhdGg+PC9zdmc+");
}

.csw-phone-icon {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMmVtIiBoZWlnaHQ9IjJlbSIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciID48cGF0aCBkPSJNOS41MDggMTUuMzA2Yy0xLjcxNC0uNjA4LTMuNTU2LTEuODQxLTUuMTg2LTMuNDcyLTEuNjMtMS42My0yLjg2NC0zLjQ3Mi0zLjQ3Mi01LjE4Ni0uNjQzLTEuODEzLS41MTctMy4yOTEuMzU1LTQuMTY0bC43MDktLjcwOGExLjAwMyAxLjAwMyAwIDAgMSAxLjQxNiAwbDIuNTUgMi41NWExLjAwMyAxLjAwMyAwIDAgMSAwIDEuNDE3bC0uNzA4LjcwOGMtLjE3Ni4xNzYtLjE2My42MDUuMDM2IDEuMTIxLjI0OC42NDUuNzM4IDEuMzUzIDEuMzggMS45OTYuNjQzLjY0MiAxLjM1MiAxLjEzMiAxLjk5NiAxLjM4LjUxNi4xOTkuOTQ1LjIxMiAxLjEyMS4wMzZsLjcwOS0uNzA4YTEuMDAzIDEuMDAzIDAgMCAxIDEuNDE2IDBsMi41NSAyLjU1YTEuMDAzIDEuMDAzIDAgMCAxIDAgMS40MTdsLS43MDguNzA4Yy0uODcyLjg3Mi0yLjM1Ljk5OC00LjE2NC4zNTVaIiBmaWxsPSIjMDA2NEZGIj48L3BhdGg+PHBhdGggZD0iTTEzLjA2NCAyLjc0NWE0Ljk4OCA0Ljk4OCAwIDAgMSAxLjQ2MiAzLjY3IDEgMSAwIDAgMS0xLjk5OS0uMDUzIDIuOTg4IDIuOTg4IDAgMCAwLS44NzctMi4yMDMgMi45ODggMi45ODggMCAwIDAtMi4yMDQtLjg3NyAxIDEgMCAxIDEtLjA1NC0yIDQuOTg4IDQuOTg4IDAgMCAxIDMuNjcyIDEuNDYzWiIgZmlsbD0iIzNERiI+PC9wYXRoPjwvc3ZnPg==");
}

.csw-demo-icon {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGNsaXAtcGF0aD0idXJsKCNzY2hlZHVsZV9kZW1vX2ljb25fc3ZnX19hKSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik04LjUgMTAuNDAyYTEgMSAwIDAgMSAxLjM2Ni4zNjZsMiAzLjQ2NGExIDEgMCAxIDEtMS43MzIgMWwtMi0zLjQ2NGExIDEgMCAwIDEgLjM2Ni0xLjM2NloiIGZpbGw9IiMwMDY0RkYiPjwvcGF0aD48cGF0aCBkPSJNNy41IDEwLjQwMmExIDEgMCAwIDEgLjM2NiAxLjM2NmwtMiAzLjQ2NGExIDEgMCAxIDEtMS43MzItMWwyLTMuNDY0YTEgMSAwIDAgMSAxLjM2Ni0uMzY2WiIgZmlsbD0iIzAwNjRGRiI+PC9wYXRoPjxwYXRoIGQ9Ik0xNSAxYTEgMSAwIDAgMSAxIDF2OWExIDEgMCAwIDEtMSAxSDFhMSAxIDAgMCAxLTEtMVYyYTEgMSAwIDAgMSAxLTFoMTRabS0xIDJIMnY3aDEyVjNaIiBmaWxsPSIjMDA2NEZGIj48L3BhdGg+PHBhdGggZD0iTTkuNTkzIDYuMjQ2YS4zLjMgMCAwIDEgMCAuNTA4bC0zLjEzNCAxLjk2QS4zLjMgMCAwIDEgNiA4LjQ1OFY0LjU0YS4zLjMgMCAwIDEgLjQ1OS0uMjU0bDMuMTM0IDEuOTU5WiIgZmlsbD0iIzNERiI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9InNjaGVkdWxlX2RlbW9faWNvbl9zdmdfX2EiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTZ2MTZIMHoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=");
}

.csw-phone-icon-large {
  display: inline-block;
  width: 46px;
  height: 46px;
  margin-right: 10px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgdmlld0JveD0iMCAwIDQ2IDQ2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8Y2lyY2xlIGN4PSIyMyIgY3k9IjIzIiByPSIyMyIgZmlsbD0iIzAwNjRGRiIvPgo8bWFzayBpZD0ibWFzazBfMjMyOV85MTU1MiIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjQ2Ij4KPGNpcmNsZSBjeD0iMjMiIGN5PSIyMyIgcj0iMjMiIGZpbGw9IndoaXRlIi8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF8yMzI5XzkxNTUyKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIgMjMuOTQ3NlYyMy40ODcxQzEyIDE2LjA1MyAxNy45MjY1IDkuOTM0NzQgMjUgMTAuMDAwNVYyMi41MDAzQzI1IDIzLjA5MjQgMjQuNDkwMiAyMy41NTI5IDIzLjkxNjcgMjMuNDg3MUMyMy42NjE4IDIzLjQyMTMgMjMuMzQzMSAyMy4yMjM5IDIzLjIxNTcgMjIuOTYwOEwyMi4wNjg2IDIwLjkyMTNDMjEuMTEyNyAyMS4yNTAzIDIwLjIyMDYgMjEuNzEwOCAxOS40NTU5IDIyLjMwMjlMMjAuMTU2OSAyMy44ODE4QzIwLjQxMTggMjQuNDczOSAyMC4yMjA2IDI1LjI2MzQgMTkuNjQ3MSAyNS41OTIzQzE5LjI2NDcgMjUuODU1NSAxOC44MTg2IDI1Ljg1NTUgMTguNDM2MyAyNS42NTgxTDE3LjAzNDMgMjUuMDAwMkMxNi42NTIgMjUuNTkyMyAxNi4zOTcxIDI2LjI1MDIgMTYuMTQyMiAyNi45MDgxTDE3LjAzNDMgMjcuNTY1OUMxNy40ODA0IDI3Ljg5NDkgMTcuNzM1MyAyOC40ODcgMTcuNTQ0MSAyOS4wNzkxQzE3LjQxNjcgMjkuNTM5NiAxNy4wMzQzIDI5Ljg2ODUgMTYuNTg4MiAyOS45MzQzTDE1LjY5NjEgMzAuMTMxN1YzMC40NjA2QzE1LjcxNjcgMzAuNjMwNiAxNS43MzA2IDMwLjc5MzcgMTUuNzQ0MyAzMC45NTQzQzE1Ljc3MzEgMzEuMjkxMiAxNS44MDEgMzEuNjE3NCAxNS44ODczIDMxLjk3MzdIMTYuMzMzM0MxNi43Nzk0IDMxLjk3MzcgMTcuMjI1NSAzMi4zNjg1IDE3LjI4OTIgMzIuODk0OEMxNy4zNTI5IDMzLjYxODUgMTcuNjA3OCAzNC4zNDIxIDE3Ljg2MjcgMzVDMTcuNzk5IDM0LjkzNDIgMTcuNzE5NCAzNC44ODQ5IDE3LjYzOTcgMzQuODM1NUMxNy41NiAzNC43ODYyIDE3LjQ4MDQgMzQuNzM2OCAxNy40MTY3IDM0LjY3MTFDMTcuMzUyOSAzNC42MDUzIDE3LjI4OTIgMzQuNTM5NSAxNy4xNjE4IDM0LjQ3MzdDMTcuMDk4IDM0LjQwNzkgMTcuMDM0MyAzNC4zNTg2IDE2Ljk3MDYgMzQuMzA5MkMxNi45MDY5IDM0LjI1OTkgMTYuODQzMSAzNC4yMTA1IDE2Ljc3OTQgMzQuMTQ0OEMxNi43NDc1IDM0LjExMTkgMTYuNjk5OCAzNC4wNzkgMTYuNjUyIDM0LjA0NjFDMTYuNjA0MiAzNC4wMTMyIDE2LjU1NjQgMzMuOTgwMyAxNi41MjQ1IDMzLjk0NzRMMTYuMzMzMyAzMy43NUwxNi4yMDU5IDMzLjYxODVDMTYuMDc4NCAzMy41NTI3IDE2LjAxNDcgMzMuNDg2OSAxNS45NTEgMzMuNDIxMUwxNS42OTYxIDMzLjE1NzlDMTUuNjY0MiAzMy4wOTIxIDE1LjYxNjQgMzMuMDQyOCAxNS41Njg2IDMyLjk5MzVDMTUuNTIwOCAzMi45NDQxIDE1LjQ3MyAzMi44OTQ4IDE1LjQ0MTIgMzIuODI5QzE1LjM0NTYgMzIuNzMwMyAxNS4yNjU5IDMyLjYzMTYgMTUuMTg2MyAzMi41MzI5QzE1LjEwNjYgMzIuNDM0MyAxNS4wMjcgMzIuMzM1NiAxNC45MzE0IDMyLjIzNjlMMTQuODY3NiAzMi4xNzExTDE0Ljg2NzYgMzIuMTcxMUMxNC42MTI3IDMxLjg0MjIgMTQuMzU3OCAzMS41MTMyIDE0LjE2NjcgMzEuMTg0M0MxNC4xMDI5IDMxLjExODUgMTQuMDM5MiAzMC45ODY5IDEzLjk3NTUgMzAuODU1NEMxMy45MTE4IDMwLjc4OTYgMTMuODQ4IDMwLjY1OCAxMy43ODQzIDMwLjUyNjRDMTMuNzUyNSAzMC40NjA2IDEzLjcyMDYgMzAuNDExMyAxMy42ODg3IDMwLjM2MTlDMTMuNjU2OSAzMC4zMTI2IDEzLjYyNSAzMC4yNjMzIDEzLjU5MzEgMzAuMTk3NVYzMC4xMzE3QzEzLjUyOTQgMzAuMDAwMSAxMy40NjU3IDI5Ljg4NSAxMy40MDIgMjkuNzY5OEMxMy4zMzgyIDI5LjY1NDcgMTMuMjc0NSAyOS41Mzk2IDEzLjIxMDggMjkuNDA4TDEzLjAxOTYgMjkuMDEzM0MxMi44Mjg0IDI4LjYxODYgMTIuNzAxIDI4LjIyMzggMTIuNTczNSAyNy44MjkxTDEyLjU3MzUgMjcuODI5MVYyNy43NjMzTDEyLjM4MjQgMjYuOTczOUMxMi4zODI0IDI2LjkwODEgMTIuMzY2NCAyNi44NDIzIDEyLjM1MDUgMjYuNzc2NUMxMi4zMzQ2IDI2LjcxMDcgMTIuMzE4NiAyNi42NDQ5IDEyLjMxODYgMjYuNTc5MUMxMi4yODY4IDI2LjQxNDcgMTIuMjU0OSAyNi4yMzM3IDEyLjIyMyAyNi4wNTI4QzEyLjE5MTIgMjUuODcxOSAxMi4xNTkzIDI1LjY5MSAxMi4xMjc1IDI1LjUyNjVDMTIuMDYzNyAyNS4zOTQ5IDEyLjA2MzcgMjUuMzI5MiAxMi4wNjM3IDI1LjE5NzZDMTIuMDYzNyAyNS4wMjM5IDEyLjA0NiAyNC44Njg2IDEyLjAyOTIgMjQuNzIyQzEyLjAxNDIgMjQuNTkwOCAxMiAyNC40NjY2IDEyIDI0LjM0MjNWMjMuOTQ3NlpNMjUuNjQwOCAzN0MzMC4yNjIxIDM2Ljg3MSAzNCAzMy4yNTgxIDM0IDI4LjgwNjVDMzQgMjQuOTM1NSAzMS4yMTM2IDIxLjcwOTcgMjcuNDA3OCAyMUMyOC4yMjMzIDIxLjU4MDYgMjguNzY3IDIyLjU0ODQgMjguNzY3IDIzLjU4MDZDMjguNzY3IDI1LjE5MzUgMjcuNDc1NyAyNi41NDg0IDI1Ljg0NDcgMjYuODA2NUgyNS43MDg3SDI1LjM2ODlDMjIuMzc4NiAyNi44MDY1IDIwIDI5LjA2NDUgMjAgMzEuOTAzMkMyMCAzNC42MTI5IDIyLjI0MjcgMzYuODcxIDI1LjA5NzEgMzdIMjUuMzY4OUgyNS42NDA4WiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8L3N2Zz4K");
}

/* Modal Styles */
.csw-modal {
  display: none;
  /*   position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4); */
}

.csw-modal-content {
  position: absolute;
  top: 20px;
  left: -10px;
  transform: translate(-100%, -50%);
  background-color: #fefefe;
  padding: 20px;
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.csw-wechat-modal .csw-modal-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 250px;
}
.csw-wechat-modal .modal-content-top {
  display: flex;
  gap: 5px;
}
.csw-wechat-modal .modal-content-top img {
  width: 36px;
  height: 36px;
}
.csw-wechat-modal .modal-content-top-title {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  color: #2b2c2f;
}
.csw-wechat-modal .modal-content-top-content {
  color: #a8a8aa;
  font-size: 12px;
}
.csw-qrcode-tip {
  display: none;
  font-size: 14px;
  color: #7e7f81;
}

.csw-phone-modal .csw-modal-content {
  display: flex;
  top: 50%;
  transform: translate(-100%, -50%);
  width: 207px;
  padding: 15px;
}
.csw-phone-number-title,
.csw-phone-number-content {
  font-size: 14px;
  color: #2b2c2f;
  margin: 0;
}

.csw-phone-number-content {
  font-weight: bold;
}
.csw-phone-modal-action {
  display: none;
}

/* UDesk Chat Container */
#udesk-feedback-tab {
  display: none !important;
}

.wechat-btn-container {
  position: relative;
}
.wechat-img-container {
  position: absolute;
  bottom: 50%;
  right: 50%;
  transform: translateX(50%);
  width: 82px;
}

.light-circle {
  width: 68px;
  height: 68px;
  opacity: 0.5;
  background-color: #a6c9ff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 8px;
  border-radius: 50%;
  z-index: -2;
  transform-origin: center;
  animation: 1s linear 0s infinite normal both running lightCircle;
  pointer-events: none;
}

@keyframes lightCircle {
  0% {
    opacity: 0.5;
    transform: translateX(-50%) scale(100%);
  }
  55% {
    opacity: 0;
    transform: translateX(-50%) scale(147%);
  }

  100% {
    opacity: 0;
    transform: translateX(-50%) scale(147%);
  }
}
.dot-left {
  width: 8px;
  position: absolute;
  left: -10px;
  top: 35px;
  animation: 0.5s linear 0s 1 normal none running dotLeftEnter,
    1.5s linear 0.5s infinite normal forwards running dotLeftRunning;
  pointer-events: none;
}
.slider-slogan {
  width: 43px;
  height: 20px;
  position: absolute;
  left: -25px;
  top: 5px;
  pointer-events: none;
  animation: 1s linear 0s 1 normal both running sloganEnter,
    2s linear 1s 7 normal forwards running sloganRunning,
    0.5s linear 15s 1 normal forwards running sloganOut;
}

.dot-right-top {
  width: 6px;
  position: absolute;
  right: 5px;
  top: 5px;
  animation: 0.5s linear 0s 1 normal none running dotRightTopEnter,
    1.5s linear 0.5s infinite normal forwards running dotRightTopRunning;
  pointer-events: none;
}

.dot-right-bottom {
  width: 5px;
  position: absolute;
  right: 5px;
  top: 55px;
  animation: 0.5s linear 0s 1 normal none running dotRightBottomEnter,
    1.5s linear 0.5s infinite normal forwards running dotRightBottomRunning;
  pointer-events: none;
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    width: 43px;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    width: 20px;
    transform: translate(100%, 100%);
  }
}

@keyframes dotLeftEnter {
  from {
    opacity: 0;
    transform: translate(30px, -10px);
  }
  to {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}

@keyframes dotLeftRunning {
  0% {
    transform: translateY(0px);
  }
  25% {
    transform: translateY(-2.5px);
  }
  50% {
    transform: translateY(0px);
  }
  75% {
    transform: translateY(2.5px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes dotRightTopEnter {
  from {
    opacity: 0;
    transform: translate(-30px, 20px);
  }
  to {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}

@keyframes dotRightTopRunning {
  0% {
    transform: translateY(0px);
  }
  25% {
    transform: translateY(2.5px);
  }
  50% {
    transform: translateY(0px);
  }
  75% {
    transform: translateY(-2.5px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes dotRightBottomEnter {
  from {
    opacity: 0;
    transform: translate(-30px, -20px);
  }
  to {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}

@keyframes dotRightBottomRunning {
  0% {
    transform: translateY(0px);
  }
  25% {
    transform: translateY(2.5px);
  }
  50% {
    transform: translateY(0px);
  }
  75% {
    transform: translateY(-2.5px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes sloganEnter {
  from {
    opacity: 0;
    transform: translateX(10px) scale(0);
  }
  to {
    opacity: 1;
    transform: translateX(0px) scale(1);
  }
}

@keyframes sloganRunning {
  0% {
    transform: translateY(0px);
  }
  25% {
    transform: translateY(2.5px);
  }
  50% {
    transform: translateY(0px);
  }
  75% {
    transform: translateY(-2.5px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes sloganOut {
  from {
    opacity: 1;
    transform: translateX(0px) scale(1);
  }
  to {
    opacity: 0;
    transform: translateX(10px) scale(0);
  }
}

/* Responsive Styles */
@media (max-width: 768px) {
  .csw-container-placeholder {
    height: 30px;
	margin-bottom: 0!important;
  }
  .csw-container {
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: 0 !important;
    background: #fff;
  }
  .csw-buttons {
    display: flex;
    flex-direction: row;
    margin: 0;
    background-color: #fff;
    justify-content: center;
    align-items: center;
  }

  .csw-button {
    color: #7e7f71;
    padding: 0;
    border: 0;
  }
  .csw-button:focus,
  .csw-button:hover {
    color: #7e7f71;
    background-color: transparent;
  }

  .csw-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
  }

  .csw-modal-content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .csw-wechat-modal .csw-modal-content {
	width: 320px;	
  }
  .csw-qrcode-tip {
    display: block;
    text-align: center;
  }

  .wechat-img-container {
    display: none;
  }
  .csw-phone-modal .csw-modal-content {
    flex-direction: column;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 320px;
    padding: 0;
    text-align: center;
  }
  .csw-phone-number {
    padding: 40px 0;
  }
  .csw-phone-number-content {
    font-size: 24px;
  }
  .csw-phone-modal-action {
    display: block;
  }
  .csw-phone-modal-action .action {
    border-top: 1px solid #f0f0f2;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 500;
    color: #7e7f81;
    cursor: pointer;
  }
  .csw-phone-modal-action .action#copy-phone-btn {
    color: #0064ff;
  }

  .csw-phone-icon-large {
    display: none;
  }
}

@media (min-width: 768px) {
  #udesk_panel {
    left: auto !important;
    top: auto !important;
    right: 92px !important;
    bottom: 0 !important;
    margin-bottom: 10px !important;
    z-index: 99 !important;
  }
  .csw-button-container:hover .csw-modal {
    display: block;
  }
  .csw-button {
    width: 62px;
    padding: 10px 0;
    border-radius: 3px;
    background-color: #e5efff;
    color: #0064ff;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: unset;
  }
  .csw-button.active {
    background-color: #cce0ff !important;
    border-color: #80b2ff !important;
  }

  .csw-button:focus {
    background-color: #e5efff;
    border-color: transparent;
    color: #0064ff;
  }
  .csw-button:hover {
    background-color: #f2f7ff;
    border-color: #80b2ff;
    color: #0064ff;
  }
}
#udesk_btn {
  display: none;
}
