llm_demo/static/index.css (378 lines of code) (raw):

/** * Copyright 2023 Google LLC * * Licensed under the Apache License, Version 2.0 (the `License`); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an `AS IS` BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ html, body { height: 100%; } body { color: #212A3E; font-family: 'DM Sans', sans-serif; } .container { position: relative; width: 100%; margin: 0px auto; height: 100%; display: flex; flex-direction: column; } .chat-header { position: relative; min-width: 472px; font-size: 28px; font-weight: 500; text-align: center; height: 45px; background: linear-gradient(to right, #29207C , #8E68A1); color: white; margin-bottom: 30px; padding-top: 15px; padding-left: 20px; padding-right: 20px; border-top-right-radius: 20px; border-top-left-radius: 20px; } .chat-header .header-logo { float: left; height: 100%; margin-top: -7px; } .chat-header .title { position: fixed; left: calc(50% - 70px); } #g_id_onload, .g_id_signin { position: absolute; top: 7px; right: 26px; .chat-user-state { top: 6px; position: relative; .chat-user-image { border-radius: 50%; height: 36px; width: 36px; border: 2px solid white; margin-top: -2px; margin-right: 30px; } .chat-signout-btn { width: 100%; height: 30px; padding-top: 6px; color: white; cursor: pointer; text-decoration: underline; text-align: center; } } } #menuButton { float: left; cursor: pointer; } #resetButton { position: fixed; top: 20px; right: 15px; color: white; cursor: pointer; z-index: 1000000; } .popup-signout { background: #4b3889; width: 120px; position: fixed; right: 3px; top: 54px; border: 1px solid #755698; border-radius: 10px; padding-top: 3px; display: none; z-index: 1000000; } #resetButton:hover { background-color: #c9d4e9; } .chat-wrapper { display: flex; flex-direction: column; overflow: hidden; height: 100%; padding-left: 20px; padding-right: 20px; } .chat-bar-wrapper { padding-left: 20px; padding-right: 20px; background: #F2F0FB; padding-top: 10px; } .chat-content { overflow-y: scroll; margin-bottom: 10px; width: 100%; height: 100%; } div.chat-content>span { margin-bottom: 12px; } .chat-bar { position: relative; margin-top: auto; margin-bottom: 15px; border: 1px solid #362A81; border-radius: 10px; overflow: hidden; min-height: 48.1px; background: #FFF; cursor: pointer; } .chat-input-container { display: flex; } .chat-input-container .ip-msg { width: 100%; font-size: 14px; padding: 15px; color: #212A3E; border: none; } .chat-bubble { display: inline-block; overflow-wrap: break-word; clear: both; margin-bottom: 10px; width: 100%; } .chat-bubble p { margin: 0; padding: 0; } .chat-bubble span { font-size: 15px; } div.chat-wrapper div.chat-content div.ai span { position: relative; width: 70%; height: auto; display: inline-block; padding: 10px 12px; background: #F5E7EC; color: #212A3E; border-radius: 10px; } div.chat-wrapper div.chat-content div.ai span .innermsg { padding-right: 25px; } div.chat-wrapper div.chat-content div.ai span .info-icon { position: absolute; right: 13px; top: 12px; font-size: 20px; color: #585858; cursor: pointer; } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation { position: relative; width: 70%; min-width: 390px; max-width: 400px; height: 430px; display: inline-block; padding: 10px 12px; background: #f6e6ec; color: #212A3E; border-radius: 10px; } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation div.ticket { background: white; padding: 10px; margin-top: 10px; border-radius: 10px; height: 270px; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation div.ticket-header { top: 40px; border-radius: 5px 5px 0px 0px; border-bottom: 1px dashed #dfdfdf; position: absolute; background: #f8f8f8; width: calc(100% - 24px); left: 12px; height: 77px; } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation div.ticket div.from { position: absolute; height: 36px; font-size: 35px; left: 20px; padding: 10px; padding-top: 20px; font-weight: 900; text-align: left; border-bottom: 1px solid #d2e2fc } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation div.ticket div.plane { position: absolute; left: calc(50% - 20px); font-size: 40px; top: 60px; } div.chat-wrapper div.chat-content div.ai div.ticket-confirmation div.ticket div.to { position: absolute; height: 36px; font-size: 35px; right: 20px; padding: 10px; padding-top: 20px; font-weight: 900; text-align: right; border-bottom: 1px solid #d2e2fc } div.chat-wrapper div.chat-content div.human span { position: relative; float: right; width: 70%; height: auto; display: inline-block; padding: 10px 12px; background: #E9E7F2; color: #000; border-radius: 10px; } div.chat-wrapper div.chat-content div.human span .info-icon { display: none; } div.chat-wrapper div.chat-content div.human .sender-icon { border-radius: 50%; width: 40px; height: 40px; overflow: hidden; display: flex; justify-content: center; align-items: center; float: right; margin-left: 10px;; border: 2px solid #e9e7f2; margin-top: -2px; } div.chat-wrapper div.chat-content div.ai .sender-icon { border-radius: 50%; width: 40px; height: 40px; overflow: hidden; display: flex; justify-content: center; align-items: center; float: left; margin-right: 10px; } div.chat-wrapper div.chat-content div .sender-icon img { width: 100%; height: 100%; object-fit: cover; } .send-icon { margin-top:12px; margin-right:12px; } *:focus { outline: none; } .mdl-progress { width: 100%; display: none; } .mdl-progress.mdl-progress__indeterminate>.bar1 { background-color: #394867 } .send-button { margin-top: 12px; margin-right: 12px; color: #86629E; } div.chat-wrapper div.chat-content div#loader-container span { position: relative; height: auto; display: inline-block; padding: 10px 12px; background: #f6e6ec; color: #212A3E; border-radius: 10px; width: 50px; padding-left: 25px; } #trace { position: absolute; width: 400px; min-height: 200px; max-height: 400px; background: #f8f8f8; padding: 10px; border-radius: 11px; overflow-y: scroll; text-wrap: pretty; word-break: break-word; box-shadow: rgba(0, 0, 0, 0.3) 0 2px 10px; padding-bottom: 10px; } #trace .header { font-weight: 900; border-bottom: 1px dashed #b8b8b8; } #trace .codeblock { padding-left: 20px; font-family: monospace; font-size: 13px; color: #317b10; background: #f2f2f2; padding-top: 5px; padding-bottom: 5px; text-wrap: nowrap; overflow: scroll; } #trace .codeblock .indent { display: inline-block; width: 4px; } #trace .results { background: #ececec; padding: 10px; max-height: 200px; overflow: scroll; white-space: nowrap; } #trace .results th, td { border: 0; border-right: 1px solid #b5b5b5; text-align: left; padding-right: 10px; padding-left: 5px; } #trace .results th:last-child, td:last-child { border-right: 0px; } #trace .results th:first-child, td:first-child { padding-left: 0px; } #trace .results table { border: 0; } .loader { width: 30px; aspect-ratio: 2; --_g: no-repeat radial-gradient(circle closest-side,#ebaac4 90%,#0000); background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%; background-size: calc(100%/3) 50%; animation: l3 1s infinite linear; } @keyframes l3 { 20%{background-position:0% 0%, 50% 50%,100% 50%} 40%{background-position:0% 100%, 50% 0%,100% 50%} 60%{background-position:0% 50%, 50% 100%,100% 0%} 80%{background-position:0% 50%, 50% 50%,100% 100%} }