html, body { margin: 0; padding: 0; width: 100%; height: 100svh; font-family: Monospace; font-size: 15px; } body { display: flex; } button{ cursor: pointer; } .wrapper { background: #34495e; margin: 0; min-width: 320px; width: 100%; display: grid; grid-template-rows: min-content auto; height: 100%; padding: 0px 20px; } .chat { --textarea: 0px; border-radius: 5px; display: block; width: 100%; overflow-y: scroll; overflow-x: hidden; background: rgb(161, 161, 161); padding: 10px 0; height: max(calc(100svh - 105px - var(--textarea)), calc(50svh - 90px)); } .chat .message { display: flex; margin: 5px 20px 5px 10px; filter: opacity(0.9); } .chat .message.me { margin: 5px 10px 5px 20px; } .chat .message.comando { margin: 5px auto; display: table; } .chat .message:last-child { filter: opacity(1); } .chat .message.no-opacity { display: flex; margin: 10px 0 0 10px; filter: opacity(1); } .chat .message img { margin: 0 10px 0 0; height: 30px; border-radius: 50%; } .chat .message.me img { order: 2; margin: 0 0 0 3px; } .chat .message div { flex: 1; max-width: 100%; } .chat .message div p { max-width: calc( 100% - 20px ); display: inline-block; margin: 0; padding: 8px 10px 8px 10px; background: #fff; border-radius: 3px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); min-width: 40%; transition: 0.5s height; } .chat .message.me div p { float: right; background: #b4c2ff; } .chat .message.comando div p { background: #d0a8ff; } .chat .message.warning div p { background: #f0e370; } .chat .message.error div p { background: #f09470; } .chat .message div p ul { list-style: none; color: #555; padding-right: 10px; } .chat .message:last-child div p ul { list-style: none; color: blue; } .chat .message div p ul.ultotal { list-style: none; color: #34495e; font-size: 12px; } .chat .message pre { overflow-x: scroll; border: solid 1px #e5e4e4; padding: 10px; } .input-box { background: #222f3d; margin: 10px 0; height: 30px; display: flex; border-radius: 5px; max-height: 50svh; } .input-box textarea, .input-box button { margin: 0; border: none; padding: 0 15px; } .input-box button:focus, .input-box textarea:focus { outline: none; } .input-box .input-text { width: 100%; border-radius: 5px 0 0 5px; resize: none; border-top: solid 7px #fff; border-bottom: solid 7px #fff; } .input-box button{ width: 30px; background-size: 20px; background-color: #ddd; background-repeat: no-repeat; background-position: center; border-left: solid 1px #555; } .input-box .input-send { background-image: url(/static/img/send.png); } .input-box .input-delete { background-image: url(/static/img/delete.png); } .input-box .input-menu { background-image: url(/static/img/menu.svg); } .input-box button:first-child{ border-left: none; } .input-box button:last-child{ border-radius: 0 5px 5px 0; } .input-box button:disabled, .input-box textarea:disabled{ background-color: #8b8b8b; border-color: #8b8b8b; } #message-template{ display: none; } .loader-wrap { display: flex; } .loader { margin: auto; width: 48px; height: 48px; border: 3px dotted #476380; border-style: solid solid dotted dotted; border-radius: 50%; display: inline-block; position: relative; box-sizing: border-box; animation: rotation 2s linear infinite; } .loader.firststage{ border: 3px dotted #49b359; border-style: solid solid dotted dotted; transition:all 1s; } .loader::after { content: ''; box-sizing: border-box; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 3px dotted #445464; border-style: solid solid dotted; width: 24px; height: 24px; border-radius: 50%; animation: rotationBack 1s linear infinite; transform-origin: center center; } .loader.firststage::after { border: 3px dotted #49b359; border-style: solid solid dotted; transition:all 1s; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes rotationBack { 0% { transform: rotate(0deg); } 100% { transform: rotate(-360deg); } } .loader-wrap ~ div { text-align: center; margin-top: 10px; } dialog{ margin: auto; outline: none; }