/* https://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ @import url("https://fonts.googleapis.com/css?family=Montserrat|Roboto"); html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; } table { border-collapse: collapse; border-spacing: 0; } *, *:before, *:after { box-sizing: border-box; } body { overflow-x: hidden; font-family: "Roboto", sans-serif; font-weight: 400; font-size: 16px; font-size: 1em; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; line-height: 1.45; background-color: #FEF7DD; } .chatbot__overview { background-color: #FEF7DD; display: flex; flex-flow: row nowrap; align-content: space-between; min-height: 80vh; max-height: 80vh; margin: 0 auto; padding: 1em; padding-bottom: 0; } .chatlist { font-family: inherit; font-size: 1em; display: flex; flex-flow: column nowrap; align-items: flex-end; overflow-x: hidden; width: 100%; max-width: 50em; max-height: 75vh; margin: 0 auto; } .chatlist .userInput, .chatlist .bot__output { padding: 0.85em; margin: 0.5em; max-width: 100%; background-color: #fff; border-radius: 5px; border-bottom: 1px solid #777; } .chatlist .userInput { text-transform: lowercase; box-shadow: 1px 1px 2px #666; border-top: 4px solid #CC8914; opacity: 0; animation-name: animateBubble; animation-duration: 400ms; animation-iteration-count: 1; animation-play-state: running; animation-fill-mode: forwards; } .chatlist .bot__output { align-self: flex-start; box-shadow: -1px 1px 2px #666; border-top: 4px solid #84a444; will-change: auto; height: auto; opacity: 0; animation-name: animateBubble; animation-duration: 400ms; animation-iteration-count: 1; animation-play-state: paused; animation-fill-mode: forwards; position: relative; } .chatlist .bot__output::before { content: ""; /* 빈 콘텐츠를 추가하여 가상 요소를 생성합니다. */ background: url('logo.png') no-repeat; /* 로고 이미지 경로를 설정하세요. */ background-size: cover; /* 이미지 크기를 조절합니다. */ width: 40px; /* 로고의 가로 크기를 조절합니다. */ height: 40px; /* 로고의 세로 크기를 조절합니다. */ position: absolute; top: -20px; /* 로고의 위치를 조절합니다. */ left: -10px; /* 로고의 위치를 조절합니다. */ border-radius: 50%; /* 로고를 원형으로 만듭니다. */ } .chatlist .bot__output:last-child { display: none; } .chatlist .bot__command { color: #f5f5f5; color: #616161; font-weight: 600; padding: 0.1em; } .chatlist .bot__output:nth-child(1) { animation-delay: 600ms; animation-play-state: running; } .chatlist .bot__output:nth-child(2) { animation-delay: 1200ms; animation-play-state: running; } .chatlist .bot__output:nth-child(3) { animation-delay: 1800ms; animation-play-state: running; } .chatlist .bot__output--standard:last-child { display: block; } .chatlist .bot__output--failed { display: block !important; color: #84a444; font-weight: 600; } .chatlist .bot__output--second-sentence { display: block; } .chatlist .bot__outputImage { max-width: 16em; height: 12em; } @keyframes animateBubble { 0% { transform: translateY(-20%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } .block--background { background-color: #FEF7DD; width: 100vw; } #chatform { display: flex; justify-content: center; width: 80%; max-width: 35em; margin: 0 auto; padding-top: 1em; font-size: 1em; font-family: Helvetica; position: relative; } @media screen and (max-width: 29em) { #chatform { width: 90%; } } .chatbox-area { flex: 1; margin: 0 auto; position: relative; bottom: 0; height: 75px; width: 100%; display: flex; } textarea[name=chatbox] { resize: none; border: 2px solid #E9E4D1; border-right: 0; width: 80%; background-color: transparent; color: #84a444; height: 100%; margin: 0; padding: 0.75em; border-radius: 8px 0px 0px 8px; font-family: inherit; font-size: 1em; box-sizing: border-box; vertical-align: top; } textarea[name=chatbox]:focus { outline: none; border: 2px solid #84a444ff; } ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: #84a444ff; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #fff; opacity: 1; } ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #fff; opacity: 1; } input[type=submit] { -webkit-appearance: none; appearance: none; border: 0; height: 100%; width: 30%; margin: 0; background-color: #81B560; color: #fff; border: 2px solid transparent; border-left: 0; border-radius: 0 8px 8px 0; font-family: inherit; font-size: 1em; transition: 200ms all ease-in; vertical-align: top; } input[type=submit]:hover { background-color: #84a444ff; border-color: #b4c397; color: #fff; } .input__nested-list { list-style: disc; list-style-position: inside; padding: 0.5em; margin: 0; } .input__nested-list:first-child { padding-top: 1em; margin-top: 0; } .input__nested-link { color: #2ecc71; text-decoration: none; border-bottom: 1px solid #2ecc71; } ::-webkit-scrollbar { width: 0.65em; /* for vertical scrollbars */ height: 0.65em; /* for horizontal scrollbars */ } ::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.1); } ::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.3); } /* toggle button */ label { display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; } [type="checkbox"] { appearance: none; position: relative; border: max(2px, 0.1em) solid gray; border-radius: 1.25em; width: 2.25em; height: 1.25em; } [type="checkbox"]::before { content: ""; position: absolute; left: 0; width: 1em; height: 1em; border-radius: 50%; transform: scale(0.8); background-color: gray; transition: left 250ms linear; } [type="checkbox"]:checked { background-color: #80a649ff; border-color: #cae77dff; } [type="checkbox"]:checked::before { background-color: white; left: 1em; } [type="checkbox"]:disabled { border-color: lightgray; opacity: 0.7; cursor: not-allowed; } [type="checkbox"]:disabled:before { background-color: lightgray; } [type="checkbox"]:disabled + span { opacity: 0.7; cursor: not-allowed; } [type="checkbox"]:focus-visible { outline-offset: max(2px, 0.1em); outline: max(2px, 0.1em) solid #84a444ff; } [type="checkbox"]:enabled:hover { box-shadow: 0 0 0 max(4px, 0.2em) lightgray; } /* Global CSS */ body { display: grid; justify-content: center; align-items: center; height: 100vh; } fieldset { border: none; display: flex; flex-direction: column; gap: 0.5rem; } *, *::before, *::after { box-sizing: border-box; }