This repository has been archived on 2025-03-25. You can view files and clone it, but cannot push or open issues or pull requests.
Messaging/public/style.css

384 lines
5.9 KiB
CSS

:root {
--primary: #14bbaa;
--secondary: #2c3c4c;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
margin: 0;
font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1.2em;
scroll-behavior: smooth;
display: flex;
}
#menu {
position: absolute;
top: 25px;
z-index: 2;
left: 0;
}
#content {
width: 100%;
height: 100vh;
display: grid;
grid-template-rows: 100px 1fr 175px;
}
#rooms {
background-color: var(--secondary);
width: 0;
overflow: hidden;
align-items: center;
transition: width 0.6s, padding 0.6s;
display: flex;
z-index: 1;
color: white;
flex-direction: column;
}
#rooms h1 {
margin-bottom: 30px;
}
#rooms a:hover {
background-color: #485b70 !important;
}
#rooms a {
background-color: #374a5e;
}
#rooms a.active {
background-color: var(--primary);
font-weight: bold;
}
#rooms ul {
list-style: none;
padding: 0;
margin: 0;
gap: 10px;
font-size: 1.5em;
}
#rooms :is(li, ul, a) {
width: 95%;
display: flex;
flex-direction: column;
align-items: center;
}
#rooms.opened {
width: 18vw;
padding: 20px;
}
#rooms:not(.opened) + div nav {
padding-left: 70px;
}
#rooms input {
width: 80%;
}
#rooms input::placeholder {
text-align: center;
}
#rooms form {
text-align: center;
margin: auto 0 20px 0;
}
#rooms form button {
margin-top: 10px;
}
nav,
footer {
background-color: var(--secondary);
color: white;
display: flex;
flex-direction: row;
align-items: center;
max-width: 100vw;
transition: padding 0.6s;
}
a {
margin: 0 0.5em;
text-decoration: none;
width: fit-content;
color: white;
grid-template-columns: 1fr 500px;
}
nav span {
font-size: 2em;
}
footer {
justify-content: center;
gap: 30px;
padding: 20px;
}
textarea,
input[type="text"] {
border: none;
color: white;
background-color: transparent;
border-bottom: 0.05em solid white;
font-family: inherit;
font-size: 2rem;
max-width: 100%;
max-height: 10vh;
}
:is(textarea, input[type="text"])::placeholder {
color: #dbcece;
}
button {
border: none;
border-radius: 2em;
color: #f5f0f0;
background-color: transparent;
font-size: 1em;
padding: 0.7rem 1.6rem;
text-decoration: none;
}
.button-primary {
background-color: var(--primary);
}
.button-secondary {
background-color: var(--secondary);
}
.button-circle {
padding: 0.85em 1em;
}
svg {
height: 1.5em;
width: 1.5em;
}
button:not(:disabled) {
cursor: pointer;
}
button:is(:disabled, :hover) {
filter: brightness(0.9);
}
.message-info {
font-size: 12px;
color: white;
text-transform: capitalize;
}
#change-name {
margin: 0 10px 0 auto;
}
#name-display {
font-size: 1.5em;
}
.message-text {
padding: 10px;
font-size: 17px;
white-space: initial;
line-height: 23px;
font-weight: normal;
word-wrap: break-word;
display: inline-block;
background-color: #e4366a;
text-align: center;
color: white;
border-radius: 20px;
}
#main-content {
background-color: var(--primary);
color: white;
display: flex;
padding: 30px;
flex-direction: column;
}
#messages {
max-width: 100vw !important;
background-color: var(--primary);
padding: 30px;
overflow-y: auto;
display: flex;
flex-direction: column-reverse;
}
#messages::-webkit-scrollbar {
width: 10px;
}
#messages::-webkit-scrollbar-track {
display: none;
}
#messages::-webkit-scrollbar-thumb {
background: var(--secondary);
border-radius: 10px;
}
#messages::-webkit-scrollbar-thumb:hover {
filter: brightness(0.9);
}
.message-content {
max-width: 75%;
}
.message {
padding: 5px;
margin-top: 5px;
width: 100%;
display: flex;
flex-direction: row;
}
.message-right {
justify-content: right;
}
.message-right .message-text {
background-color: #e9e932;
color: #424242;
}
.system .message-text {
background-color: #05d0eb;
color: white;
}
#login {
background-color: var(--primary);
color: white;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
width: 100vw;
}
#login.done {
display: none;
}
#login:not(.done) + div,
#login:not(.done) + div + div {
display: none !important;
}
.medium-header {
font-size: 2.5rem;
font-weight: 200;
line-height: 1.2;
margin-bottom: 20px;
}
.large-header {
font-size: 5rem;
font-weight: 300;
line-height: 1.2;
display: flex;
}
:is(input[type="text"], textarea):required {
animation: shake 0.2s ease-in-out 0s 2;
color: #ff0000;
border-color: red !important;
}
:is(input[type="text"], textarea):required::placeholder {
color: #f20000;
}
#no-rooms.changed {
display: none;
}
@media (max-width: 1520px) {
#rooms-header {
visibility: hidden;
}
#rooms.opened {
width: 30vw;
}
}
@media (max-width: 1000px) {
#rooms.opened {
width: 100vw;
}
#rooms {
position: absolute;
height: 100vh;
}
#rooms-header {
visibility: visible;
}
}
@media (max-width: 500px) {
#login input {
max-width: 60vw;
}
}
@media (max-width: 725px) {
#name-display {
display: none;
}
body {
font-size: 1.1em;
}
footer {
flex-direction: column;
}
button:not(#menu, .button-circle) {
display: block;
width: 100%;
}
}
@keyframes shake {
0% {
margin-left: 0rem;
}
25% {
margin-left: 0.5rem;
}
75% {
margin-left: -0.5rem;
}
100% {
margin-left: 0rem;
}
}