ColaCoca's picture
jeju ๋ชจ๋ธ ์—…๋กœ๋“œ
8eb2cb0
/* 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;
}