:root { --joinchat-ico: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M3.516 3.516c4.686-4.686 12.284-4.686 16.97 0 4.686 4.686 4.686 12.283 0 16.97a12.004 12.004 0 0 1-13.754 2.299l-5.814.735a.392.392 0 0 1-.438-.44l.748-5.788A12.002 12.002 0 0 1 3.517 3.517zm3.61 17.043.3.158a9.846 9.846 0 0 0 11.534-1.758c3.843-3.843 3.843-10.074 0-13.918-3.843-3.843-10.075-3.843-13.918 0a9.846 9.846 0 0 0-1.747 11.554l.16.303-.51 3.942a.196.196 0 0 0 .219.22l3.961-.501zm6.534-7.003-.933 1.164a9.843 9.843 0 0 1-3.497-3.495l1.166-.933a.792.792 0 0 0 .23-.94L9.561 6.96a.793.793 0 0 0-.924-.445 1291.6 1291.6 0 0 0-2.023.524.797.797 0 0 0-.588.88 11.754 11.754 0 0 0 10.005 10.005.797.797 0 0 0 .88-.587l.525-2.023a.793.793 0 0 0-.445-.923L14.6 13.327a.792.792 0 0 0-.94.23z'/%3E%3C/svg%3E"); --joinchat-font: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif } .joinchat { --bottom: 20px; --sep: 20px; --s: 60px; --header: calc(var(--s)*1.16667); --vh: 100vh; --red: 37; --green: 211; --blue: 102; --rgb: var(--red) var(--green) var(--blue); --color: rgb(var(--rgb)); --dark: rgb(calc(var(--red) - 75) calc(var(--green) - 75) calc(var(--blue) - 75)); --hover: rgb(calc(var(--red) + 50) calc(var(--green) + 50) calc(var(--blue) + 50)); --bg: rgb(var(--rgb)/4%); --tolerance: 210; --bw: calc((var(--red)*0.2126 + var(--green)*0.7152 + var(--blue)*0.0722 - var(--tolerance))*-10000000); --text: hsl(0deg 0% calc(var(--bw)*1%)/clamp(70%, var(--bw)*1%, 100%)); --msg: var(--color); color: var(--text); display: none; position: fixed; z-index: 9000; right: var(--sep); bottom: var(--bottom); font: normal normal normal 16px/1.625em var(--joinchat-font); letter-spacing: 0; animation: joinchat_show .5s cubic-bezier(.18, .89, .32, 1.28) 10ms both; transform: scale3d(0, 0, 0); transform-origin: calc(var(--s)/-2) calc(var(--s)/-4); -webkit-user-select: none; -moz-user-select: none; user-select: none; touch-action: manipulation; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgb(0 0 0/0) } .joinchat *, .joinchat :after, .joinchat :before { box-sizing: border-box } .joinchat--show { display: block; transform: scaleX(1) } .joinchat--left { right: auto; left: var(--sep) } .joinchat--dark { --msg: var(--dark) } .joinchat--noanim { animation: none } .joinchat--chatbox:not(.joinchat--noanim) { transform-origin: 0 0; animation-timing-function: ease-in-out } .joinchat--hidden { display: none !important } @supports not (width:clamp(1px, 1%, 10px)) { .joinchat { --text: hsl(0deg 0% calc(var(--bw)*1%)/90%) } } .joinchat__button { display: flex; flex-direction: row; position: absolute; z-index: 2; bottom: 8px; right: 8px; height: var(--s); min-width: var(--s); background: #25d366; color: inherit; border-radius: calc(var(--s)/2); box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24); cursor: pointer; transition: background-color .2s linear } [dir=rtl] .joinchat__button { flex-direction: row-reverse } .joinchat__button:hover { background: #128c7e; transition-duration: 1.5s } .joinchat__button:active { background: #128c7e; transition: none } .joinchat--left .joinchat__button { right: auto; left: 8px; flex-direction: row-reverse } [dir=rtl] .joinchat--left .joinchat__button { flex-direction: row } .joinchat--btn .joinchat__button:hover { transition-duration: .2s } .joinchat--chatbox .joinchat__button { background: var(--color); transition-duration: .2s; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .3) } .joinchat--chatbox .joinchat__button:active, .joinchat--chatbox .joinchat__button:hover { background: var(--hover) } .joinchat--optout.joinchat--chatbox .joinchat__button { background-color: #999; pointer-events: none } .joinchat--optout.joinchat--chatbox .joinchat__button .joinchat_svg__plain { stroke-dasharray: 0; animation: none } .joinchat--optout.joinchat--chatbox .joinchat__button .joinchat_svg__chat { animation: none } .joinchat__button__open { width: var(--s); height: var(--s); border-radius: 50%; background: rgb(0 0 0/0) var(--joinchat-ico) 50% no-repeat; background-size: 60%; overflow: hidden } .joinchat--chatbox .joinchat__button__open { display: none } .joinchat__button__image { position: absolute; top: 1px; right: 1px; width: calc(var(--s) - 2px); height: calc(var(--s) - 2px); border-radius: 50%; overflow: hidden; opacity: 0 } .joinchat__button__image img { display: block; width: 100%; height: 100%; object-fit: cover } .joinchat--show .joinchat__button__image { animation: joinchat_image_loop 20s linear 5s infinite normal both } .joinchat--image .joinchat__button__image { opacity: 1; animation: none } .joinchat--chatbox .joinchat__button__image { display: none } .joinchat__button__send { display: none; flex-shrink: 0; width: var(--s); height: var(--s); max-width: var(--s); padding: calc(var(--s)*0.18); margin: 0; overflow: hidden } .joinchat--chatbox .joinchat__button__send { display: block } .joinchat__button__send path { fill: none !important; stroke: var(--text) !important } .joinchat__button__send .joinchat_svg__plain { stroke-dasharray: 1097; stroke-dashoffset: 1097; animation: joinchat_plain 6s .2s ease-in-out infinite } .joinchat__button__send .joinchat_svg__chat { stroke-dasharray: 1020; stroke-dashoffset: 1020; animation: joinchat_chat 6s 3.2s ease-in-out infinite } .joinchat__button__sendtext { padding: 0; max-width: 0; border-radius: var(--s); font-weight: 600; line-height: var(--s); white-space: nowrap; opacity: 0; overflow: hidden; text-overflow: ellipsis; transition: none } .joinchat--chatbox .joinchat__button__sendtext { padding: 0 4px 0 24px; max-width: min(400px - 16px - var(--s), 100vw - 16px - var(--s) - 2*var(--sep)); opacity: 1; transition: max-width .2s linear, opacity .4s ease-out .2s } .joinchat--chatbox.joinchat--left .joinchat__button__sendtext { padding: 0 24px 0 4px } .joinchat__badge { position: absolute; top: -4px; right: -4px; width: 20px; height: 20px; border: none; border-radius: 50%; background: #e82c0c; color: #fff; font-size: 12px; font-weight: 600; line-height: 20px; text-align: center; box-shadow: none; opacity: 0; pointer-events: none } .joinchat__badge.joinchat__badge--in { animation: joinchat_badge_in .5s cubic-bezier(.27, .9, .41, 1.28) 1 both } .joinchat__badge.joinchat__badge--out { animation: joinchat_badge_out .4s cubic-bezier(.215, .61, .355, 1) 1 both } .joinchat__tooltip { position: absolute; top: calc(var(--s)/2 - 16px); right: calc(var(--s) + 16px); max-width: calc(100vw - var(--s) - 45px); height: 32px; padding: 0 14px; border: none; border-radius: 16px; background: #fff; color: rgba(0, 0, 0, .8); line-height: 31px; white-space: nowrap; opacity: 0; transition: opacity .3s ease-out .4s; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .4)); pointer-events: none } .joinchat__tooltip:after { content: ""; display: block; position: absolute; top: 10px; right: -6px; border: 8px solid transparent; border-width: 6px 0 6px 8px; border-left-color: #fff } .joinchat__tooltip div { width: -moz-max-content; width: max-content; max-width: 100%; overflow: hidden; text-overflow: ellipsis } .joinchat--tooltip .joinchat__tooltip { animation: joinchat_tootlip 20s linear 5s 1 normal both } .joinchat--chatbox .joinchat__tooltip { display: none } .joinchat--left .joinchat__tooltip { right: auto; left: calc(var(--s) + 16px) } .joinchat--left .joinchat__tooltip:after { left: -6px; right: auto; border-color: transparent; border-width: 6px 8px 6px 0; border-right-color: #fff } .joinchat__qr { position: absolute; bottom: calc(var(--s) + 16px); right: 0; display: none; flex-direction: column-reverse; width: 228px; min-height: 200px; padding: 14px 14px 10px; border: none; border-radius: 16px; background: #fff; color: rgba(0, 0, 0, .8); text-align: center; white-space: nowrap; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .4)); animation: joinchat_badge_in .4s cubic-bezier(.11, .84, .83, 1.01) .5s both; pointer-events: none } .joinchat__qr:after { content: ""; display: block; position: absolute; bottom: -6px; right: calc(var(--s)/2 - 6px); border: 8px solid transparent; border-width: 8px 6px 0; border-top-color: #fff } .joinchat--left .joinchat__qr { left: 0; right: auto } .joinchat--left .joinchat__qr:after { left: calc(var(--s)/2 - 6px); right: auto } .joinchat__qr div { font-size: 14px; color: #4a4a4a; overflow: hidden; text-overflow: ellipsis } .joinchat__qr canvas { display: block; width: 200px; height: 200px; margin: 0 } .joinchat__box { display: flex; flex-direction: column; position: absolute; bottom: 0; right: 0; z-index: 1; width: calc(100vw - var(--sep)*2); max-width: 400px; max-height: calc(var(--vh) - var(--bottom) - var(--sep)); border-radius: calc(var(--s)/2 + 2px); background: #fff linear-gradient(180deg, var(--color), var(--color) var(--header), var(--bg) var(--header), var(--bg)); box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .5); text-align: left; overflow: hidden; transform: scale3d(0, 0, 0); opacity: 0; transition: max-height .2s ease-out, opacity .4s ease-out, transform 0s linear .3s } [dir=rtl] .joinchat__box { text-align: right } .joinchat--chatbox .joinchat__box { opacity: 1; transform: scaleX(1); transition: max-height .2s ease-out, opacity .2s ease-out, transform 0s linear } .joinchat--left .joinchat__box { right: auto; left: 0 } .joinchat--dark .joinchat__box { background: #1a1a1a linear-gradient(180deg, var(--dark), var(--dark) var(--header), var(--bg) var(--header), var(--bg)) } .joinchat__header { display: flex; flex-flow: row; align-items: center; position: relative; flex-shrink: 0; height: var(--header); min-height: 50px; padding: 0 70px 0 26px; margin: 0 } [dir=rtl] .joinchat__header { padding: 0 26px 0 70px } .joinchat__header__text { font-size: 19px; font-weight: 600; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .8 } .joinchat__powered { font-size: 11px; line-height: 18px; color: inherit !important; text-decoration: none !important; fill: currentcolor; opacity: .8 } .joinchat__powered svg { display: inline-block; width: auto; height: 18px; vertical-align: -30% } .joinchat__powered:active, .joinchat__powered:hover { color: inherit !important; text-decoration: none !important; opacity: .9; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .3)) } .joinchat__wa { height: 28px; width: auto; fill: currentcolor; opacity: .8 } .joinchat__close { --size: 34px; position: absolute; top: calc(50% - var(--size)/2); right: 24px; width: var(--size); height: var(--size); border-radius: 50%; background: rgba(0, 0, 0, .4) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M24 2.4 21.6 0 12 9.6 2.4 0 0 2.4 9.6 12 0 21.6 2.4 24l9.6-9.6 9.6 9.6 2.4-2.4-9.6-9.6L24 2.4z'/%3E%3C/svg%3E") 50% no-repeat; background-size: 12px; cursor: pointer; transition: background-color .3s ease-out } .joinchat__close:hover { background-color: rgba(0, 0, 0, .6) } .joinchat__close:active { background-color: rgba(0, 0, 0, .7) } [dir=rtl] .joinchat__close { right: auto; left: 24px } .joinchat__box__scroll { overflow: hidden scroll; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch } .joinchat__box__scroll::-webkit-scrollbar { width: 4px; background: rgb(0 0 0/0) } .joinchat__box__scroll::-webkit-scrollbar-thumb { border-radius: 2px; background: rgb(0 0 0/0) } .joinchat--blur .joinchat__box__scroll { background: rgba(var(--rgb)/2%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px) } .joinchat__box__scroll:hover::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .2) } .joinchat__box__content { width: calc(100% + 4px); padding: 20px 0 calc(var(--s) + 16px) } .joinchat__optin { padding: 0 16px; margin-bottom: 16px; color: #4a4a4a; font-size: 13px; line-height: 1.33 } .joinchat__optin a { display: inline; padding: 0; color: inherit !important; text-decoration: underline } .joinchat__optin a:hover { text-decoration-thickness: 2px } .joinchat__optin input { position: absolute; visibility: hidden } .joinchat__optin label { position: relative; display: block; margin: 0; padding: 0 0 0 30px; color: inherit; font: inherit; cursor: pointer } .joinchat__optin label:before { content: ""; display: block; position: absolute; top: min(50% - 11px, 5px); left: 0; width: 22px; height: 22px; border: 3px solid var(--color); border-radius: 4px; background: #fff; box-shadow: 0 0 0 1px var(--text); transition: box-shadow .3s ease-in-out } .joinchat--dark .joinchat__optin label:before { background: #000 } .joinchat__optin label:after { content: ""; display: none; position: absolute; top: min(50% - 8px, 8px); left: 8px; width: 6px; height: 14px; border: solid var(--text); border-width: 0 3px 3px 0; transform: rotate(45deg) } [dir=rtl] .joinchat__optin label { padding: 0 30px 0 0 } [dir=rtl] .joinchat__optin label:before { left: auto; right: 0 } [dir=rtl] .joinchat__optin label:after { left: auto; right: 8px } .joinchat__optin input:checked+label:before { box-shadow: 0 0 0 1px var(--text), inset 0 0 0 10px var(--color) } .joinchat__optin input:checked+label:after { display: block } .joinchat--dark .joinchat__optin { color: #d8d8d8 } .joinchat { --peak: url(#joinchat__peak_l) } [dir=rtl] .joinchat { --peak: url(#joinchat__peak_r) } .joinchat__message { position: relative; min-height: 56px; padding: 15px 20px; margin: 0 26px 26px; border-radius: 26px; background: #fff; color: #4a4a4a; word-break: break-word; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .3)); transform: translateZ(0) } .joinchat__message:before { content: ""; display: block; position: absolute; bottom: 18px; left: -15px; width: 17px; height: 25px; background: inherit; -webkit-clip-path: var(--peak); clip-path: var(--peak) } [dir=rtl] .joinchat__message:before { left: auto; right: -15px } .joinchat--dark .joinchat__message { background: #505050; color: #d8d8d8 } @keyframes joinchat_show { 0% { transform: scale3d(0, 0, 0) } to { transform: scaleX(1) } } @keyframes joinchat_badge_in { 0% { opacity: 0; transform: translate3d(0, 50px, 0) } to { opacity: 1; transform: translateZ(0) } } @keyframes joinchat_badge_out { 0% { opacity: 1; transform: translateZ(0) } to { opacity: 0; transform: translate3d(0, -20px, 0) } } @keyframes joinchat_plain { 0%, 50%, to { stroke-dashoffset: 1097 } 5%, 45% { stroke-dashoffset: 0 } } @keyframes joinchat_chat { 0%, 50%, to { stroke-dashoffset: 1020 } 5%, 45% { stroke-dashoffset: 0 } } @keyframes joinchat_image_loop { 0% { opacity: 0 } 3%, 20% { opacity: 1 } 25%, to { opacity: 0 } } @keyframes joinchat_tootlip { 0% { opacity: 0; transform: scaleY(0) } 1%, 20% { opacity: 1; transform: scaleX(1) } 25%, to { opacity: 0; transform: scaleX(1) } } .joinchat__woo-btn__wrapper { clear: both } .joinchat__woo-btn { --s: 40px; display: inline-block; box-sizing: border-box; height: var(--s); max-width: 100%; padding: 0 calc(var(--s)/2) 0 var(--s); background: #25d366 var(--joinchat-ico) calc(var(--s)*0.2) 50% no-repeat; background-size: calc(var(--s)*0.6); color: #fff; border-radius: calc(var(--s)/2); font: 700 normal calc(var(--s)*0.35)/var(--s) var(--joinchat-font); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; cursor: pointer; transition: background-color .2s } .joinchat__woo-btn:empty { padding-right: 0 } .joinchat__woo-btn:hover { background-color: #128c7e } @media (orientation:landscape) and (height >=481px), (orientation:portrait) and (width >=481px) { .joinchat--mobile { display: none !important } } @media (width <=767px) { .joinchat--footer-bar { --bottom: 76px !important } } @media (orientation:landscape) and (height <=480px), (width <=480px) { .joinchat { --bottom: 6px; --sep: 6px; --header: calc(var(--s)*0.91667) } .joinchat__header__text { font-size: 17px } .joinchat__close { --size: 28px } .joinchat__box__scroll { padding-top: 15px } .joinchat__message { padding: 18px 16px; line-height: 24px; margin: 0 20px 20px } } @media (hover:hover) { .joinchat__button:hover .joinchat__tooltip { opacity: 1; animation: none; transition: opacity .2s } .joinchat--btn .joinchat__button:hover .joinchat__qr, .joinchat--chatbox .joinchat__button:hover .joinchat__qr { display: flex } } @media (prefers-color-scheme:dark) { .joinchat--dark-auto { --msg: var(--dark) } .joinchat--dark-auto .joinchat__box { background: #1a1a1a linear-gradient(180deg, var(--dark), var(--dark) var(--header), var(--bg) var(--header), var(--bg)) } .joinchat--dark-auto .joinchat__optin label:before { background: #000 } .joinchat--dark-auto .joinchat__optin { color: #d8d8d8 } .joinchat--dark-auto .joinchat__message { background: #505050; color: #d8d8d8 } } @media (prefers-reduced-motion) { .joinchat { animation: none } .joinchat__button__send .joinchat_svg__plain { stroke-dasharray: 0; animation: none } .joinchat__button__send .joinchat_svg__chat { animation: none } .joinchat__button__sendtext { transition: none !important } }