@seamly/web-ui 25.1.0 → 25.2.0-beta.2

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 (29) hide show
  1. package/build/dist/lib/index.debug.js +279 -116
  2. package/build/dist/lib/index.debug.js.map +1 -1
  3. package/build/dist/lib/index.debug.min.js +1 -1
  4. package/build/dist/lib/index.debug.min.js.LICENSE.txt +2 -2
  5. package/build/dist/lib/index.debug.min.js.map +1 -1
  6. package/build/dist/lib/index.js +846 -691
  7. package/build/dist/lib/index.js.map +1 -1
  8. package/build/dist/lib/index.min.js +1 -1
  9. package/build/dist/lib/index.min.js.LICENSE.txt +2 -2
  10. package/build/dist/lib/index.min.js.map +1 -1
  11. package/build/dist/lib/style-guide.js +1300 -41
  12. package/build/dist/lib/style-guide.js.map +1 -1
  13. package/build/dist/lib/style-guide.min.js +1 -1
  14. package/build/dist/lib/style-guide.min.js.map +1 -1
  15. package/build/dist/lib/styles.css +1 -1
  16. package/package.json +16 -16
  17. package/src/javascripts/core/domains/store/slice.ts +1 -0
  18. package/src/javascripts/core/domains/store/store.types.ts +1 -0
  19. package/src/javascripts/core/ui/components/conversation/conversation.tsx +5 -2
  20. package/src/javascripts/core/ui/components/conversation/loader.tsx +12 -2
  21. package/src/javascripts/core/ui/components/entry/text-entry/index.tsx +2 -2
  22. package/src/javascripts/core/ui/components/entry/upload/index.tsx +2 -2
  23. package/src/javascripts/core/ui/components/layout/chat.tsx +21 -1
  24. package/src/javascripts/core/ui/components/view/window-view/window-open-button.tsx +20 -5
  25. package/src/javascripts/core/ui/components/warnings/prompt.tsx +2 -2
  26. package/src/javascripts/core/ui/hooks/focus-helper-hooks.ts +11 -2
  27. package/src/javascripts/core/ui/hooks/seamly-hooks.ts +2 -1
  28. package/src/javascripts/core/ui/hooks/seamly-state-hooks.ts +4 -1
  29. package/src/stylesheets/5-components/_conversation.scss +6 -2
@@ -1 +1 @@
1
- @keyframes cvco-loader{0%,75%,to{border-radius:50%;transform:scaleY(.45)}37.5%{border-radius:2.5px;transform:scaleY(1)}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.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{color:#3d4166;display:flex;flex-direction:column;font-family:arial,helvetica,sans-serif;font-size:12px;outline:0;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-chat--layout-inline{background-color:transparent;background-color:initial;box-shadow:none;height:-moz-fit-content;height:fit-content}@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-height:calc(85vh - 40px);max-width:calc(100vw - 40px)}@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{bottom:20px;max-height:calc(100vh - 40px);right:20px}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window{bottom:20px;display:none;height:720px;max-width:calc(100% - 40px);opacity:0;position:fixed;right:20px;transform:scale(0);width:360px;z-index:1}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-chat--layout-app{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;position:fixed;right:0;top:0;width:100%;z-index:1}.cvco-app .cvco-chat-wrapper{backface-visibility:hidden;background-color:#fff;border:1px solid #a3b4bf;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transform:translateZ(0);transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;width:100%;z-index:1}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{height:0;width:100%}@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:720px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;flex-grow:1;justify-content:center;position:relative}.cvco-app .cvco-chat__container__scroll-area{display:flex;flex-direction:column;height:100%;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%;will-change:scroll-position}.cvco-app .cvco-chat__container__header{display:flex;position:sticky;top:0;z-index:1}.cvco-app .cvco-chat__body{display:flex;flex-grow:1;padding:0;position:relative}.cvco-app .cvco-chat__entry{border-top:1px solid #dee3e5;flex:0 0 auto;padding:10px;position:relative}.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{align-items:flex-end;display:flex;gap:5px}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-label{color:#4a48c1;display:block;font-size:14px;font-weight:700}.cvco-app .cvco-conversation__item--abort-transaction{padding-top:10px}.cvco-app .cvco-conversation__item--abort-transaction .cvco-abort-transaction__button{background-color:#fff;border:1px solid;border-radius:10px;padding:5px 10px}.cvco-app .cvco-avatar{border-radius:5px;display:block;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.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 a:focus,.cvco-app button:focus,.cvco-app input:focus{outline:none}.cvco-app a:focus-visible,.cvco-app button:focus-visible,.cvco-app input:focus-visible{outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-button{align-items:center;background:none;border:0;cursor:pointer;display:inline-flex;font-size:14px;gap:10px;margin:0;padding:0;text-align:left}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{background-color:#4a48c1;border-radius:5px;color:#fff;font-weight:700;min-height:40px;padding:10px 15px}.cvco-app .cvco-button--secondary{color:#4a48c1;font-weight:700;padding:10px 15px}.cvco-app .cvco-button--tertiary{background-color:transparent;background-color:initial;border-radius:5px;color:#fff;font-size:12px;font-weight:700;padding:2px 5px}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{background-color:#eff3f6;border-radius:5px;color:inherit;display:inline-block;margin:0;padding:2px 10px}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;gap:5px;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{background-color:transparent;background-color:initial;color:#4a48c1;padding:5px 0}.cvco-app .cvco-button--choose-again{align-items:center;display:flex;gap:10px;line-height:1;margin:5px 0;padding:0;transition:margin .3s ease,color .3s ease}.cvco-app .cvco-button--choose-again[aria-expanded=true]{margin:20px 0 10px}.cvco-app .cvco-button--choose-again .cvco-icon{align-items:center;display:flex;flex:0 0 8px;height:8px;justify-content:center;margin:0;padding:0;transform-origin:50% 50%;transition:transform .3s ease;width:8px}.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{bottom:0;flex:1 1 100%;height:100%;left:0;max-height:100%;position:absolute;right:0;top:0}.cvco-app .cvco-conversation,.cvco-app .cvco-conversation__container{display:flex;flex-direction:column;gap:10px;justify-content:space-between}.cvco-app .cvco-conversation{list-style:none;margin:auto 0 0;padding:20px 20px 0;width:100%}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 20px;height:20px;width:100%}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{display:block;width:100%}.cvco-app .cvco-conversation__item--new-participant{margin-top:10px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-divider{background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;display:flex;justify-content:center;line-height:1.5;margin:20px -20px 0;overflow:hidden;padding:65px 30px 0;position:relative}.cvco-app .cvco-divider:before{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;content:"";height:40px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:100%}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0}.cvco-app .cvco-divider--type-time-indicator{padding-bottom:20px;padding-top:60px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-divider__graphic{background-color:#fff;border-radius:5px;height:32px;left:50%;position:absolute;top:40px;transform:translate(-50%,-60%);width:32px}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-divider__body{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;max-width:300px;text-align:center}.cvco-app .cvco-divider__body .cvco-divider__title{font-size:12px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-divider__body .cvco-divider__description{font-size:12px;line-height:1.5}.cvco-app .cvco-divider__body .cvco-button{font-size:inherit;padding:0;width:-moz-fit-content;width:fit-content}.cvco-app .cvco-divider__time{align-items:center;display:flex;flex-direction:column;font-weight:400;gap:2.5px;justify-content:center;margin:0}.cvco-app .cvco-divider__time .cvco-divider__time--date,.cvco-app .cvco-divider__time .cvco-divider__time--time{display:block;line-height:1.25}.cvco-app .cvco-divider__time .cvco-divider__time--date{font-size:12px;font-weight:700}.cvco-app .cvco-divider__time .cvco-divider__time--time{font-size:16px}.cvco-app .cvco-loader{align-items:center;animation:cvco-fadeIn .3s linear;display:flex;flex-direction:row;gap:5px;height:20px;justify-content:flex-start;padding:2.5px 5px}.cvco-app .cvco-loader__part{animation-delay:.12s;animation-direction:normal;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cvco-loader;animation-timing-function:ease;background-color:currentcolor;border-radius:50%;display:inline-block;height:100%;transform:scaleY(.45);width:6.666px}.cvco-app .cvco-loader__part.cvco-one{animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;gap:5px;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{margin:0 auto;max-width:90%;width:90%}.cvco-app .cvco-message--source-info.cvco-message:after{border-top:2px solid #4a48c1;content:"";display:block;height:0;margin:0 auto;width:20px}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{align-items:center;display:none;flex-direction:row;font-weight:700;gap:5px;justify-content:flex-start;padding:0;width:100%}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{height:16px;width:16px}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px;width:100%}.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{font-size:12px;margin-right:5px}.cvco-app .cvco-button.cvco-message__translation-toggle{font-size:inherit;padding:0}.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{border-top-left-radius:10px;border-top-right-radius:10px;flex:0 0 auto;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;width:100%}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;padding:10px 15px 15px}.cvco-app .cvco-card__title{font-size:16px;font-weight:700;margin:0;padding:0}.cvco-app .cvco-card__description,.cvco-app .cvco-card__title{display:block;height:-moz-fit-content;height:fit-content;width:100%}.cvco-app .cvco-card__content .cvco-button{display:block;font-weight:700;margin-top:auto;-webkit-text-decoration:none;text-decoration:none;width:100%}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;overflow:hidden;width:100%}.cvco-app .cvco-carousel__slides{display:flex;flex-direction:row;list-style:none;padding:0;position:relative;transition:left .3s ease}.cvco-app .cvco-carousel__slide{display:block;list-style:none;padding:0;width:100%}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;height:100%;width:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{align-items:center;border-top:1px solid #dee3e5;display:flex;gap:10px;height:-moz-fit-content;height:fit-content;justify-content:space-between;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-controls .cvco-button{align-items:center;background-color:transparent;background-color:initial;color:transparent;display:flex;flex:0 0 40px;font-size:0;height:40px;justify-content:center;width:40px}.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{border:0;display:block;height:16px;padding:0;width:16px}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{align-items:center;display:flex;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination__wrapper{display:flex;flex-direction:row;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination{display:flex;flex-flow:row wrap;justify-content:center;margin:0 auto;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{background-color:transparent;background-color:initial;border:0;border-radius:0;display:block;height:24px;padding:0;position:relative;width:24px}.cvco-app .cvco-carousel-pagination__button:before{background-color:#a3b4bf;border-radius:50%;content:"";display:block;height:9.6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:50% 50%;width:9.6px}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-icon{align-items:center;display:flex;height:32px;justify-content:center;line-height:1;width:32px}.cvco-app .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;height:100%;width:100%}.cvco-app .cvco-entry-form{align-items:flex-end;display:flex;gap:5px}.cvco-app .cvco-input--text__container{display:flex;flex:1 1 100%;height:100%;position:relative}.cvco-app .cvco-entry-form .cvco-form-control__wrapper{display:flex;flex-direction:column;gap:5px;width:100%}.cvco-app .cvco-input__text{-webkit-appearance:none;appearance:none;border:1px solid #dee3e5;border-radius:5px;color:#3d4166;flex-grow:4;font-size:16px;height:40px;overflow:hidden;padding:10px;resize:none;text-overflow:ellipsis;transition:padding .3s ease;white-space:nowrap}.cvco-app .cvco-input__text::input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text::placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input--text__container .cvco-input__text{margin-right:0;width:100%}.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{align-items:center;border-radius:5px;display:flex;flex:0 0 40px;height:40px;justify-content:center;padding:0;width:40px}.cvco-app .cvco-input__submit .cvco-icon path{fill:#4a48c1;transition:fill .3s ease}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{background:#fff;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{border-radius:10px;position:static;width:100%}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{align-items:left;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{font-size:16px;font-weight:700;margin:0}.cvco-app .cvco-interrupt__message{font-size:16px}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{background:#4a48c1;border:1px solid #fff;border-radius:5px;color:#fff;font-size:12px;left:50%;opacity:0;padding:10px 15px;position:absolute;top:20px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;z-index:100}.cvco-app .cvco-skip-link:focus-visible{opacity:1;outline:none;transform:translate(-50%) scale(1)}.cvco-app .cvco-disclaimer{background-color:#eff3f6;display:flex;flex:0 0 auto;flex-direction:column;gap:5px;height:auto;padding:20px;width:100%}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat--layout-window .cvco-chat__container__header:has(.cvco-chat-status)~.cvco-chat__body .cvco-disclaimer{padding-right:20px}.cvco-app .cvco-disclaimer__title{font-size:12px;font-weight:700;line-height:1;margin:0}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-idle__count-container{display:block;font-size:12px;height:2.75em;width:100%}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;font-size:inherit;text-align:center;white-space:nowrap;width:100%}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-idle__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-prompt{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-prompt__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-chat__options{align-items:center;border-top:1px solid #dee3e5;display:flex;flex:0;gap:10px;justify-content:flex-end;padding:5px;position:relative;width:100%}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{align-items:center;border-radius:5px;display:flex;gap:5px;justify-content:flex-end;padding:5px 10px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat__options__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;gap:5px;list-style:none;margin:0;max-height:400px;max-width:300px;opacity:0;padding:10px;position:absolute;right:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease}.cvco-app .cvco-options__menu.cvco-transition--visible{display:flex}.cvco-app .cvco-options__menu.cvco-transition--in{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__menu__item{opacity:0;transition:opacity .1s ease .1s}.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{align-items:center;border-radius:5px;display:flex;min-width:200px;width:100%}.cvco-app .cvco-options{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;list-style:none;margin:0;max-width:300px;opacity:0;padding:0;position:absolute;right:10px;transition:transform .2s ease-in-out,opacity .2s ease;width:calc(100% - 20px);z-index:10}.cvco-app .cvco-options--left{left:10px;right:auto}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options--top{bottom:calc(100% + 10px);top:auto;transform:scaleY(0) translateY(100px);transform-origin:100% 100%}.cvco-app .cvco-options--bottom{bottom:auto;top:calc(100% + 10px);transform:scaleY(0) translateY(-100px);transform-origin:0 0}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__body{display:flex;flex-direction:column;gap:10px;max-height:320px;opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{align-items:center;color:#223182;display:flex;flex:0 0 auto;font-size:16px;font-weight:700;margin:0;padding:20px 0 0 20px;width:calc(100% - 50px)}.cvco-app .cvco-options__close{align-items:center;color:#4a48c1;display:flex;font-size:0;gap:0;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{display:flex;flex:1 1 auto;flex-direction:column;gap:10px}.cvco-app .cvco-options__wrapper{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;overflow:auto;padding:0 20px;width:100%}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 10px;height:10px;width:100%}.cvco-app .cvco-options__wrapper h3{color:#223182;font-size:14px;font-weight:700;margin:0}.cvco-app .cvco-options__description{display:block;font-size:14px;padding:0 20px;width:100%}.cvco-app .cvco-transcript__input{border:1px solid #dee3e5;border-radius:5px;font-size:16px;min-height:40px;padding:10px;transition:padding .3s ease;width:100%}.cvco-app .cvco-transcript__input:focus-visible{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input::placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;padding:0;width:100%}.cvco-app .cvco-options__actions .cvco-button{width:100%}.cvco-app .cvco-chat-status{align-items:flex-start;background-color:#fff;border-radius:10px;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;gap:10px;margin:20px;min-height:40px;padding:10px;width:100%}.cvco-app .cvco-chat-status--condensed{align-items:center;padding:5px 10px 5px 5px}.cvco-app .cvco-chat--layout-window .cvco-chat-status{margin-right:80px}.cvco-app .cvco-chat-status__body{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;justify-content:flex-start}.cvco-app .cvco-chat-status__title{color:#3d4166;display:flex;font-size:14px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-chat-status .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat-status__button{align-items:center;color:#fff;display:flex;justify-content:flex-end;min-height:32px;padding:5px 10px}.cvco-app .cvco-chat-status__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat-status__button .cvco-icon svg path{fill:#fff}.cvco-app .cvco-chat-status__close{color:#4a48c1;display:inline-flex;flex:0 0 auto;justify-content:center;min-height:22px;min-width:22px}.cvco-app .cvco-chat-status__close:has(.cvco-icon){flex:0 0 22px;padding:0;width:22px}.cvco-app .cvco-chat-status__close .cvco-icon{align-self:center}.cvco-app .cvco-upload-toggle-wrapper{height:100%;overflow:visible;transition:width .3s ease;width:0}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:40px}.cvco-app .cvco-upload-toggle{align-items:center;border-radius:5px;color:transparent;display:flex;flex:0 0 40px;flex-direction:column;font-size:0;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;text-align:center;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;width:40px}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{opacity:1;transform:translateX(0)}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;height:24px;width:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-upload{padding:10px;width:100%}.cvco-app .cvco-upload-form,.cvco-app .cvco-upload__container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-upload__container{width:100%}.cvco-app .cvco-upload__visible-label--text{display:block;font-size:16px;font-weight:700;width:100%}.cvco-app .cvco-upload__content-hint{display:block;font-size:12px;width:100%}.cvco-app .cvco-file-upload{border:1px solid #4a48c1;border-radius:5px;max-width:100%;width:100%}.cvco-app .cvco-file-upload.cvco-focus-within:has(.cvco-upload__input:focus-visible){outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{align-items:center;color:#4a48c1;display:flex;gap:10px;justify-content:flex-start;padding:10px;text-align:left;width:100%}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;height:32px;width:32px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{color:inherit;display:block;flex:1 1 100%;font-size:14px;font-weight:700;max-width:100%}.cvco-app .cvco-upload__output{color:#003a5d;display:block;flex:1 1 100%;font-size:12px;max-width:100%;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%;gap:5px;justify-content:flex-end}.cvco-app .cvco-upload__cancel{padding:10px}.cvco-app .cvco-progress_container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-progress__text{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}.cvco-app .cvco-progress__text--file-name{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;flex:0 0 auto;font-size:14px;line-height:1}.cvco-app .cvco-progress__bar{-webkit-appearance:none;appearance:none;background:#eff3f6;border-radius:5px;width:100%}.cvco-app .cvco-progress__bar::-webkit-progress-bar{background:#eff3f6;border-radius:5px}.cvco-app .cvco-progress__bar::-webkit-progress-value{background-color:#4a48c1;border-radius:5px}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;margin:0;width:100%}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-error .cvco-error__message{align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f;display:flex;flex-direction:row;gap:5px}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{border-radius:5px;font-size:12px;font-weight:700;padding:5px 10px;width:100%}.cvco-app .cvco-notification{background-color:rgba(74,72,193,.1);color:#223182;display:block;margin:0 0 10px}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:700;height:40px;justify-content:right;line-height:1;opacity:0;padding:0 10px;pointer-events:none;position:absolute;right:0;text-align:right;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s}.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{opacity:1;transform:translateX(0)}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{align-items:center;background-color:#fff;border:0;border-radius:50%;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;height:40px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;width:40px;z-index:1}.cvco-app .cvco-message__body{background-color:#eff3f6;border-radius:10px;color:#3d4166;display:block;max-width:100%;padding:10px 15px;position:relative}.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{background-color:#eff3f6;border:1px solid #fff;border-radius:10px;font-size:14px;margin-left:auto;padding:10px 15px}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;flex:0 0 100%;padding:0 15px 10px;text-align:center;width:100%}.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{background-color:transparent;background-color:initial;border-radius:0;font-size:24px;font-weight:700;padding:0}.cvco-app .cvco-message--type-suggestions .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.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 ol,.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 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;hyphens:auto;word-break:break-word}.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{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{border-radius:10px;display:block;height:auto;overflow:hidden;width:100%}.cvco-app .cvco-message--type-video .cvco-message__body{background-color:#000;padding:0;width:100%}.cvco-app .cvco-message--type-video iframe{aspect-ratio:6/4;border:0;border-radius:10px;display:block;width:100%}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{align-items:center;border-radius:10px;color:inherit;display:flex;gap:10px;padding:10px 15px;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;font-size:12px;-webkit-text-decoration:underline;text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download--preview{align-items:flex-end;flex-flow:column wrap;gap:0;padding:0}.cvco-app .cvco-message--type-upload .cvco-download--preview>img{border-top-left-radius:10px;border-top-right-radius:10px;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.cvco-app .cvco-message--type-upload .cvco-download--preview .cvco-file-download{display:flex;flex:0 0 auto;justify-content:flex-end;padding:10px 15px;width:100%}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-message--type-upload .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-download--preview .cvco-file-download{justify-content:flex-start}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;padding:0;width:100%}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{align-items:center;background-color:#db1639;border-radius:50%;color:#fff;display:none;font-size:12px;font-weight:700;height:25px;justify-content:center;line-height:1;opacity:0;position:absolute;right:-10px;top:-10px;transform:scale(0);transform-origin:50% 50%;transition:transform .3s ease,opacity .3s ease;width:25px;z-index:1}.cvco-app .cvco-message-count.cvco-transition--visible{display:flex}.cvco-app .cvco-message-count.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-suggestions{height:-moz-fit-content;height:fit-content;overscroll-behavior:contain;width:100%}.cvco-app .cvco-suggestions--aside{flex-direction:column;gap:10px;max-height:320px;opacity:0;overflow:hidden;padding:20px;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{opacity:1;transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}.cvco-app .cvco-suggestions--aside{flex:0 0 50%;height:720px;max-height:90vh;min-height:100%;transform:translateX(-100%);width:50%}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{color:#003a5d;flex:0 0 auto;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5px;height:auto;list-style:none;margin:0;overscroll-behavior:contain;padding:0;width:100%}.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%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{margin-right:0;width:100%}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{color:#003a5d;display:block;font-size:16px;font-weight:700;margin:5px 0 0;width:100%}.cvco-app .cvco-translation-options{display:flex;flex-direction:column;list-style:none;margin:0;padding:1px 0 0;width:100%}.cvco-app .cvco-translation-options__item--selected{margin-bottom:10px}.cvco-app .cvco-translation-options__item--selected:after{border-bottom:1px solid #dee3e5;bottom:-10px;content:"";display:block;flex:0 0 100%;height:1px;position:absolute;width:100%}.cvco-app .cvco-translation-options__item--selected+.cvco-translation-options__item{margin-top:10px}.cvco-app .cvco-translation-options__item{align-items:center;color:#4a48c1;cursor:pointer;display:flex;flex-flow:row wrap;font-size:12px;font-weight:700;gap:10px;padding:10px 0;position:relative;width:100%}.cvco-app .cvco-translation-options__item:focus-visible{outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-translation-options__item span{margin-left:-.5em}.cvco-app .cvco-translation-options__item .cvco-icon{display:flex;height:16px;opacity:0;width:16px}.cvco-app .cvco-translation-options__item[aria-selected=true] .cvco-icon{opacity:1}.cvco-app .cvco-window-open-button{background-color:#003a5d;border:1px solid #a3b4bf;border-radius:10px;bottom:20px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;height:48px;opacity:0;padding:0;position:fixed;right:20px;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;width:48px;z-index:1}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{opacity:1;transform:scale(1);transition:transform .3s ease .2s}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{align-items:center;border-radius:10px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.cvco-app .cvco-collapsed-chat-messages{flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-collapsed-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-collapsed-chat-messages{display:flex}.cvco-app .cvco-unstarted-wrapper--inline .cvco-collapsed-chat-messages{opacity:0;transition:opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transition:opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper--window .cvco-collapsed-chat-messages{opacity:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{bottom:78px;max-width:calc(100% - 60px);position:fixed;right:30px;z-index:1}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease;width:100%}@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{margin-bottom:20px;max-height:600px}.cvco-app .cvco-unread-messages{align-items:center;bottom:20px;display:none;justify-content:center;margin:0;opacity:0;position:absolute}.cvco-app .cvco-unread-messages.cvco-transition--visible{display:flex}.cvco-app .cvco-unread-messages.cvco-transition--in{opacity:1;transition:opacity .3s ease 1s}.cvco-app .cvco-unread-messages .cvco-button{align-items:center;display:flex;gap:10px}.cvco-app .cvco-unread-messages .cvco-icon{height:20px;width:20px}.cvco-app .cvco-unread-messages .cvco-icon svg path{fill:#fff}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{height:1px;overflow:hidden;position:absolute!important;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-modal,.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal{align-items:center;background-color:hsla(0,0%,100%,.8);bottom:0;display:flex;height:100%;justify-content:center;left:0;min-height:100%;min-width:100%;opacity:1;padding:20px;position:fixed;right:0;top:0;transform:scale(1);width:100%;z-index:99}.cvco-modal__float{background-color:#fff;border:1px solid #dee3e5;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);max-width:80rem;outline:0;padding:5px}.cvco-modal__float,.cvco-modal__inner{height:100%;position:relative;width:100%}.cvco-modal__inner{align-items:center;display:flex;justify-content:center;padding:10px}.cvco-modal__image{border:1px solid #dee3e5;display:block;flex:0 0 auto;max-height:100%;max-width:100%;width:auto}.cvco-modal__close{align-items:center;-webkit-appearance:none;appearance:none;background-color:#4a48c1;border:0;border-radius:5px;color:#fff;display:flex;font-weight:700;gap:10px;min-height:40px;padding:5px 15px;position:absolute;right:20px;top:20px}.cvco-modal__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-modal__close .cvco-icon svg{height:inherit;width:inherit}.cvco-modal__close .cvco-icon svg path{fill:#fff;transition:fill .3s ease}.cvco-modal__enlarge{align-items:center;-webkit-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:50%;bottom:20px;color:transparent;display:flex;font-size:0;height:40px;justify-content:center;padding:0;position:absolute;right:20px;width:40px}.cvco-modal__enlarge .cvco-icon svg path{fill:#4a48c1}
1
+ @keyframes cvco-loader{0%,75%,to{border-radius:50%;transform:scaleY(.45)}37.5%{border-radius:2.5px;transform:scaleY(1)}}@keyframes cvco-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cvco-blink{0%,to{opacity:0}50%{opacity:1}}.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{color:#3d4166;display:flex;flex-direction:column;font-family:arial,helvetica,sans-serif;font-size:12px;outline:0;transform-origin:100% 100%;transition:margin .3s ease,height .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-chat--layout-inline{background-color:transparent;background-color:initial;box-shadow:none;height:-moz-fit-content;height:fit-content}@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-height:calc(85vh - 40px);max-width:calc(100vw - 40px)}@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{bottom:20px;max-height:calc(100vh - 40px);right:20px}@supports(-webkit-overflow-scrolling:touch){.cvco-app .cvco-chat--layout-window{max-height:calc(90vh - 40px)}}}.cvco-app .cvco-chat--layout-window{bottom:20px;display:none;height:720px;max-width:calc(100% - 40px);opacity:0;position:fixed;right:20px;transform:scale(0);width:360px;z-index:1}.cvco-app .cvco-chat--layout-window.cvco-transition--visible{display:flex}.cvco-app .cvco-chat--layout-window.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-chat--layout-app{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;position:fixed;right:0;top:0;width:100%;z-index:1}.cvco-app .cvco-chat-wrapper{backface-visibility:hidden;background-color:#fff;border:1px solid #a3b4bf;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transform:translateZ(0);transition:flex .3s ease,width .3s ease,height .3s ease,border-radius .3s ease;width:100%;z-index:1}.cvco-app .cvco-chat--layout-inline .cvco-chat-wrapper{height:0;width:100%}@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:720px;max-height:90vh}.cvco-app .cvco-chat__container{display:flex;flex-grow:1;justify-content:center;position:relative}.cvco-app .cvco-chat__container__scroll-area{display:flex;flex-direction:column;height:100%;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%;will-change:scroll-position}.cvco-app .cvco-chat__container__header{display:flex;position:sticky;top:0;z-index:1}.cvco-app .cvco-chat__body{display:flex;flex-grow:1;padding:0;position:relative}.cvco-app .cvco-chat__entry{border-top:1px solid #dee3e5;flex:0 0 auto;padding:10px;position:relative}.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{align-items:flex-end;display:flex;gap:5px}.cvco-app p{margin:0}.cvco-app img{max-width:100%}.cvco-app .cvco-label{color:#4a48c1;display:block;font-size:14px;font-weight:700}.cvco-app .cvco-conversation__item--abort-transaction{padding-top:10px}.cvco-app .cvco-conversation__item--abort-transaction .cvco-abort-transaction__button{background-color:#fff;border:1px solid;border-radius:10px;padding:5px 10px}.cvco-app .cvco-avatar{border-radius:5px;display:block;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.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 a:focus,.cvco-app button:focus,.cvco-app input:focus{outline:none}.cvco-app a:focus-visible,.cvco-app button:focus-visible,.cvco-app input:focus-visible{outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-button{align-items:center;background:none;border:0;cursor:pointer;display:inline-flex;font-size:14px;gap:10px;margin:0;padding:0;text-align:left}.cvco-app .cvco-button span{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.cvco-app .cvco-button--primary{background-color:#4a48c1;border-radius:5px;color:#fff;font-weight:700;min-height:40px;padding:10px 15px}.cvco-app .cvco-button--secondary{color:#4a48c1;font-weight:700;padding:10px 15px}.cvco-app .cvco-button--tertiary{background-color:transparent;background-color:initial;border-radius:5px;color:#fff;font-size:12px;font-weight:700;padding:2px 5px}.cvco-app .cvco-button[aria-disabled=true]{color:#5e727b;cursor:auto}.cvco-app .cvco-button__state{background-color:#eff3f6;border-radius:5px;color:inherit;display:inline-block;margin:0;padding:2px 10px}.cvco-app .cvco-choice-prompt{display:flex;flex-direction:column;gap:5px;padding:0}.cvco-app .cvco-choice-prompt__item{display:block;width:100%}.cvco-app .cvco-choice-prompt__item .cvco-button{display:inline-block;white-space:normal}.cvco-app .cvco-choice-prompt__item--secondary .cvco-button{background-color:transparent;background-color:initial;color:#4a48c1;padding:5px 0}.cvco-app .cvco-button--choose-again{align-items:center;display:flex;gap:10px;line-height:1;margin:5px 0;padding:0;transition:margin .3s ease,color .3s ease}.cvco-app .cvco-button--choose-again[aria-expanded=true]{margin:20px 0 10px}.cvco-app .cvco-button--choose-again .cvco-icon{align-items:center;display:flex;flex:0 0 8px;height:8px;justify-content:center;margin:0;padding:0;transform-origin:50% 50%;transition:transform .3s ease;width:8px}.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{bottom:0;display:flex;flex:1 1 100%;flex-direction:column;gap:10px;height:100%;justify-content:space-between;left:0;max-height:100%;position:absolute;right:0;top:0}.cvco-app .cvco-conversation__container div[role=log]{margin:auto 0 0}.cvco-app .cvco-conversation{display:flex;flex-direction:column;gap:10px;justify-content:space-between;list-style:none;margin:auto 0 0;padding:20px 20px 0;width:100%}.cvco-app .cvco-conversation:after{content:"";display:block;flex:0 0 10px;height:10px;width:100%}.cvco-app .cvco-chat--layout-inline .cvco-conversation{position:relative}.cvco-app .cvco-conversation__item{display:block;width:100%}.cvco-app .cvco-conversation__item--new-participant{margin-top:10px}.cvco-app .cvco-conversation__item--new-participant:first-child{margin-top:0}.cvco-app .cvco-divider{background:linear-gradient(180deg,#fff,#eff3f6);background-repeat:no-repeat;background-size:100% 40px;display:flex;justify-content:center;line-height:1.5;margin:20px -20px 0;overflow:hidden;padding:65px 30px 0;position:relative}.cvco-app .cvco-divider:before{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;content:"";height:40px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:100%}.cvco-app .cvco-conversation__item:first-child .cvco-divider{margin-top:0}.cvco-app .cvco-divider--type-time-indicator{padding-bottom:20px;padding-top:60px}.cvco-app .cvco-divider--type-time-indicator:before{display:none}.cvco-app .cvco-divider__graphic{background-color:#fff;border-radius:5px;height:32px;left:50%;position:absolute;top:40px;transform:translate(-50%,-60%);width:32px}.cvco-app .cvco-divider__graphic .cvco-avatar,.cvco-app .cvco-divider__graphic .cvco-icon,.cvco-app .cvco-divider__graphic .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-divider__body{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;max-width:300px;text-align:center}.cvco-app .cvco-divider__body .cvco-divider__title{font-size:12px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-divider__body .cvco-divider__description{font-size:12px;line-height:1.5}.cvco-app .cvco-divider__body .cvco-button{font-size:inherit;padding:0;width:-moz-fit-content;width:fit-content}.cvco-app .cvco-divider__time{align-items:center;display:flex;flex-direction:column;font-weight:400;gap:2.5px;justify-content:center;margin:0}.cvco-app .cvco-divider__time .cvco-divider__time--date,.cvco-app .cvco-divider__time .cvco-divider__time--time{display:block;line-height:1.25}.cvco-app .cvco-divider__time .cvco-divider__time--date{font-size:12px;font-weight:700}.cvco-app .cvco-divider__time .cvco-divider__time--time{font-size:16px}.cvco-app .cvco-loader{align-items:center;animation:cvco-fadeIn .3s linear;display:flex;flex-direction:row;gap:5px;height:20px;justify-content:flex-start;padding:2.5px 5px}.cvco-app .cvco-loader__part{animation-delay:.12s;animation-direction:normal;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cvco-loader;animation-timing-function:ease;background-color:currentcolor;border-radius:50%;display:inline-block;height:100%;transform:scaleY(.45);width:6.666px}.cvco-app .cvco-loader__part.cvco-one{animation-delay:.12s}.cvco-app .cvco-loader__part.cvco-two{animation-delay:.24s}.cvco-app .cvco-loader__part.cvco-three{animation-delay:.36s}.cvco-app .cvco-loader__part.cvco-four{animation-delay:.48s}.cvco-app .cvco-message{display:flex;flex-flow:row wrap;gap:5px;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{margin:0 auto;max-width:90%;width:90%}.cvco-app .cvco-message--source-info.cvco-message:after{border-top:2px solid #4a48c1;content:"";display:block;height:0;margin:0 auto;width:20px}.cvco-app .cvco-message--source-user{justify-content:flex-end;margin-left:auto}.cvco-app .cvco-message__author{align-items:center;display:none;flex-direction:row;font-weight:700;gap:5px;justify-content:flex-start;padding:0;width:100%}.cvco-app .cvco-message--source-user .cvco-message__author{justify-content:flex-end}.cvco-app .cvco-message__avatar{height:16px;width:16px}.cvco-app .cvco-message__avatar .cvco-avatar{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.cvco-app .cvco-conversation__item--new-participant .cvco-message__author{display:flex}.cvco-app .cvco-message--source-user .cvco-message__avatar{order:2}.cvco-app .cvco-message--source-user .cvco-message__author-name{order:1}.cvco-app .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px;width:100%}.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{font-size:12px;margin-right:5px}.cvco-app .cvco-button.cvco-message__translation-toggle{font-size:inherit;padding:0}.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{border-top-left-radius:10px;border-top-right-radius:10px;flex:0 0 auto;height:160px;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;overflow:hidden;width:100%}.cvco-app .cvco-card__content{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;padding:10px 15px 15px}.cvco-app .cvco-card__title{font-size:16px;font-weight:700;margin:0;padding:0}.cvco-app .cvco-card__description,.cvco-app .cvco-card__title{display:block;height:-moz-fit-content;height:fit-content;width:100%}.cvco-app .cvco-card__content .cvco-button{display:block;font-weight:700;margin-top:auto;-webkit-text-decoration:none;text-decoration:none;width:100%}.cvco-app .cvco-carousel{position:relative}.cvco-app .cvco-carousel__slides-wrapper{display:block;overflow:hidden;width:100%}.cvco-app .cvco-carousel__slides{display:flex;flex-direction:row;list-style:none;padding:0;position:relative;transition:left .3s ease}.cvco-app .cvco-carousel__slide{display:block;list-style:none;padding:0;width:100%}.cvco-app .cvco-carousel-item{display:flex;flex-direction:column;height:100%;width:100%}.cvco-app .cvco-carousel-item .cvco-button{display:block;width:100%}.cvco-app .cvco-carousel-controls{align-items:center;border-top:1px solid #dee3e5;display:flex;gap:10px;height:-moz-fit-content;height:fit-content;justify-content:space-between;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-controls .cvco-button{align-items:center;background-color:transparent;background-color:initial;color:transparent;display:flex;flex:0 0 40px;font-size:0;height:40px;justify-content:center;width:40px}.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{border:0;display:block;height:16px;padding:0;width:16px}.cvco-app .cvco-carousel__controls .cvco-button .cvco-icon svg path{fill:#4a48c1}.cvco-app .cvco-carousel__pagination{align-items:center;display:flex;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination__wrapper{display:flex;flex-direction:row;justify-content:center;position:relative}.cvco-app .cvco-carousel-pagination{display:flex;flex-flow:row wrap;justify-content:center;margin:0 auto;padding:0;position:relative;width:100%}.cvco-app .cvco-carousel-pagination__item{display:block;list-style:none}.cvco-app .cvco-carousel-pagination__button{background-color:transparent;background-color:initial;border:0;border-radius:0;display:block;height:24px;padding:0;position:relative;width:24px}.cvco-app .cvco-carousel-pagination__button:before{background-color:#a3b4bf;border-radius:50%;content:"";display:block;height:9.6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:50% 50%;width:9.6px}.cvco-app .cvco-is-active .cvco-carousel-pagination__button:before{background-color:#003a5d}.cvco-app .cvco-icon{align-items:center;display:flex;height:32px;justify-content:center;line-height:1;width:32px}.cvco-app .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-form,.cvco-app .cvco-input{display:flex;flex:1 1 100%;height:100%;width:100%}.cvco-app .cvco-entry-form{align-items:flex-end;display:flex;gap:5px}.cvco-app .cvco-input--text__container{display:flex;flex:1 1 100%;height:100%;position:relative}.cvco-app .cvco-entry-form .cvco-form-control__wrapper{display:flex;flex-direction:column;gap:5px;width:100%}.cvco-app .cvco-input__text{-webkit-appearance:none;appearance:none;border:1px solid #dee3e5;border-radius:5px;color:#3d4166;flex-grow:4;font-size:16px;height:40px;overflow:hidden;padding:10px;resize:none;text-overflow:ellipsis;transition:padding .3s ease;white-space:nowrap}.cvco-app .cvco-input__text::input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text::placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:input-placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input__text:placeholder{color:#a3b4bf;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-input--text__container .cvco-input__text{margin-right:0;width:100%}.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{align-items:center;border-radius:5px;display:flex;flex:0 0 40px;height:40px;justify-content:center;padding:0;width:40px}.cvco-app .cvco-input__submit .cvco-icon path{fill:#4a48c1;transition:fill .3s ease}.cvco-app .cvco-input__submit[aria-disabled=true]{cursor:auto}.cvco-app .cvco-input__submit[aria-disabled=true] .cvco-icon path{fill:#a3b4bf}.cvco-app .cvco-interrupt{background:#fff;bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{border-radius:10px;position:static;width:100%}@media(min-width:1025px){.cvco-app.cvco-app--layout-inline.cvco-app--collapsed .cvco-interrupt{width:67%}}.cvco-app .cvco-interrupt__body{align-items:left;display:flex;flex:1 1 auto;flex-direction:column;gap:10px;justify-content:center;padding:40px;text-align:left}.cvco-app .cvco-chat .cvco-interrupt__body{margin:10px}.cvco-app .cvco-interrupt__title{font-size:16px;font-weight:700;margin:0}.cvco-app .cvco-interrupt__message{font-size:16px}.cvco-app .cvco-interrupt__actions{margin-top:auto}.cvco-app .cvco-skip-link{background:#4a48c1;border:1px solid #fff;border-radius:5px;color:#fff;font-size:12px;left:50%;opacity:0;padding:10px 15px;position:absolute;top:20px;transform:translate(-50%,-5px) scale(0);transform-origin:50% 0;transition:transform .3s ease,opacity .3s ease;z-index:100}.cvco-app .cvco-skip-link:focus-visible{opacity:1;outline:none;transform:translate(-50%) scale(1)}.cvco-app .cvco-disclaimer{background-color:#eff3f6;display:flex;flex:0 0 auto;flex-direction:column;gap:5px;height:auto;padding:20px;width:100%}.cvco-app .cvco-chat--layout-window .cvco-disclaimer{padding-right:80px}.cvco-app .cvco-chat--layout-window .cvco-chat__container__header:has(.cvco-chat-status)~.cvco-chat__body .cvco-disclaimer{padding-right:20px}.cvco-app .cvco-disclaimer__title{font-size:12px;font-weight:700;line-height:1;margin:0}.cvco-app .cvco-disclaimer__message{font-size:12px;line-height:1.25}.cvco-app .cvco-idle{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-idle__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-idle__count-container{display:block;font-size:12px;height:2.75em;width:100%}.cvco-app .cvco-idle__count-text,.cvco-app .cvco-idle__count-timer{display:block;font-size:inherit;text-align:center;white-space:nowrap;width:100%}.cvco-app .cvco-idle__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-idle__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-prompt{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:space-between;max-height:none;padding:10px}.cvco-app .cvco-prompt__title{font-size:16px;font-weight:700;margin:0;text-align:center}.cvco-app .cvco-prompt__options{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;list-style-type:none;margin:0;padding:0;width:100%}.cvco-app .cvco-prompt__options .cvco-button{text-align:center;white-space:normal}.cvco-app .cvco-chat__options{align-items:center;border-top:1px solid #dee3e5;display:flex;flex:0;gap:10px;justify-content:flex-end;padding:5px;position:relative;width:100%}.cvco-app .cvco-chat__options-item--left{margin-right:auto}.cvco-app .cvco-chat__options__button{align-items:center;border-radius:5px;display:flex;gap:5px;justify-content:flex-end;padding:5px 10px}.cvco-app .cvco-chat__options__button .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat__options__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat__options__button .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__menu{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;gap:5px;list-style:none;margin:0;max-height:400px;max-width:300px;opacity:0;padding:10px;position:absolute;right:10px;transform:scaleY(0) translateY(100px);transform-origin:100% 100%;transition:transform .2s ease-in-out,opacity .2s ease}.cvco-app .cvco-options__menu.cvco-transition--visible{display:flex}.cvco-app .cvco-options__menu.cvco-transition--in{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__menu__item{opacity:0;transition:opacity .1s ease .1s}.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{align-items:center;border-radius:5px;display:flex;min-width:200px;width:100%}.cvco-app .cvco-options{background-color:#fff;border:1px solid #dee3e5;border-radius:5px;bottom:calc(100% + 10px);box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;flex-direction:column;list-style:none;margin:0;max-width:300px;opacity:0;padding:0;position:absolute;right:10px;transition:transform .2s ease-in-out,opacity .2s ease;width:calc(100% - 20px);z-index:10}.cvco-app .cvco-options--left{left:10px;right:auto}.cvco-app .cvco-options--right{right:10px}.cvco-app .cvco-options--top{bottom:calc(100% + 10px);top:auto;transform:scaleY(0) translateY(100px);transform-origin:100% 100%}.cvco-app .cvco-options--bottom{bottom:auto;top:calc(100% + 10px);transform:scaleY(0) translateY(-100px);transform-origin:0 0}.cvco-app .cvco-options__dialog.cvco-transition--visible .cvco-options{display:flex}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options{opacity:1;transform:scaleY(1) translateY(0)}.cvco-app .cvco-options__body{display:flex;flex-direction:column;gap:10px;max-height:320px;opacity:0;transition:opacity .1s ease .1s}.cvco-app .cvco-options__dialog.cvco-transition--in .cvco-options__body{opacity:1}.cvco-app .cvco-options__title{align-items:center;color:#223182;display:flex;flex:0 0 auto;font-size:16px;font-weight:700;margin:0;padding:20px 0 0 20px;width:calc(100% - 50px)}.cvco-app .cvco-options__close{align-items:center;color:#4a48c1;display:flex;font-size:0;gap:0;height:40px;justify-content:center;position:absolute;right:10px;top:10px;width:40px}.cvco-app .cvco-options__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-options__close .cvco-icon path{fill:currentcolor}.cvco-app .cvco-options__form{display:flex;flex:1 1 auto;flex-direction:column;gap:10px}.cvco-app .cvco-options__wrapper{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;overflow:auto;padding:0 20px;width:100%}.cvco-app .cvco-options__wrapper:last-child:after{content:"";display:block;flex:0 0 10px;height:10px;width:100%}.cvco-app .cvco-options__wrapper h3{color:#223182;font-size:14px;font-weight:700;margin:0}.cvco-app .cvco-options__description{display:block;font-size:14px;padding:0 20px;width:100%}.cvco-app .cvco-transcript__input{border:1px solid #dee3e5;border-radius:5px;font-size:16px;min-height:40px;padding:10px;transition:padding .3s ease;width:100%}.cvco-app .cvco-transcript__input:focus-visible{border:1px solid #dee3e5}.cvco-app .cvco-transcript__input::input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input::placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:input-placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-transcript__input:placeholder{color:#a3b4bf;line-height:20px;overflow:visible}.cvco-app .cvco-options__actions{display:flex;flex:0 0 auto;justify-content:flex-end;padding:0;width:100%}.cvco-app .cvco-options__actions .cvco-button{width:100%}.cvco-app .cvco-chat-status{align-items:flex-start;background-color:#fff;border-radius:10px;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;gap:10px;margin:20px;min-height:40px;padding:10px;width:100%}.cvco-app .cvco-chat-status--condensed{align-items:center;padding:5px 10px 5px 5px}.cvco-app .cvco-chat--layout-window .cvco-chat-status{margin-right:80px}.cvco-app .cvco-chat-status__body{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;justify-content:flex-start}.cvco-app .cvco-chat-status__title{color:#3d4166;display:flex;font-size:14px;font-weight:700;line-height:1.25;margin:0}.cvco-app .cvco-chat-status .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-chat-status__button{align-items:center;color:#fff;display:flex;justify-content:flex-end;min-height:32px;padding:5px 10px}.cvco-app .cvco-chat-status__button .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-chat-status__button .cvco-icon svg path{fill:#fff}.cvco-app .cvco-chat-status__close{color:#4a48c1;display:inline-flex;flex:0 0 auto;justify-content:center;min-height:22px;min-width:22px}.cvco-app .cvco-chat-status__close:has(.cvco-icon){flex:0 0 22px;padding:0;width:22px}.cvco-app .cvco-chat-status__close .cvco-icon{align-self:center}.cvco-app .cvco-upload-toggle-wrapper{height:100%;overflow:visible;transition:width .3s ease;width:0}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in{width:40px}.cvco-app .cvco-upload-toggle{align-items:center;border-radius:5px;color:transparent;display:flex;flex:0 0 40px;flex-direction:column;font-size:0;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;text-align:center;transform:translateX(-100%);transition:transform .3s ease,opacity .3s ease;width:40px}.cvco-app .cvco-upload-toggle-wrapper.cvco-transition--in .cvco-upload-toggle{opacity:1;transform:translateX(0)}.cvco-app .cvco-upload-toggle .cvco-icon{flex:0 0 24px;height:24px;width:24px}.cvco-app .cvco-upload-toggle .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-upload{padding:10px;width:100%}.cvco-app .cvco-upload-form,.cvco-app .cvco-upload__container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-upload__container{width:100%}.cvco-app .cvco-upload__visible-label--text{display:block;font-size:16px;font-weight:700;width:100%}.cvco-app .cvco-upload__content-hint{display:block;font-size:12px;width:100%}.cvco-app .cvco-file-upload{border:1px solid #4a48c1;border-radius:5px;max-width:100%;width:100%}.cvco-app .cvco-file-upload.cvco-focus-within:has(.cvco-upload__input:focus-visible){outline:1px dotted #212121;outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-upload__input{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-app .cvco-upload__label{align-items:center;color:#4a48c1;display:flex;gap:10px;justify-content:flex-start;padding:10px;text-align:left;width:100%}.cvco-app .cvco-upload__label .cvco-icon{flex:0 0 32px;height:32px;width:32px}.cvco-app .cvco-upload__label .cvco-icon path{fill:currentcolor}.cvco-app .cvco-upload__label--text{color:inherit;display:block;flex:1 1 100%;font-size:14px;font-weight:700;max-width:100%}.cvco-app .cvco-upload__output{color:#003a5d;display:block;flex:1 1 100%;font-size:12px;max-width:100%;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%;gap:5px;justify-content:flex-end}.cvco-app .cvco-upload__cancel{padding:10px}.cvco-app .cvco-progress_container{display:flex;flex-direction:column;gap:10px}.cvco-app .cvco-progress__text{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}.cvco-app .cvco-progress__text--file-name{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvco-app .cvco-progress__text--percentage{color:#6a7f8c;flex:0 0 auto;font-size:14px;line-height:1}.cvco-app .cvco-progress__bar{-webkit-appearance:none;appearance:none;background:#eff3f6;border-radius:5px;width:100%}.cvco-app .cvco-progress__bar::-webkit-progress-bar{background:#eff3f6;border-radius:5px}.cvco-app .cvco-progress__bar::-webkit-progress-value{background-color:#4a48c1;border-radius:5px}.cvco-app .cvco-progress__bar::-moz-progress-bar{background-color:#4a48c1}.cvco-app .cvco-error{display:block;margin:0;width:100%}.cvco-app .cvco-error:empty{display:none;margin:0}.cvco-app .cvco-error .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-error .cvco-error__message{align-items:flex-start;background-color:rgba(219,22,57,.1);color:#ad001f;display:flex;flex-direction:row;gap:5px}.cvco-app .cvco-error .cvco-error__message,.cvco-app .cvco-notification{border-radius:5px;font-size:12px;font-weight:700;padding:5px 10px;width:100%}.cvco-app .cvco-notification{background-color:rgba(74,72,193,.1);color:#223182;display:block;margin:0 0 10px}.cvco-app .cvco-notification:last-child{margin:0}.cvco-app .cvco-character-count{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:700;height:40px;justify-content:right;line-height:1;opacity:0;padding:0 10px;pointer-events:none;position:absolute;right:0;text-align:right;transform:translateX(100%);transition:transform .3s ease,opacity .2s ease .2s}.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{opacity:1;transform:translateX(0)}.cvco-app .cvco-character-exceeded .cvco-character-count span{color:#db1639}.cvco-app .cvco-collapse-button{align-items:center;background-color:#fff;border:0;border-radius:50%;box-shadow:0 5px 30px rgba(53,75,90,.15),0 3px 10px rgba(53,75,90,.2);display:flex;height:40px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;width:40px;z-index:1}.cvco-app .cvco-message__body{background-color:#eff3f6;border-radius:10px;color:#3d4166;display:block;max-width:100%;padding:10px 15px;position:relative}.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{background-color:#eff3f6;border:1px solid #fff;border-radius:10px;font-size:14px;margin-left:auto;padding:10px 15px}.cvco-app .cvco-conversation__item--source-info .cvco-message__body{background-color:transparent;background-color:initial;border-radius:0;flex:0 0 100%;padding:0 15px 10px;text-align:center;width:100%}.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{background-color:transparent;background-color:initial;border-radius:0;font-size:24px;font-weight:700;padding:0}.cvco-app .cvco-message--type-suggestions .cvco-message__body{background-color:transparent;background-color:initial;padding:0;width:100%}.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 ol,.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 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;hyphens:auto;word-break:break-word}.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{background-color:transparent;background-color:initial;padding:0;width:100%}.cvco-app .cvco-message--type-image .cvco-message__body{padding:0}.cvco-app .cvco-message--type-image img{border-radius:10px;display:block;height:auto;overflow:hidden;width:100%}.cvco-app .cvco-message--type-video .cvco-message__body{background-color:#000;padding:0;width:100%}.cvco-app .cvco-message--type-video iframe{aspect-ratio:6/4;border:0;border-radius:10px;display:block;width:100%}.cvco-app .cvco-message--type-upload .cvco-message__body{padding:0}.cvco-app .cvco-message--type-upload .cvco-download{align-items:center;border-radius:10px;color:inherit;display:flex;gap:10px;padding:10px 15px;text-align:left;word-break:break-all}.cvco-app .cvco-message--type-upload .cvco-download-link{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;font-size:12px;-webkit-text-decoration:underline;text-decoration:underline}.cvco-app .cvco-message--type-upload .cvco-download--preview{align-items:flex-end;flex-flow:column wrap;gap:0;padding:0}.cvco-app .cvco-message--type-upload .cvco-download--preview>img{border-top-left-radius:10px;border-top-right-radius:10px;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.cvco-app .cvco-message--type-upload .cvco-download--preview .cvco-file-download{display:flex;flex:0 0 auto;justify-content:flex-end;padding:10px 15px;width:100%}.cvco-app .cvco-message--type-upload .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-app .cvco-message--type-upload .cvco-icon svg{height:100%;width:100%}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-download--preview .cvco-file-download{justify-content:flex-start}.cvco-app .cvco-conversation__item--source-agent .cvco-message--type-upload .cvco-icon path{fill:#4a48c1}.cvco-app .cvco-message .cvco-message__info{color:#6a7f8c;font-size:12px;line-height:1.35;margin-top:4px}.cvco-app .cvco-message--type-card .cvco-message__body{display:flex;flex-direction:column;padding:0;width:100%}.cvco-app .cvco-message--type-carousel .cvco-message__body{display:block;padding:0}.cvco-app .cvco-message-count{align-items:center;background-color:#db1639;border-radius:50%;color:#fff;display:none;font-size:12px;font-weight:700;height:25px;justify-content:center;line-height:1;opacity:0;position:absolute;right:-10px;top:-10px;transform:scale(0);transform-origin:50% 50%;transition:transform .3s ease,opacity .3s ease;width:25px;z-index:1}.cvco-app .cvco-message-count.cvco-transition--visible{display:flex}.cvco-app .cvco-message-count.cvco-transition--in{opacity:1;transform:scale(1)}.cvco-app .cvco-suggestions{height:-moz-fit-content;height:fit-content;overscroll-behavior:contain;width:100%}.cvco-app .cvco-suggestions--aside{flex-direction:column;gap:10px;max-height:320px;opacity:0;overflow:hidden;padding:20px;transition:max-height .3s ease,padding .3s ease,transform .3s ease,opacity .3s ease}.cvco-app .cvco-suggestions--aside.cvco-transition--visible{display:flex}.cvco-app .cvco-suggestions--aside.cvco-transition--in{opacity:1;transition:padding .3s ease .2s,transform .3s ease .2s,opacity .3s ease .2s}@media(min-width:641px){.cvco-app .cvco-suggestions--aside.cvco-transition--in{transform:translateX(0)}.cvco-app .cvco-suggestions--aside{flex:0 0 50%;height:720px;max-height:90vh;min-height:100%;transform:translateX(-100%);width:50%}}@media(min-width:1025px){.cvco-app .cvco-suggestions--aside{flex:0 0 33%;width:33%}}.cvco-app .cvco-suggestions__heading{color:#003a5d;flex:0 0 auto;font-size:18px;font-weight:700}.cvco-app .cvco-suggestions__list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5px;height:auto;list-style:none;margin:0;overscroll-behavior:contain;padding:0;width:100%}.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%}.cvco-app .cvco-suggestions--aside .cvco-suggestions__item{margin-right:0;width:100%}.cvco-app .cvco-suggestions__item .cvco-icon{display:none}.cvco-app .cvco-suggestions__footer.cvco-suggestions__footer{color:#003a5d;display:block;font-size:16px;font-weight:700;margin:5px 0 0;width:100%}.cvco-app .cvco-translation-options{display:flex;flex-direction:column;list-style:none;margin:0;padding:1px 0 0;width:100%}.cvco-app .cvco-translation-options__item--selected{margin-bottom:10px}.cvco-app .cvco-translation-options__item--selected:after{border-bottom:1px solid #dee3e5;bottom:-10px;content:"";display:block;flex:0 0 100%;height:1px;position:absolute;width:100%}.cvco-app .cvco-translation-options__item--selected+.cvco-translation-options__item{margin-top:10px}.cvco-app .cvco-translation-options__item{align-items:center;color:#4a48c1;cursor:pointer;display:flex;flex-flow:row wrap;font-size:12px;font-weight:700;gap:10px;padding:10px 0;position:relative;width:100%}.cvco-app .cvco-translation-options__item:focus-visible{outline:1px auto -webkit-focus-ring-color}.cvco-app .cvco-translation-options__item span{margin-left:-.5em}.cvco-app .cvco-translation-options__item .cvco-icon{display:flex;height:16px;opacity:0;width:16px}.cvco-app .cvco-translation-options__item[aria-selected=true] .cvco-icon{opacity:1}.cvco-app .cvco-window-open-button{background-color:#003a5d;border:1px solid #a3b4bf;border-radius:10px;bottom:20px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);display:none;height:48px;opacity:0;padding:0;position:fixed;right:20px;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease;width:48px;z-index:1}.cvco-app .cvco-window-open-button.cvco-transition--visible{display:block}.cvco-app .cvco-window-open-button.cvco-transition--in{opacity:1;transform:scale(1);transition:transform .3s ease .2s}.cvco-app .cvco-window-open-button .cvco-avatar,.cvco-app .cvco-window-open-button .cvco-icon{align-items:center;border-radius:10px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.cvco-app .cvco-collapsed-chat-messages{flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.cvco-app .cvco-unstarted-wrapper .cvco-collapsed-chat-messages{display:none}.cvco-app .cvco-unstarted-wrapper.cvco-transition--visible .cvco-collapsed-chat-messages{display:flex}.cvco-app .cvco-unstarted-wrapper--inline .cvco-collapsed-chat-messages{opacity:0;transition:opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--inline.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transition:opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper--window .cvco-collapsed-chat-messages{opacity:0;transform:scale(0);transform-origin:100% 100%;transition:transform .3s ease,opacity .3s ease}.cvco-app .cvco-unstarted-wrapper--window.cvco-transition--in .cvco-collapsed-chat-messages{opacity:1;transform:scale(1);transition:transform .3s ease .2s,opacity .3s ease .2s}.cvco-app .cvco-unstarted-wrapper:empty{display:none}.cvco-app .cvco-unstarted-wrapper--window{bottom:78px;max-width:calc(100% - 60px);position:fixed;right:30px;z-index:1}@media(min-width:641px){.cvco-app .cvco-unstarted-wrapper--window{max-width:280px}}.cvco-app .cvco-unstarted-wrapper--inline{display:none;max-height:0;overflow:hidden;transition:margin .3s ease,max-height .3s ease;width:100%}@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{margin-bottom:20px;max-height:600px}.cvco-app .cvco-unread-messages{align-items:center;bottom:20px;display:none;justify-content:center;margin:0;opacity:0;position:absolute}.cvco-app .cvco-unread-messages.cvco-transition--visible{display:flex}.cvco-app .cvco-unread-messages.cvco-transition--in{opacity:1;transition:opacity .3s ease 1s}.cvco-app .cvco-unread-messages .cvco-button{align-items:center;display:flex;gap:10px}.cvco-app .cvco-unread-messages .cvco-icon{height:20px;width:20px}.cvco-app .cvco-unread-messages .cvco-icon svg path{fill:#fff}.cvco-app .cvco-visually-hidden,.cvco-app__live-container .cvco-visually-hidden{height:1px;overflow:hidden;position:absolute!important;width:1px;clip:rect(1px,1px,1px,1px)}.cvco-modal,.cvco-modal *,.cvco-modal :after,.cvco-modal :before{box-sizing:border-box}.cvco-modal{align-items:center;background-color:hsla(0,0%,100%,.8);bottom:0;display:flex;height:100%;justify-content:center;left:0;min-height:100%;min-width:100%;opacity:1;padding:20px;position:fixed;right:0;top:0;transform:scale(1);width:100%;z-index:99}.cvco-modal__float{background-color:#fff;border:1px solid #dee3e5;border-radius:10px;box-shadow:0 0 20px 0 rgba(0,0,0,.1);max-width:80rem;outline:0;padding:5px}.cvco-modal__float,.cvco-modal__inner{height:100%;position:relative;width:100%}.cvco-modal__inner{align-items:center;display:flex;justify-content:center;padding:10px}.cvco-modal__image{border:1px solid #dee3e5;display:block;flex:0 0 auto;max-height:100%;max-width:100%;width:auto}.cvco-modal__close{align-items:center;-webkit-appearance:none;appearance:none;background-color:#4a48c1;border:0;border-radius:5px;color:#fff;display:flex;font-weight:700;gap:10px;min-height:40px;padding:5px 15px;position:absolute;right:20px;top:20px}.cvco-modal__close .cvco-icon{flex:0 0 16px;height:16px;width:16px}.cvco-modal__close .cvco-icon svg{height:inherit;width:inherit}.cvco-modal__close .cvco-icon svg path{fill:#fff;transition:fill .3s ease}.cvco-modal__enlarge{align-items:center;-webkit-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:50%;bottom:20px;color:transparent;display:flex;font-size:0;height:40px;justify-content:center;padding:0;position:absolute;right:20px;width:40px}.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": "25.1.0",
3
+ "version": "25.2.0-beta.2",
4
4
  "main": "build/dist/lib/index.js",
5
5
  "types": "build/src/javascripts/index.d.ts",
6
6
  "exports": {
@@ -21,10 +21,10 @@
21
21
  "webpack/*"
22
22
  ],
23
23
  "dependencies": {
24
- "@reduxjs/toolkit": "^2.9.0",
24
+ "@reduxjs/toolkit": "^2.10.1",
25
25
  "@ultraq/icu-message-formatter": "^0.15.2",
26
- "core-js": "^3.45.1",
27
- "focus-trap": "^7.6.5",
26
+ "core-js": "^3.46.0",
27
+ "focus-trap": "^7.6.6",
28
28
  "include-media": "^2.0.0",
29
29
  "js-cookie": "^3.0.5",
30
30
  "minivents": "^2.2.1",
@@ -32,12 +32,12 @@
32
32
  "reconnecting-websocket": "^4.4.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@babel/core": "^7.28.4",
36
- "@babel/preset-env": "^7.28.3",
37
- "@babel/preset-react": "^7.27.1",
38
- "@babel/preset-typescript": "^7.27.1",
39
- "@playwright/test": "^1.55.1",
40
- "@seamly/doc-site": "^4.1.0",
35
+ "@babel/core": "^7.28.5",
36
+ "@babel/preset-env": "^7.28.5",
37
+ "@babel/preset-react": "^7.28.5",
38
+ "@babel/preset-typescript": "^7.28.5",
39
+ "@playwright/test": "^1.56.1",
40
+ "@seamly/doc-site": "^4.1.1",
41
41
  "@seamly/eslint-config": "^4.0.0",
42
42
  "@seamly/prettier-config": "^3.1.0",
43
43
  "@seamly/stylelint-config": "^3.1.1",
@@ -48,7 +48,7 @@
48
48
  "babel-jest": "^30.2.0",
49
49
  "babel-loader": "^10.0.0",
50
50
  "copy-webpack-plugin": "^13.0.1",
51
- "eslint": "^9.36.0",
51
+ "eslint": "^9.39.1",
52
52
  "file-loader": "^6.2.0",
53
53
  "fork-ts-checker-webpack-plugin": "^9.1.0",
54
54
  "husky": "^9.1.7",
@@ -56,16 +56,16 @@
56
56
  "jest-environment-jsdom": "^30.2.0",
57
57
  "jest-watch-typeahead": "^3.0.1",
58
58
  "nyc": "^17.0.0",
59
- "openapi-typescript": "^6.7",
59
+ "openapi-typescript": "^6.7.6",
60
60
  "playwright-test-coverage": "^1.2.12",
61
61
  "postcss": "^8.5.6",
62
62
  "preact": "^10.27.1",
63
63
  "prettier": "^3.6.2",
64
- "rimraf": "^6.0.1",
64
+ "rimraf": "^6.1.0",
65
65
  "style-loader": "^4.0.0",
66
- "stylelint": "^16.24.0",
66
+ "stylelint": "^16.25.0",
67
67
  "typescript": "^5.9.3",
68
- "webpack": "^5.102.0",
68
+ "webpack": "^5.102.1",
69
69
  "webpack-cli": "^6.0.1",
70
70
  "webpack-dev-server": "^5.2.2",
71
71
  "webpack-merge": "^6.0.1"
@@ -104,6 +104,6 @@
104
104
  "test:coverage": "yarn run test --coverage",
105
105
  "test:e2e": "playwright test",
106
106
  "test:e2e:coverage": "yarn nyc report --reporter cobertura --reporter html",
107
- "prepare": "husky install"
107
+ "prepare": "husky"
108
108
  }
109
109
  }
@@ -181,6 +181,7 @@ export const initialStoreState: StoreState = {
181
181
  subTitle: '',
182
182
  },
183
183
  historyLoaded: false,
184
+ skiplinkElementId: randomId(),
184
185
  skiplinkTargetId: randomId(),
185
186
  optionsButtonId: randomId(),
186
187
  headerCollapseButtonId: randomId(),
@@ -243,6 +243,7 @@ export type StoreState = {
243
243
  subTitle?: string
244
244
  }
245
245
  historyLoaded: boolean
246
+ skiplinkElementId: string
246
247
  skiplinkTargetId: string
247
248
  optionsButtonId: string
248
249
  headerCollapseButtonId: string
@@ -5,7 +5,8 @@ import { className } from 'lib/css'
5
5
  import PrivacyDisclaimer from 'ui/components/layout/privacy-disclaimer'
6
6
  import {
7
7
  useSeamlyIsLoading,
8
- useSkiplink,
8
+ useSkiplinkElement,
9
+ useSkiplinkTarget,
9
10
  useSkiplinkTargetFocusing,
10
11
  } from 'ui/hooks/seamly-hooks'
11
12
  import { useEvents } from 'ui/hooks/seamly-state-hooks'
@@ -56,7 +57,8 @@ const Conversation = () => {
56
57
  const isLoading = useSeamlyIsLoading()
57
58
  const debouncedIsLoading = useDebounce(isLoading, isLoading ? 0 : 20)
58
59
  const { isOpen } = useVisibility()
59
- const skiplinkTargetId = useSkiplink()
60
+ const skiplinkElementId = useSkiplinkElement()
61
+ const skiplinkTargetId = useSkiplinkTarget()
60
62
  const focusSkiplinkTarget = useSkiplinkTargetFocusing()
61
63
 
62
64
  const onClickHandler = (e) => {
@@ -68,6 +70,7 @@ const Conversation = () => {
68
70
  <>
69
71
  {isOpen && (
70
72
  <a
73
+ id={skiplinkElementId}
71
74
  className={className('skip-link')}
72
75
  href={`#${skiplinkTargetId}`}
73
76
  onClick={onClickHandler}
@@ -1,9 +1,19 @@
1
+ import { useI18n } from 'domains/i18n/hooks'
1
2
  import { className } from 'lib/css'
2
- import { useSeamlyCurrentAgent } from 'ui/hooks/seamly-hooks'
3
+ import { useEffect } from 'preact/hooks'
4
+ import { useLiveRegion, useSeamlyCurrentAgent } from 'ui/hooks/seamly-hooks'
3
5
  import EventParticipant from './event/event-participant'
4
6
 
5
7
  const Loader = () => {
6
- const { id } = useSeamlyCurrentAgent() || {}
8
+ const { t } = useI18n()
9
+ const { sendPolite } = useLiveRegion()
10
+ const { id, name } = useSeamlyCurrentAgent() || {}
11
+
12
+ useEffect(() => {
13
+ if (name) {
14
+ sendPolite(t('typing.srText', { name }))
15
+ }
16
+ }, [name, sendPolite, t])
7
17
 
8
18
  return (
9
19
  <li
@@ -4,7 +4,7 @@ import { useVisibility } from 'domains/visibility/hooks'
4
4
  import { useCallback } from 'preact/hooks'
5
5
  import {
6
6
  useSeamlyCommands,
7
- useSkiplink,
7
+ useSkiplinkTarget,
8
8
  useSkiplinkTargetFocusing,
9
9
  } from 'ui/hooks/seamly-hooks'
10
10
  import TextEntryForm from './text-entry-form'
@@ -13,7 +13,7 @@ export const textEntryControlName = 'textMessageEntry'
13
13
 
14
14
  export default function TextEntry({ ...props }) {
15
15
  const { isOpen, setVisibility } = useVisibility()
16
- const skipLinkId = useSkiplink()
16
+ const skipLinkId = useSkiplinkTarget()
17
17
  const focusSkipLinkTarget = useSkiplinkTargetFocusing()
18
18
  const { sendMessage } = useSeamlyCommands()
19
19
  const handleSubmit = useCallback(
@@ -9,7 +9,7 @@ import {
9
9
  useFileUploads,
10
10
  useGeneratedId,
11
11
  useLiveRegion,
12
- useSkiplink,
12
+ useSkiplinkTarget,
13
13
  useSkiplinkTargetFocusing,
14
14
  } from 'ui/hooks/seamly-hooks'
15
15
  import useSingleFileUpload from 'ui/hooks/use-single-file-upload'
@@ -27,7 +27,7 @@ const fileInputName = 'fileList'
27
27
  const Upload = () => {
28
28
  const { t } = useI18n()
29
29
  const { sendPolite, sendAssertive } = useLiveRegion()
30
- const skiplinkTargetId = useSkiplink()
30
+ const skiplinkTargetId = useSkiplinkTarget()
31
31
  const focusSkiplinkTarget = useSkiplinkTargetFocusing()
32
32
  // This hook should be refactored at some point
33
33
  const { serviceAllowsUploads, allowedMimeTypes, maxSize } =
@@ -2,9 +2,10 @@ import { useUserHasResponded } from 'domains/app/hooks'
2
2
  import { useConfig } from 'domains/config/hooks'
3
3
  import { useI18n } from 'domains/i18n/hooks'
4
4
  import { useVisibility } from 'domains/visibility/hooks'
5
+ import { createFocusTrap, FocusTrap } from 'focus-trap'
5
6
  import { className } from 'lib/css'
6
7
  import { ComponentChildren } from 'preact'
7
- import { forwardRef } from 'preact/compat'
8
+ import { forwardRef, useEffect, useRef } from 'preact/compat'
8
9
  import Suggestions from 'ui/components/suggestions'
9
10
  import { useSeamlyAppContainerClassNames } from 'ui/hooks/component-helper-hooks'
10
11
  import { useWindowOpenButtonFocusing } from 'ui/hooks/focus-helper-hooks'
@@ -15,11 +16,13 @@ const Chat = forwardRef<
15
16
  HTMLElement,
16
17
  { children: ComponentChildren; className?: string }
17
18
  >(({ children, className: givenClassName = '' }, forwardedRef) => {
19
+ const focusTrap = useRef<FocusTrap>(null)
18
20
  const { closeChat, isOpen, isVisible } = useVisibility()
19
21
  const focusWindowOpenButton = useWindowOpenButtonFocusing()
20
22
  const { namespace, layoutMode } = useConfig()
21
23
  const { isInline } = useSeamlyLayoutMode()
22
24
  const appContainerClassNames = useSeamlyAppContainerClassNames()
25
+ const chatSectionId = useGeneratedId()
23
26
  const headingId = useGeneratedId()
24
27
  const userHasResponded = useUserHasResponded()
25
28
  const { t } = useI18n()
@@ -52,9 +55,26 @@ const Chat = forwardRef<
52
55
  }
53
56
  }
54
57
 
58
+ useEffect(() => {
59
+ if (isVisible && layoutMode === 'window') {
60
+ focusTrap.current = createFocusTrap(`#${chatSectionId}`, {
61
+ // We set the initialFocus to false, as the `WindowOpenButton` takes care of that
62
+ initialFocus: false,
63
+ })
64
+ focusTrap.current.activate()
65
+ }
66
+
67
+ return () => {
68
+ if (focusTrap.current) {
69
+ focusTrap.current.deactivate()
70
+ }
71
+ }
72
+ }, [chatSectionId, isVisible, layoutMode])
73
+
55
74
  return (
56
75
  isVisible && (
57
76
  <section
77
+ id={chatSectionId}
58
78
  className={className(classNames)}
59
79
  onKeyDown={onKeyDownHandler}
60
80
  tabIndex={-1}
@@ -3,13 +3,17 @@ import { useI18n } from 'domains/i18n/hooks'
3
3
  import { selectHasError } from 'domains/interrupt/selectors'
4
4
  import { useVisibility } from 'domains/visibility/hooks'
5
5
  import { className } from 'lib/css'
6
+ import { TargetedMouseEvent } from 'preact'
6
7
  import { useCallback } from 'preact/hooks'
7
8
  import { useSelector } from 'react-redux'
8
9
  import Icon from 'ui/components/layout/icon'
9
10
  import InOutTransition, {
10
11
  transitionStartStates,
11
12
  } from 'ui/components/widgets/in-out-transition'
12
- import { useSkiplinkTargetFocusing } from 'ui/hooks/focus-helper-hooks'
13
+ import {
14
+ useSkiplinkElementFocusing,
15
+ useSkiplinkTargetFocusing,
16
+ } from 'ui/hooks/focus-helper-hooks'
13
17
  import { useSeamlyHasConversation } from 'ui/hooks/seamly-api-hooks'
14
18
  import { useSeamlyStateContext } from 'ui/hooks/seamly-hooks'
15
19
  import {
@@ -40,15 +44,26 @@ const WindowOpenButton = ({ onClick }) => {
40
44
  const ariaLabel = hasConversation()
41
45
  ? t('window.openButton.srContinue')
42
46
  : t('window.openButton.srStart')
47
+ const focusSkipLinkELement = useSkiplinkElementFocusing()
43
48
  const focusSkiplinkTarget = useSkiplinkTargetFocusing()
44
49
  const { isOpen } = useVisibility()
45
50
  const { windowOpenButtonId } = useSeamlyStateContext()
46
51
  const count = useSeamlyUnreadCount()
47
52
 
48
- const handleClick = useCallback(() => {
49
- onClick()
50
- focusSkiplinkTarget()
51
- }, [focusSkiplinkTarget, onClick])
53
+ const handleClick = useCallback(
54
+ (event: TargetedMouseEvent<HTMLButtonElement>) => {
55
+ onClick()
56
+ if (event.detail > 0) {
57
+ // Mouse was used: focus the input element
58
+ focusSkiplinkTarget()
59
+ } else {
60
+ // Keyboard was used: focus the skiplink element instead to improve
61
+ // accessibility for keyboard users.
62
+ focusSkipLinkELement()
63
+ }
64
+ },
65
+ [focusSkipLinkELement, focusSkiplinkTarget, onClick],
66
+ )
52
67
 
53
68
  return (
54
69
  <InOutTransition
@@ -1,8 +1,8 @@
1
1
  import { className } from 'lib/css'
2
- import { useGeneratedId, useSkiplink } from 'ui/hooks/seamly-hooks'
2
+ import { useGeneratedId, useSkiplinkTarget } from 'ui/hooks/seamly-hooks'
3
3
 
4
4
  const Prompt = ({ baseClassName, children, title }) => {
5
- const skiplinkTargetId = useSkiplink()
5
+ const skiplinkTargetId = useSkiplinkTarget()
6
6
  const containerHeadingId = useGeneratedId()
7
7
 
8
8
  return (
@@ -5,7 +5,11 @@ import {
5
5
  focusElement,
6
6
  runIfElementContainsOrHasFocus,
7
7
  } from 'ui/utils/general-utils'
8
- import { useSeamlyStateContext, useSkiplink } from './seamly-state-hooks'
8
+ import {
9
+ useSeamlyStateContext,
10
+ useSkiplinkElement,
11
+ useSkiplinkTarget,
12
+ } from './seamly-state-hooks'
9
13
 
10
14
  export const timeout = (ms = 0) =>
11
15
  new Promise((resolve) => {
@@ -40,8 +44,13 @@ export const useElementFocusingById = (elementId) =>
40
44
  focusWithRaf(elementId)
41
45
  }, [elementId])
42
46
 
47
+ export const useSkiplinkElementFocusing = () => {
48
+ const skiplinkElementId = useSkiplinkElement()
49
+ return useElementFocusingById(skiplinkElementId)
50
+ }
51
+
43
52
  export const useSkiplinkTargetFocusing = () => {
44
- const skiplinkTargetId = useSkiplink()
53
+ const skiplinkTargetId = useSkiplinkTarget()
45
54
  return useElementFocusingById(skiplinkTargetId)
46
55
  }
47
56
 
@@ -36,7 +36,8 @@ export {
36
36
  useSeamlyServiceInfo,
37
37
  useSeamlyStateContext,
38
38
  useSeamlyUnreadCount,
39
- useSkiplink,
39
+ useSkiplinkElement,
40
+ useSkiplinkTarget,
40
41
  } from './seamly-state-hooks'
41
42
  export { default as useSeamlyActivityEventHandler } from './use-seamly-activity-event-handler'
42
43
  export { default as useSeamlyChat } from './use-seamly-chat'
@@ -103,7 +103,10 @@ export const useSeamlyUnreadCount = () => useSeamlyStateContext().unreadEvents
103
103
  export const useLoadedImageEventIds = () =>
104
104
  useSeamlyStateContext().loadedImageEventIds
105
105
 
106
- export const useSkiplink = () => useSeamlyStateContext().skiplinkTargetId
106
+ export const useSkiplinkElement = () =>
107
+ useSeamlyStateContext().skiplinkElementId
108
+
109
+ export const useSkiplinkTarget = () => useSeamlyStateContext().skiplinkTargetId
107
110
 
108
111
  export const useSeamlyParticipant = (participantId) =>
109
112
  useSeamlyStateContext().participantInfo.participants[participantId]
@@ -8,6 +8,10 @@
8
8
  gap: $spacer * 0.5;
9
9
  height: 100%;
10
10
  max-height: 100%;
11
+
12
+ div[role='log'] {
13
+ margin: auto 0 0;
14
+ }
11
15
  }
12
16
 
13
17
  .#{$n}-conversation {
@@ -25,9 +29,9 @@
25
29
  &::after {
26
30
  content: '';
27
31
  display: block;
28
- flex: 0 0 $spacer;
32
+ flex: 0 0 $spacer * 0.5;
29
33
  width: 100%;
30
- height: $spacer;
34
+ height: $spacer * 0.5;
31
35
  }
32
36
  }
33
37