@seamly/web-ui 20.8.0-alpha.1 → 20.8.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/dist/lib/index.debug.js +46 -46
  2. package/build/dist/lib/index.debug.min.js +1 -1
  3. package/build/dist/lib/index.debug.min.js.LICENSE.txt +1 -1
  4. package/build/dist/lib/index.js +351 -260
  5. package/build/dist/lib/index.min.js +1 -1
  6. package/build/dist/lib/standalone.js +542 -252
  7. package/build/dist/lib/standalone.min.js +1 -1
  8. package/build/dist/lib/style-guide.js +156 -69
  9. package/build/dist/lib/style-guide.min.js +1 -1
  10. package/build/dist/lib/styles.css +1 -1
  11. package/package.json +1 -1
  12. package/src/javascripts/config.types.ts +1 -0
  13. package/src/javascripts/domains/config/slice.ts +2 -0
  14. package/src/javascripts/domains/i18n/slice.ts +0 -3
  15. package/src/javascripts/domains/store/slice.ts +16 -13
  16. package/src/javascripts/domains/store/store.types.ts +12 -1
  17. package/src/javascripts/domains/translations/hooks.ts +54 -48
  18. package/src/javascripts/domains/translations/selectors.ts +12 -0
  19. package/src/javascripts/domains/translations/slice.ts +70 -17
  20. package/src/javascripts/domains/translations/translations.types.ts +8 -1
  21. package/src/javascripts/schema.ts +3 -10
  22. package/src/javascripts/style-guide/components/app.js +2 -2
  23. package/src/javascripts/style-guide/states.js +61 -3
  24. package/src/javascripts/ui/components/conversation/conversation.js +7 -3
  25. package/src/javascripts/ui/components/conversation/event/card-message.js +1 -1
  26. package/src/javascripts/ui/components/conversation/event/carousel-message/index.js +1 -1
  27. package/src/javascripts/ui/components/conversation/event/choice-prompt.js +1 -1
  28. package/src/javascripts/ui/components/conversation/event/conversation-suggestions.js +9 -2
  29. package/src/javascripts/ui/components/conversation/event/cta.js +1 -1
  30. package/src/javascripts/ui/components/conversation/event/divider/variants/new-translation.js +39 -3
  31. package/src/javascripts/ui/components/conversation/event/image.js +1 -1
  32. package/src/javascripts/ui/components/conversation/event/participant.js +1 -1
  33. package/src/javascripts/ui/components/conversation/event/splash.js +1 -1
  34. package/src/javascripts/ui/components/conversation/event/text.js +1 -1
  35. package/src/javascripts/ui/components/conversation/event/translation.js +1 -1
  36. package/src/javascripts/ui/components/conversation/event/upload.js +1 -1
  37. package/src/javascripts/ui/components/conversation/event/video.js +1 -1
  38. package/src/javascripts/ui/components/conversation/message-container.js +1 -23
  39. package/src/javascripts/ui/components/core/seamly-event-subscriber.js +3 -2
  40. package/src/javascripts/ui/components/faq/faq.js +3 -1
  41. package/src/javascripts/ui/components/options/options-button.js +3 -1
  42. package/src/javascripts/ui/components/suggestions/index.js +5 -2
  43. package/src/javascripts/ui/hooks/seamly-state-hooks.js +6 -0
  44. package/src/stylesheets/5-components/_message-carousel.scss +10 -8
  45. package/CHANGELOG.md +0 -987
  46. package/src/javascripts/domains/translations/selectors.js +0 -11
@@ -1 +1 @@
1
- @-webkit-keyframes cvco-loader{0%,75%,to{transform:scaleY(.45);border-radius:50%}37.5%{transform:scaleY(1);border-radius:2.5px}}@keyframes cvco-loader{0%,75%,to{transform:scaleY(.45);border-radius:50%}37.5%{transform:scaleY(1);border-radius:2.5px}}@-webkit-keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.cvco-app .cvco-chat{display:flex;flex-direction:column;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease;outline:0;color:#3d4166;font-family:arial,helvetica,sans-serif;font-size:12px}.cvco-app .cvco-chat,.cvco-app .cvco-chat *,.cvco-app .cvco-chat :after,.cvco-app .cvco-chat :before{box-sizing:border-box}.cvco-app .cvco-chat--layout-inline{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background-color:transparent;background-color:initial;box-shadow:none}@media(min-width:641px){.cvco-app .cvco-chat--layout-inline{flex-direction:row}}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat-wrapper{height:auto}.cvco-app .cvco-chat--layout-window{max-width:calc(100vw - 40px);max-height:calc(85vh - 40px);display:none;position:fixed;z-index:1;right:20px;bottom:20px;width:360px;max-width:calc(100% - 40px);height:720px;transform:scale(0);opacity:0}@media(min-width:641px){.cvco-app .cvco-chat--layout-window{max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-window{right:20px;bottom:20px;max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{transform:scale(1);opacity:1}.cvco-app .cvco-chat--layout-app{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;max-height:100%}.cvco-app .cvco-chat-wrapper{display:flex;position:relative;z-index:1;flex-direction:column;width:100%;height:100%;overflow:hidden;transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;border:1px solid #a3b4bf;border-radius:10px;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{width:100%;height:0}@media(min-width:641px)and (max-width:1023px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 100%}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper:not(:only-child){flex:0 0 50%;width:50%}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 67%;width:67%}}.cvco-app .cvco-chat--layout-inline.cvco-transition--in .cvco-chat-wrapper{height:640px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;position:relative;flex-direction:column;width:100%;height:100%}.cvco-app .cvco-chat__body{display:flex;position:relative;flex-grow:4;padding:0;overflow-y:auto}.cvco-app .cvco-chat--layout-window .cvco-chat__body{overscroll-behavior:contain}.cvco-app .cvco-chat__entry{position:relative;flex:0 0 auto;padding:10px;border-top:1px solid #dee3e5}.cvco-app .cvco-chat__entry .cvco-entry__body--hidden{display:none}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat__entry{border:0}.cvco-app .cvco-entry__body{display:flex;align-items:center}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-input__checkbox{margin-right:10px}.cvco-app .cvco-input__checkbox[aria-disabled=true]{opacity:.5}.cvco-app .cvco-label{display:block;margin-bottom:5px;color:#4a48c1;font-size:14px;font-weight:700}.cvco-app .cvco-input__checkbox[aria-disabled=true]+.cvco-label{opacity:.5}.cvco-app .cvco-input__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:40px;padding:10px;border:1px solid #dee3e5;border-radius:5px;background-color:#fff;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzRBNDhDMSIgZD0iTTIuOTk4IDYuNTAzYS45OTkuOTk5IDAgMDExLjY4Ny0uNzI3TDcuMjcgOC4yMjJjLjM5NC4zNzMgMS4wNi4zNzMgMS40NTQgMGwyLjU4Ni0yLjQ0NmEuOTk5Ljk5OSAwIDExMS4zNzQgMS40NTRsLTIuNTg2IDIuNDQ2Yy0xLjE1OSAxLjA5Ni0zLjA0MyAxLjA5Ni00LjIwMyAwTDMuMzEgNy4yMjlhLjk5NC45OTQgMCAwMS0uMzEyLS43MjZ6Ii8+PC9zdmc+");background-repeat:no-repeat;background-position:right 10px top 50%;background-size:15px auto;color:#3d4166;font-size:16px;resize:none}.cvco-app .cvco-input__select[aria-disabled=true]{border:1px solid #a3b4bf;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2EzYjRiZiIgZD0iTTIuOTk4IDYuNTAzYS45OTkuOTk5IDAgMDExLjY4Ny0uNzI3TDcuMjcgOC4yMjJjLjM5NC4zNzMgMS4wNi4zNzMgMS40NTQgMGwyLjU4Ni0yLjQ0NmEuOTk5Ljk5OSAwIDExMS4zNzQgMS40NTRsLTIuNTg2IDIuNDQ2Yy0xLjE1OSAxLjA5Ni0zLjA0MyAxLjA5Ni00LjIwMyAwTDMuMzEgNy4yMjlhLjk5NC45OTQgMCAwMS0uMzEyLS43MjZ6Ii8+PC9zdmc+");color:#a3b4bf}.cvco-app .cvco-avatar{display:block;position:relative;flex-shrink:0;width:32px;height:32px;overflow:hidden;border-radius:5px}.cvco-app .cvco-avatar>.cvco-icon,.cvco-app .cvco-avatar__graphic{display:block}.cvco-app .cvco-conversation__message+.cvco-avatar{align-self:flex-end;margin-left:10px}.cvco-app .cvco-button{display:inline-block;margin:0;padding:0;border:0;background:none;font-size:14px;text-align:left;cursor:pointer}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{min-height:40px;padding:10px 15px;border-radius:5px;background-color:#4a48c1;color:#fff;font-weight:700}.cvco-app .cvco-button--secondary{padding:10px 15px;color:#4a48c1;font-weight:700}.cvco-app .cvco-button--tertiary{padding:2px 5px;border-radius:5px;background-color:transparent;background-color:initial;color:#fff;font-size:12px;font-weight:700}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{display:inline-block;margin:-3px -3px -3px 3px;padding:3px 5px;border-radius:5px;background-color:#eff3f6;color:inherit}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%;margin-top:5px;margin-left:0}.cvco-app .cvco-choice-prompt__item:first-child{margin-top:0}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{padding:5px 0;background-color:transparent;background-color:initial;color:#4a48c1}.cvco-app .cvco-button--choose-again{display:flex;align-items:center;margin:5px 0 10px;padding:0}.cvco-app .cvco-button--choose-again:last-child{margin-bottom:0}.cvco-app .cvco-button--choose-again .cvco-icon{display:flex;flex:0 0 8px;align-items:center;justify-content:center;width:8px;height:8px;margin:0 10px;transform-origin:50% 50%;transition:transform .3s ease}.cvco-app .cvco-button--choose-again .cvco-icon path{fill:currentcolor}.cvco-app .cvco-button--choose-again[aria-expanded=true] .cvco-icon{transform:rotate(180deg)}.cvco-app .cvco-conversation__container{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;flex:1 1 100%;flex-direction:column;justify-content:space-between;height:100%;max-height:100%}.cvco-app .cvco-conversation{list-style:none;width:100%;margin:auto 0 0;padding:20px 20px 0}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 100%;width:100%;height:20px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-conversation{padding-top:80px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-disclaimer+.cvco-conversation{padding-top:0}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{width:100%;min-height:0;margin-top:10px}.cvco-app .cvco-conversation__item--new-participant{margin-top:20px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-conversation__item--source-info{margin-top:20px;margin-bottom:20px}.cvco-app .cvco-conversation__item--source-info:last-child{margin-bottom:0}.cvco-app .cvco-divider{display:flex;position:relative;justify-content:center;margin:20px -20px 0;padding:65px 30px 0;overflow:hidden;background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;line-height:1.5}.cvco-app .cvco-divider:before{content:"";position:absolute;top:0;left:50%;width:100%;height:40px;transform:translateX(-50%);background:radial-gradient(110px at 50%,at 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background:radial-gradient(110px at 50% 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background-repeat:no-repeat}.cvco-app .cvco-divider--type-time-indicator{padding-top:60px;padding-bottom:20px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0;padding-bottom:10px}.cvco-app .cvco-divider__graphic{position:absolute;top:40px;left:50%;width:32px;height:32px;transform:translate(-50%,-60%);border-radius:5px;background:#fff}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-divider__body{font-size:12px;text-align:center}.cvco-app .cvco-divider__time{text-align:center}.cvco-app .cvco-divider__time span{display:block}.cvco-app .cvco-divider__time span:first-of-type{font-weight:700}.cvco-app .cvco-divider--type-newtranslation{text-align:center}.cvco-app .cvco-divider--type-newtranslation .cvco-divider__body{max-width:80%}.cvco-app .cvco-divider--type-newtranslation .cvco-divider__title{font-weight:700}.cvco-app .cvco-divider .cvco-button{padding:0;font-size:inherit}.cvco-app .cvco-loader{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:20px;padding:2.5px 5px;-webkit-animation:cvco-fadeIn .3s linear;animation:cvco-fadeIn .3s linear}.cvco-app .cvco-loader__part{display:inline-block;width:6.666px;height:100%;margin-right:5px;transform:scaleY(.45);-webkit-animation-name:cvco-loader;animation-name:cvco-loader;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-delay:.12s;animation-delay:.12s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;border-radius:50%;background-color:currentcolor}.cvco-app .cvco-loader__part.cvco-one{-webkit-animation-delay:.12s;animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{-webkit-animation-delay:.24s;animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{-webkit-animation-delay:.36s;animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{margin-right:0;-webkit-animation-delay:.48s;animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;width:80%}.cvco-app .cvco-message.cvco-message--type-suggestions,.cvco-app .cvco-unstarted-wrapper--window .cvco-message{width:100%}.cvco-app .cvco-message+.cvco-message{margin-top:10px}.cvco-app .cvco-message--source-info.cvco-message{width:90%;max-width:90%;margin:0 auto}.cvco-app .cvco-message--source-info.cvco-message:after{content:"";display:block;width:20px;height:0;margin:0 auto;border-top:2px solid #4a48c1}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{display:none;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;margin-bottom:.3rem;padding:0 10px;font-weight:700}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{width:16px;height:16px;margin:0 .5em 0 0}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2;margin:0 0 0 10px}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{width:100%;margin-top:4px;color:#6a7f8c;font-size:12px;line-height:1.35}.cvco-app .cvco-message--source-user .cvco-message__info{text-align:right}.cvco-app .cvco-message__translation-info{width:100%}.cvco-app.cvco-app--collapsed .cvco-message__translation-info{display:none}.cvco-app .cvco-message__translation-label{margin-right:5px;font-size:12px}.cvco-app .cvco-button.cvco-message__translation-toggle{padding:0;font-size:inherit}.cvco-app .cvco-message--source-user .cvco-message__translation-info{text-align:right}.cvco-app .cvco-card__wrapper{display:flex;flex-direction:column;height:100%}.cvco-app .cvco-card__image{flex:0 0 auto;width:100%;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;border-top-left-radius:10px;border-top-right-radius:10px}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-wrap:wrap;padding:10px 15px 15px}.cvco-app .cvco-card__title{display:block;flex:0 0 100%;width:100%;margin:0 0 5px;padding:0;font-size:16px;font-weight:700}.cvco-app .cvco-card__title:last-child{margin-bottom:0}.cvco-app .cvco-card__description{display:block;width:100%;margin-bottom:20px}.cvco-app .cvco-card__description:last-child{margin-bottom:0}.cvco-app .cvco-card__content .cvco-button{display:block;align-self:flex-end;width:100%;font-weight:700;text-decoration:none}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;width:100%;overflow:hidden}.cvco-app .cvco-carousel__slides{display:flex;position:relative;flex-direction:row;padding:0;transition:left .3s ease;list-style:none}.cvco-app .cvco-carousel__slide{display:block;width:100%;padding:0;list-style:none}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;width:100%;height:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{display:flex;position:relative;justify-content:space-between;width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:0;border-top:1px solid #dee3e5}.cvco-app .cvco-carousel-controls .cvco-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:transparent;background-color:initial;color:transparent;font-size:0}.cvco-app .cvco-carousel-controls .cvco-button--previous{left:0}.cvco-app .cvco-carousel-controls .cvco-button--next{right:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon{display:block;width:16px;height:16px;padding:0;border:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{display:flex;position:relative;align-items:center;justify-content:center;padding:0 10px}.cvco-app .cvco-carousel-pagination{width:100%;margin:0 auto;padding:0}.cvco-app .cvco-carousel-pagination,.cvco-app .cvco-carousel-pagination__wrapper{display:flex;position:relative;flex-direction:row;justify-content:center}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{display:block;position:relative;width:32px;height:32px;padding:0;border:0;border-radius:0;background-color:transparent;background-color:initial}.cvco-app .cvco-carousel-pagination__button:before{content:"";display:block;position:absolute;top:50%;left:50%;width:9.6px;height:9.6px;transform:translate(-50%,-50%);transform-origin:50% 50%;border-radius:50%;background-color:#a3b4bf}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-cta__content{margin-bottom:10px;color:#fff;font-size:14px;line-height:1.5}.cvco-app .cvco-cta__content p{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-message--type-cta .cvco-button{margin-bottom:10px;line-height:2;text-decoration:none}.cvco-app .cvco-message--type-cta .cvco-button:last-child{margin-bottom:0}.cvco-app .cvco-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;line-height:1}.cvco-app .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;width:100%;height:100%}.cvco-app .cvco-input--text__container{display:flex;position:relative;flex:1 1 100%;height:100%;margin-right:5px}.cvco-app .cvco-input__text{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-grow:4;height:40px;margin-right:5px;padding:10px;transition:padding .3s ease;border:1px solid transparent;border-radius:5px;color:#3d4166;font-size:16px;resize:none}.cvco-app .cvco-input__text::input-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text::-moz-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text::placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text:input-placeholder,.cvco-app .cvco-input__text:placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input--text__container .cvco-input__text{width:100%;margin-right:0}.cvco-app .cvco-character-exceeded .cvco-input__text,.cvco-app .cvco-character-warning .cvco-input__text{padding-right:40px}.cvco-app .cvco-character-exceeded .cvco-input__text{border:1px solid #db1639}.cvco-app .cvco-input__submit{display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:5px}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit .cvco-icon path{transition:fill .3s ease;fill:#4a48c1}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{position:static;width:100%;border-radius:10px}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:left;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{margin:0 0 20px;font-size:16px;font-weight:700}.cvco-app .cvco-interrupt__message{margin-bottom:40px;font-size:16px}.cvco-app .cvco-interrupt__message:last-child{margin-bottom:0}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{position:absolute;z-index:100;top:20px;left:50%;padding:10px 15px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;border:1px solid #fff;border-radius:5px;opacity:0;background:#4a48c1;color:#fff;font-size:12px}.cvco-app .cvco-skip-link:focus{transform:translate(-50%) scale(1);opacity:1}.cvco-app .cvco-disclaimer{display:block;flex:0 0 auto;width:100%;height:auto;padding:20px;background-color:#eff3f6}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-disclaimer{margin-top:80px;padding:10px 20px}.cvco-app .cvco-disclaimer__title{margin:0 0 5px;padding-right:20px;font-size:12px;font-weight:700;line-height:1}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{display:flex;flex-direction:column;align-items:center;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{margin-top:0;margin-bottom:5px;font-size:16px;font-weight:700;text-align:center}.cvco-app .cvco-idle__title:last-child{margin-bottom:0}.cvco-app .cvco-idle__count-container{display:block;width:100%;height:2.75em;margin-bottom:10px;font-size:12px}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;width:100%;font-size:inherit;text-align:center;white-space:nowrap}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;justify-content:center;width:100%;margin:0;padding:0;list-style-type:none}.cvco-app .cvco-idle__options .cvco-button{margin:5px 5px 0;text-align:center;white-space:normal}.cvco-app .cvco-prompt{display:flex;flex-direction:column;align-items:center;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{margin-top:0;margin-bottom:5px;font-size:16px;font-weight:700;text-align:center}.cvco-app .cvco-prompt__title:last-child{margin-bottom:0}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;justify-content:center;width:100%;margin:0;padding:0;list-style-type:none}.cvco-app .cvco-prompt__options .cvco-button{margin:5px 5px 0;text-align:center;white-space:normal}.cvco-app .cvco-chat__options{display:flex;position:relative;flex:0;align-items:center;justify-content:flex-end;width:100%;padding:5px;border-top:1px solid #dee3e5}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{display:flex;align-items:center;justify-content:flex-end;padding:5px 10px;border-radius:5px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:5px}.cvco-app .cvco-chat__options__button .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{display:none;position:absolute;right:10px;bottom:calc(100% + 10px);max-width:300px;max-height:400px;margin:0;padding:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease;border:1px solid #dee3e5;border-radius:5px;opacity:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1);list-style:none}.cvco-app .cvco-options__menu.cvco-transition--visible{display:block}.cvco-app .cvco-options__menu.cvco-transition--in{transform:scaleY(1) translateY(0);opacity:1}.cvco-app .cvco-options__menu__item{margin-bottom:5px;transition:opacity .1s ease .1s;opacity:0}.cvco-app .cvco-options__menu__item:last-child{margin-bottom:0}.cvco-app .cvco-options__menu.cvco-transition--in .cvco-options__menu__item{opacity:1}.cvco-app .cvco-options__menu .cvco-button{display:flex;align-items:center;width:100%;min-width:200px;border-radius:5px}.cvco-app .cvco-options{display:none;position:absolute;right:10px;bottom:calc(100% + 10px);flex-direction:column;width:calc(100% - 20px);max-width:300px;margin:0;padding:0;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease;border:1px solid #dee3e5;border-radius:5px;opacity:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1);list-style:none}.cvco-app .cvco-options--left{right:auto;left:10px}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{transform:scaleY(1) translateY(0);opacity:1}.cvco-app .cvco-options__body{display:flex;flex-direction:column;max-height:300px;transition:opacity .1s ease .1s;opacity:0}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{display:flex;flex:0 0 auto;align-items:center;width:calc(100% - 50px);margin:0;padding:20px 20px 10px;color:#223182;font-size:16px;font-weight:700}.cvco-app .cvco-options__close{display:flex;position:absolute;top:10px;right:10px;align-items:center;justify-content:center;width:40px;height:40px;color:#4a48c1;font-size:0}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;width:16px;height:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{flex:1 1 auto;flex-direction:column}.cvco-app .cvco-options__wrapper{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-start;width:100%;padding:0 20px;overflow:auto}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 100%;width:100%;height:20px}.cvco-app .cvco-options__body div{width:100%}.cvco-app .cvco-options__wrapper h3{margin:0;color:#223182;font-size:14px;font-weight:700}.cvco-app .cvco-options__description{display:block;width:100%;margin-bottom:10px;font-size:14px}.cvco-app .cvco-transcript__input{width:100%;min-height:40px;padding:10px;transition:padding .3s ease;border:1px solid #dee3e5;border-radius:5px;font-size:16px}.cvco-app .cvco-transcript__input:focus{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input::-moz-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input::placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input:input-placeholder,.cvco-app .cvco-transcript__input:placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-options__active-language{color:#3d4166;font-size:14px}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;width:100%;margin-top:10px;padding:0}.cvco-app .cvco-options__actions .cvco-button{width:100%;margin-right:10px}.cvco-app .cvco-options__actions .cvco-button:last-child{margin-right:0}.cvco-app .cvco-chat-status{display:flex;position:absolute;z-index:1;top:20px;left:20px;align-items:center;justify-content:space-between;width:calc(100% - 40px);height:40px;min-height:40px;padding:5px 20px;border-radius:20px;background-color:#fff;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2)}.cvco-app.cvco-app--collapsed .cvco-chat-status{display:none}.cvco-app .cvco-chat--layout-window .cvco-chat-status{width:calc(100% - 90px)}.cvco-app .cvco-chat-status__title{display:flex;flex:1;align-items:center;margin:0 10px 0 0;color:#3d4166;font-size:12px;font-weight:700;line-height:1.25}.cvco-app .cvco-chat-status .cvco-button--tertiary{color:#4a48c1}.cvco-app .cvco-upload-toggle-wrapper{width:0;height:100%;overflow:visible;transition:width .3s ease}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:50px}.cvco-app .cvco-upload-toggle{display:flex;flex:0 0 40px;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;padding:0;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;border-radius:5px;opacity:0;color:transparent;font-size:0;line-height:1;text-align:center}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{transform:translateX(0);opacity:1}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;width:24px;height:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-upload{width:100%;padding:10px 10px 0}.cvco-app .cvco-upload-form{display:block}.cvco-app .cvco-upload__container{width:100%;margin-bottom:10px}.cvco-app .cvco-upload__visible-label--text{display:block;width:100%;font-size:16px;font-weight:700}.cvco-app .cvco-upload__content-hint{display:block;width:100%;margin-bottom:10px;padding-right:20px;font-size:12px}.cvco-app .cvco-file-upload{width:100%;max-width:100%;border:1px solid #4a48c1;border-radius:5px}.cvco-app .cvco-file-upload.cvco-focus-within{outline:1px dotted #212121;outline:5px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:10px;color:#4a48c1;text-align:left}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;width:32px;height:32px;margin-right:10px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{display:block;flex:1 1 100%;max-width:100%;color:inherit;font-size:14px;font-weight:700}.cvco-app .cvco-upload__output{display:block;flex:1 1 100%;max-width:100%;color:#003a5d;font-size:12px;word-break:break-all}.cvco-app .cvco-upload .cvco-button--primary{text-align:center}.cvco-app .cvco-upload__button-container{display:flex;flex:0 0 100%;justify-content:flex-end}.cvco-app .cvco-upload__cancel{margin-right:5px;padding:10px}.cvco-app .cvco-upload__cancel:last-child{margin-right:0}.cvco-app .cvco-progress__text{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:5px}.cvco-app .cvco-progress__text--file-name{max-width:calc(100% - 40px);padding-right:20px;overflow:hidden;font-size:14px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;font-size:14px;line-height:1}.cvco-app .cvco-progress .cvco-error{margin-top:10px}.cvco-app .cvco-progress .cvco-error:empty{display:none}.cvco-app .cvco-progress__bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border-radius:5px;background:#eff3f6}.cvco-app .cvco-progress__bar::-webkit-progress-bar{border-radius:5px;background:#eff3f6}.cvco-app .cvco-progress__bar::-webkit-progress-value{border-radius:5px;background-color:#4a48c1}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;width:100%;margin:0 0 5px}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:5px}.cvco-app .cvco-error .cvco-error__message{display:flex;align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{width:100%;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:700}.cvco-app .cvco-notification{display:block;margin:0 0 10px;background-color:rgba(74,72,193,.1);color:#223182}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{display:flex;position:absolute;top:0;right:0;align-items:center;justify-content:right;height:100%;padding:0 10px;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s;opacity:0;font-size:12px;font-weight:700;line-height:1;text-align:right;pointer-events:none}.cvco-app .cvco-character-count span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.cvco-app .cvco-character-exceeded .cvco-character-count,.cvco-app .cvco-character-warning .cvco-character-count{transform:translateX(0);opacity:1}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{display:flex;position:absolute;z-index:1;top:20px;right:20px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background-color:#fff;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2)}.cvco-app .cvco-message__body{display:block;position:relative;max-width:100%;margin-bottom:5px;padding:10px 15px;border-radius:10px;background-color:#eff3f6;color:#3d4166}.cvco-app .cvco-message__body .cvco-icon svg path{fill:#3d4166}.cvco-app .cvco-message__body:last-child{margin-bottom:0}.cvco-app .cvco-unstarted-wrapper.cvco-unstarted-wrapper--window .cvco-message__body{margin-left:auto;padding:10px 15px;border:1px solid #fff;border-radius:10px;background-color:#eff3f6;font-size:14px}.cvco-app .cvco-unstarted-wrapper--continue .cvco-message__body{transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--continue.cvco-transition--in .cvco-message__body{transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s;opacity:1}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{flex:0 0 100%;width:100%;padding:0 15px 10px;border-radius:0;background-color:transparent;background-color:initial;text-align:center}.cvco-app .cvco-message--source-user .cvco-message__body{background-color:#223182;color:#fff}.cvco-app .cvco-message--source-user .cvco-message__body .cvco-icon svg path{fill:#fff}.cvco-app .cvco-message--type-splash .cvco-message__body{padding:0;border-radius:0;background-color:transparent;background-color:initial;font-size:24px;font-weight:700}.cvco-app .cvco-message--type-suggestions .cvco-message__body{width:100%;padding:0;background-color:transparent;background-color:initial}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body p,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body p,.cvco-app .cvco-message--type-text .cvco-message__body ul{margin:0 0 20px}.cvco-app .cvco-message--type-splash .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body p:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body ul:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-text .cvco-message__body p:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ul:last-child{margin:0}.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ul{padding-left:1.5em}.cvco-app .cvco-message--type-splash .cvco-message__body ul li,.cvco-app .cvco-message--type-text .cvco-message__body ul li{list-style-type:disc}.cvco-app .cvco-message--type-splash .cvco-message__body a,.cvco-app .cvco-message--type-text .cvco-message__body a{color:#4a48c1;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.cvco-app .cvco-message--source-user .cvco-message__body a{color:#fff}.cvco-app .cvco-message--type-loading .cvco-message__body{align-self:flex-start}.cvco-app .cvco-message--type-choice-prompt .cvco-message__body{width:100%;padding:0;background-color:transparent;background-color:initial}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{display:block;width:100%;height:auto;overflow:hidden;border-radius:10px}.cvco-app .cvco-message--type-video .cvco-message__body{width:100%;padding:0;background-color:#000}.cvco-app .cvco-message--type-video iframe{display:block;width:100%;aspect-ratio:6/4;border:0;border-radius:10px}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{display:flex;align-items:center;padding:10px 15px;border-radius:10px;color:inherit;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download:not(.cvco-download-link) .cvco-file-download{text-decoration:line-through}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:10px}.cvco-app .cvco-message--type-upload .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{margin-top:4px;color:#6a7f8c;font-size:12px;line-height:1.35}.cvco-app .cvco-message--type-cta .cvco-message__body{display:flex;flex-direction:column;width:100%;padding:10px 15px 15px;background-color:#223182}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;width:100%;padding:0}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{display:flex;position:absolute;z-index:1;top:-10px;right:-10px;align-items:center;justify-content:center;width:25px;height:25px;transform:scale(1);transform-origin:50% 50%;transition:transform .3s cubic-bezier(.175,.885,.32,1.275) .5s,opacity .3s ease;border-radius:50%;opacity:1;background-color:#db1639;color:#fff;font-size:12px;font-weight:700;line-height:1}.cvco-app .cvco-message-count:empty{transform:scale(0);transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-suggestions{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;overscroll-behavior:contain}.cvco-app .cvco-suggestions--aside{flex-direction:column;max-height:320px;padding:20px;overflow:hidden;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s;opacity:1}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}}@media(min-width:641px){.cvco-app .cvco-suggestions--aside{flex:0 0 50%;width:50%;height:640px;min-height:100%;max-height:90vh;transform:translateX(-100%)}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{flex:0 0 auto;margin:0 0 10px;color:#003a5d;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;height:auto;overscroll-behavior:contain}.cvco-app .cvco-suggestions--aside .cvco-suggestions__list{flex:1 1 100%;flex-flow:column nowrap;height:100%;max-height:100%;overflow-y:auto}.cvco-app .cvco-suggestions__item{display:block;flex:0 0 auto;max-width:100%;margin:0 5px 5px 0}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{width:100%;margin-right:0}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{display:block;width:100%;margin:5px 0 0;color:#003a5d;font-size:16px;font-weight:700}.cvco-app .cvco-window-open-button{display:none;position:fixed;z-index:1;right:20px;bottom:20px;width:48px;height:48px;padding:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;border:1px solid #a3b4bf;border-radius:10px;opacity:0;background-color:#003a5d;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{transform:scale(1);transition:transform .3s ease .2s;opacity:1}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;border-radius:10px}.cvco-app .cvco-pre-chat-messages{list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-pre-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-pre-chat-messages{display:block}.cvco-app .cvco-unstarted-wrapper--inline .cvco-pre-chat-messages{transition:opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-pre-chat-messages{transition:opacity .3s ease .2s;opacity:1}.cvco-app .cvco-unstarted-wrapper--window .cvco-pre-chat-messages{transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-pre-chat-messages{transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s;opacity:1}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{position:fixed;z-index:1;right:30px;bottom:78px;max-width:calc(100% - 60px)}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;width:100%;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease}@media(min-width:1025px){.cvco-app .cvco-unstarted-wrapper--inline{width:67%}}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--visible{display:block}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in{max-height:600px;margin-bottom:20px}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.cvco-modal{display:flex;position:fixed;z-index:99;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:100%;min-width:100%;height:100%;min-height:100%;padding:20px;transform:scale(1);opacity:1;background-color:hsla(0,0%,100%,.8)}.cvco-modal,.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal__float{max-width:80rem;padding:5px;border:1px solid #dee3e5;border-radius:10px;outline:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-modal__float,.cvco-modal__inner{position:relative;width:100%;height:100%}.cvco-modal__inner{display:flex;align-items:center;justify-content:center;padding:10px}.cvco-modal__image{display:block;flex:0 0 auto;width:auto;max-width:100%;max-height:100%;border:1px solid #dee3e5}.cvco-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;position:absolute;top:20px;right:20px;align-items:center;min-height:40px;padding:5px 15px;border:0;border-radius:5px;background-color:#4a48c1;color:#fff;font-weight:700}.cvco-modal__close .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:10px}.cvco-modal__close .cvco-icon svg{width:inherit;height:inherit}.cvco-modal__close .cvco-icon svg path{transition:fill .3s ease;fill:#fff}.cvco-modal__enlarge{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;position:absolute;right:20px;bottom:20px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background-color:#fff;color:transparent;font-size:0}.cvco-modal__enlarge .cvco-icon svg path{fill:#4a48c1}
1
+ @-webkit-keyframes cvco-loader{0%,75%,to{transform:scaleY(.45);border-radius:50%}37.5%{transform:scaleY(1);border-radius:2.5px}}@keyframes cvco-loader{0%,75%,to{transform:scaleY(.45);border-radius:50%}37.5%{transform:scaleY(1);border-radius:2.5px}}@-webkit-keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.cvco-app .cvco-chat{display:flex;flex-direction:column;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease;outline:0;color:#3d4166;font-family:arial,helvetica,sans-serif;font-size:12px}.cvco-app .cvco-chat,.cvco-app .cvco-chat *,.cvco-app .cvco-chat :after,.cvco-app .cvco-chat :before{box-sizing:border-box}.cvco-app .cvco-chat--layout-inline{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background-color:transparent;background-color:initial;box-shadow:none}@media(min-width:641px){.cvco-app .cvco-chat--layout-inline{flex-direction:row}}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat-wrapper{height:auto}.cvco-app .cvco-chat--layout-window{max-width:calc(100vw - 40px);max-height:calc(85vh - 40px);display:none;position:fixed;z-index:1;right:20px;bottom:20px;width:360px;max-width:calc(100% - 40px);height:720px;transform:scale(0);opacity:0}@media(min-width:641px){.cvco-app .cvco-chat--layout-window{max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-window{right:20px;bottom:20px;max-height:calc(100vh - 40px)}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{transform:scale(1);opacity:1}.cvco-app .cvco-chat--layout-app{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;max-height:100%}.cvco-app .cvco-chat-wrapper{display:flex;position:relative;z-index:1;flex-direction:column;width:100%;height:100%;overflow:hidden;transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;border:1px solid #a3b4bf;border-radius:10px;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{width:100%;height:0}@media(min-width:641px)and (max-width:1023px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 100%}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper:not(:only-child){flex:0 0 50%;width:50%}}@media(min-width:1025px){.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{flex:0 0 67%;width:67%}}.cvco-app .cvco-chat--layout-inline.cvco-transition--in .cvco-chat-wrapper{height:640px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;position:relative;flex-direction:column;width:100%;height:100%}.cvco-app .cvco-chat__body{display:flex;position:relative;flex-grow:4;padding:0;overflow-y:auto}.cvco-app .cvco-chat--layout-window .cvco-chat__body{overscroll-behavior:contain}.cvco-app .cvco-chat__entry{position:relative;flex:0 0 auto;padding:10px;border-top:1px solid #dee3e5}.cvco-app .cvco-chat__entry .cvco-entry__body--hidden{display:none}.cvco-app .cvco-chat--layout-inline.cvco-chat--collapsed .cvco-chat__entry{border:0}.cvco-app .cvco-entry__body{display:flex;align-items:center}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-input__checkbox{margin-right:10px}.cvco-app .cvco-input__checkbox[aria-disabled=true]{opacity:.5}.cvco-app .cvco-label{display:block;margin-bottom:5px;color:#4a48c1;font-size:14px;font-weight:700}.cvco-app .cvco-input__checkbox[aria-disabled=true]+.cvco-label{opacity:.5}.cvco-app .cvco-input__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:40px;padding:10px;border:1px solid #dee3e5;border-radius:5px;background-color:#fff;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzRBNDhDMSIgZD0iTTIuOTk4IDYuNTAzYS45OTkuOTk5IDAgMDExLjY4Ny0uNzI3TDcuMjcgOC4yMjJjLjM5NC4zNzMgMS4wNi4zNzMgMS40NTQgMGwyLjU4Ni0yLjQ0NmEuOTk5Ljk5OSAwIDExMS4zNzQgMS40NTRsLTIuNTg2IDIuNDQ2Yy0xLjE1OSAxLjA5Ni0zLjA0MyAxLjA5Ni00LjIwMyAwTDMuMzEgNy4yMjlhLjk5NC45OTQgMCAwMS0uMzEyLS43MjZ6Ii8+PC9zdmc+");background-repeat:no-repeat;background-position:right 10px top 50%;background-size:15px auto;color:#3d4166;font-size:16px;resize:none}.cvco-app .cvco-input__select[aria-disabled=true]{border:1px solid #a3b4bf;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iI2EzYjRiZiIgZD0iTTIuOTk4IDYuNTAzYS45OTkuOTk5IDAgMDExLjY4Ny0uNzI3TDcuMjcgOC4yMjJjLjM5NC4zNzMgMS4wNi4zNzMgMS40NTQgMGwyLjU4Ni0yLjQ0NmEuOTk5Ljk5OSAwIDExMS4zNzQgMS40NTRsLTIuNTg2IDIuNDQ2Yy0xLjE1OSAxLjA5Ni0zLjA0MyAxLjA5Ni00LjIwMyAwTDMuMzEgNy4yMjlhLjk5NC45OTQgMCAwMS0uMzEyLS43MjZ6Ii8+PC9zdmc+");color:#a3b4bf}.cvco-app .cvco-avatar{display:block;position:relative;flex-shrink:0;width:32px;height:32px;overflow:hidden;border-radius:5px}.cvco-app .cvco-avatar>.cvco-icon,.cvco-app .cvco-avatar__graphic{display:block}.cvco-app .cvco-conversation__message+.cvco-avatar{align-self:flex-end;margin-left:10px}.cvco-app .cvco-button{display:inline-block;margin:0;padding:0;border:0;background:none;font-size:14px;text-align:left;cursor:pointer}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{min-height:40px;padding:10px 15px;border-radius:5px;background-color:#4a48c1;color:#fff;font-weight:700}.cvco-app .cvco-button--secondary{padding:10px 15px;color:#4a48c1;font-weight:700}.cvco-app .cvco-button--tertiary{padding:2px 5px;border-radius:5px;background-color:transparent;background-color:initial;color:#fff;font-size:12px;font-weight:700}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{display:inline-block;margin:-3px -3px -3px 3px;padding:3px 5px;border-radius:5px;background-color:#eff3f6;color:inherit}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%;margin-top:5px;margin-left:0}.cvco-app .cvco-choice-prompt__item:first-child{margin-top:0}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{padding:5px 0;background-color:transparent;background-color:initial;color:#4a48c1}.cvco-app .cvco-button--choose-again{display:flex;align-items:center;margin:5px 0 10px;padding:0}.cvco-app .cvco-button--choose-again:last-child{margin-bottom:0}.cvco-app .cvco-button--choose-again .cvco-icon{display:flex;flex:0 0 8px;align-items:center;justify-content:center;width:8px;height:8px;margin:0 10px;transform-origin:50% 50%;transition:transform .3s ease}.cvco-app .cvco-button--choose-again .cvco-icon path{fill:currentcolor}.cvco-app .cvco-button--choose-again[aria-expanded=true] .cvco-icon{transform:rotate(180deg)}.cvco-app .cvco-conversation__container{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;flex:1 1 100%;flex-direction:column;justify-content:space-between;height:100%;max-height:100%}.cvco-app .cvco-conversation{list-style:none;width:100%;margin:auto 0 0;padding:20px 20px 0}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 100%;width:100%;height:20px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-conversation{padding-top:80px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-disclaimer+.cvco-conversation{padding-top:0}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{width:100%;min-height:0;margin-top:10px}.cvco-app .cvco-conversation__item--new-participant{margin-top:20px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-conversation__item--source-info{margin-top:20px;margin-bottom:20px}.cvco-app .cvco-conversation__item--source-info:last-child{margin-bottom:0}.cvco-app .cvco-divider{display:flex;position:relative;justify-content:center;margin:20px -20px 0;padding:65px 30px 0;overflow:hidden;background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;line-height:1.5}.cvco-app .cvco-divider:before{content:"";position:absolute;top:0;left:50%;width:100%;height:40px;transform:translateX(-50%);background:radial-gradient(110px at 50%,at 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background:radial-gradient(110px at 50% 300%,rgba(74,72,193,.5) 0,hsla(0,0%,100%,0) 99.99%,rgba(74,72,193,0) 100%);background-repeat:no-repeat}.cvco-app .cvco-divider--type-time-indicator{padding-top:60px;padding-bottom:20px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0;padding-bottom:10px}.cvco-app .cvco-divider__graphic{position:absolute;top:40px;left:50%;width:32px;height:32px;transform:translate(-50%,-60%);border-radius:5px;background:#fff}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-divider__body{font-size:12px;text-align:center}.cvco-app .cvco-divider__time{text-align:center}.cvco-app .cvco-divider__time span{display:block}.cvco-app .cvco-divider__time span:first-of-type{font-weight:700}.cvco-app .cvco-divider--type-newtranslation{text-align:center}.cvco-app .cvco-divider--type-newtranslation .cvco-divider__body{max-width:80%}.cvco-app .cvco-divider--type-newtranslation .cvco-divider__title{font-weight:700}.cvco-app .cvco-divider .cvco-button{padding:0;font-size:inherit}.cvco-app .cvco-loader{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:20px;padding:2.5px 5px;-webkit-animation:cvco-fadeIn .3s linear;animation:cvco-fadeIn .3s linear}.cvco-app .cvco-loader__part{display:inline-block;width:6.666px;height:100%;margin-right:5px;transform:scaleY(.45);-webkit-animation-name:cvco-loader;animation-name:cvco-loader;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-delay:.12s;animation-delay:.12s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;border-radius:50%;background-color:currentcolor}.cvco-app .cvco-loader__part.cvco-one{-webkit-animation-delay:.12s;animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{-webkit-animation-delay:.24s;animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{-webkit-animation-delay:.36s;animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{margin-right:0;-webkit-animation-delay:.48s;animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;width:80%}.cvco-app .cvco-message.cvco-message--type-suggestions,.cvco-app .cvco-unstarted-wrapper--window .cvco-message{width:100%}.cvco-app .cvco-message+.cvco-message{margin-top:10px}.cvco-app .cvco-message--source-info.cvco-message{width:90%;max-width:90%;margin:0 auto}.cvco-app .cvco-message--source-info.cvco-message:after{content:"";display:block;width:20px;height:0;margin:0 auto;border-top:2px solid #4a48c1}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{display:none;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;margin-bottom:.3rem;padding:0 10px;font-weight:700}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{width:16px;height:16px;margin:0 .5em 0 0}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2;margin:0 0 0 10px}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{width:100%;margin-top:4px;color:#6a7f8c;font-size:12px;line-height:1.35}.cvco-app .cvco-message--source-user .cvco-message__info{text-align:right}.cvco-app .cvco-message__translation-info{width:100%}.cvco-app.cvco-app--collapsed .cvco-message__translation-info{display:none}.cvco-app .cvco-message__translation-label{margin-right:5px;font-size:12px}.cvco-app .cvco-button.cvco-message__translation-toggle{padding:0;font-size:inherit}.cvco-app .cvco-message--source-user .cvco-message__translation-info{text-align:right}.cvco-app .cvco-card__wrapper{display:flex;flex-direction:column;height:100%}.cvco-app .cvco-card__image{flex:0 0 auto;width:100%;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;border-top-left-radius:10px;border-top-right-radius:10px}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-wrap:wrap;padding:10px 15px 15px}.cvco-app .cvco-card__title{display:block;flex:0 0 100%;width:100%;margin:0 0 5px;padding:0;font-size:16px;font-weight:700}.cvco-app .cvco-card__title:last-child{margin-bottom:0}.cvco-app .cvco-card__description{display:block;width:100%;margin-bottom:20px}.cvco-app .cvco-card__description:last-child{margin-bottom:0}.cvco-app .cvco-card__content .cvco-button{display:block;align-self:flex-end;width:100%;font-weight:700;text-decoration:none}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;width:100%;overflow:hidden}.cvco-app .cvco-carousel__slides{display:flex;position:relative;flex-direction:row;padding:0;transition:left .3s ease;list-style:none}.cvco-app .cvco-carousel__slide{display:block;width:100%;padding:0;list-style:none}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;width:100%;height:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{display:flex;position:relative;align-items:center;justify-content:space-between;width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:0;border-top:1px solid #dee3e5}.cvco-app .cvco-carousel-controls .cvco-button{display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;background-color:transparent;background-color:initial;color:transparent;font-size:0}.cvco-app .cvco-carousel-controls .cvco-button--previous{left:0}.cvco-app .cvco-carousel-controls .cvco-button--next{right:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon{display:block;width:16px;height:16px;padding:0;border:0}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{display:flex;position:relative;align-items:center;justify-content:center;padding:0 10px}.cvco-app .cvco-carousel-pagination__wrapper{display:flex;position:relative;flex-direction:row;justify-content:center}.cvco-app .cvco-carousel-pagination{display:flex;position:relative;flex-flow:row wrap;justify-content:center;width:100%;margin:0 auto;padding:0}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{display:block;position:relative;width:24px;height:24px;padding:0;border:0;border-radius:0;background-color:transparent;background-color:initial}.cvco-app .cvco-carousel-pagination__button:before{content:"";display:block;position:absolute;top:50%;left:50%;width:9.6px;height:9.6px;transform:translate(-50%,-50%);transform-origin:50% 50%;border-radius:50%;background-color:#a3b4bf}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-cta__content{margin-bottom:10px;color:#fff;font-size:14px;line-height:1.5}.cvco-app .cvco-cta__content p{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-message--type-cta .cvco-button{margin-bottom:10px;line-height:2;text-decoration:none}.cvco-app .cvco-message--type-cta .cvco-button:last-child{margin-bottom:0}.cvco-app .cvco-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;line-height:1}.cvco-app .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;width:100%;height:100%}.cvco-app .cvco-input--text__container{display:flex;position:relative;flex:1 1 100%;height:100%;margin-right:5px}.cvco-app .cvco-input__text{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-grow:4;height:40px;margin-right:5px;padding:10px;transition:padding .3s ease;border:1px solid transparent;border-radius:5px;color:#3d4166;font-size:16px;resize:none}.cvco-app .cvco-input__text::input-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text::-moz-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text::placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input__text:input-placeholder,.cvco-app .cvco-input__text:placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-input--text__container .cvco-input__text{width:100%;margin-right:0}.cvco-app .cvco-character-exceeded .cvco-input__text,.cvco-app .cvco-character-warning .cvco-input__text{padding-right:40px}.cvco-app .cvco-character-exceeded .cvco-input__text{border:1px solid #db1639}.cvco-app .cvco-input__submit{display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:5px}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit .cvco-icon path{transition:fill .3s ease;fill:#4a48c1}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{position:static;width:100%;border-radius:10px}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:left;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{margin:0 0 20px;font-size:16px;font-weight:700}.cvco-app .cvco-interrupt__message{margin-bottom:40px;font-size:16px}.cvco-app .cvco-interrupt__message:last-child{margin-bottom:0}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{position:absolute;z-index:100;top:20px;left:50%;padding:10px 15px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;border:1px solid #fff;border-radius:5px;opacity:0;background:#4a48c1;color:#fff;font-size:12px}.cvco-app .cvco-skip-link:focus{transform:translate(-50%) scale(1);opacity:1}.cvco-app .cvco-disclaimer{display:block;flex:0 0 auto;width:100%;height:auto;padding:20px;background-color:#eff3f6}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat-status~.cvco-chat__container .cvco-disclaimer{margin-top:80px;padding:10px 20px}.cvco-app .cvco-disclaimer__title{margin:0 0 5px;padding-right:20px;font-size:12px;font-weight:700;line-height:1}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{display:flex;flex-direction:column;align-items:center;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{margin-top:0;margin-bottom:5px;font-size:16px;font-weight:700;text-align:center}.cvco-app .cvco-idle__title:last-child{margin-bottom:0}.cvco-app .cvco-idle__count-container{display:block;width:100%;height:2.75em;margin-bottom:10px;font-size:12px}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;width:100%;font-size:inherit;text-align:center;white-space:nowrap}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;justify-content:center;width:100%;margin:0;padding:0;list-style-type:none}.cvco-app .cvco-idle__options .cvco-button{margin:5px 5px 0;text-align:center;white-space:normal}.cvco-app .cvco-prompt{display:flex;flex-direction:column;align-items:center;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{margin-top:0;margin-bottom:5px;font-size:16px;font-weight:700;text-align:center}.cvco-app .cvco-prompt__title:last-child{margin-bottom:0}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;justify-content:center;width:100%;margin:0;padding:0;list-style-type:none}.cvco-app .cvco-prompt__options .cvco-button{margin:5px 5px 0;text-align:center;white-space:normal}.cvco-app .cvco-chat__options{display:flex;position:relative;flex:0;align-items:center;justify-content:flex-end;width:100%;padding:5px;border-top:1px solid #dee3e5}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{display:flex;align-items:center;justify-content:flex-end;padding:5px 10px;border-radius:5px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:5px}.cvco-app .cvco-chat__options__button .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{display:none;position:absolute;right:10px;bottom:calc(100% + 10px);max-width:300px;max-height:400px;margin:0;padding:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease;border:1px solid #dee3e5;border-radius:5px;opacity:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1);list-style:none}.cvco-app .cvco-options__menu.cvco-transition--visible{display:block}.cvco-app .cvco-options__menu.cvco-transition--in{transform:scaleY(1) translateY(0);opacity:1}.cvco-app .cvco-options__menu__item{margin-bottom:5px;transition:opacity .1s ease .1s;opacity:0}.cvco-app .cvco-options__menu__item:last-child{margin-bottom:0}.cvco-app .cvco-options__menu.cvco-transition--in .cvco-options__menu__item{opacity:1}.cvco-app .cvco-options__menu .cvco-button{display:flex;align-items:center;width:100%;min-width:200px;border-radius:5px}.cvco-app .cvco-options{display:none;position:absolute;right:10px;bottom:calc(100% + 10px);flex-direction:column;width:calc(100% - 20px);max-width:300px;margin:0;padding:0;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease;border:1px solid #dee3e5;border-radius:5px;opacity:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1);list-style:none}.cvco-app .cvco-options--left{right:auto;left:10px}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{transform:scaleY(1) translateY(0);opacity:1}.cvco-app .cvco-options__body{display:flex;flex-direction:column;max-height:300px;transition:opacity .1s ease .1s;opacity:0}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{display:flex;flex:0 0 auto;align-items:center;width:calc(100% - 50px);margin:0;padding:20px 20px 10px;color:#223182;font-size:16px;font-weight:700}.cvco-app .cvco-options__close{display:flex;position:absolute;top:10px;right:10px;align-items:center;justify-content:center;width:40px;height:40px;color:#4a48c1;font-size:0}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;width:16px;height:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{flex:1 1 auto;flex-direction:column}.cvco-app .cvco-options__wrapper{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-start;width:100%;padding:0 20px;overflow:auto}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 100%;width:100%;height:20px}.cvco-app .cvco-options__body div{width:100%}.cvco-app .cvco-options__wrapper h3{margin:0;color:#223182;font-size:14px;font-weight:700}.cvco-app .cvco-options__description{display:block;width:100%;margin-bottom:10px;font-size:14px}.cvco-app .cvco-transcript__input{width:100%;min-height:40px;padding:10px;transition:padding .3s ease;border:1px solid #dee3e5;border-radius:5px;font-size:16px}.cvco-app .cvco-transcript__input:focus{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input::-moz-placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input::placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-transcript__input:input-placeholder,.cvco-app .cvco-transcript__input:placeholder{overflow:visible;color:#a3b4bf;line-height:20px}.cvco-app .cvco-options__active-language{color:#3d4166;font-size:14px}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;width:100%;margin-top:10px;padding:0}.cvco-app .cvco-options__actions .cvco-button{width:100%;margin-right:10px}.cvco-app .cvco-options__actions .cvco-button:last-child{margin-right:0}.cvco-app .cvco-chat-status{display:flex;position:absolute;z-index:1;top:20px;left:20px;align-items:center;justify-content:space-between;width:calc(100% - 40px);height:40px;min-height:40px;padding:5px 20px;border-radius:20px;background-color:#fff;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2)}.cvco-app.cvco-app--collapsed .cvco-chat-status{display:none}.cvco-app .cvco-chat--layout-window .cvco-chat-status{width:calc(100% - 90px)}.cvco-app .cvco-chat-status__title{display:flex;flex:1;align-items:center;margin:0 10px 0 0;color:#3d4166;font-size:12px;font-weight:700;line-height:1.25}.cvco-app .cvco-chat-status .cvco-button--tertiary{color:#4a48c1}.cvco-app .cvco-upload-toggle-wrapper{width:0;height:100%;overflow:visible;transition:width .3s ease}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:50px}.cvco-app .cvco-upload-toggle{display:flex;flex:0 0 40px;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;padding:0;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;border-radius:5px;opacity:0;color:transparent;font-size:0;line-height:1;text-align:center}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{transform:translateX(0);opacity:1}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;width:24px;height:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-upload{width:100%;padding:10px 10px 0}.cvco-app .cvco-upload-form{display:block}.cvco-app .cvco-upload__container{width:100%;margin-bottom:10px}.cvco-app .cvco-upload__visible-label--text{display:block;width:100%;font-size:16px;font-weight:700}.cvco-app .cvco-upload__content-hint{display:block;width:100%;margin-bottom:10px;padding-right:20px;font-size:12px}.cvco-app .cvco-file-upload{width:100%;max-width:100%;border:1px solid #4a48c1;border-radius:5px}.cvco-app .cvco-file-upload.cvco-focus-within{outline:1px dotted #212121;outline:5px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:10px;color:#4a48c1;text-align:left}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;width:32px;height:32px;margin-right:10px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{display:block;flex:1 1 100%;max-width:100%;color:inherit;font-size:14px;font-weight:700}.cvco-app .cvco-upload__output{display:block;flex:1 1 100%;max-width:100%;color:#003a5d;font-size:12px;word-break:break-all}.cvco-app .cvco-upload .cvco-button--primary{text-align:center}.cvco-app .cvco-upload__button-container{display:flex;flex:0 0 100%;justify-content:flex-end}.cvco-app .cvco-upload__cancel{margin-right:5px;padding:10px}.cvco-app .cvco-upload__cancel:last-child{margin-right:0}.cvco-app .cvco-progress__text{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:5px}.cvco-app .cvco-progress__text--file-name{max-width:calc(100% - 40px);padding-right:20px;overflow:hidden;font-size:14px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;font-size:14px;line-height:1}.cvco-app .cvco-progress .cvco-error{margin-top:10px}.cvco-app .cvco-progress .cvco-error:empty{display:none}.cvco-app .cvco-progress__bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border-radius:5px;background:#eff3f6}.cvco-app .cvco-progress__bar::-webkit-progress-bar{border-radius:5px;background:#eff3f6}.cvco-app .cvco-progress__bar::-webkit-progress-value{border-radius:5px;background-color:#4a48c1}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;width:100%;margin:0 0 5px}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:5px}.cvco-app .cvco-error .cvco-error__message{display:flex;align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{width:100%;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:700}.cvco-app .cvco-notification{display:block;margin:0 0 10px;background-color:rgba(74,72,193,.1);color:#223182}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{display:flex;position:absolute;top:0;right:0;align-items:center;justify-content:right;height:100%;padding:0 10px;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s;opacity:0;font-size:12px;font-weight:700;line-height:1;text-align:right;pointer-events:none}.cvco-app .cvco-character-count span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.cvco-app .cvco-character-exceeded .cvco-character-count,.cvco-app .cvco-character-warning .cvco-character-count{transform:translateX(0);opacity:1}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{display:flex;position:absolute;z-index:1;top:20px;right:20px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background-color:#fff;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2)}.cvco-app .cvco-message__body{display:block;position:relative;max-width:100%;margin-bottom:5px;padding:10px 15px;border-radius:10px;background-color:#eff3f6;color:#3d4166}.cvco-app .cvco-message__body .cvco-icon svg path{fill:#3d4166}.cvco-app .cvco-message__body:last-child{margin-bottom:0}.cvco-app .cvco-unstarted-wrapper.cvco-unstarted-wrapper--window .cvco-message__body{margin-left:auto;padding:10px 15px;border:1px solid #fff;border-radius:10px;background-color:#eff3f6;font-size:14px}.cvco-app .cvco-unstarted-wrapper--continue .cvco-message__body{transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--continue.cvco-transition--in .cvco-message__body{transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s;opacity:1}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{flex:0 0 100%;width:100%;padding:0 15px 10px;border-radius:0;background-color:transparent;background-color:initial;text-align:center}.cvco-app .cvco-message--source-user .cvco-message__body{background-color:#223182;color:#fff}.cvco-app .cvco-message--source-user .cvco-message__body .cvco-icon svg path{fill:#fff}.cvco-app .cvco-message--type-splash .cvco-message__body{padding:0;border-radius:0;background-color:transparent;background-color:initial;font-size:24px;font-weight:700}.cvco-app .cvco-message--type-suggestions .cvco-message__body{width:100%;padding:0;background-color:transparent;background-color:initial}.cvco-app .cvco-message--type-splash .cvco-message__body ol,.cvco-app .cvco-message--type-splash .cvco-message__body p,.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ol,.cvco-app .cvco-message--type-text .cvco-message__body p,.cvco-app .cvco-message--type-text .cvco-message__body ul{margin:0 0 20px}.cvco-app .cvco-message--type-splash .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body p:last-child,.cvco-app .cvco-message--type-splash .cvco-message__body ul:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ol:last-child,.cvco-app .cvco-message--type-text .cvco-message__body p:last-child,.cvco-app .cvco-message--type-text .cvco-message__body ul:last-child{margin:0}.cvco-app .cvco-message--type-splash .cvco-message__body ul,.cvco-app .cvco-message--type-text .cvco-message__body ul{padding-left:1.5em}.cvco-app .cvco-message--type-splash .cvco-message__body ul li,.cvco-app .cvco-message--type-text .cvco-message__body ul li{list-style-type:disc}.cvco-app .cvco-message--type-splash .cvco-message__body a,.cvco-app .cvco-message--type-text .cvco-message__body a{color:#4a48c1;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.cvco-app .cvco-message--source-user .cvco-message__body a{color:#fff}.cvco-app .cvco-message--type-loading .cvco-message__body{align-self:flex-start}.cvco-app .cvco-message--type-choice-prompt .cvco-message__body{width:100%;padding:0;background-color:transparent;background-color:initial}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{display:block;width:100%;height:auto;overflow:hidden;border-radius:10px}.cvco-app .cvco-message--type-video .cvco-message__body{width:100%;padding:0;background-color:#000}.cvco-app .cvco-message--type-video iframe{display:block;width:100%;aspect-ratio:6/4;border:0;border-radius:10px}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{display:flex;align-items:center;padding:10px 15px;border-radius:10px;color:inherit;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download:not(.cvco-download-link) .cvco-file-download{text-decoration:line-through}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:10px}.cvco-app .cvco-message--type-upload .cvco-icon svg{width:100%;height:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{margin-top:4px;color:#6a7f8c;font-size:12px;line-height:1.35}.cvco-app .cvco-message--type-cta .cvco-message__body{display:flex;flex-direction:column;width:100%;padding:10px 15px 15px;background-color:#223182}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;width:100%;padding:0}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{display:flex;position:absolute;z-index:1;top:-10px;right:-10px;align-items:center;justify-content:center;width:25px;height:25px;transform:scale(1);transform-origin:50% 50%;transition:transform .3s cubic-bezier(.175,.885,.32,1.275) .5s,opacity .3s ease;border-radius:50%;opacity:1;background-color:#db1639;color:#fff;font-size:12px;font-weight:700;line-height:1}.cvco-app .cvco-message-count:empty{transform:scale(0);transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-suggestions{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;overscroll-behavior:contain}.cvco-app .cvco-suggestions--aside{flex-direction:column;max-height:320px;padding:20px;overflow:hidden;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s;opacity:1}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}}@media(min-width:641px){.cvco-app .cvco-suggestions--aside{flex:0 0 50%;width:50%;height:640px;min-height:100%;max-height:90vh;transform:translateX(-100%)}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{flex:0 0 auto;margin:0 0 10px;color:#003a5d;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;height:auto;overscroll-behavior:contain}.cvco-app .cvco-suggestions--aside .cvco-suggestions__list{flex:1 1 100%;flex-flow:column nowrap;height:100%;max-height:100%;overflow-y:auto}.cvco-app .cvco-suggestions__item{display:block;flex:0 0 auto;max-width:100%;margin:0 5px 5px 0}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{width:100%;margin-right:0}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{display:block;width:100%;margin:5px 0 0;color:#003a5d;font-size:16px;font-weight:700}.cvco-app .cvco-window-open-button{display:none;position:fixed;z-index:1;right:20px;bottom:20px;width:48px;height:48px;padding:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;border:1px solid #a3b4bf;border-radius:10px;opacity:0;background-color:#003a5d;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{transform:scale(1);transition:transform .3s ease .2s;opacity:1}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;border-radius:10px}.cvco-app .cvco-pre-chat-messages{list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-pre-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-pre-chat-messages{display:block}.cvco-app .cvco-unstarted-wrapper--inline .cvco-pre-chat-messages{transition:opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-pre-chat-messages{transition:opacity .3s ease .2s;opacity:1}.cvco-app .cvco-unstarted-wrapper--window .cvco-pre-chat-messages{transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease;opacity:0}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-pre-chat-messages{transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s;opacity:1}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{position:fixed;z-index:1;right:30px;bottom:78px;max-width:calc(100% - 60px)}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;width:100%;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease}@media(min-width:1025px){.cvco-app .cvco-unstarted-wrapper--inline{width:67%}}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--visible{display:block}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in{max-height:600px;margin-bottom:20px}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.cvco-modal{display:flex;position:fixed;z-index:99;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:100%;min-width:100%;height:100%;min-height:100%;padding:20px;transform:scale(1);opacity:1;background-color:hsla(0,0%,100%,.8)}.cvco-modal,.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal__float{max-width:80rem;padding:5px;border:1px solid #dee3e5;border-radius:10px;outline:0;background-color:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.1)}.cvco-modal__float,.cvco-modal__inner{position:relative;width:100%;height:100%}.cvco-modal__inner{display:flex;align-items:center;justify-content:center;padding:10px}.cvco-modal__image{display:block;flex:0 0 auto;width:auto;max-width:100%;max-height:100%;border:1px solid #dee3e5}.cvco-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;position:absolute;top:20px;right:20px;align-items:center;min-height:40px;padding:5px 15px;border:0;border-radius:5px;background-color:#4a48c1;color:#fff;font-weight:700}.cvco-modal__close .cvco-icon{flex:0 0 16px;width:16px;height:16px;margin-right:10px}.cvco-modal__close .cvco-icon svg{width:inherit;height:inherit}.cvco-modal__close .cvco-icon svg path{transition:fill .3s ease;fill:#fff}.cvco-modal__enlarge{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;position:absolute;right:20px;bottom:20px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background-color:#fff;color:transparent;font-size:0}.cvco-modal__enlarge .cvco-icon svg path{fill:#4a48c1}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamly/web-ui",
3
- "version": "20.8.0-alpha.1",
3
+ "version": "20.8.0-beta.1",
4
4
  "main": "build/dist/lib/index.js",
5
5
  "types": "build/src/javascripts/index.d.ts",
6
6
  "module": "",
@@ -82,6 +82,7 @@ export type Config = {
82
82
  appContainerClassNames?: string[] | ((config: Config) => string[])
83
83
  zIndex?: number
84
84
  showFaq?: boolean
85
+ showSuggestions?: boolean
85
86
  context?: Context
86
87
  messages?: Messages
87
88
  defaults?: {
@@ -15,6 +15,7 @@ export const initialConfigState: Config = {
15
15
  connectWhenInView: true,
16
16
  showDisclaimer: false,
17
17
  showFaq: false,
18
+ showSuggestions: true,
18
19
  customComponents: {},
19
20
  defaults: {
20
21
  visible: null,
@@ -27,6 +28,7 @@ const configKeys: (keyof Config)[] = [
27
28
  'connectWhenInView',
28
29
  'showDisclaimer',
29
30
  'showFaq',
31
+ 'showSuggestions',
30
32
  'namespace',
31
33
  'customComponents',
32
34
  'defaults',
@@ -50,9 +50,6 @@ export const i18nSlice = createSlice({
50
50
  .addCase(initializeConfig.fulfilled, (state, { payload }) => {
51
51
  state.initialLocale = payload.locale
52
52
  })
53
- .addCase(initializeApp.fulfilled, (state, { payload }) => {
54
- state.locale = payload.locale
55
- })
56
53
  .addCase(setLocale.fulfilled, (state, { payload }) => {
57
54
  if (!payload?.translations) {
58
55
  state.isLoading = false
@@ -4,8 +4,10 @@ import { initializeConfig } from 'domains/config/actions'
4
4
  import {
5
5
  ChannelEvent,
6
6
  EntryMeta,
7
- HistoryEvent,
7
+ HistoryEvents,
8
+ HistoryResponse,
8
9
  MessageParticipant,
10
+ ParticipantInfo,
9
11
  ServiceInfo,
10
12
  StoreState,
11
13
  } from 'domains/store/store.types'
@@ -23,7 +25,7 @@ export const isUnreadMessage = ({ type, payload }: ChannelEvent) =>
23
25
  (type === eventTypes.message && !payload.fromClient) ||
24
26
  (type === eventTypes.info && payload.type === payloadTypes.text)
25
27
 
26
- const orderHistory = (events): ChannelEvent[] => {
28
+ export const orderHistory = (events: ChannelEvent[]) => {
27
29
  return events.sort(
28
30
  (
29
31
  { payload: { occurredAt: occurredAtA } },
@@ -34,7 +36,7 @@ const orderHistory = (events): ChannelEvent[] => {
34
36
 
35
37
  export const mergeHistory = (
36
38
  stateEvents: ChannelEvent[],
37
- historyEvents: HistoryEvent[],
39
+ historyEvents: HistoryEvents,
38
40
  ) => {
39
41
  const newStateEvents = stateEvents.filter(
40
42
  (stateEvent) =>
@@ -264,6 +266,7 @@ export const storeSlice = createSlice({
264
266
  const { id, occurredAt } = payload
265
267
  if (matchedEvent) {
266
268
  state.events = orderHistory(
269
+ //@ts-ignore
267
270
  state.events.map((m) =>
268
271
  m.payload.id === matchedEvent.payload.id
269
272
  ? {
@@ -308,7 +311,7 @@ export const storeSlice = createSlice({
308
311
  serviceData,
309
312
  resumeConversationPrompt,
310
313
  },
311
- },
314
+ }: PayloadAction<HistoryResponse>,
312
315
  ) => {
313
316
  const events = mergeHistory(state.events, history)
314
317
 
@@ -337,7 +340,8 @@ export const storeSlice = createSlice({
337
340
  }
338
341
  }
339
342
 
340
- const { entry, uploads } = activeServiceSettings
343
+ const { entry } = activeServiceSettings
344
+ const { upload } = entry.options
341
345
 
342
346
  const historyNewEntryMeta = calculateNewEntryMeta(
343
347
  {
@@ -362,7 +366,7 @@ export const storeSlice = createSlice({
362
366
  newFeatures = {
363
367
  ...newFeatures,
364
368
  uploads: {
365
- enabled: !!(uploads && uploads.enabled),
369
+ enabled: !!(upload && upload.enabled),
366
370
  enabledFromEntry: entryType === entryTypes.upload,
367
371
  },
368
372
  }
@@ -454,13 +458,12 @@ export const storeSlice = createSlice({
454
458
  fromClient: payload.fromClient,
455
459
  })
456
460
  },
457
- setActiveService: (state, { payload }: PayloadAction<ServiceInfo>) => {
458
- if (
459
- state.serviceInfo.activeServiceSessionId !==
460
- payload.activeServiceSessionId
461
- ) {
462
- state.serviceInfo.activeServiceSessionId =
463
- payload.activeServiceSessionId
461
+ setActiveService: (
462
+ state,
463
+ { payload }: PayloadAction<ServiceInfo['activeServiceSessionId']>,
464
+ ) => {
465
+ if (state.serviceInfo.activeServiceSessionId !== payload) {
466
+ state.serviceInfo.activeServiceSessionId = payload
464
467
  }
465
468
  },
466
469
  setHeaderTitle: (state, { payload }) => {
@@ -33,7 +33,18 @@ export interface ParticipantEvent {
33
33
 
34
34
  export type ChannelEvent = MessageEvent | ParticipantEvent | InfoEvent
35
35
 
36
- export type HistoryEvent = ChannelEvent
36
+ type History = components['schemas']['ConversationHistoryResponse']['history']
37
+ export type HistoryResponse = {
38
+ events: ChannelEvent[]
39
+ participants: History['participants']
40
+ activeServiceSessionId: History['activeServiceSessionId']
41
+ activeServiceSettings: History['activeServiceSettings']
42
+ serviceData: History['serviceData']
43
+ resumeConversationPrompt: History['ui']['resumeConversationPrompt']
44
+ translation: History['translation']
45
+ }
46
+
47
+ export type HistoryEvents = HistoryResponse['events']
37
48
 
38
49
  export type EntryMeta = {
39
50
  default: typeof entryTypes.text
@@ -1,23 +1,27 @@
1
- import { getIsPayloadTranslated } from 'domains/translations/selectors'
1
+ import { RootState } from 'domains/store'
2
+ import {
3
+ ChannelEvent,
4
+ InfoEvent,
5
+ MessageEvent,
6
+ ParticipantEvent,
7
+ } from 'domains/store/store.types'
8
+ import { selectIsTranslated } from 'domains/translations/selectors'
2
9
  import {
3
- disableEvent,
4
10
  disableTranslation,
5
- enableEvent,
6
11
  enableTranslation,
7
12
  } from 'domains/translations/slice'
8
- import { useMemo } from 'preact/hooks'
13
+ import { useCallback, useMemo } from 'preact/hooks'
9
14
  import { useDispatch, useSelector } from 'react-redux'
10
15
  import {
11
16
  useElementFocusingById,
12
17
  useSeamlyCommands,
13
- useStableCallback,
14
18
  } from 'ui/hooks/seamly-hooks'
15
19
  import { actionTypes } from 'ui/utils/seamly-utils'
16
20
 
17
21
  export function useTranslations() {
18
22
  const { sendAction } = useSeamlyCommands()
19
23
  const dispatch = useDispatch()
20
- const enableTranslations = useStableCallback(
24
+ const enableTranslations = useCallback(
21
25
  (locale) => {
22
26
  sendAction({
23
27
  type: actionTypes.setTranslation,
@@ -25,15 +29,11 @@ export function useTranslations() {
25
29
  })
26
30
  dispatch(enableTranslation(locale))
27
31
  },
28
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
29
- // @ts-ignore
30
32
  [sendAction, dispatch],
31
33
  )
32
- const disableTranslations = useStableCallback(() => {
34
+ const disableTranslations = useCallback(() => {
33
35
  sendAction({ type: actionTypes.setTranslation, body: { enabled: false } })
34
36
  dispatch(disableTranslation())
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts-ignore
37
37
  }, [sendAction, dispatch])
38
38
 
39
39
  const { languages, isActive, isAvailable, currentLocale } = useSelector(
@@ -50,46 +50,52 @@ export function useTranslations() {
50
50
  }
51
51
  }
52
52
 
53
- export function useTranslatedEventData({ payload }) {
54
- const payloadId: string = payload?.id
55
- let body
56
- let translatedBody
57
- switch (payload?.type) {
58
- case 'participant':
59
- body = payload.participant.introduction
60
- translatedBody = payload.participant.translatedIntroduction
61
- break
62
- default:
63
- body = payload?.body
64
- translatedBody = payload?.translatedBody
65
- }
66
- const hasTranslation = !!translatedBody
67
- const isTranslated = useSelector((store) =>
68
- // @ts-ignore
69
- getIsPayloadTranslated(store, payloadId),
70
- )
71
- const dispatch = useDispatch()
53
+ type EventDataBody =
54
+ | ParticipantEvent['payload']['participant']['introduction']
55
+ | MessageEvent['payload']['body']
56
+ | InfoEvent['payload']['body']
57
+
58
+ type TranslatedEventDataBody =
59
+ | ParticipantEvent['payload']['participant']['translatedIntroduction']
60
+ | MessageEvent['payload']['translatedBody']
61
+ | InfoEvent['payload']['translatedBody']
72
62
 
73
- const toggleTranslation = useStableCallback(() => {
74
- if (isTranslated) {
75
- dispatch(disableEvent(payloadId))
76
- } else {
77
- dispatch(enableEvent(payloadId))
63
+ export function useTranslatedEventData(channelEvent: ChannelEvent): {
64
+ body: EventDataBody
65
+ hasTranslation: boolean
66
+ isTranslated: boolean
67
+ locale: string
68
+ } {
69
+ const getTranslations = (): {
70
+ body: EventDataBody
71
+ translatedBody: TranslatedEventDataBody
72
+ } => {
73
+ if (!channelEvent.payload)
74
+ return { body: undefined, translatedBody: undefined }
75
+ if (channelEvent.type === 'participant') {
76
+ return {
77
+ body: channelEvent.payload?.participant.introduction,
78
+ translatedBody:
79
+ channelEvent.payload?.participant?.translatedIntroduction,
80
+ }
78
81
  }
79
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
80
- // @ts-ignore
81
- }, [isTranslated, payloadId, dispatch])
82
82
 
83
- return [
84
- hasTranslation && isTranslated ? translatedBody?.data : body,
85
- {
86
- hasTranslation,
87
- isTranslated: isTranslated && hasTranslation,
88
- toggleTranslation,
89
- translatedBy: translatedBody?.translatedBy,
90
- locale: translatedBody?.locale,
91
- },
92
- ]
83
+ return {
84
+ body: channelEvent.payload.body,
85
+ translatedBody: channelEvent.payload.translatedBody,
86
+ }
87
+ }
88
+
89
+ const { translatedBody, body } = getTranslations()
90
+ const hasTranslation = !!translatedBody
91
+ const isTranslated = useSelector(selectIsTranslated(channelEvent))
92
+
93
+ return {
94
+ body: hasTranslation && isTranslated ? translatedBody?.data : body,
95
+ hasTranslation,
96
+ isTranslated: isTranslated && hasTranslation,
97
+ locale: translatedBody?.locale,
98
+ }
93
99
  }
94
100
 
95
101
  export function useTranslationsContainer() {
@@ -0,0 +1,12 @@
1
+ import { createSelector } from '@reduxjs/toolkit'
2
+ import { RootState } from 'domains/store'
3
+ import { ChannelEvent } from 'domains/store/store.types'
4
+
5
+ export const selectIsTranslated = (channelEvent: ChannelEvent) =>
6
+ createSelector(
7
+ (store: RootState) => store.translations.translatedEventGroups,
8
+ (translatedEventGroups: Record<string, string[]>) =>
9
+ Object.values(translatedEventGroups).every(
10
+ (value) => !value.includes(channelEvent?.payload?.id),
11
+ ),
12
+ )
@@ -1,15 +1,53 @@
1
- import { TranslationState } from 'domains/translations/translations.types'
2
- import { createSlice, nanoid } from '@reduxjs/toolkit'
1
+ import {
2
+ TranslationEvent,
3
+ TranslationState,
4
+ } from 'domains/translations/translations.types'
5
+ import { createSlice, nanoid, PayloadAction } from '@reduxjs/toolkit'
3
6
  import { initializeApp } from 'domains/app/actions'
4
7
  import { initializeConfig } from 'domains/config/actions'
8
+ import { addEvent, orderHistory, setHistory } from 'domains/store/slice'
9
+ import { ChannelEvent } from 'domains/store/store.types'
5
10
 
6
11
  export const translationsInitialState: TranslationState = {
7
12
  isActive: false,
8
13
  currentLocale: undefined,
9
14
  isAvailable: false,
10
15
  languages: [],
11
- originalPayloadIds: [],
12
16
  containerId: nanoid(),
17
+ translatedEventGroups: {},
18
+ }
19
+
20
+ const getLastGroupId = (events: ChannelEvent[], id: string) => {
21
+ const eventGroup = [...events].reduce<Record<string, string[]>>(
22
+ (acc, { payload }, _index, arr) => {
23
+ if (acc[id]) {
24
+ // Splice to break early (make the reducer think we are done)
25
+ // This is needed to avoid events of other groups from being added to the array.
26
+ // @ts-ignore
27
+ if (payload?.type === 'divider' && payload?.body?.translationEnabled) {
28
+ arr.splice(0)
29
+ return acc
30
+ }
31
+
32
+ acc[id].push(payload.id)
33
+ }
34
+
35
+ if (payload.id === id) acc[id] = []
36
+
37
+ return acc
38
+ },
39
+ {},
40
+ )
41
+
42
+ const [[groupId, eventIds]] = Object.entries(eventGroup)
43
+
44
+ const lastGroupId = events
45
+ //@ts-ignore
46
+ .filter((event) => event.payload?.type === 'divider')
47
+ .map((event) => event.payload.id)
48
+ .at(-1)
49
+
50
+ return { lastGroupId, groupId, eventIds }
13
51
  }
14
52
 
15
53
  export const translationSlice = createSlice({
@@ -24,19 +62,27 @@ export const translationSlice = createSlice({
24
62
  state.isActive = false
25
63
  state.currentLocale = undefined
26
64
  },
27
- enableEvent: (state, { payload }) => {
28
- if (!state.originalPayloadIds.includes(payload)) {
29
- return
30
- }
31
- state.originalPayloadIds = state.originalPayloadIds.filter(
32
- (id) => id !== payload,
33
- )
65
+ enableEventsTranslation: (
66
+ state,
67
+ {
68
+ payload: { events, id },
69
+ }: PayloadAction<{ events: ChannelEvent[]; id: string }>,
70
+ ) => {
71
+ delete state.translatedEventGroups[id]
72
+
73
+ const { lastGroupId } = getLastGroupId(events, id)
74
+ state.lastGroupId = lastGroupId
34
75
  },
35
- disableEvent: (state, { payload }) => {
36
- if (state.originalPayloadIds.includes(payload)) {
37
- return
38
- }
39
- state.originalPayloadIds.push(payload)
76
+ disableEventsTranslation: (
77
+ state,
78
+ {
79
+ payload: { events, id },
80
+ }: PayloadAction<{ events: ChannelEvent[]; id: string }>,
81
+ ) => {
82
+ const { lastGroupId, groupId, eventIds } = getLastGroupId(events, id)
83
+
84
+ state.lastGroupId = lastGroupId
85
+ state.translatedEventGroups[groupId] = eventIds
40
86
  },
41
87
  },
42
88
  extraReducers: (builder) => {
@@ -54,14 +100,21 @@ export const translationSlice = createSlice({
54
100
  state.isAvailable = feature.enabled === true
55
101
  state.languages = feature.languages
56
102
  })
103
+ .addCase(addEvent, (state, { payload }) => {
104
+ if (state.translatedEventGroups[state.lastGroupId]) {
105
+ state.translatedEventGroups[state.lastGroupId].push(
106
+ payload.payload.id,
107
+ )
108
+ }
109
+ })
57
110
  },
58
111
  })
59
112
 
60
113
  export const {
61
114
  enableTranslation,
62
115
  disableTranslation,
63
- enableEvent,
64
- disableEvent,
116
+ enableEventsTranslation,
117
+ disableEventsTranslation,
65
118
  } = translationSlice.actions
66
119
 
67
120
  export default translationSlice.reducer
@@ -2,11 +2,18 @@ import { operations } from 'schema'
2
2
 
3
3
  export type Languages =
4
4
  operations['getAccountConfig']['responses']['201']['content']['application/json']['config']['features']['translation']['languages']
5
+
6
+ export type TranslationEvent = {
7
+ id: string
8
+ items: string[]
9
+ }
10
+
5
11
  export interface TranslationState {
6
12
  isActive: boolean
7
13
  currentLocale?: string
8
14
  isAvailable: boolean
9
15
  languages: Languages
10
- originalPayloadIds: string[]
11
16
  containerId: string
17
+ translatedEventGroups: Record<string, string[]>
18
+ lastGroupId?: string
12
19
  }