diff --git a/css/main.css b/css/main.css index 82e3f74..8a4e13f 100644 --- a/css/main.css +++ b/css/main.css @@ -1,6 +1,4 @@ -*, -::before, -::after { +* { padding: 0; margin: 0; box-sizing: border-box; @@ -8,22 +6,23 @@ } :root { - scroll-behavior: smooth; - font-size: clamp(1rem, 1.2vmax, 3rem); + font-size: clamp(1rem, 1.2vmax, 1.2rem); } -html, body { +html, +body { height: 100%; } body { - --accent-color: #3D5AFE; + --accent-color: #3d5afe; --secondary-color: #ffac2e; - --text-color: 17, 17, 17; - --text-color-light: 100, 100, 100; - --foreground-color: 255, 255, 255; - --background-color: #efefef; - --error-color: red; + --text-color: 20, 20, 20; + --foreground-color: 252, 253, 255; + --background-color: 241, 243, 248; + --danger-color: rgb(255, 75, 75); + --green: #1cad59; + --yellow: rgb(220, 165, 0); color: rgba(var(--text-color), 1); background: rgba(var(--foreground-color), 1); } @@ -33,12 +32,14 @@ body #scroll_to_bottom { } body[data-theme=dark] { - --accent-color:#3D5AFE; + --accent-color: #6d83ff; --secondary-color: #d60739; - --text-color: 240, 240, 240; - --text-color-light: 170, 170, 170; - --foreground-color: 20, 20, 20; - --error-color: rgb(255, 106, 106); + --text-color: 220, 220, 220; + --foreground-color: 27, 28, 29; + --background-color: 21, 22, 22; + --danger-color: rgb(255, 106, 106); + --green: #00e676; + --yellow: rgb(255, 213, 5); } body[data-theme=dark] .initial { color: rgba(var(--text-color), 1) !important; @@ -52,190 +53,415 @@ body[data-theme=dark] #scroll_to_bottom { box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.3); } -p { - line-height: 1.6; -} - -h1 { - font-size: 3rem; -} - -h2 { - font-size: 2rem; -} - -h3 { - font-size: 1.5rem; -} - -h4 { - font-size: 1.1rem; -} - -h5 { - font-size: 0.8rem; -} - -h1, h2, h3, h4, h5 { - color: rgba(var(--text-color), 1); - font-weight: 600; -} - -textarea { - background: rgba(var(--text-color), 0.06); - border: none; - border-radius: 0.3rem; - width: 100%; - padding: 1rem; - font-size: 1rem; - color: rgba(var(--text-color), 1); - resize: none; - line-height: 1.6; -} -textarea:focus { - outline: none; - box-shadow: 0 0 0 0.1rem var(--accent-color); -} - +p, strong { + font-size: 0.9rem; + max-width: 65ch; + line-height: 1.7; + color: rgba(var(--text-color), 0.9); +} + +.warning { + line-height: normal; + padding: 1rem; + background-color: khaki; + border-radius: 0.5rem; font-weight: 500; + color: rgba(0, 0, 0, 0.7); +} + +a { + text-decoration: none; + color: var(--accent-color); +} +a:focus-visible { + box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; +} + +a.button { + padding: 0.4rem 0.6rem; + border-radius: 0.3rem; + font-size: 0.9rem; + font-weight: 500; + color: inherit; +} + +button, +.button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: relative; + display: inline-flex; + border: none; + background-color: transparent; + overflow: hidden; + color: inherit; + -webkit-tap-highlight-color: transparent; + align-items: center; + font-size: 0.9rem; + font-weight: 500; + white-space: nowrap; + padding: 0.8rem; + border-radius: 0.3rem; + justify-content: center; +} +button:focus-visible, +.button:focus-visible { + outline: var(--accent-color) solid medium; +} +button:not(:disabled), +.button:not(:disabled) { + cursor: pointer; +} + +.button { + background-color: rgba(var(--text-color), 0.06); +} +.button--primary, .button--danger { + color: rgba(var(--background-color), 1) !important; +} +.button--primary .icon, .button--danger .icon { + fill: rgba(var(--background-color), 1); +} +.button--primary { + background-color: var(--accent-color); +} +.button--danger { + background-color: var(--danger-color); +} +.button--small { + padding: 0.4rem 0.6rem; +} + +.cta { + text-transform: uppercase; + font-size: 0.8rem; + font-weight: 700; + letter-spacing: 0.05em; + padding: 0.8rem 1rem; +} + +.icon { + width: 1.2rem; + height: 1.2rem; + fill: rgba(var(--text-color), 0.8); + flex-shrink: 0; +} + +.icon-only { + padding: 0.5rem; + border-radius: 0.3rem; +} + +button:disabled { + opacity: 0.5; +} + +a:-webkit-any-link:focus-visible { + outline: rgba(var(--text-color), 1) 0.1rem solid; +} + +a:-moz-any-link:focus-visible { + outline: rgba(var(--text-color), 1) 0.1rem solid; +} + +a:any-link:focus-visible { + outline: rgba(var(--text-color), 1) 0.1rem solid; +} + +details summary { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + align-items: center; + justify-content: space-between; + color: var(--accent-color); +} + +details[open] summary { + margin-bottom: 1rem; +} +details[open] > summary .down-arrow { + transform: rotate(180deg); +} + +sm-input, +sm-textarea { + font-size: 0.9rem; + --border-radius: 0.3rem; + --background-color: rgba(var(--foreground-color), 1); +} +sm-input button .icon, +sm-textarea button .icon { + fill: var(--accent-color); +} + +sm-button { + --padding: 0.8rem; +} +sm-button[variant=primary] .icon { + fill: rgba(var(--background-color), 1); +} +sm-button[disabled] .icon { + fill: rgba(var(--text-color), 0.6); +} +sm-button.danger { + --background: var(--danger-color); + color: rgba(var(--background-color), 1); +} + +sm-spinner { + --size: 1rem; + --stroke-width: 0.1rem; +} + +sm-form { + --gap: 1rem; +} + +sm-select { + --padding: 0.8rem; + font-size: 0.9rem; +} + +sm-option { + font-size: 0.9rem; +} + +strip-select { + --gap: 0; + background-color: rgba(var(--text-color), 0.06); + border-radius: 0.3rem; + padding: 0.3rem; +} + +strip-option { + font-size: 0.8rem; + --border-radius: 0.2rem; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +ul, +ol { + list-style: none; +} + +ol { + counter-reset: item; +} +ol li { + position: relative; + display: flex; + align-items: flex-start; + counter-increment: item; +} +ol li:not(:last-of-type) { + padding-bottom: 1.5rem; +} +ol li:not(:last-of-type)::after { + content: ""; + position: absolute; + width: 0.1rem; + height: calc(100% - 2.2rem); + background: var(--accent-color); + margin-left: 0.7rem; + margin-top: 2rem; +} +ol li::before { + content: counter(item); + display: flex; + align-items: center; + justify-content: center; + text-align: center; + font-size: 0.8rem; + font-weight: 500; + margin-top: 0.15rem; + margin-right: 1rem; + line-height: 1; + width: 1.5rem; + height: 1.5rem; + border-radius: 100%; + flex-shrink: 0; + color: rgba(var(--text-color), 0.8); + background: rgba(var(--text-color), 0.1); +} + +.overflow-ellipsis { + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.breakable { + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; +} + +.full-bleed { + grid-column: 1/-1; +} + +.uppercase { + text-transform: uppercase; +} + +.capitalize { + text-transform: capitalize; +} + +.sticky { + position: -webkit-sticky; + position: sticky; +} + +.top-0 { + top: 0; } .flex { display: flex; } +.flex-wrap { + flex-wrap: wrap; +} + +.flex-1 { + flex: 1; +} + .grid { display: grid; } -.grid-2 { - grid-template-columns: auto auto; - gap: 1em; +.flow-column { + grid-auto-flow: column; +} + +.gap-0-3 { + gap: 0.3rem; +} + +.gap-0-5 { + gap: 0.5rem; +} + +.gap-1 { + gap: 1rem; +} + +.gap-1-5 { + gap: 1.5rem; +} + +.gap-2 { + gap: 2rem; +} + +.gap-3 { + gap: 3rem; +} + +.text-align-right { + text-align: right; +} + +.align-start { + align-content: flex-start; } .align-center { align-items: center; } +.align-end { + align-items: flex-end; +} + +.text-center { + text-align: center; +} + +.justify-start { + justify-items: start; +} + +.justify-center { + justify-content: center; +} + .justify-right { margin-left: auto; } -.direction-column { +.align-self-center { + align-self: center; +} + +.align-self-end { + align-self: end; +} + +.justify-self-center { + justify-self: center; +} + +.justify-self-start { + justify-self: start; +} + +.justify-self-end { + justify-self: end; +} + +.flex-direction-column { flex-direction: column; } -.rest { - flex: 1; +.space-between { + justify-content: space-between; } -.hide { - opacity: 0; - pointer-events: none; +.w-100 { + width: 100%; } -.hide-completely { - display: none !important; +.h-100 { + height: 100%; } -.no-transformations { - transform: none !important; -} - -.breakable { - overflow-wrap: break-word; -} - -.text-overflow { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.sticky { - position: sticky; - top: 1rem; -} - -.light-text { - color: rgba(var(--text-color-light), 1); -} - -.accent-color { - color: var(--accent-color); -} - -.secondary-color { - color: var(--secondary-color); -} - -.fab { - filter: drop-shadow(0 0.4rem 0.3rem rgba(0, 0, 0, 0.2)); - margin: 1.5rem; - position: fixed; - right: 0; - bottom: 0; - z-index: 1; - --padding: 0.9rem 1.6rem; -} -.fab .icon { - margin-left: 0 !important; - margin-right: 0.5rem; - height: 1.2rem; - width: 1.2rem; - stroke-width: 8; - stroke: white; -} - -a:-webkit-any-link { - word-wrap: break-word; - color: var(--accent-color); +.label { + font-size: 0.8rem; + color: rgba(var(--text-color), 0.8); font-weight: 500; + margin-bottom: 0.2rem; } -a:-moz-any-link { - word-wrap: break-word; - color: var(--accent-color); - font-weight: 500; -} - -a:any-link { - word-wrap: break-word; - color: var(--accent-color); - font-weight: 500; -} - -.solid-background { - background: var(--background-color) !important; -} - -.normal-weight { - font-weight: normal; -} - -.warning { - display: flex; - background: wheat; - color: #111; -} - -.icon { - fill: none; - stroke-width: 6; - stroke: rgba(var(--text-color), 1); - height: 1.2rem; - width: 1.2rem; - overflow: visible; - stroke-linecap: round; - stroke-linejoin: round; +.button--primary .ripple, +.button--danger .ripple { + background: radial-gradient(circle, rgba(var(--background-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%); } .ripple { + height: 8rem; + width: 8rem; position: absolute; border-radius: 50%; transform: scale(0); - background: rgba(var(--text-color), 0.2); + background: radial-gradient(circle, rgba(var(--text-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%); pointer-events: none; } @@ -246,58 +472,88 @@ a:any-link { -webkit-tap-highlight-color: transparent; } -sm-input { - --border-radius: 0.5rem; +.empty-state { + display: grid; + width: 100%; + padding: 1.5rem 0; } -sm-popup sm-input + sm-input { - margin-top: 1rem; +.observe-empty-state:empty { + display: none !important; } -.popup-header { - padding: 0.5rem 1.5rem 0 1.5rem; +.observe-empty-state:not(:empty) + .empty-state { + display: none !important; +} + +.bullet-point { display: flex; align-items: center; - width: 100%; + justify-content: center; + margin: 0 0.8ch; } -.popup-header .icon { - padding: 0.7rem; - height: 2.4rem; - width: 2.4rem; - stroke-width: 8; - transform: translateX(-0.5rem); - cursor: pointer; - -webkit-tap-highlight-color: transparent; -} -.popup-header .back { - transform: none; -} -.popup-header button, -.popup-header sm-button { - width: auto; - margin-left: auto; +.bullet-point::after { + content: ""; + height: 0.4ch; + width: 0.4ch; + border-radius: 0.5em; + background-color: var(--accent-color); } -.copy-row { +.margin-right-0-5 { + margin-right: 0.5rem; +} + +.margin-left-0-5 { + margin-left: 0.5rem; +} + +.icon-button { + padding: 0.6rem; + border-radius: 0.8rem; + background-color: rgba(var(--text-color), 0.1); + height: -webkit-max-content; + height: -moz-max-content; + height: max-content; +} +.icon-button .icon { + fill: var(--accent-color); +} + +.fab { + position: absolute; + right: 0; + bottom: 0; + margin: 1.5rem; + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2); + z-index: 2; +} + +.page { + height: 100%; +} +.page__header { + display: flex; + justify-content: space-between; + margin-bottom: 1.5rem; + min-height: 8rem; +} +.page__header .grid { + margin-top: auto; +} +.page__header h1 { + margin-top: auto; + font-size: 2rem; +} + +.page-layout { display: grid; - grid-template-columns: 1fr auto; - align-items: center; - gap: 0.5rem; - width: auto; + gap: 1.5rem 0; + grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem; + align-content: flex-start; } -.copy-row .icon { - cursor: pointer; - padding: 0.4rem; - height: 1.8rem; - width: 1.8rem; -} -.copy-row .copy { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.copy-row h4 { - margin-bottom: 0 !important; +.page-layout > * { + grid-column: 2/3; } #confirmation_popup, @@ -306,7 +562,6 @@ sm-popup sm-input + sm-input { } #confirmation_popup h4, #prompt_popup h4 { - font-weight: 500; margin-bottom: 0.5rem; } #confirmation_popup sm-button, @@ -324,12 +579,66 @@ sm-popup sm-input + sm-input { margin-left: auto; } -.page { - align-items: flex-start; +#prompt_message { + margin-bottom: 1.5rem; +} + +.popup__header { + display: grid; + gap: 0.5rem; width: 100%; + padding: 0 1.5rem; + align-items: center; +} + +.popup__header__close { + padding: 0.5rem; + margin-left: -0.5rem; +} + +.flo-icon { + margin-right: 0.3rem; + height: 1.5rem; + width: 1.5rem; +} + +#secondary_pages { + display: flex; + flex-direction: column; + width: 100%; +} +#secondary_pages header { + padding: 1.5rem; +} +#secondary_pages .inner-page { height: 100%; } +#sign_in, +#sign_up { + justify-items: center; + align-content: center; +} +#sign_in section, +#sign_up section { + margin-top: -8rem; + width: min(24rem, 100%); +} +#sign_in sm-form, +#sign_up sm-form { + margin: 2rem 0; +} + +#sign_up .h2 { + margin-bottom: 0.5rem; +} +#sign_up .card { + margin: 1.5rem 0; +} +#sign_up h5 { + color: rgba(var(--text-color), 0.8); +} + .card { display: flex; flex-direction: column; @@ -439,87 +748,6 @@ sm-button[variant=primary] { width: 100%; } -#sign_in { - padding: 1.5rem; - width: 100%; - height: 100%; - align-items: flex-start; -} -#sign_in .flex { - width: 100%; - flex: 1; -} -#sign_in sm-input { - margin: 1.5rem 0; -} -#sign_in h2 { - margin-top: 2rem; - font-weight: 500; -} -#sign_in h4 { - font-weight: 500; - margin-bottom: 1.5rem; -} -#sign_in h5 { - opacity: 0.8; - font-weight: 500; -} -#sign_in pin-input { - margin: 1rem 0 2rem 0; -} -#sign_in sm-button { - width: 100%; - --padding: 0.8rem 1.6rem; -} -#sign_in #remove_account { - margin-top: 1rem; -} -#sign_in p { - margin-bottom: 0.5rem; - max-width: 35ch; - margin-top: 0.5rem; -} - -.frame { - height: 100%; - display: flex; - flex-direction: column; - width: min(24rem, 100%); - justify-self: center; - padding: 1.5rem; -} -.frame .h2 { - margin-bottom: 1rem; - font-weight: 500; -} -.frame sm-button[variant=primary] { - margin-top: 1.5rem; -} - -#frame_1 .warning { - margin: 1rem 0; - padding: 1rem; - border-radius: 0.5rem; -} -#frame_1 #generate_flo_id { - width: 100%; -} -#frame_1 #credentials_section { - -webkit-animation: slide-down 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); - animation: slide-down 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); - margin: 2rem 0; -} -#frame_1 h4, #frame_1 h5 { - font-weight: 500; -} -#frame_1 .copy-row:not(:last-of-type) { - margin-bottom: 1.5rem; -} - -#frame_2 pin-input { - margin: 1rem 0; -} - @-webkit-keyframes slide-down { from { transform: translateY(-1rem); @@ -614,8 +842,13 @@ sm-button[variant=primary] { } } #main_page { - width: 100%; + display: grid; + grid-template-columns: minmax(0, 1fr); + grid-template-rows: auto 1fr; height: 100%; + width: 100%; + transition: background-color 0.3s; + background-color: rgba(var(--foreground-color), 1); } .initial { @@ -678,22 +911,21 @@ sm-button[variant=primary] { .contact .initial { grid-area: dp; } +.contact .name, +.contact .last-message { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + color: rgba(var(--text-color), 0.8); +} .contact .name { width: 100%; font-size: 1em; font-weight: 500; - color: rgba(var(--text-color), 0.8); - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; } .contact .last-message { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; font-weight: 400; font-size: 0.9em; - color: rgba(var(--text-color), 0.8); } .contact .menu { grid-area: menu; @@ -730,24 +962,6 @@ sm-button[variant=primary] { stroke: rgba(var(--foreground-color), 0.8); } -#selected_contacts { - padding: 1rem 1.5rem; -} -#selected_contacts h4 { - font-weight: 500; - font-size: 1rem; -} -#selected_contacts .warning { - font-size: 0.9rem; - padding: 0.5rem 0.8rem; - border-radius: 0.5rem; - margin: 1rem 0; - line-height: 1.5; -} -#selected_contacts sm-button { - margin-bottom: 0; -} - #selected_contacts_container { display: flex; overflow: auto hidden; @@ -821,11 +1035,14 @@ sm-button[variant=primary] { background: none; } -#warn_no_encryption, .date-card, .group-event-card { - padding: 0.4rem 0.8rem; +#warn_no_encryption, +.date-card, +.group-event-card { + padding: 0.4rem 0.6rem; font-weight: 500; + font-size: 0.8rem; background-color: rgba(var(--text-color), 0.04); - border-radius: 0.5rem; + border-radius: 0.3rem; color: rgba(var(--text-color), 0.8); margin: 1rem 0; justify-self: center; @@ -863,7 +1080,8 @@ sm-button[variant=primary] { transform: scale(1); } -.mail-card.unread .time, .mail-card.unread .date, +.mail-card.unread .time, +.mail-card.unread .date, .contact.unread .time, .contact.unread .date { color: var(--accent-color); @@ -872,7 +1090,9 @@ sm-button[variant=primary] { .contact.unread h4 { color: rgba(var(--text-color), 1); } -.mail-card.unread h4, .mail-card.unread h5, .mail-card.unread p, +.mail-card.unread h4, +.mail-card.unread h5, +.mail-card.unread p, .contact.unread h4, .contact.unread h5, .contact.unread p { @@ -1032,51 +1252,66 @@ sm-button[variant=primary] { } #main_navbar { - position: fixed; - flex-direction: column; + display: flex; + background: rgba(var(--text-color), 0.03); +} +#main_navbar.hide-away { + position: absolute; +} +#main_navbar ul { + display: flex; height: 100%; - bottom: 0; - top: 0; - padding: 0; - width: max(16rem, 60vw); - background: rgba(var(--foreground-color), 1); + width: 100%; } -#main_navbar .logo-section { - padding: 0 1rem; +#main_navbar ul li { + width: 100%; } -#main_navbar .active { - background: var(--accent-color); -} -#main_navbar .active .icon { - stroke: white; -} -#main_navbar .active .label { - color: white; -} -#main_navbar .label { + +.nav-item { + position: relative; + display: flex; + flex: 1; + width: 100%; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 0.5rem 0.3rem; + color: var(--text-color); + font-size: 0.8rem; + border-radius: 0.3rem; font-weight: 500; - font-size: 0.9rem; } -#main_navbar .navbar-item { - height: auto; - justify-content: flex-start; - flex-direction: row; - flex: none; - padding: 1rem; +.nav-item .icon { + transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); } -#main_navbar .navbar-item .icon { - height: 1.2rem; - width: 2.4rem; - margin-right: 0.8rem; +.nav-item__title { + margin-top: 0.3rem; + transition: opacity 0.2s, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); } -#main_navbar .navbar-item:last-of-type { +.nav-item--active { + color: var(--accent-color); +} +.nav-item--active .icon { + fill: var(--accent-color); + transform: translateY(50%); +} +.nav-item--active .nav-item__title { + transform: translateY(100%); + opacity: 0; +} +.nav-item__indicator { + position: absolute; + bottom: 0; + width: 2rem; + height: 0.3rem; + background: var(--accent-color); + border-radius: 1rem 1rem 0 0; + z-index: 1; +} +.nav-item:last-of-type { margin-top: auto; } -#main_navbar .navbar-item .icon { - height: 1.2rem; - width: 1.2rem; -} -#main_navbar .navbar-item.badge::after { +.nav-item.badge::after { right: 0; top: 0; position: absolute; @@ -1087,12 +1322,12 @@ sm-button[variant=primary] { padding: 0.4rem; line-height: 0; height: calc(1em + 0.4rem); - background: #00C853; + background: #00c853; color: rgba(var(--foreground-color), 1); border-radius: 2rem; transition: transform 0.3s; } -#main_navbar .navbar-item.badge.active::after, #main_navbar .navbar-item.badge[data-notifications="0"]::after, #main_navbar .navbar-item.badge[data-notifications=""]::after { +.nav-item.badge.active::after, .nav-item.badge[data-notifications="0"]::after, .nav-item.badge[data-notifications=""]::after { transform: scale(0); } @@ -1125,20 +1360,6 @@ sm-button[variant=primary] { position: relative; overflow-x: hidden; } -#contacts #all_contacts, -#contacts #group_creation_panel { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 1; - background: rgba(var(--foreground-color), 1); -} -#contacts #all_contacts .header, -#contacts #group_creation_panel .header { - padding-top: 0.7rem; -} #contacts .scrolling-wrapper { height: 100%; flex: 1; @@ -1159,10 +1380,6 @@ sm-button[variant=primary] { padding: 1rem 1.5rem; } -#group_creation_panel .grid { - padding: 1.5rem; - gap: 1rem; -} #group_creation_panel .group-icon { background: var(--accent-color); justify-self: center; @@ -1174,23 +1391,30 @@ sm-button[variant=primary] { font-size: 4rem; } -#contacts, #mails { +#contacts, +#mails { position: relative; grid-template-rows: -webkit-max-content 1fr; grid-template-rows: max-content 1fr; } -#contacts, #mails, #settings_page { +#contacts, +#mails, +#settings_page { height: 100vh; overflow-y: hidden; } -#contacts .header, #mails .header, #settings_page .header { +#contacts .header, +#mails .header, +#settings_page .header { padding: 1rem 1.5rem 1rem 1.5rem; position: relative; gap: 0.5rem; min-height: 4rem; } -#contacts .header .expanding-search, #mails .header .expanding-search, #settings_page .header .expanding-search { +#contacts .header .expanding-search, +#mails .header .expanding-search, +#settings_page .header .expanding-search { position: absolute; width: 100%; padding: 0.7rem 1.5rem; @@ -1200,45 +1424,59 @@ sm-button[variant=primary] { pointer-events: none; transition: opacity 0.3s, transform 0.3s; } -#contacts .header .expanding-search.expand, #mails .header .expanding-search.expand, #settings_page .header .expanding-search.expand { +#contacts .header .expanding-search.expand, +#mails .header .expanding-search.expand, +#settings_page .header .expanding-search.expand { transform: none; opacity: 1; pointer-events: all; } -#contacts .header sm-input, #mails .header sm-input, #settings_page .header sm-input { +#contacts .header sm-input, +#mails .header sm-input, +#settings_page .header sm-input { margin: 0; width: 100%; --padding: 0.5rem 1rem; } -#contacts .header h4, #mails .header h4, #settings_page .header h4 { +#contacts .header h4, +#mails .header h4, +#settings_page .header h4 { text-transform: capitalize; font-weight: 500; } -#contacts .header .icon, #mails .header .icon, #settings_page .header .icon { +#contacts .header .icon, +#mails .header .icon, +#settings_page .header .icon { -webkit-tap-highlight-color: transparent; margin-right: 1rem; } -#contacts .header .flex .hamburger-menu-button, #mails .header .flex .hamburger-menu-button, #settings_page .header .flex .hamburger-menu-button { - -webkit-tap-highlight-color: transparent; - margin-right: 1rem; -} -#contacts .header .flex h4, #mails .header .flex h4, #settings_page .header .flex h4 { +#contacts .header .flex h4, +#mails .header .flex h4, +#settings_page .header .flex h4 { flex: 1; } -#contacts .header .flex .icon, #mails .header .flex .icon, #settings_page .header .flex .icon { +#contacts .header .flex .icon, +#mails .header .flex .icon, +#settings_page .header .flex .icon { height: 2.2rem; width: 2.2rem; padding: 0.6rem; margin-left: -0.4rem; cursor: pointer; } -#contacts .header .flex sm-menu, #mails .header .flex sm-menu, #settings_page .header .flex sm-menu { +#contacts .header .flex sm-menu, +#mails .header .flex sm-menu, +#settings_page .header .flex sm-menu { margin-right: -0.7rem; } -#contacts .header sm-button, #mails .header sm-button, #settings_page .header sm-button { +#contacts .header sm-button, +#mails .header sm-button, +#settings_page .header sm-button { margin: 0; } -#contacts .header sm-button .icon, #mails .header sm-button .icon, #settings_page .header sm-button .icon { +#contacts .header sm-button .icon, +#mails .header sm-button .icon, +#settings_page .header sm-button .icon { height: 0.9rem; width: 0.9rem; align-self: center; @@ -1300,6 +1538,7 @@ sm-button[variant=primary] { margin-bottom: 1rem; } #chat_details_panel header { + position: -webkit-sticky; position: sticky; top: 0; padding: 1rem; @@ -1552,7 +1791,7 @@ sm-button[variant=primary] { z-index: 2; padding: 0.5rem; border-radius: 50%; - background: #00E676; + background: #00e676; } #scroll_to_bottom .icon { width: 2.6rem; @@ -1636,7 +1875,7 @@ sm-button[variant=primary] { --input-border-color: none; --input-padding: 0.4rem 1rem; --outline-color: var(--accent-color); - --input-font-color: var(--text-color); + --input-font-color: rgba(var(--text-color), 1); --input-placeholder-color: rgba(var(--text-color), 0.6); --indicator-color: var(--accent-color); --button-hover-background: rgba(var(--text-color), 0.2); @@ -1660,13 +1899,15 @@ sm-button[variant=primary] { text-align: center; } -#new_conversation, #no_mails { +#new_conversation, +#no_mails { height: 100%; justify-content: center; text-align: center; padding: 1.5rem; } -#new_conversation p, #no_mails p { +#new_conversation p, +#no_mails p { margin-top: 0.8rem; } @@ -1684,7 +1925,7 @@ sm-button[variant=primary] { } #chat_middle, -#chat_container, +#chats_list, #inbox_mail_container, #sent_mail_container, #mail { @@ -1702,19 +1943,13 @@ sm-button[variant=primary] { display: none; } -#chat_container { +#chats_list { padding-bottom: 6rem; } #contacts_popup { --body-padding: 0; } -#contacts_popup .popup-header { - padding: 1.5rem; -} -#contacts_popup .warning { - padding: 0.5rem 1.5rem; -} .mail-container { height: 100%; @@ -1879,52 +2114,6 @@ sm-button[variant=primary] { width: 100%; } -#video_call_page { - position: relative; - display: grid; -} -#video_call_page video { - position: fixed; - -o-object-fit: cover; - object-fit: cover; - -o-object-position: center; - object-position: center; -} - -#their_video { - height: 100%; -} - -#my_video { - width: max(20vh, 12rem); - bottom: 0; - right: 0; - border-radius: 1rem; - border: solid; - margin: 1.5rem; -} - -#call_controls { - padding: 1.5rem; - margin-top: auto; - justify-self: center; -} - -#pick_up_call { - color: #00C853; -} - -.circular-button { - align-items: center; - --padding: 0; - --border-radius: 50%; -} -.circular-button .filled { - height: 3rem; - width: 3rem; - padding: 1rem; -} - @media screen and (max-width: 640px) { sm-popup { --border-radius: 1rem 1rem 0 0; @@ -1968,28 +2157,13 @@ sm-button[variant=primary] { margin-top: auto; } - #main_navbar { - transform: translateX(-110%); - transition: transform 0.3s; - z-index: 4; - box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3); - } - #main_navbar .logo-section { - padding: 1rem; - } - - #navbar_backdrop { - position: fixed; + #main_navbar.hide-away { + bottom: 0; left: 0; right: 0; - top: 0; - bottom: 0; - background: rgba(0, 0, 0, 0.3); - z-index: 2; - transition: transform 0.3s, opacity 0.3s; } - #chat_container, + #chats_list, #contact_container { gap: 0.2rem; } @@ -2007,6 +2181,7 @@ sm-button[variant=primary] { overflow-x: hidden; } #settings_page #settings_header { + position: -webkit-sticky; position: sticky; top: 0; z-index: 1; @@ -2015,7 +2190,7 @@ sm-button[variant=primary] { background: rgba(var(--foreground-color), 1); } } -@media only screen and (min-width: 640px) { +@media screen and (min-width: 40rem) { .hide-on-desktop { display: none !important; } @@ -2024,8 +2199,9 @@ sm-button[variant=primary] { padding-bottom: 0; } - .popup-header { - padding-top: 1.5rem; + .popup__header { + grid-column: 1/-1; + padding: 1rem 1.5rem 0 1.5rem; } .fab { @@ -2050,41 +2226,47 @@ sm-button[variant=primary] { padding: 0 4vw; } - #sign_in_page { - place-content: center; - } - #sign_in { width: 24rem; } - .frame { - justify-content: center; + #main_page { + grid-template-columns: -webkit-min-content 1fr; + grid-template-columns: min-content 1fr; + grid-template-rows: 1fr; + grid-template-areas: "nav ."; + border-radius: 0.8rem; + overflow: hidden; + box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 1rem 3rem rgba(0, 0, 0, 0.2); } #main_navbar { - position: relative; - width: auto; - padding-bottom: 0.5rem; - background: rgba(var(--text-color), 0.06); + grid-area: nav; + border-top: none; + flex-direction: column; + height: calc(100% - 1rem); + margin: 0.5rem; + border-radius: 0.5rem; + background-color: rgba(37, 110, 255, 0.03); } - #main_navbar .logo-section { - display: flex; - justify-content: center; - margin: 1.5rem 0 2rem 0; + #main_navbar ul { + flex-direction: column; + gap: 0.5rem; + padding: 0.3rem; } - #main_navbar .logo-section .main-logo { - margin: 0; + #main_navbar ul li:last-of-type { + margin-top: auto; } - #main_navbar .navbar-item { - margin: 0 0.5rem; - border-radius: 0.8rem; + + .nav-item { + aspect-ratio: 1/1; } - #main_navbar .navbar-item .icon { - margin-right: 0; - } - #main_navbar .label { - display: none; + .nav-item__indicator { + width: 0.25rem; + height: 50%; + left: 0; + border-radius: 0 1rem 1rem 0; + bottom: auto; } #add_contact_popup { @@ -2096,10 +2278,6 @@ sm-button[variant=primary] { --min-width: 36rem; } - #main_page { - grid-template-columns: auto 1fr; - } - #emoji_picker { max-height: 18rem; } @@ -2110,7 +2288,8 @@ sm-button[variant=primary] { max-width: 55ch; } - #chat_page, #mail_page { + #chat_page, +#mail_page { grid-template-columns: 20rem 1fr; } @@ -2160,7 +2339,8 @@ sm-button[variant=primary] { font-size: 3rem; } - #chat_page, #mail_page { + #chat_page, +#mail_page { grid-template-columns: 23rem 1fr; } @@ -2203,8 +2383,7 @@ sm-button[variant=primary] { background: rgba(var(--text-color), 0.5); } - .navbar-item:hover, -.contact:hover, + .contact:hover, .emoji:hover, .option:hover { cursor: pointer; @@ -2231,4 +2410,12 @@ sm-button[variant=primary] { .contact .menu { display: none; } -}/*# sourceMappingURL=main.css.map */ \ No newline at end of file +} +@supports (overflow: overlay) { + body { + overflow: overlay; + } +} +.hide { + display: none !important; +} \ No newline at end of file diff --git a/css/main.css.map b/css/main.css.map deleted file mode 100644 index ff31db5..0000000 --- a/css/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["main.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/css/main.min.css b/css/main.min.css index 8390924..e78652b 100644 --- a/css/main.min.css +++ b/css/main.min.css @@ -1 +1 @@ -#landing_page,body,body #scroll_to_bottom{background:rgba(var(--foreground-color),1)}p,textarea{line-height:1.6}.contact .last-message,.contact .name,.copy-row .copy,.mail-card .sender,.text-overflow{white-space:nowrap;text-overflow:ellipsis}*,::after,::before{padding:0;margin:0;box-sizing:border-box;font-family:Roboto,sans-serif}:root{scroll-behavior:smooth;font-size:clamp(1rem,1.2vmax,3rem)}body,html{height:100%}body{--accent-color:#3D5AFE;--secondary-color:#ffac2e;--text-color:17,17,17;--text-color-light:100,100,100;--foreground-color:255,255,255;--background-color:#efefef;--error-color:red;color:rgba(var(--text-color),1)}body #scroll_to_bottom{box-shadow:0 .3rem .4rem rgba(0,0,0,.2)}body[data-theme=dark]{--accent-color:#3D5AFE;--secondary-color:#d60739;--text-color:240,240,240;--text-color-light:170,170,170;--foreground-color:20,20,20;--error-color:rgb(255, 106, 106)}body[data-theme=dark] .initial{color:rgba(var(--text-color),1)!important;box-shadow:0 .1rem .1rem rgba(0,0,0,.16)}body[data-theme=dark] .message,h1,h2,h3,h4,h5,textarea{color:rgba(var(--text-color),1)}body[data-theme=dark] #scroll_to_bottom{background:linear-gradient(rgba(var(--text-color),.1),rgba(var(--text-color),.1)),rgba(var(--foreground-color),1);box-shadow:0 .4rem .4rem rgba(0,0,0,.3)}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.1rem}h5{font-size:.8rem}h1,h2,h3,h4,h5{font-weight:600}textarea{background:rgba(var(--text-color),.06);border:none;border-radius:.3rem;width:100%;padding:1rem;font-size:1rem;resize:none}.ripple,.shadow{border-radius:50%}.fab .icon,.icon,.tick{width:1.2rem}textarea:focus{outline:0;box-shadow:0 0 0 .1rem var(--accent-color)}strong{font-weight:500}.flex{display:flex}.grid{display:grid}.grid-2{grid-template-columns:auto auto;gap:1em}.align-center{align-items:center}.justify-right{margin-left:auto}.direction-column{flex-direction:column}.rest{flex:1}.hide{opacity:0;pointer-events:none}.hide-completely{display:none!important}.no-transformations{transform:none!important}.breakable{overflow-wrap:break-word}.text-overflow{overflow:hidden}.sticky{position:sticky;top:1rem}.light-text{color:rgba(var(--text-color-light),1)}.accent-color{color:var(--accent-color)}.secondary-color{color:var(--secondary-color)}.fab{filter:drop-shadow(0 .4rem .3rem rgba(0, 0, 0, .2));margin:1.5rem;position:fixed;right:0;bottom:0;z-index:1;--padding:0.9rem 1.6rem}.fab .icon{margin-left:0!important;margin-right:.5rem;height:1.2rem;stroke-width:8;stroke:#fff}a:any-link{word-wrap:break-word;color:var(--accent-color);font-weight:500}.solid-background{background:var(--background-color)!important}.normal-weight{font-weight:400}.warning{display:flex;background:wheat;color:#111}.icon{fill:none;stroke-width:6;stroke:rgba(var(--text-color),1);height:1.2rem;overflow:visible;stroke-linecap:round;stroke-linejoin:round}.ripple{position:absolute;transform:scale(0);background:rgba(var(--text-color),.2);pointer-events:none}#landing_illustration,.contact,.initial,.interact,.logo-section{position:relative}.interact{overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}sm-input{--border-radius:0.5rem}sm-popup sm-input+sm-input{margin-top:1rem}.popup-header{padding:.5rem 1.5rem 0;display:flex;align-items:center;width:100%}.popup-header .icon{padding:.7rem;height:2.4rem;width:2.4rem;stroke-width:8;transform:translateX(-.5rem);cursor:pointer;-webkit-tap-highlight-color:transparent}.popup-header .back{transform:none}.popup-header button,.popup-header sm-button{width:auto;margin-left:auto}.copy-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:auto}.copy-row .icon{cursor:pointer;padding:.4rem;height:1.8rem;width:1.8rem}.copy-row .copy{overflow:hidden}.copy-row h4{margin-bottom:0!important}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{font-weight:500;margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}.page{align-items:flex-start;width:100%;height:100%}.card{display:flex;flex-direction:column;margin:1rem 0}.tip{font-size:.9rem;color:rgba(var(--text-color),.8)}#settings_page #sign_out::part(button),.danger{color:var(--error-color)}sm-button[variant=primary]{--foreground-color:255,255,255}.logo-section{align-items:center;height:max-content;margin:.5rem 0}.logo-section h5{font-size:1.1rem!important;font-weight:500}.logo-section .main-logo{height:1.4rem;margin-right:.4rem;fill:rgba(var(--text-color),1);stroke:none}.logo-section img{width:2rem;margin-right:.5rem}.select-file input[type=file]{display:none}#landing{display:grid;border-radius:.6rem;width:100%;height:100%;padding:0 1.5rem;align-items:center}#landing .logo-section,#sign_in,.frame,.logo-section{padding:1.5rem}#landing .logo-section{display:flex}#landing .title-font{line-height:1.2;font-weight:700;font-size:2.5rem}#frame_1 h4,#frame_1 h5,#landing .left h3,#landing .left h4,#sign_in h2,#sign_in h4,#sign_in h5,.contact .name,.frame .h2,.initial{font-weight:500}#landing .left{display:grid;flex-direction:column;padding-bottom:1.5rem;z-index:1}#landing .left h4{color:var(--accent-color);margin-bottom:.5rem}#landing .left p,.contact .last-message,.contact .name{color:rgba(var(--text-color),.8)}#landing .left sm-button{margin:1.5rem 0 2rem;width:max-content}#landing .left h3{margin-bottom:1rem}#landing .left p{margin-top:1rem;font-size:1.1rem}#main_navbar .active .label,.initial{color:#fff}#landing .left .flex sm-button:first-of-type{margin-right:1rem}#landing_page{grid-template-rows:auto 1fr;overflow-y:auto}#landing_illustration{width:100%}#sign_in{width:100%;height:100%;align-items:flex-start}#sign_in .flex{width:100%;flex:1}#sign_in sm-input{margin:1.5rem 0}#sign_in h2{margin-top:2rem}#sign_in h4{margin-bottom:1.5rem}#sign_in h5{opacity:.8}#sign_in pin-input{margin:1rem 0 2rem}#sign_in sm-button{width:100%;--padding:0.8rem 1.6rem}#sign_in #remove_account{margin-top:1rem}#sign_in p{margin-bottom:.5rem;max-width:35ch;margin-top:.5rem}.frame{height:100%;display:flex;flex-direction:column;width:min(24rem,100%);justify-self:center}.frame .h2{margin-bottom:1rem}.frame sm-button[variant=primary]{margin-top:1.5rem}#frame_1 .warning{margin:1rem 0;padding:1rem;border-radius:.5rem}#frame_1 #generate_flo_id{width:100%}#frame_1 #credentials_section{animation:slide-down .3s cubic-bezier(.175,.885,.32,1.275);margin:2rem 0}#frame_1 .copy-row:not(:last-of-type){margin-bottom:1.5rem}#frame_2 pin-input{margin:1rem 0}@keyframes slide-down{from{transform:translateY(-1rem)}to{transform:none}}#loading_page{height:100%;display:grid;place-content:center;justify-items:center}.page__loader{z-index:1;transform-origin:bottom;height:6rem;width:6rem;animation:bounce .5s infinite alternate ease-in}.shadow{margin-top:-1rem;width:5rem;height:2rem;background:rgba(var(--text-color),.1);animation:scale .5s infinite alternate ease-in;margin-left:1rem}.page__tag-line{margin-top:2rem}@keyframes bounce{0%{transform:scaleY(1) translateY(-4rem)}90%{transform:scaleY(1) translateY(0)}100%{transform:scaleY(.8)}}@keyframes scale{0%{transform:scale(.5)}90%{transform:scale(1.05)}100%{transform:scale(1)}}#main_page{width:100%;height:100%}.initial{justify-content:center;font-size:1.2rem;width:2.8rem;height:2.8rem;aspect-ratio:1/1;box-shadow:0 .1rem .1rem rgba(0,0,0,.06);border-radius:2rem;text-transform:uppercase;user-select:none}.filled{fill:rgba(var(--text-color),.7);stroke:none!important}.group-icon{height:1.6rem;width:1.6rem;fill:#fff;stroke:none}.contact{display:grid;gap:0 1rem;padding:.8rem 1.5rem;align-items:center;flex-shrink:0;user-select:none;overflow:hidden}.contact:not(.chat){grid-template-columns:auto 1fr;grid-template-areas:"dp ."}.contact.admin,.contact.chat,.contact.group,.mail-card{grid-template-columns:auto 1fr auto}.contact.chat,.contact.group{grid-template-areas:"dp . time" "dp . menu"}.contact.selected{background-color:rgba(var(--text-color),.06)}.contact .initial{grid-area:dp}.contact .name{width:100%;font-size:1em;overflow:hidden}.contact .last-message{overflow:hidden;font-weight:400;font-size:.9em}.contact .menu{grid-area:menu;justify-self:flex-end;padding:.2rem;fill:rgba(var(--text-color),1)}.contact .time{font-weight:500;color:rgba(var(--text-color),.7);grid-area:time}.contact .admin-tag{padding:.1rem .6rem;font-size:.8rem;border:var(--accent-color) solid thin;border-radius:3rem}.tick{position:absolute;bottom:-.2rem;right:-.2rem;height:1.2rem}.tick .icon{height:100%;width:100%;padding:.4rem;stroke-width:16;border-radius:1rem;background:rgba(var(--text-color),1);stroke:rgba(var(--foreground-color),.8)}#selected_contacts{padding:1rem 1.5rem}#selected_contacts h4{font-weight:500;font-size:1rem}#selected_contacts .warning{font-size:.9rem;padding:.5rem .8rem;border-radius:.5rem;margin:1rem 0;line-height:1.5}#selected_contacts sm-button{margin-bottom:0}#selected_contacts_container{display:flex;overflow:auto hidden}#selected_contacts_container:not(:empty){margin-top:1.5rem}#selected_contacts_container .contact-preview{display:flex;flex-shrink:0;align-items:center;cursor:pointer;margin-right:.5rem;background:rgba(var(--text-color),.1);padding:.4rem .5rem;border-radius:2rem}#selected_contacts_container .contact-preview .initial{width:1.6rem;height:1.6rem;font-size:.9rem}#selected_contacts_container .contact-preview .name{font-size:.9rem;color:rgba(var(--text-color),.8);margin-left:.5rem}#selected_contacts_container .contact-preview .tick{position:relative;bottom:auto;right:auto;margin-left:.5rem}#contact_details_popup{--body-padding:0 0 1.5rem 0}#contact_details_popup .popup-section{margin:1.5rem}#contact_details_popup h5{font-weight:500;opacity:.8}#contact_details_popup .copy-row h4{font-weight:400}#contact_details_popup .group-icon{padding:.2rem!important;height:3rem;width:3rem}#contact_details_popup #contact_initial{height:4.6rem;width:4.6rem;font-size:2.4rem;border-radius:4rem;margin-top:3rem;margin-bottom:.5rem}#contact_details_popup #contact_name{margin:.6rem 1.5rem}#contact_details_popup #contact_name::part(text){font-size:1.2rem;font-weight:500}#contact_details_popup .option .icon{padding:0;width:1.2rem;background:0 0}#warn_no_encryption,.date-card,.group-event-card{padding:.4rem .8rem;font-weight:500;background-color:rgba(var(--text-color),.04);border-radius:.5rem;color:rgba(var(--text-color),.8);margin:1rem 0;justify-self:center;align-self:center;text-align:center}.mail-card,.option{align-items:center;user-select:none}.group-event-card{font-size:.8rem;font-weight:400}#warn_no_encryption{background:#fffd8d;color:#111}.contact .initial::after,.mail-card .initial::after{content:"";position:absolute;bottom:-.1rem;right:-.1rem;height:1rem;width:1rem;background:var(--accent-color);border-radius:100%;border:rgba(var(--foreground-color),1) solid;transform:scale(0);transition:transform .3s}.mail,.mail-card{position:relative}.contact.unread .initial::after,.mail-card.unread .initial::after{transform:scale(1)}.contact.unread .date,.contact.unread .time,.mail-card.unread .date,.mail-card.unread .time{color:var(--accent-color)}.contact.unread h4,.mail-card.unread h4{color:rgba(var(--text-color),1)}.mail-card .description,.mail-card .sender{color:rgba(var(--text-color),.8);overflow:hidden}.contact.unread h4,.contact.unread h5,.contact.unread p,.mail-card.unread h4,.mail-card.unread h5,.mail-card.unread p{font-weight:700}.mail-card{display:grid;gap:0 1rem;padding:.8rem 1.5rem;flex-shrink:0;grid-template-areas:"dp sender date" "dp subject subject" "dp desc desc"}.mail-card .initial{grid-area:dp;align-self:flex-start;height:2rem;width:2rem;font-size:1rem}.mail-card .sender{width:100%;font-size:.8rem;font-weight:500}.mail-card .date{grid-area:date;margin-left:auto;font-weight:500;white-space:nowrap}.mail-card .subject{grid-area:subject;font-size:1em;margin-top:.3rem;font-weight:500}.mail-card .description{grid-area:desc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9em;margin-top:.2rem}@keyframes slide{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:none}}#mail_container{width:100%}.mail:not(:first-of-type){margin-top:2rem;padding-inline-start:1rem}.mail:not(:first-of-type)::before{content:"";position:absolute;left:0;top:0;width:.2rem;height:100%;background:rgba(var(--text-color),.2)}.mail .mail-header{align-self:start;margin-bottom:1rem;padding:1.5rem}.mail .sender-name{font-weight:500;margin-bottom:.5rem}.mail .flo-id{font-weight:400;max-width:90%}.mail .flex:first-of-type{margin-bottom:1rem}.mail .back{margin:0 0 0 -.5rem}.mail .mail-content,.mail .mail-subject{padding:0 1.5rem;overflow-wrap:break-word;word-wrap:break-word}.mail .mail-subject{margin-bottom:.4em}.mail .mail-content{height:max-content;max-width:60ch;white-space:pre-wrap}.logo-section{display:grid;grid-template-columns:auto 1fr}.option{display:flex;padding:.8rem 1.5rem}.option .icon{height:1.4rem;width:1.4rem;margin-right:1rem;stroke:rgba(255,255,255,.8)}#main_navbar{position:fixed;flex-direction:column;height:100%;bottom:0;top:0;padding:0;width:max(16rem,60vw);background:rgba(var(--foreground-color),1)}#main_navbar .logo-section{padding:0 1rem}#main_navbar .active{background:var(--accent-color)}#main_navbar .active .icon{stroke:#fff}#main_navbar .label{font-weight:500;font-size:.9rem}#main_navbar .navbar-item{height:auto;justify-content:flex-start;flex-direction:row;flex:none;padding:1rem}#main_navbar .navbar-item .icon{margin-right:.8rem;height:1.2rem;width:1.2rem}#main_navbar .navbar-item:last-of-type{margin-top:auto}#main_navbar .navbar-item.badge::after{right:0;top:0;position:absolute;content:attr(data-notifications);display:flex;justify-content:center;align-items:center;padding:.4rem;line-height:0;height:calc(1em + .4rem);background:#00C853;color:rgba(var(--foreground-color),1);border-radius:2rem;transition:transform .3s}#chat_details_panel,#contacts #contacts_container{padding-bottom:1.5rem}#main_navbar .navbar-item.badge.active::after,#main_navbar .navbar-item.badge[data-notifications=""]::after,#main_navbar .navbar-item.badge[data-notifications="0"]::after{transform:scale(0)}#auto_complete_contact{position:relative;justify-content:flex-start;padding-bottom:0}#mail_contact_list{max-height:40vh;overflow-y:auto;position:absolute;top:100%;background:rgba(var(--foreground-color),1);z-index:1;border-radius:.4rem;box-shadow:0 .1rem .1rem rgba(0,0,0,.1),0 .2rem .5rem rgba(0,0,0,.16);width:100%}#mail_contact_list .contact{grid-template-columns:auto 1fr;grid-template-areas:"dp ." "dp ."}#mail_contact_list sm-menu{display:none}#contacts{overflow-x:hidden}#contacts #all_contacts,#contacts #group_creation_panel{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(var(--foreground-color),1)}#contacts #all_contacts .header,#contacts #group_creation_panel .header{padding-top:.7rem}#contacts .scrolling-wrapper{height:100%;flex:1;overflow-y:auto}#contacts .scrolling-wrapper .empty-state{padding:1.5rem;text-align:center}#contacts #contacts_container::before{display:flex;content:"Contacts";font-size:.9em;color:rgba(var(--text-color),.9);padding:1rem 1.5rem}#group_creation_panel .grid{padding:1.5rem;gap:1rem}#group_creation_panel .group-icon{background:var(--accent-color);justify-self:center;height:8rem;width:8rem;margin-bottom:1rem;padding:2rem;border-radius:50%;font-size:4rem}#contacts,#mails{position:relative;grid-template-rows:max-content 1fr}#contacts,#mails,#settings_page{height:100vh;overflow-y:hidden}#contacts .header,#mails .header,#settings_page .header{padding:1rem 1.5rem;position:relative;gap:.5rem;min-height:4rem}#contacts .header .expanding-search,#mails .header .expanding-search,#settings_page .header .expanding-search{position:absolute;width:100%;padding:.7rem 1.5rem;background:rgba(var(--foreground-color),1);transform:scale(.9);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}#contacts .header .expanding-search.expand,#mails .header .expanding-search.expand,#settings_page .header .expanding-search.expand{transform:none;opacity:1;pointer-events:all}#contacts .header sm-input,#mails .header sm-input,#settings_page .header sm-input{margin:0;width:100%;--padding:0.5rem 1rem}#contacts .header h4,#mails .header h4,#settings_page .header h4{text-transform:capitalize;font-weight:500}#contacts .header .flex .hamburger-menu-button,#contacts .header .icon,#mails .header .flex .hamburger-menu-button,#mails .header .icon,#settings_page .header .flex .hamburger-menu-button,#settings_page .header .icon{-webkit-tap-highlight-color:transparent;margin-right:1rem}#contacts .header .flex h4,#mails .header .flex h4,#settings_page .header .flex h4{flex:1}#contacts .header .flex .icon,#mails .header .flex .icon,#settings_page .header .flex .icon{height:2.2rem;width:2.2rem;padding:.6rem;margin-left:-.4rem;cursor:pointer}#contacts .header .flex sm-menu,#mails .header .flex sm-menu,#settings_page .header .flex sm-menu{margin-right:-.7rem}#contacts .header sm-button,#mails .header sm-button,#settings_page .header sm-button,#type_message{margin:0}#contacts .header sm-button .icon,#mails .header sm-button .icon,#settings_page .header sm-button .icon{height:.9rem;width:.9rem;align-self:center;stroke-width:8;margin-left:0;margin-right:.5rem}#chat_page,#mail_page,#settings_page{align-items:flex-start;width:100%;height:100%}#chat_page{overflow:hidden}#chat_details_panel,#chat_left{position:relative;display:flex;flex-direction:column;height:100%;overflow-y:auto}#chat_details_panel{background:rgba(var(--text-color),.04)}#chat_details_panel .card{margin:0 1rem;padding:1.5rem 1rem;border-radius:.8rem;background:rgba(var(--text-color),.04)}#chat_details_panel .card:not(:last-of-type){margin-bottom:1rem}#chat_details_panel .card .h4{font-weight:400;font-size:.9rem;color:rgba(var(--text-color),.8);margin-bottom:.5rem}#chat_details_panel .card>.flex{margin-bottom:1rem}#chat_details_panel .card>.flex .h4{margin-bottom:0}#chat_details_panel .card .tip{margin-bottom:.5rem}#chat_details_panel .card .danger:not(:last-of-type){margin-bottom:1rem}#chat_details_panel header{position:sticky;top:0;padding:1rem;min-height:4rem;background-color:rgba(var(--foreground-color),.8);z-index:1}#chat_details_panel header .icon{height:2.3rem;width:2.3rem;padding:.7rem;cursor:pointer}#chat_details_panel .contact{padding:.5rem 0}#chat_details_panel #chat_profile{display:grid;place-items:center;margin-top:5.5rem;padding-bottom:1.5rem}#chat_details_panel #chat_profile .initial{margin-top:-5.5rem;margin-bottom:1rem;height:8rem;width:8rem;border-radius:50%;font-size:4rem}#chat_details_panel #chat_profile .initial .icon{height:4rem;width:4rem}#chat_details_panel #chat_profile #chat_name{font-weight:500;font-size:1.2rem}#chat_details_panel #chat_profile #last_interaction_time{color:rgba(var(--text-color),.7);font-size:.9rem;margin-top:.5rem}#new_conversation p,#no_mails p,.message{margin-top:.8rem}#chat_details_panel .copy{font-weight:400}#group_members_list{max-height:50vh;overflow-y:auto}#chat{position:relative;grid-template-columns:1fr}.message{position:relative;display:flex;flex-wrap:wrap;width:auto;font-size:.92rem;max-width:max-content;margin-bottom:.2rem;padding:.6em 1em;transition:opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275)}.message .sender-name{font-size:.85rem;font-weight:500;margin-bottom:.3rem}.message .message-body{display:flex;align-items:center;flex-wrap:wrap;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;word-break:break-word;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;white-space:pre-wrap;line-height:1.5}.message .message-body a{color:inherit}.message .message-body .text-emoji{align-self:center;font-size:1.4em;letter-spacing:0}.message .time{white-space:nowrap;font-size:.8em;opacity:.8;justify-self:flex-end;padding-left:1rem;align-self:flex-end;margin-top:.2rem;margin-left:auto}.sent{margin-left:auto;color:#efefef;background:var(--accent-color);border-radius:.8rem 0 .8rem .8rem}#settings_page .bg-preview,.received{background:rgba(var(--text-color),.1)}.sent::after{content:"";position:absolute;left:100%;top:0;width:0;height:0;border-style:solid;border-width:.5em .3em 0 0;border-color:var(--accent-color) transparent transparent}.received{margin-right:auto;border-radius:0 .8rem .8rem}.received::after{content:"";position:absolute;left:-.5em;top:0;width:0;height:0;border-style:solid;border-width:0 .5em .5em 0;border-color:transparent rgba(var(--text-color),.1) transparent transparent}.received+.received,.sent+.sent{margin-top:0;border-radius:.8rem}.received+.received::after,.sent+.sent::after{display:none}.distinct-sender{display:grid;border-radius:0 .8rem .8rem!important;margin-top:.8rem!important}.distinct-sender::after{display:flex!important;content:"";position:absolute;left:-.5em;top:0;width:0;height:0;border-style:solid;border-width:0 .5em .5em 0;border-color:transparent rgba(var(--text-color),.1) transparent transparent}.unconfirmed{opacity:.7;transform-origin:left;animation:pop .3s forwards cubic-bezier(.175,.885,.32,1.275)}@keyframes pop{0%{transform:rotate(5deg) translate(-.5rem,1rem)}100%{transform:rotate(0) translate(0,0)}}#chat_header{padding:0 1rem;min-height:4rem;grid-template-columns:1fr auto}#chat_header .flex{height:100%}#chat_header .back-button{height:2rem;width:2rem;padding:.5rem;stroke-width:8;margin-right:.5rem;stroke:rgba(var(--text-color),.8)}#chat_header .initial{cursor:pointer;margin-right:1rem;height:2.2rem;width:2.2rem;flex-shrink:0}#chat_header #receiver_name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#scroll_to_bottom{position:absolute;display:flex;right:0;bottom:4rem;border-radius:4rem;z-index:1;aspect-ratio:1/1;margin:1.5rem;cursor:pointer;transform:scale(0);transition:transform .3s}#scroll_to_bottom.new-message::after{position:absolute;content:"";top:0;right:0;z-index:2;padding:.5rem;border-radius:50%;background:#00E676}.has-bg-image #chat_details_panel,.has-bg-image .date-card,.has-bg-image .group-event-card,.has-bg-image .received{background:rgba(var(--foreground-color),.8)}#scroll_to_bottom .icon{width:2.6rem;height:2.6rem;padding:.9rem;stroke-width:8}#chat_footer .flex{align-items:flex-end;padding:.5rem 1rem .5rem .5rem}#chat_footer sm-textarea{--padding-right:3rem;--border-radius:0.5rem}#emoji_toggle{align-self:center;padding:.6rem;margin-right:.5rem;width:2.6rem;height:2.6rem;border-radius:2rem;cursor:pointer}#emoji_toggle path{fill:rgba(var(--text-color),.5)}#emoji_toggle.active path{fill:var(--accent-color)}#send_message_button{position:absolute;right:1.5rem;transform:scale(0);opacity:0;pointer-events:none;z-index:1;align-self:center;height:2.4rem;width:2.4rem;padding:.5rem;cursor:pointer;stroke:none;fill:rgba(var(--text-color),.4);margin-left:1rem;transition:.3s}#send_message_button.active{opacity:1;fill:var(--accent-color);transform:none;pointer-events:all}.big-emoji{flex-direction:column}.big-emoji .message-body{justify-content:center;font-size:2.6rem}.big-emoji .text-emoji{font-size:2.6rem!important}#chat_middle{flex:1;padding:0 1rem}#emoji_picker{--background:rgba(var(--text-color), 0.06);--border-size:0;--input-border-color:none;--input-padding:0.4rem 1rem;--outline-color:var(--accent-color);--input-font-color:var(--text-color);--input-placeholder-color:rgba(var(--text-color), 0.6);--indicator-color:var(--accent-color);--button-hover-background:rgba(var(--text-color), 0.2);user-select:none;width:100%;max-height:40vh}.emoji{font-size:1.6rem;cursor:pointer;padding:.4rem;border-radius:.6rem;user-select:none;text-align:center}#new_conversation,#no_mails{height:100%;justify-content:center;text-align:center;padding:1.5rem}#no_mails .new-conversation{height:7rem;margin-bottom:1rem}.new-conversation{height:8rem;width:8rem;align-self:center;stroke-width:16;stroke:rgba(var(--text-color),.4)}#chat_container,#chat_middle,#inbox_mail_container,#mail,#sent_mail_container{width:100%;flex-direction:column;height:100%;overflow-y:auto}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}#chat_container{padding-bottom:6rem}#call_controls,#contacts_popup .popup-header{padding:1.5rem}#contacts_popup{--body-padding:0}#contacts_popup .warning{padding:.5rem 1.5rem}.mail-container{height:100%;flex-direction:column;overflow-y:auto}#inbox_mail_container,#sent_mail_container{gap:.2rem;padding-bottom:6rem}.has-bg-image .received::after{border-color:transparent rgba(var(--foreground-color),.6) transparent transparent}.has-bg-image #emoji_picker{--background:rgba(var(--foreground-color), 0.6)}.has-bg-image #emoji_toggle path{fill:rgba(var(--text-color),.8)}.has-bg-image sm-textarea{--background:rgba(var(--foreground-color), 0.6)}#mail{height:100vh;align-items:flex-start}#mail>.flex{padding:0 1.5rem;margin-top:2rem}#mail>.flex sm-button:first-of-type{margin-right:.5rem}#compose_mail_popup sm-input{margin-bottom:1rem}.sidebar-item{display:flex;align-items:center;padding:1rem 1.5rem;text-transform:capitalize;font-weight:500;opacity:.9}.sidebar-item .icon{margin-right:1em;width:1em}.back{padding:.7rem;height:2.4rem;width:2.4rem;margin-left:-.5rem;cursor:pointer;stroke-width:8;opacity:.8;-webkit-tap-highlight-color:transparent}.back:hover{opacity:1}#settings_page #settings_sidebar header{padding:1rem 1.5rem}#settings_page .flex sm-button{margin:0;margin-left:1rem}#settings_page sm-switch{padding:1rem 1.5rem;display:flex;margin-bottom:1rem;width:min(60ch,100%)}#settings_page sm-switch .flex{margin-right:1rem}#settings_page sm-switch h4{margin-bottom:.5rem}#settings_page sm-button{width:100%}#settings_page #settings_title{text-transform:capitalize}#settings_page #settings_sidebar{height:100%}#settings_page #settings_panel{overflow-y:auto;height:100%}#settings_page section{padding:1rem 1.5rem;width:min(60ch,100%);display:grid;gap:.3rem}#settings_page section sm-button{margin-top:.5rem;margin-bottom:0}#settings_page section:not(:last-of-type){margin-bottom:1rem}#settings_page color-grid{margin:.5rem 0 1.5rem;width:min(60ch,100%)}#settings_page #chat_preview{margin-top:1rem;padding:1rem;border-radius:.5rem}#settings_page #bg_preview_container{padding:1rem 0;gap:.5rem;flex-wrap:wrap}#settings_page .bg-preview{position:relative;display:grid;place-items:center;height:8rem;width:8rem;cursor:pointer;border-radius:1rem;overflow:hidden}#settings_page .bg-preview--selected::after{content:"";position:absolute;height:100%;width:100%;box-shadow:0 0 0 .5rem rgba(var(--text-color),.8) inset}#settings_page .bg-preview__image{object-fit:cover;height:100%;width:100%}#video_call_page{position:relative;display:grid}#video_call_page video{position:fixed;object-fit:cover;object-position:center}#their_video{height:100%}#my_video{width:max(20vh,12rem);bottom:0;right:0;border-radius:1rem;border:solid;margin:1.5rem}#call_controls{margin-top:auto;justify-self:center}#pick_up_call{color:#00C853}.circular-button{align-items:center;--padding:0;--border-radius:50%}.circular-button .filled{height:3rem;width:3rem;padding:1rem}@media screen and (max-width:640px){sm-popup{--border-radius:1rem 1rem 0 0}.hide-on-mobile{position:fixed;max-height:0;opacity:0;pointer-events:none}#landing{grid-template-areas:"illustration" ".";align-items:flex-start}#landing .title-font{font-size:2rem;font-weight:500}#landing sm-button{display:flex;width:100%!important}#landing_illustration{grid-area:illustration}#sign_in form,.frame form{height:100%}#sign_in .h2,.frame .h2{margin-top:3rem}#sign_in sm-button[variant=primary],.frame sm-button[variant=primary]{margin-top:auto}#main_navbar{transform:translateX(-110%);transition:transform .3s;z-index:4;box-shadow:0 0 1rem rgba(0,0,0,.3)}#main_navbar .logo-section{padding:1rem}#navbar_backdrop{position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.3);z-index:2;transition:transform .3s,opacity .3s}#chat_container,#contact_container{gap:.2rem}#chat .message{width:auto;max-width:90%}#chat_header{grid-template-columns:auto 1fr auto}#settings_page{overflow-x:hidden}#settings_page #settings_header{position:sticky;top:0;z-index:1;padding:1rem 1.5rem;margin-bottom:.5rem;background:rgba(var(--foreground-color),1)}}@media only screen and (min-width:640px){.hide-on-desktop{display:none!important}.page{padding-bottom:0}.popup-header{padding-top:1.5rem}.fab{position:absolute}.logo-section{padding:2rem 3rem 0;margin:.5rem 0}sm-popup{--width:24rem;--min-width:24rem;--border-radius:0.5rem}#landing{align-items:center;gap:4vw;grid-template-columns:1fr 1fr;padding:0 4vw}#sign_in_page{place-content:center}#sign_in{width:24rem}.frame{justify-content:center}#main_navbar{position:relative;width:auto;padding-bottom:.5rem;background:rgba(var(--text-color),.06)}#main_navbar .logo-section{display:flex;justify-content:center;margin:1.5rem 0 2rem}#main_navbar .logo-section .main-logo{margin:0}#main_navbar .navbar-item{margin:0 .5rem;border-radius:.8rem}#main_navbar .navbar-item .icon{margin-right:0}#main_navbar .label{display:none}#add_contact_popup{--min-width:24rem}#compose_mail_popup,#reply_mail_popup{--min-width:36rem}#main_page{grid-template-columns:auto 1fr}#emoji_picker{max-height:18rem}#chat .message{width:auto;align-self:flex-start;max-width:55ch}#chat_page,#mail_page{grid-template-columns:20rem 1fr}#settings_page{display:grid;height:100vh;grid-template-columns:14rem 1fr}#settings_page sm-button{width:max-content}#settings_page .active{background:rgba(var(--text-color),.1)}#settings_page .panel>:first-of-type{margin-top:.5rem}.contact.active,.mail-card.active{background:rgba(var(--text-color),.06)}.card{display:inline-flex;width:auto}}@media only screen and (max-width:1280px){.hide-on-medium{display:none!important}}@media only screen and (min-width:1080px){#chat #messages_container{padding:1rem 4rem}}@media only screen and (min-width:1280px){#landing{gap:4vw;padding:0 8vw}#landing .title-font{font-size:3rem}#chat_page,#mail_page{grid-template-columns:23rem 1fr}#chat_details_panel{position:relative}#chat.expand-side-panel{grid-template-columns:1fr 24rem}#chat.expand-side-panel #messages_container{padding:1rem}#emoji_picker{--num-columns:16}.contact.active,.mail-card.active{background:rgba(var(--text-color),.06)}.card{display:inline-flex;width:auto}}@media (hover:hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color),.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color),.5)}.contact:hover,.emoji:hover,.navbar-item:hover,.option:hover{cursor:pointer;background:rgba(var(--text-color),.06)}.contact .menu{opacity:0;transition:opacity .3s}.contact:hover .menu{opacity:1}}@media (hover:none){.contact,.contact-preview,.icon,.option{-webkit-tap-highlight-color:transparent}.contact .menu{display:none}} \ No newline at end of file +*{padding:0;margin:0;box-sizing:border-box;font-family:"Roboto",sans-serif}:root{font-size:clamp(1rem,1.2vmax,1.2rem)}html,body{height:100%}body{--accent-color: #3d5afe;--secondary-color: #ffac2e;--text-color: 20, 20, 20;--foreground-color: 252, 253, 255;--background-color: 241, 243, 248;--danger-color: rgb(255, 75, 75);--green: #1cad59;--yellow: rgb(220, 165, 0);color:rgba(var(--text-color), 1);background:rgba(var(--foreground-color), 1)}body #scroll_to_bottom{background:rgba(var(--foreground-color), 1);box-shadow:0 .3rem .4rem rgba(0,0,0,.2)}body[data-theme=dark]{--accent-color: #6d83ff;--secondary-color: #d60739;--text-color: 220, 220, 220;--foreground-color: 27, 28, 29;--background-color: 21, 22, 22;--danger-color: rgb(255, 106, 106);--green: #00e676;--yellow: rgb(255, 213, 5)}body[data-theme=dark] .initial{color:rgba(var(--text-color), 1) !important;box-shadow:0 .1rem .1rem rgba(0,0,0,.16)}body[data-theme=dark] .message{color:rgba(var(--text-color), 1)}body[data-theme=dark] #scroll_to_bottom{background:linear-gradient(rgba(var(--text-color), 0.1), rgba(var(--text-color), 0.1)),rgba(var(--foreground-color), 1);box-shadow:0 .4rem .4rem rgba(0,0,0,.3)}p,strong{font-size:.9rem;max-width:65ch;line-height:1.7;color:rgba(var(--text-color), 0.9)}.warning{line-height:normal;padding:1rem;background-color:khaki;border-radius:.5rem;font-weight:500;color:rgba(0,0,0,.7)}a{text-decoration:none;color:var(--accent-color)}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color), 1) inset}a.button{padding:.4rem .6rem;border-radius:.3rem;font-size:.9rem;font-weight:500;color:inherit}button,.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:inline-flex;border:none;background-color:transparent;overflow:hidden;color:inherit;-webkit-tap-highlight-color:transparent;align-items:center;font-size:.9rem;font-weight:500;white-space:nowrap;padding:.8rem;border-radius:.3rem;justify-content:center}button:focus-visible,.button:focus-visible{outline:var(--accent-color) solid medium}button:not(:disabled),.button:not(:disabled){cursor:pointer}.button{background-color:rgba(var(--text-color), 0.06)}.button--primary,.button--danger{color:rgba(var(--background-color), 1) !important}.button--primary .icon,.button--danger .icon{fill:rgba(var(--background-color), 1)}.button--primary{background-color:var(--accent-color)}.button--danger{background-color:var(--danger-color)}.button--small{padding:.4rem .6rem}.cta{text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.8rem 1rem}.icon{width:1.2rem;height:1.2rem;fill:rgba(var(--text-color), 0.8);flex-shrink:0}.icon-only{padding:.5rem;border-radius:.3rem}button:disabled{opacity:.5}a:-webkit-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:-moz-any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}a:any-link:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}details summary{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;align-items:center;justify-content:space-between;color:var(--accent-color)}details[open] summary{margin-bottom:1rem}details[open]>summary .down-arrow{transform:rotate(180deg)}sm-input,sm-textarea{font-size:.9rem;--border-radius: 0.3rem;--background-color: rgba(var(--foreground-color), 1)}sm-input button .icon,sm-textarea button .icon{fill:var(--accent-color)}sm-button{--padding: 0.8rem}sm-button[variant=primary] .icon{fill:rgba(var(--background-color), 1)}sm-button[disabled] .icon{fill:rgba(var(--text-color), 0.6)}sm-button.danger{--background: var(--danger-color);color:rgba(var(--background-color), 1)}sm-spinner{--size: 1rem;--stroke-width: 0.1rem}sm-form{--gap: 1rem}sm-select{--padding: 0.8rem;font-size:.9rem}sm-option{font-size:.9rem}strip-select{--gap: 0;background-color:rgba(var(--text-color), 0.06);border-radius:.3rem;padding:.3rem}strip-option{font-size:.8rem;--border-radius: 0.2rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ul,ol{list-style:none}ol{counter-reset:item}ol li{position:relative;display:flex;align-items:flex-start;counter-increment:item}ol li:not(:last-of-type){padding-bottom:1.5rem}ol li:not(:last-of-type)::after{content:"";position:absolute;width:.1rem;height:calc(100% - 2.2rem);background:var(--accent-color);margin-left:.7rem;margin-top:2rem}ol li::before{content:counter(item);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.8rem;font-weight:500;margin-top:.15rem;margin-right:1rem;line-height:1;width:1.5rem;height:1.5rem;border-radius:100%;flex-shrink:0;color:rgba(var(--text-color), 0.8);background:rgba(var(--text-color), 0.1)}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breakable{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.full-bleed{grid-column:1/-1}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.sticky{position:-webkit-sticky;position:sticky}.top-0{top:0}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.grid{display:grid}.flow-column{grid-auto-flow:column}.gap-0-3{gap:.3rem}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.align-start{align-content:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.text-center{text-align:center}.justify-start{justify-items:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.align-self-end{align-self:end}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.flex-direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.h-100{height:100%}.label{font-size:.8rem;color:rgba(var(--text-color), 0.8);font-weight:500;margin-bottom:.2rem}.button--primary .ripple,.button--danger .ripple{background:radial-gradient(circle, rgba(var(--background-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%)}.ripple{height:8rem;width:8rem;position:absolute;border-radius:50%;transform:scale(0);background:radial-gradient(circle, rgba(var(--text-color), 0.3) 0%, rgba(0, 0, 0, 0) 50%);pointer-events:none}.interact{position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.empty-state{display:grid;width:100%;padding:1.5rem 0}.observe-empty-state:empty{display:none !important}.observe-empty-state:not(:empty)+.empty-state{display:none !important}.bullet-point{display:flex;align-items:center;justify-content:center;margin:0 .8ch}.bullet-point::after{content:"";height:.4ch;width:.4ch;border-radius:.5em;background-color:var(--accent-color)}.margin-right-0-5{margin-right:.5rem}.margin-left-0-5{margin-left:.5rem}.icon-button{padding:.6rem;border-radius:.8rem;background-color:rgba(var(--text-color), 0.1);height:-webkit-max-content;height:-moz-max-content;height:max-content}.icon-button .icon{fill:var(--accent-color)}.fab{position:absolute;right:0;bottom:0;margin:1.5rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.2);z-index:2}.page{height:100%}.page__header{display:flex;justify-content:space-between;margin-bottom:1.5rem;min-height:8rem}.page__header .grid{margin-top:auto}.page__header h1{margin-top:auto;font-size:2rem}.page-layout{display:grid;gap:1.5rem 0;grid-template-columns:1.5rem minmax(0, 1fr) 1.5rem;align-content:flex-start}.page-layout>*{grid-column:2/3}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}#prompt_message{margin-bottom:1.5rem}.popup__header{display:grid;gap:.5rem;width:100%;padding:0 1.5rem;align-items:center}.popup__header__close{padding:.5rem;margin-left:-0.5rem}.flo-icon{margin-right:.3rem;height:1.5rem;width:1.5rem}#secondary_pages{display:flex;flex-direction:column;width:100%}#secondary_pages header{padding:1.5rem}#secondary_pages .inner-page{height:100%}#sign_in,#sign_up{justify-items:center;align-content:center}#sign_in section,#sign_up section{margin-top:-8rem;width:min(24rem,100%)}#sign_in sm-form,#sign_up sm-form{margin:2rem 0}#sign_up .h2{margin-bottom:.5rem}#sign_up .card{margin:1.5rem 0}#sign_up h5{color:rgba(var(--text-color), 0.8)}.card{display:flex;flex-direction:column;margin:1rem 0}.tip{font-size:.9rem;color:rgba(var(--text-color), 0.8)}sm-button[variant=primary]{--foreground-color: 255, 255, 255}.danger{color:var(--error-color)}.logo-section{display:flex;position:relative;align-items:center;height:-webkit-max-content;height:-moz-max-content;height:max-content;margin:.5rem 0}.logo-section h5{font-size:1.1rem !important;font-weight:500}.logo-section .main-logo{height:1.4rem;margin-right:.4rem;fill:rgba(var(--text-color), 1);stroke:none}.logo-section img{width:2rem;margin-right:.5rem}.select-file input[type=file]{display:none}#landing{display:grid;border-radius:.6rem;width:100%;height:100%;padding:0 1.5rem;align-items:center}#landing .logo-section{padding:1.5rem;display:flex}#landing .title-font{line-height:1.2;font-weight:700;font-size:2.5rem}#landing .left{display:grid;flex-direction:column;padding-bottom:1.5rem;z-index:1}#landing .left h4{color:var(--accent-color);margin-bottom:.5rem;font-weight:500}#landing .left sm-button{margin:1.5rem 0 2rem 0;width:-webkit-max-content;width:-moz-max-content;width:max-content}#landing .left h3{margin-bottom:1rem;font-weight:500}#landing .left p{margin-top:1rem;font-size:1.1rem;color:rgba(var(--text-color), 0.8)}#landing .left .flex sm-button:first-of-type{margin-right:1rem}#landing_page{grid-template-rows:auto 1fr;overflow-y:auto;background:rgba(var(--foreground-color), 1)}.logo-section{padding:1.5rem}#landing_illustration{position:relative;width:100%}@-webkit-keyframes slide-down{from{transform:translateY(-1rem)}to{transform:none}}@keyframes slide-down{from{transform:translateY(-1rem)}to{transform:none}}#loading_page{height:100%;display:grid;place-content:center;justify-items:center}.page__loader{z-index:1;transform-origin:bottom;height:6rem;width:6rem;-webkit-animation:bounce .5s infinite alternate ease-in;animation:bounce .5s infinite alternate ease-in}.shadow{margin-top:-1rem;width:5rem;height:2rem;background:rgba(var(--text-color), 0.1);border-radius:50%;-webkit-animation:scale .5s infinite alternate ease-in;animation:scale .5s infinite alternate ease-in;margin-left:1rem}.page__tag-line{margin-top:2rem}@-webkit-keyframes bounce{0%{transform:scaleY(1) translateY(-4rem)}90%{transform:scaleY(1) translateY(0)}100%{transform:scaleY(0.8)}}@keyframes bounce{0%{transform:scaleY(1) translateY(-4rem)}90%{transform:scaleY(1) translateY(0)}100%{transform:scaleY(0.8)}}@-webkit-keyframes scale{0%{transform:scale(0.5)}90%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes scale{0%{transform:scale(0.5)}90%{transform:scale(1.05)}100%{transform:scale(1)}}#main_page{display:grid;grid-template-columns:minmax(0, 1fr);grid-template-rows:auto 1fr;height:100%;width:100%;transition:background-color .3s;background-color:rgba(var(--foreground-color), 1)}.initial{position:relative;justify-content:center;font-size:1.2rem;font-weight:500;width:2.8rem;height:2.8rem;aspect-ratio:1/1;color:#fff;box-shadow:0 .1rem .1rem rgba(0,0,0,.06);border-radius:2rem;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.filled{fill:rgba(var(--text-color), 0.7);stroke:none !important}.group-icon{height:1.6rem;width:1.6rem;fill:#fff;stroke:none}.contact{position:relative;display:grid;gap:0 1rem;padding:.8rem 1.5rem;align-items:center;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.contact:not(.chat){grid-template-columns:auto 1fr;grid-template-areas:"dp ."}.contact.chat,.contact.group{grid-template-columns:auto 1fr auto;grid-template-areas:"dp . time" "dp . menu"}.contact.admin{grid-template-columns:auto 1fr auto}.contact.selected{background-color:rgba(var(--text-color), 0.06)}.contact .initial{grid-area:dp}.contact .name,.contact .last-message{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:rgba(var(--text-color), 0.8)}.contact .name{width:100%;font-size:1em;font-weight:500}.contact .last-message{font-weight:400;font-size:.9em}.contact .menu{grid-area:menu;justify-self:flex-end;padding:.2rem;fill:rgba(var(--text-color), 1)}.contact .time{font-weight:500;color:rgba(var(--text-color), 0.7);grid-area:time}.contact .admin-tag{padding:.1rem .6rem;font-size:.8rem;border:var(--accent-color) thin solid;border-radius:3rem}.tick{position:absolute;bottom:-0.2rem;right:-0.2rem;height:1.2rem;width:1.2rem}.tick .icon{height:100%;width:100%;padding:.4rem;stroke-width:16;border-radius:1rem;background:rgba(var(--text-color), 1);stroke:rgba(var(--foreground-color), 0.8)}#selected_contacts_container{display:flex;overflow:auto hidden}#selected_contacts_container:not(:empty){margin-top:1.5rem}#selected_contacts_container .contact-preview{display:flex;flex-shrink:0;align-items:center;cursor:pointer;margin-right:.5rem;background:rgba(var(--text-color), 0.1);padding:.4rem .5rem;border-radius:2rem}#selected_contacts_container .contact-preview .initial{width:1.6rem;height:1.6rem;font-size:.9rem}#selected_contacts_container .contact-preview .name{font-size:.9rem;color:rgba(var(--text-color), 0.8);margin-left:.5rem}#selected_contacts_container .contact-preview .tick{position:relative;bottom:auto;right:auto;margin-left:.5rem}#contact_details_popup{--body-padding: 0 0 1.5rem 0}#contact_details_popup .popup-section{margin:1.5rem}#contact_details_popup h5{font-weight:500;opacity:.8}#contact_details_popup .copy-row h4{font-weight:400}#contact_details_popup .group-icon{padding:.2rem !important;height:3rem;width:3rem}#contact_details_popup #contact_initial{height:4.6rem;width:4.6rem;font-size:2.4rem;border-radius:4rem;margin-top:3rem;margin-bottom:.5rem}#contact_details_popup #contact_name{margin:.6rem 1.5rem}#contact_details_popup #contact_name::part(text){font-size:1.2rem;font-weight:500}#contact_details_popup .option .icon{padding:0;width:1.2rem;background:none}#warn_no_encryption,.date-card,.group-event-card{padding:.4rem .6rem;font-weight:500;font-size:.8rem;background-color:rgba(var(--text-color), 0.04);border-radius:.3rem;color:rgba(var(--text-color), 0.8);margin:1rem 0;justify-self:center;align-self:center;text-align:center}.group-event-card{font-size:.8rem;font-weight:400}#warn_no_encryption{background:#fffd8d;color:#111}.contact .initial::after,.mail-card .initial::after{content:"";position:absolute;bottom:-0.1rem;right:-0.1rem;height:1rem;width:1rem;background:var(--accent-color);border-radius:100%;border:solid rgba(var(--foreground-color), 1) 1px;transform:scale(0);transition:transform .3s}.contact.unread .initial::after,.mail-card.unread .initial::after{transform:scale(1)}.mail-card.unread .time,.mail-card.unread .date,.contact.unread .time,.contact.unread .date{color:var(--accent-color)}.mail-card.unread h4,.contact.unread h4{color:rgba(var(--text-color), 1)}.mail-card.unread h4,.mail-card.unread h5,.mail-card.unread p,.contact.unread h4,.contact.unread h5,.contact.unread p{font-weight:700}.mail-card{position:relative;display:grid;gap:0 1rem;padding:.8rem 1.5rem;align-items:center;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;grid-template-columns:auto 1fr auto;grid-template-areas:"dp sender date" "dp subject subject" "dp desc desc"}.mail-card .initial{grid-area:dp;align-self:flex-start;height:2rem;width:2rem;font-size:1rem}.mail-card .sender{width:100%;font-size:.8rem;font-weight:500;color:rgba(var(--text-color), 0.8);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-card .date{grid-area:date;margin-left:auto;font-weight:500;white-space:nowrap}.mail-card .subject{grid-area:subject;font-size:1em;margin-top:.3rem;font-weight:500}.mail-card .description{grid-area:desc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.9em;margin-top:.2rem;color:rgba(var(--text-color), 0.8)}@-webkit-keyframes slide{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:none}}@keyframes slide{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:none}}#mail_container{width:100%}.mail{position:relative}.mail:not(:first-of-type){margin-top:2rem;-webkit-padding-start:1rem;padding-inline-start:1rem}.mail:not(:first-of-type)::before{content:"";position:absolute;left:0;top:0;width:.2rem;height:100%;background:rgba(var(--text-color), 0.2)}.mail .mail-header{align-self:start;margin-bottom:1rem;padding:1.5rem}.mail .sender-name{font-weight:500;margin-bottom:.5rem}.mail .flo-id{font-weight:400;max-width:90%}.mail .flex:first-of-type{margin-bottom:1rem}.mail .back{margin:0 0 0 -0.5rem}.mail .mail-subject,.mail .mail-content{padding:0 1.5rem;overflow-wrap:break-word;word-wrap:break-word}.mail .mail-subject{margin-bottom:.4em}.mail .mail-content{height:-webkit-max-content;height:-moz-max-content;height:max-content;max-width:60ch;white-space:pre-wrap}.logo-section{display:grid;grid-template-columns:auto 1fr}.option{display:flex;align-items:center;padding:.8rem 1.5rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.option .icon{height:1.4rem;width:1.4rem;margin-right:1rem;stroke:rgba(255,255,255,.8)}#main_navbar{display:flex;background:rgba(var(--text-color), 0.03)}#main_navbar.hide-away{position:absolute}#main_navbar ul{display:flex;height:100%;width:100%}#main_navbar ul li{width:100%}.nav-item{position:relative;display:flex;flex:1;width:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .3rem;color:var(--text-color);font-size:.8rem;border-radius:.3rem;font-weight:500}.nav-item .icon{transition:transform .2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.nav-item__title{margin-top:.3rem;transition:opacity .2s,transform .2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.nav-item--active{color:var(--accent-color)}.nav-item--active .icon{fill:var(--accent-color);transform:translateY(50%)}.nav-item--active .nav-item__title{transform:translateY(100%);opacity:0}.nav-item__indicator{position:absolute;bottom:0;width:2rem;height:.3rem;background:var(--accent-color);border-radius:1rem 1rem 0 0;z-index:1}.nav-item:last-of-type{margin-top:auto}.nav-item.badge::after{right:0;top:0;position:absolute;content:attr(data-notifications);display:flex;justify-content:center;align-items:center;padding:.4rem;line-height:0;height:calc(1em + .4rem);background:#00c853;color:rgba(var(--foreground-color), 1);border-radius:2rem;transition:transform .3s}.nav-item.badge.active::after,.nav-item.badge[data-notifications="0"]::after,.nav-item.badge[data-notifications=""]::after{transform:scale(0)}#auto_complete_contact{position:relative;justify-content:flex-start;padding-bottom:0}#mail_contact_list{max-height:40vh;overflow-y:auto;position:absolute;top:100%;background:rgba(var(--foreground-color), 1);z-index:1;border-radius:.4rem;box-shadow:0 .1rem .1rem rgba(0,0,0,.1),0 .2rem .5rem rgba(0,0,0,.16);width:100%}#mail_contact_list .contact{grid-template-columns:auto 1fr;grid-template-areas:"dp ." "dp ."}#mail_contact_list sm-menu{display:none}#contacts{position:relative;overflow-x:hidden}#contacts .scrolling-wrapper{height:100%;flex:1;overflow-y:auto}#contacts .scrolling-wrapper .empty-state{padding:1.5rem;text-align:center}#contacts #contacts_container{padding-bottom:1.5rem}#contacts #contacts_container::before{display:flex;content:"Contacts";font-size:.9em;color:rgba(var(--text-color), 0.9);padding:1rem 1.5rem}#group_creation_panel .group-icon{background:var(--accent-color);justify-self:center;height:8rem;width:8rem;margin-bottom:1rem;padding:2rem;border-radius:50%;font-size:4rem}#contacts,#mails{position:relative;grid-template-rows:-webkit-max-content 1fr;grid-template-rows:max-content 1fr}#contacts,#mails,#settings_page{height:100vh;overflow-y:hidden}#contacts .header,#mails .header,#settings_page .header{padding:1rem 1.5rem 1rem 1.5rem;position:relative;gap:.5rem;min-height:4rem}#contacts .header .expanding-search,#mails .header .expanding-search,#settings_page .header .expanding-search{position:absolute;width:100%;padding:.7rem 1.5rem;background:rgba(var(--foreground-color), 1);transform:scale(0.9);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}#contacts .header .expanding-search.expand,#mails .header .expanding-search.expand,#settings_page .header .expanding-search.expand{transform:none;opacity:1;pointer-events:all}#contacts .header sm-input,#mails .header sm-input,#settings_page .header sm-input{margin:0;width:100%;--padding: 0.5rem 1rem}#contacts .header h4,#mails .header h4,#settings_page .header h4{text-transform:capitalize;font-weight:500}#contacts .header .icon,#mails .header .icon,#settings_page .header .icon{-webkit-tap-highlight-color:transparent;margin-right:1rem}#contacts .header .flex h4,#mails .header .flex h4,#settings_page .header .flex h4{flex:1}#contacts .header .flex .icon,#mails .header .flex .icon,#settings_page .header .flex .icon{height:2.2rem;width:2.2rem;padding:.6rem;margin-left:-0.4rem;cursor:pointer}#contacts .header .flex sm-menu,#mails .header .flex sm-menu,#settings_page .header .flex sm-menu{margin-right:-0.7rem}#contacts .header sm-button,#mails .header sm-button,#settings_page .header sm-button{margin:0}#contacts .header sm-button .icon,#mails .header sm-button .icon,#settings_page .header sm-button .icon{height:.9rem;width:.9rem;align-self:center;stroke-width:8;margin-left:0;margin-right:.5rem}#chat_page,#mail_page,#settings_page{align-items:flex-start;width:100%;height:100%}#chat_page{overflow:hidden}#chat_left,#chat_details_panel{position:relative;display:flex;flex-direction:column;height:100%;overflow-y:auto}#chat_details_panel{background:rgba(var(--text-color), 0.04);padding-bottom:1.5rem}#chat_details_panel .card{margin:0 1rem;padding:1.5rem 1rem;border-radius:.8rem;background:rgba(var(--text-color), 0.04)}#chat_details_panel .card:not(:last-of-type){margin-bottom:1rem}#chat_details_panel .card .h4{font-weight:400;font-size:.9rem;color:rgba(var(--text-color), 0.8);margin-bottom:.5rem}#chat_details_panel .card>.flex{margin-bottom:1rem}#chat_details_panel .card>.flex .h4{margin-bottom:0}#chat_details_panel .card .tip{margin-bottom:.5rem}#chat_details_panel .card .danger:not(:last-of-type){margin-bottom:1rem}#chat_details_panel header{position:-webkit-sticky;position:sticky;top:0;padding:1rem;min-height:4rem;background-color:rgba(var(--foreground-color), 0.8);z-index:1}#chat_details_panel header .icon{height:2.3rem;width:2.3rem;padding:.7rem;cursor:pointer}#chat_details_panel .contact{padding:.5rem 0}#chat_details_panel #chat_profile{display:grid;place-items:center;margin-top:5.5rem;padding-bottom:1.5rem}#chat_details_panel #chat_profile .initial{margin-top:-5.5rem;margin-bottom:1rem;height:8rem;width:8rem;border-radius:50%;font-size:4rem}#chat_details_panel #chat_profile .initial .icon{height:4rem;width:4rem}#chat_details_panel #chat_profile #chat_name{font-weight:500;font-size:1.2rem}#chat_details_panel #chat_profile #last_interaction_time{color:rgba(var(--text-color), 0.7);font-size:.9rem;margin-top:.5rem}#chat_details_panel .copy{font-weight:400}#group_members_list{max-height:50vh;overflow-y:auto}#chat{position:relative;grid-template-columns:1fr}.message{position:relative;display:flex;flex-wrap:wrap;width:auto;font-size:.92rem;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content;margin-bottom:.2rem;margin-top:.8rem;padding:.6em 1em;transition:opacity .3s,transform .3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.message .sender-name{font-size:.85rem;font-weight:500;margin-bottom:.3rem}.message .message-body{display:flex;align-items:center;flex-wrap:wrap;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;white-space:pre-wrap;line-height:1.5}.message .message-body a{color:inherit}.message .message-body .text-emoji{align-self:center;font-size:1.4em;letter-spacing:0}.message .time{white-space:nowrap;font-size:.8em;opacity:.8;justify-self:flex-end;padding-left:1rem;align-self:flex-end;margin-top:.2rem;margin-left:auto}.sent{margin-left:auto;color:#efefef;background:var(--accent-color);border-radius:.8rem 0 .8rem .8rem}.sent::after{content:"";position:absolute;left:100%;top:0;width:0;height:0;border-style:solid;border-width:.5em .3em 0 0;border-color:var(--accent-color) transparent transparent transparent}.received{margin-right:auto;background:rgba(var(--text-color), 0.1);border-radius:0 .8rem .8rem .8rem}.received::after{content:"";position:absolute;left:-0.5em;top:0;width:0;height:0;border-style:solid;border-width:0 .5em .5em 0;border-color:transparent rgba(var(--text-color), 0.1) transparent transparent}.sent+.sent,.received+.received{margin-top:0}.sent+.sent::after,.received+.received::after{display:none}.sent+.sent,.received+.received{border-radius:.8rem}.distinct-sender{display:grid;border-radius:0 .8rem .8rem .8rem !important;margin-top:.8rem !important}.distinct-sender::after{display:flex !important;content:"";position:absolute;left:-0.5em;top:0;width:0;height:0;border-style:solid;border-width:0 .5em .5em 0;border-color:transparent rgba(var(--text-color), 0.1) transparent transparent}.unconfirmed{opacity:.7;transform-origin:left;-webkit-animation:pop .3s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275);animation:pop .3s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275)}@-webkit-keyframes pop{0%{transform:rotate(5deg) translate(-0.5rem, 1rem)}100%{transform:rotate(0) translate(0, 0)}}@keyframes pop{0%{transform:rotate(5deg) translate(-0.5rem, 1rem)}100%{transform:rotate(0) translate(0, 0)}}#chat_header{padding:0 1rem;min-height:4rem;grid-template-columns:1fr auto}#chat_header .flex{height:100%}#chat_header .back-button{height:2rem;width:2rem;padding:.5rem;stroke-width:8;margin-right:.5rem;stroke:rgba(var(--text-color), 0.8)}#chat_header .initial{cursor:pointer;margin-right:1rem;height:2.2rem;width:2.2rem;flex-shrink:0}#chat_header #receiver_name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#scroll_to_bottom{position:absolute;display:flex;right:0;bottom:4rem;border-radius:4rem;z-index:1;aspect-ratio:1/1;margin:1.5rem;cursor:pointer;transform:scale(0);transition:transform .3s}#scroll_to_bottom.new-message::after{position:absolute;content:"";top:0;right:0;z-index:2;padding:.5rem;border-radius:50%;background:#00e676}#scroll_to_bottom .icon{width:2.6rem;height:2.6rem;padding:.9rem;stroke-width:8}#chat_footer .flex{align-items:flex-end;padding:.5rem 1rem .5rem .5rem}#chat_footer sm-textarea{--padding-right: 3rem;--border-radius: 0.5rem}#emoji_toggle{align-self:center;padding:.6rem;margin-right:.5rem;width:2.6rem;height:2.6rem;border-radius:2rem;cursor:pointer}#emoji_toggle path{fill:rgba(var(--text-color), 0.5)}#emoji_toggle.active path{fill:var(--accent-color)}#send_message_button{position:absolute;right:1.5rem;transform:scale(0);opacity:0;pointer-events:none;z-index:1;align-self:center;height:2.4rem;width:2.4rem;padding:.5rem;cursor:pointer;stroke:none;fill:rgba(var(--text-color), 0.4);margin-left:1rem;transition:.3s}#send_message_button.active{opacity:1;fill:var(--accent-color);transform:none;pointer-events:all}#type_message{margin:0}.big-emoji{flex-direction:column}.big-emoji .message-body{justify-content:center;font-size:2.6rem}.big-emoji .text-emoji{font-size:2.6rem !important}#chat_middle{flex:1;padding:0 1rem}#emoji_picker{--background: rgba(var(--text-color), 0.06);--border-size: 0;--input-border-color: none;--input-padding: 0.4rem 1rem;--outline-color: var(--accent-color);--input-font-color: rgba(var(--text-color), 1);--input-placeholder-color: rgba(var(--text-color), 0.6);--indicator-color: var(--accent-color);--button-hover-background: rgba(var(--text-color), 0.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;max-height:40vh}.emoji{font-size:1.6rem;cursor:pointer;padding:.4rem;border-radius:.6rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center}#new_conversation,#no_mails{height:100%;justify-content:center;text-align:center;padding:1.5rem}#new_conversation p,#no_mails p{margin-top:.8rem}#no_mails .new-conversation{height:7rem;margin-bottom:1rem}.new-conversation{height:8rem;width:8rem;align-self:center;stroke-width:16;stroke:rgba(var(--text-color), 0.4)}#chat_middle,#chats_list,#inbox_mail_container,#sent_mail_container,#mail{width:100%;flex-direction:column;height:100%;overflow-y:auto}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}#chats_list{padding-bottom:6rem}#contacts_popup{--body-padding: 0}.mail-container{height:100%;flex-direction:column;overflow-y:auto}#inbox_mail_container,#sent_mail_container{gap:.2rem;padding-bottom:6rem}.has-bg-image .received,.has-bg-image .group-event-card,.has-bg-image .date-card{background:rgba(var(--foreground-color), 0.8)}.has-bg-image .received::after{border-color:transparent rgba(var(--foreground-color), 0.6) transparent transparent}.has-bg-image #emoji_picker{--background: rgba(var(--foreground-color), 0.6)}.has-bg-image #emoji_toggle path{fill:rgba(var(--text-color), 0.8)}.has-bg-image sm-textarea{--background: rgba(var(--foreground-color), 0.6)}.has-bg-image #chat_details_panel{background:rgba(var(--foreground-color), 0.8)}#mail{height:100vh;align-items:flex-start}#mail>.flex{padding:0 1.5rem;margin-top:2rem}#mail>.flex sm-button:first-of-type{margin-right:.5rem}#compose_mail_popup sm-input{margin-bottom:1rem}.sidebar-item{display:flex;align-items:center;padding:1rem 1.5rem;text-transform:capitalize;font-weight:500;opacity:.9}.sidebar-item .icon{margin-right:1em;width:1em}.back{padding:.7rem;height:2.4rem;width:2.4rem;margin-left:-0.5rem;cursor:pointer;stroke-width:8;opacity:.8;-webkit-tap-highlight-color:transparent}.back:hover{opacity:1}#settings_page #settings_sidebar header{padding:1rem 1.5rem}#settings_page .flex sm-button{margin:0;margin-left:1rem}#settings_page sm-switch{padding:1rem 1.5rem;display:flex;margin-bottom:1rem;width:min(60ch,100%)}#settings_page sm-switch .flex{margin-right:1rem}#settings_page sm-switch h4{margin-bottom:.5rem}#settings_page sm-button{width:100%}#settings_page #settings_title{text-transform:capitalize}#settings_page #settings_sidebar{height:100%}#settings_page #settings_panel{overflow-y:auto;height:100%}#settings_page section{padding:1rem 1.5rem;width:min(60ch,100%);display:grid;gap:.3rem}#settings_page section sm-button{margin-top:.5rem;margin-bottom:0}#settings_page section:not(:last-of-type){margin-bottom:1rem}#settings_page #sign_out::part(button){color:var(--error-color)}#settings_page color-grid{margin:.5rem 0 1.5rem 0;width:min(60ch,100%)}#settings_page #chat_preview{margin-top:1rem;padding:1rem;border-radius:.5rem}#settings_page #bg_preview_container{padding:1rem 0;gap:.5rem;flex-wrap:wrap}#settings_page .bg-preview{position:relative;display:grid;place-items:center;height:8rem;width:8rem;cursor:pointer;border-radius:1rem;overflow:hidden;background:rgba(var(--text-color), 0.1)}#settings_page .bg-preview--selected::after{content:"";position:absolute;height:100%;width:100%;box-shadow:0 0 0 .5rem rgba(var(--text-color), 0.8) inset}#settings_page .bg-preview__image{-o-object-fit:cover;object-fit:cover;height:100%;width:100%}@media screen and (max-width: 640px){sm-popup{--border-radius: 1rem 1rem 0 0}.hide-on-mobile{position:fixed;max-height:0;opacity:0;pointer-events:none}#landing{grid-template-areas:"illustration" ".";align-items:flex-start}#landing .title-font{font-size:2rem;font-weight:500}#landing sm-button{width:100%;display:flex;width:100% !important}#landing_illustration{grid-area:illustration}.frame form,#sign_in form{height:100%}.frame .h2,#sign_in .h2{margin-top:3rem}.frame sm-button[variant=primary],#sign_in sm-button[variant=primary]{margin-top:auto}#main_navbar.hide-away{bottom:0;left:0;right:0}#chats_list,#contact_container{gap:.2rem}#chat .message{width:auto;max-width:90%}#chat_header{grid-template-columns:auto 1fr auto}#settings_page{overflow-x:hidden}#settings_page #settings_header{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:1rem 1.5rem;margin-bottom:.5rem;background:rgba(var(--foreground-color), 1)}}@media screen and (min-width: 40rem){.hide-on-desktop{display:none !important}.page{padding-bottom:0}.popup__header{grid-column:1/-1;padding:1rem 1.5rem 0 1.5rem}.fab{position:absolute}.logo-section{padding:2rem 3rem 0 3rem;margin:.5rem 0}sm-popup{--width: 24rem;--min-width: 24rem;--border-radius: 0.5rem}#landing{align-items:center;gap:4vw;grid-template-columns:1fr 1fr;padding:0 4vw}#sign_in{width:24rem}#main_page{grid-template-columns:-webkit-min-content 1fr;grid-template-columns:min-content 1fr;grid-template-rows:1fr;grid-template-areas:"nav .";border-radius:.8rem;overflow:hidden;box-shadow:0 .1rem .2rem rgba(0,0,0,.05),0 1rem 3rem rgba(0,0,0,.2)}#main_navbar{grid-area:nav;border-top:none;flex-direction:column;height:calc(100% - 1rem);margin:.5rem;border-radius:.5rem;background-color:rgba(37,110,255,.03)}#main_navbar ul{flex-direction:column;gap:.5rem;padding:.3rem}#main_navbar ul li:last-of-type{margin-top:auto}.nav-item{aspect-ratio:1/1}.nav-item__indicator{width:.25rem;height:50%;left:0;border-radius:0 1rem 1rem 0;bottom:auto}#add_contact_popup{--min-width: 24rem}#compose_mail_popup,#reply_mail_popup{--min-width: 36rem}#emoji_picker{max-height:18rem}#chat .message{width:auto;align-self:flex-start;max-width:55ch}#chat_page,#mail_page{grid-template-columns:20rem 1fr}#settings_page{display:grid;height:100vh;grid-template-columns:14rem 1fr}#settings_page sm-button{width:-webkit-max-content;width:-moz-max-content;width:max-content}#settings_page .active{background:rgba(var(--text-color), 0.1)}#settings_page .panel>*:first-of-type{margin-top:.5rem}.contact.active,.mail-card.active{background:rgba(var(--text-color), 0.06)}.card{display:inline-flex;width:auto}}@media only screen and (max-width: 1280px){.hide-on-medium{display:none !important}}@media only screen and (min-width: 1080px){#chat #messages_container{padding:1rem 4rem}}@media only screen and (min-width: 1280px){#landing{gap:4vw;padding:0 8vw}#landing .title-font{font-size:3rem}#chat_page,#mail_page{grid-template-columns:23rem 1fr}#chat_details_panel{position:relative}#chat.expand-side-panel{grid-template-columns:1fr 24rem}#chat.expand-side-panel #messages_container{padding:1rem}#emoji_picker{--num-columns: 16}.contact.active,.mail-card.active{background:rgba(var(--text-color), 0.06)}.card{display:inline-flex;width:auto}}@media(hover: hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color), 0.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color), 0.5)}.contact:hover,.emoji:hover,.option:hover{cursor:pointer;background:rgba(var(--text-color), 0.06)}.contact .menu{opacity:0;transition:opacity .3s}.contact:hover .menu{opacity:1}}@media(hover: none){.contact-preview,.contact,.icon,.option{-webkit-tap-highlight-color:transparent}.contact .menu{display:none}}@supports(overflow: overlay){body{overflow:overlay}}.hide{display:none !important} \ No newline at end of file diff --git a/css/main.scss b/css/main.scss index eeca14b..8f45278 100644 --- a/css/main.scss +++ b/css/main.scss @@ -1,2003 +1,2194 @@ -*, -::before, -::after{ - padding: 0; - margin: 0; - box-sizing: border-box; - font-family: 'Roboto', sans-serif; -} -:root{ - scroll-behavior: smooth; - font-size: clamp(1rem, 1.2vmax, 3rem); +* { + padding: 0; + margin: 0; + box-sizing: border-box; + font-family: "Roboto", sans-serif; } -html, body{ - height: 100%; +:root { + font-size: clamp(1rem, 1.2vmax, 1.2rem); } -body{ - --accent-color: #3D5AFE; - --secondary-color: #ffac2e; - --text-color: 17, 17, 17; - --text-color-light: 100, 100, 100; - --foreground-color: 255, 255, 255; - --background-color: #efefef; - --error-color: red; - color: rgba(var(--text-color), 1); +html, +body { + height: 100%; +} +body { + --accent-color: #3d5afe; + --secondary-color: #ffac2e; + --text-color: 20, 20, 20; + --foreground-color: 252, 253, 255; + --background-color: 241, 243, 248; + --danger-color: rgb(255, 75, 75); + --green: #1cad59; + --yellow: rgb(220, 165, 0); + color: rgba(var(--text-color), 1); + background: rgba(var(--foreground-color), 1); + #scroll_to_bottom { background: rgba(var(--foreground-color), 1); - #scroll_to_bottom{ - background: rgba(var(--foreground-color), 1); - box-shadow: 0 0.3rem 0.4rem rgba(0, 0, 0, 0.2); - } + box-shadow: 0 0.3rem 0.4rem rgba(0, 0, 0, 0.2); + } } -body[data-theme='dark']{ - --accent-color:#3D5AFE; - --secondary-color: #d60739; - --text-color: 240, 240, 240; - --text-color-light: 170, 170, 170; - --foreground-color: 20, 20, 20; - --error-color: rgb(255, 106, 106); - .initial{ - color: rgba(var(--text-color), 1) !important; - box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.16); - } - .message{ - color: rgba(var(--text-color), 1); - } - #scroll_to_bottom{ - background: linear-gradient(rgba(var(--text-color), 0.1), rgba(var(--text-color), 0.1)), rgba(var(--foreground-color), 1); - box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.3); - } -} -p{ - line-height: 1.6; -} -h1{ - font-size: 3rem; -} -h2{ - font-size: 2rem; -} -h3{ - font-size: 1.5rem; -} -h4{ - font-size: 1.1rem; -} -h5{ - font-size: 0.8rem; -} -h1, h2, h3, h4, h5{ +body[data-theme="dark"] { + --accent-color: #6d83ff; + --secondary-color: #d60739; + --text-color: 220, 220, 220; + --foreground-color: 27, 28, 29; + --background-color: 21, 22, 22; + --danger-color: rgb(255, 106, 106); + --green: #00e676; + --yellow: rgb(255, 213, 5); + .initial { + color: rgba(var(--text-color), 1) !important; + box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.16); + } + .message { color: rgba(var(--text-color), 1); - font-weight: 600; + } + #scroll_to_bottom { + background: linear-gradient( + rgba(var(--text-color), 0.1), + rgba(var(--text-color), 0.1) + ), + rgba(var(--foreground-color), 1); + box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.3); + } } -textarea{ - background: rgba(var(--text-color), 0.06); - border: none; - border-radius: 0.3rem; - width: 100%; - padding: 1rem; - font-size: 1rem; - color: rgba(var(--text-color), 1); - resize: none; - line-height: 1.6; - &:focus{ - outline: none; - box-shadow: 0 0 0 0.1rem var(--accent-color); - } +p, +strong { + font-size: 0.9rem; + max-width: 65ch; + line-height: 1.7; + color: rgba(var(--text-color), 0.9); } -strong{ - font-weight: 500; +.warning { + line-height: normal; + padding: 1rem; + background-color: khaki; + border-radius: 0.5rem; + font-weight: 500; + color: rgba(0, 0, 0, 0.7); } -.flex{ - display: flex; +a { + text-decoration: none; + color: var(--accent-color); + &:focus-visible { + box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; + } } -.grid{ - display: grid; +a.button { + padding: 0.4rem 0.6rem; + border-radius: 0.3rem; + font-size: 0.9rem; + font-weight: 500; + color: inherit; } -.grid-2{ - grid-template-columns: auto auto; - gap: 1em; -} -.align-center{ - align-items: center; -} -.justify-right{ - margin-left: auto; -} -.direction-column{ - flex-direction: column; -} -.rest{ - flex: 1; -} -.hide{ - opacity: 0; - pointer-events: none; -} -.hide-completely{ - display: none !important; -} -.no-transformations{ - transform: none !important; -} -.breakable{ - overflow-wrap: break-word; -} -.text-overflow{ - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.sticky{ - position: sticky; - top: 1rem; -} -.light-text{ - color: rgba(var(--text-color-light), 1); -} -.accent-color{ - color: var(--accent-color); -} -.secondary-color{ - color: var(--secondary-color) -} -.fab{ - filter: drop-shadow(0 0.4rem 0.3rem rgba(0, 0, 0, 0.2)); - margin: 1.5rem; - position: fixed; - right: 0; - bottom: 0; - z-index: 1; - --padding: 0.9rem 1.6rem; - .icon{ - margin-left: 0 !important; - margin-right: 0.5rem; - height: 1.2rem; - width: 1.2rem; - stroke-width: 8; - stroke: white; - } -} -a:any-link{ - word-wrap: break-word; - color: var(--accent-color); - font-weight: 500; -} -.solid-background{ - background: var(--background-color) !important; -} -.normal-weight{ - font-weight: normal; -} -.warning{ - display: flex; - background: wheat; - color: #111; -} -.icon{ - fill: none; - stroke-width: 6; - stroke: rgba(var(--text-color), 1); - height: 1.2rem; - width: 1.2rem; - overflow: visible; - stroke-linecap: round; - stroke-linejoin: round; -} -.ripple{ - position: absolute; - border-radius: 50%; - transform: scale(0); - background: rgba(var(--text-color), 0.2); - pointer-events: none; -} -.interact{ - position: relative; - overflow: hidden; + +button, +.button { + user-select: none; + position: relative; + display: inline-flex; + border: none; + background-color: transparent; + overflow: hidden; + color: inherit; + -webkit-tap-highlight-color: transparent; + align-items: center; + font-size: 0.9rem; + font-weight: 500; + white-space: nowrap; + padding: 0.8rem; + border-radius: 0.3rem; + justify-content: center; + &:focus-visible { + outline: var(--accent-color) solid medium; + } + &:not(:disabled) { cursor: pointer; - -webkit-tap-highlight-color: transparent; + } } -sm-input{ - --border-radius: 0.5rem; -} -sm-popup{ - sm-input + sm-input{ - margin-top: 1rem; +.button { + background-color: rgba(var(--text-color), 0.06); + &--primary, + &--danger { + color: rgba(var(--background-color), 1) !important; + .icon { + fill: rgba(var(--background-color), 1); } + } + &--primary { + background-color: var(--accent-color); + } + &--danger { + background-color: var(--danger-color); + } + &--small { + padding: 0.4rem 0.6rem; + } } -.popup-header{ - padding: 0.5rem 1.5rem 0 1.5rem; +.cta { + text-transform: uppercase; + font-size: 0.8rem; + font-weight: 700; + letter-spacing: 0.05em; + padding: 0.8rem 1rem; +} +.icon { + width: 1.2rem; + height: 1.2rem; + fill: rgba(var(--text-color), 0.8); + flex-shrink: 0; +} +.icon-only { + padding: 0.5rem; + border-radius: 0.3rem; +} + +button:disabled { + opacity: 0.5; +} + +a:any-link:focus-visible { + outline: rgba(var(--text-color), 1) 0.1rem solid; +} + +details summary { + display: flex; + user-select: none; + cursor: pointer; + align-items: center; + justify-content: space-between; + color: var(--accent-color); +} + +details[open] { + & summary { + margin-bottom: 1rem; + } + & > summary .down-arrow { + transform: rotate(180deg); + } +} + +sm-input, +sm-textarea { + font-size: 0.9rem; + --border-radius: 0.3rem; + --background-color: rgba(var(--foreground-color), 1); + button { + .icon { + fill: var(--accent-color); + } + } +} +sm-button { + --padding: 0.8rem; + &[variant="primary"] { + .icon { + fill: rgba(var(--background-color), 1); + } + } + + &[disabled] { + .icon { + fill: rgba(var(--text-color), 0.6); + } + } + &.danger { + --background: var(--danger-color); + color: rgba(var(--background-color), 1); + } +} +sm-spinner { + --size: 1rem; + --stroke-width: 0.1rem; +} +sm-form { + --gap: 1rem; +} +sm-select { + --padding: 0.8rem; + font-size: 0.9rem; +} +sm-option { + font-size: 0.9rem; +} +strip-select { + --gap: 0; + background-color: rgba(var(--text-color), 0.06); + border-radius: 0.3rem; + padding: 0.3rem; +} +strip-option { + font-size: 0.8rem; + --border-radius: 0.2rem; + user-select: none; +} +ul, +ol { + list-style: none; +} +ol { + counter-reset: item; + li { + position: relative; + display: flex; + align-items: flex-start; + counter-increment: item; + &:not(:last-of-type) { + padding-bottom: 1.5rem; + &::after { + content: ""; + position: absolute; + width: 0.1rem; + height: calc(100% - 2.2rem); + background: var(--accent-color); + margin-left: 0.7rem; + margin-top: 2rem; + } + } + } + li::before { + content: counter(item); display: flex; align-items: center; - width: 100%; - .icon{ - padding: 0.7rem; - height: 2.4rem; - width: 2.4rem; - stroke-width: 8; - transform: translateX(-0.5rem); - cursor: pointer; - -webkit-tap-highlight-color: transparent; - } - .back{ - transform: none; - } - button, - sm-button{ - width: auto; - margin-left: auto; - } + justify-content: center; + text-align: center; + font-size: 0.8rem; + font-weight: 500; + margin-top: 0.15rem; + margin-right: 1rem; + line-height: 1; + width: 1.5rem; + height: 1.5rem; + border-radius: 100%; + flex-shrink: 0; + color: rgba(var(--text-color), 0.8); + background: rgba(var(--text-color), 0.1); + } } -.copy-row { - display: grid; - grid-template-columns: 1fr auto; - align-items: center; - gap: 0.5rem; - width: auto; - .icon { - cursor: pointer; - padding: 0.4rem; - height: 1.8rem; - width: 1.8rem; + +.overflow-ellipsis { + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.breakable { + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-word; + hyphens: auto; +} + +.full-bleed { + grid-column: 1/-1; +} +.uppercase { + text-transform: uppercase; +} + +.capitalize { + text-transform: capitalize; +} + +.sticky { + position: sticky; +} +.top-0 { + top: 0; +} + +.flex { + display: flex; +} +.flex-wrap { + flex-wrap: wrap; +} +.flex-1 { + flex: 1; +} + +.grid { + display: grid; +} +.flow-column { + grid-auto-flow: column; +} + +.gap-0-3 { + gap: 0.3rem; +} +.gap-0-5 { + gap: 0.5rem; +} + +.gap-1 { + gap: 1rem; +} + +.gap-1-5 { + gap: 1.5rem; +} + +.gap-2 { + gap: 2rem; +} + +.gap-3 { + gap: 3rem; +} + +.text-align-right { + text-align: right; +} + +.align-start { + align-content: flex-start; +} + +.align-center { + align-items: center; +} +.align-end { + align-items: flex-end; +} + +.text-center { + text-align: center; +} + +.justify-start { + justify-items: start; +} + +.justify-center { + justify-content: center; +} + +.justify-right { + margin-left: auto; +} + +.align-self-center { + align-self: center; +} +.align-self-end { + align-self: end; +} + +.justify-self-center { + justify-self: center; +} + +.justify-self-start { + justify-self: start; +} + +.justify-self-end { + justify-self: end; +} + +.flex-direction-column { + flex-direction: column; +} + +.space-between { + justify-content: space-between; +} + +.w-100 { + width: 100%; +} +.h-100 { + height: 100%; +} +.label { + font-size: 0.8rem; + color: rgba(var(--text-color), 0.8); + font-weight: 500; + margin-bottom: 0.2rem; +} + +.button--primary, +.button--danger { + .ripple { + background: radial-gradient( + circle, + rgba(var(--background-color), 0.3) 0%, + rgba(0, 0, 0, 0) 50% + ); + } +} +.ripple { + height: 8rem; + width: 8rem; + position: absolute; + border-radius: 50%; + transform: scale(0); + background: radial-gradient( + circle, + rgba(var(--text-color), 0.3) 0%, + rgba(0, 0, 0, 0) 50% + ); + pointer-events: none; +} +.interact { + position: relative; + overflow: hidden; + cursor: pointer; + -webkit-tap-highlight-color: transparent; +} +.empty-state { + display: grid; + width: 100%; + padding: 1.5rem 0; +} + +.observe-empty-state:empty { + display: none !important; +} + +.observe-empty-state:not(:empty) + .empty-state { + display: none !important; +} + +.bullet-point { + display: flex; + align-items: center; + justify-content: center; + margin: 0 0.8ch; + &::after { + content: ""; + height: 0.4ch; + width: 0.4ch; + border-radius: 0.5em; + background-color: var(--accent-color); + } +} +.margin-right-0-5 { + margin-right: 0.5rem; +} + +.margin-left-0-5 { + margin-left: 0.5rem; +} + +.icon-button { + padding: 0.6rem; + border-radius: 0.8rem; + background-color: rgba(var(--text-color), 0.1); + height: max-content; + .icon { + fill: var(--accent-color); + } +} +.fab { + position: absolute; + right: 0; + bottom: 0; + margin: 1.5rem; + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2); + z-index: 2; +} +.page { + height: 100%; + &__header { + display: flex; + justify-content: space-between; + margin-bottom: 1.5rem; + min-height: 8rem; + .grid { + margin-top: auto; } - .copy { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - h4{ - margin-bottom: 0 !important; + h1 { + margin-top: auto; + font-size: 2rem; } + } +} +.page-layout { + display: grid; + gap: 1.5rem 0; + grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem; + align-content: flex-start; + & > * { + grid-column: 2/3; + } } #confirmation_popup, #prompt_popup { - flex-direction: column; - h4 { - font-weight: 500; - margin-bottom: 0.5rem; - } - sm-button{ - margin: 0; - } - .flex { - padding: 0; - margin-top: 1rem; - sm-button:first-of-type { - margin-right: 0.6rem; - margin-left: auto; - } + flex-direction: column; + h4 { + margin-bottom: 0.5rem; + } + sm-button { + margin: 0; + } + .flex { + padding: 0; + margin-top: 1rem; + sm-button:first-of-type { + margin-right: 0.6rem; + margin-left: auto; } + } } -.page{ - align-items: flex-start; - width: 100%; +#prompt_message { + margin-bottom: 1.5rem; +} + +.popup__header { + display: grid; + gap: 0.5rem; + width: 100%; + padding: 0 1.5rem; + align-items: center; +} + +.popup__header__close { + padding: 0.5rem; + margin-left: -0.5rem; +} +.flo-icon { + margin-right: 0.3rem; + height: 1.5rem; + width: 1.5rem; +} +#secondary_pages { + display: flex; + flex-direction: column; + width: 100%; + header { + padding: 1.5rem; + } + .inner-page { height: 100%; + } } -.card{ - display: flex; - flex-direction: column; - margin: 1rem 0; + +#sign_in, +#sign_up { + justify-items: center; + align-content: center; + section { + margin-top: -8rem; + width: min(24rem, 100%); + } + sm-form { + margin: 2rem 0; + } } -.tip{ - font-size: 0.9rem; +#sign_up { + .h2 { + margin-bottom: 0.5rem; + } + .card { + margin: 1.5rem 0; + } + h5 { color: rgba(var(--text-color), 0.8); + } } -sm-button[variant="primary"]{ - --foreground-color: 255, 255, 255; +.card { + display: flex; + flex-direction: column; + margin: 1rem 0; } -.danger{ - color: var(--error-color); +.tip { + font-size: 0.9rem; + color: rgba(var(--text-color), 0.8); } -.logo-section{ +sm-button[variant="primary"] { + --foreground-color: 255, 255, 255; +} +.danger { + color: var(--error-color); +} +.logo-section { + display: flex; + position: relative; + align-items: center; + height: max-content; + margin: 0.5rem 0; + h5 { + font-size: 1.1rem !important; + font-weight: 500; + } + .main-logo { + height: 1.4rem; + margin-right: 0.4rem; + fill: rgba(var(--text-color), 1); + stroke: none; + } + img { + width: 2rem; + margin-right: 0.5rem; + } +} +.select-file { + input[type="file"] { + display: none; + } +} +#landing { + display: grid; + border-radius: 0.6rem; + width: 100%; + height: 100%; + padding: 0 1.5rem; + align-items: center; + .logo-section { + padding: 1.5rem; display: flex; - position: relative; - align-items: center; - height: max-content; - margin: 0.5rem 0; - h5{ - font-size: 1.1rem !important; - font-weight: 500; - } - .main-logo{ - height: 1.4rem; - margin-right: 0.4rem; - fill: rgba(var(--text-color), 1); - stroke: none; - } - img{ - width: 2rem; - margin-right: 0.5rem; - } -} -.select-file{ - input[type="file"]{ - display: none; - } -} -#landing{ + } + .title-font { + line-height: 1.2; + font-weight: 700; + font-size: 2.5rem; + } + .left { display: grid; - border-radius: 0.6rem; - width: 100%; - height: 100%; - padding: 0 1.5rem; - align-items: center; - .logo-section{ - padding: 1.5rem; - display: flex; - } - .title-font{ - line-height: 1.2; - font-weight: 700; - font-size: 2.5rem; - } - .left{ - display: grid; - flex-direction: column; - padding-bottom: 1.5rem; - z-index: 1; - h4{ - color: var(--accent-color); - margin-bottom: 0.5rem; - font-weight: 500; - } - sm-button{ - margin: 1.5rem 0 2rem 0; - width: max-content; - } - h3{ - margin-bottom: 1rem; - font-weight: 500; - } - p{ - margin-top: 1rem; - font-size: 1.1rem; - color: rgba(var(--text-color), 0.8); - } - .flex{ - sm-button:first-of-type{ - margin-right: 1rem; - } - } - } -} -#landing_page{ - grid-template-rows: auto 1fr; - overflow-y: auto; - background: rgba(var(--foreground-color), 1); -} -.logo-section{ - padding: 1.5rem; -} -#landing_illustration{ - position: relative; - width: 100%; -} -#sign_in{ - padding: 1.5rem; - width: 100%; - height: 100%; - align-items: flex-start; - .flex{ - width: 100%; - flex: 1; - } - sm-input{ - margin: 1.5rem 0; - } - h2{ - margin-top: 2rem; - font-weight: 500; - } + flex-direction: column; + padding-bottom: 1.5rem; + z-index: 1; h4 { - font-weight: 500; - margin-bottom: 1.5rem; + color: var(--accent-color); + margin-bottom: 0.5rem; + font-weight: 500; } - h5{ - opacity: 0.8; - font-weight: 500; + sm-button { + margin: 1.5rem 0 2rem 0; + width: max-content; } - pin-input{ - margin: 1rem 0 2rem 0; - } - sm-button{ - width: 100%; - --padding: 0.8rem 1.6rem; - } - #remove_account{ - margin-top: 1rem; + h3 { + margin-bottom: 1rem; + font-weight: 500; } p { - margin-bottom: 0.5rem; - max-width: 35ch; - margin-top: 0.5rem; + margin-top: 1rem; + font-size: 1.1rem; + color: rgba(var(--text-color), 0.8); } + .flex { + sm-button:first-of-type { + margin-right: 1rem; + } + } + } } -#on_boarding_page{ +#landing_page { + grid-template-rows: auto 1fr; + overflow-y: auto; + background: rgba(var(--foreground-color), 1); } -.frame{ - height: 100%; - display: flex; - flex-direction: column; - width: min(24rem, 100%); - justify-self: center; - padding: 1.5rem; - .h2{ - margin-bottom: 1rem; - font-weight: 500; - } - sm-button[variant="primary"]{ - margin-top: 1.5rem; - } +.logo-section { + padding: 1.5rem; } -#frame_1{ - .warning{ - margin: 1rem 0; - padding: 1rem; - border-radius: 0.5rem; - } - #generate_flo_id{ - width: 100%; - } - #credentials_section{ - animation: slide-down 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); - margin: 2rem 0; - } - h4, h5{ - font-weight: 500; - } - .copy-row:not(:last-of-type){ - margin-bottom: 1.5rem; - } +#landing_illustration { + position: relative; + width: 100%; } -#frame_2{ - pin-input{ - margin: 1rem 0; - } +@keyframes slide-down { + from { + transform: translateY(-1rem); + } + to { + transform: none; + } } -@keyframes slide-down{ - from{ - transform: translateY(-1rem); - } - to{ - transform: none; - } +#loading_page { + height: 100%; + display: grid; + place-content: center; + justify-items: center; } -#loading_page{ - height: 100%; - display: grid; - place-content: center; - justify-items: center; +.page__loader { + z-index: 1; + transform-origin: bottom; + height: 6rem; + width: 6rem; + animation: bounce 0.5s infinite alternate ease-in; } -.page__loader{ - z-index: 1; - transform-origin: bottom; - height: 6rem; - width: 6rem; - animation: bounce 0.5s infinite alternate ease-in; +.shadow { + margin-top: -1rem; + width: 5rem; + height: 2rem; + background: rgba(var(--text-color), 0.1); + border-radius: 50%; + animation: scale 0.5s infinite alternate ease-in; + margin-left: 1rem; } -.shadow{ - margin-top: -1rem; - width: 5rem; - height: 2rem; - background: rgba(var(--text-color), 0.1); - border-radius: 50%; - animation: scale 0.5s infinite alternate ease-in; - margin-left: 1rem; +.page__tag-line { + margin-top: 2rem; } -.page__tag-line{ - margin-top: 2rem; +@keyframes bounce { + 0% { + transform: scaleY(1) translateY(-4rem); + } + 90% { + transform: scaleY(1) translateY(0); + } + 100% { + transform: scaleY(0.8); + } } -@keyframes bounce{ - 0%{ - transform: scaleY(1) translateY(-4rem); - } - 90%{ - transform: scaleY(1) translateY(0); - } - 100%{ - transform: scaleY(0.8) ; - } +@keyframes scale { + 0% { + transform: scale(0.5); + } + 90% { + transform: scale(1.05); + } + 100% { + transform: scale(1); + } } -@keyframes scale{ - 0%{ - transform: scale(0.5); - } - 90%{ - transform: scale(1.05); - } - 100%{ - transform: scale(1); - } +#main_page { + display: grid; + grid-template-columns: minmax(0, 1fr); + grid-template-rows: auto 1fr; + height: 100%; + width: 100%; + transition: background-color 0.3s; + background-color: rgba(var(--foreground-color), 1); } -#main_page{ - width: 100%; - height: 100%; +.initial { + position: relative; + justify-content: center; + font-size: 1.2rem; + font-weight: 500; + width: 2.8rem; + height: 2.8rem; + aspect-ratio: 1/1; + color: white; + box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.06); + border-radius: 2rem; + text-transform: uppercase; + user-select: none; } -.initial{ - position: relative; - justify-content: center; - font-size: 1.2rem; - font-weight: 500; - width: 2.8rem; - height: 2.8rem; - aspect-ratio: 1/1; - color: white; - box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.06); - border-radius: 2rem; - text-transform: uppercase; - user-select: none; +.filled { + fill: rgba(var(--text-color), 0.7); + stroke: none !important; } -.filled{ - fill: rgba(var(--text-color), 0.7); - stroke: none !important; +.group-icon { + height: 1.6rem; + width: 1.6rem; + fill: white; + stroke: none; } -.group-icon{ - height: 1.6rem; - width: 1.6rem; - fill: white; - stroke: none; -} -.contact{ - position: relative; - display: grid; - gap: 0 1rem; - padding: 0.8rem 1.5rem; - align-items: center; - flex-shrink: 0; - user-select: none; +.contact { + position: relative; + display: grid; + gap: 0 1rem; + padding: 0.8rem 1.5rem; + align-items: center; + flex-shrink: 0; + user-select: none; + overflow: hidden; + &:not(.chat) { + grid-template-columns: auto 1fr; + grid-template-areas: "dp ."; + } + &.chat, + &.group { + grid-template-columns: auto 1fr auto; + grid-template-areas: + "dp . time" + "dp . menu"; + } + &.admin { + grid-template-columns: auto 1fr auto; + } + &.selected { + background-color: rgba(var(--text-color), 0.06); + } + .initial { + grid-area: dp; + } + .name, + .last-message { + text-overflow: ellipsis; + white-space: nowrap; overflow: hidden; - &:not(.chat){ - grid-template-columns: auto 1fr; - grid-template-areas: 'dp .'; - } - &.chat, - &.group{ - grid-template-columns: auto 1fr auto; - grid-template-areas: 'dp . time' - 'dp . menu'; - } - &.admin{ - grid-template-columns: auto 1fr auto; - } - &.selected{ - background-color: rgba(var(--text-color), 0.06); - } - .initial{ - grid-area: dp; - } - .name{ - width: 100%; - font-size: 1em; - font-weight: 500; - color: rgba(var(--text-color), 0.8); - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - .last-message{ - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - font-weight: 400; - font-size: 0.9em; - color: rgba(var(--text-color), 0.8); - } - .menu{ - grid-area: menu; - justify-self: flex-end; - padding: 0.2rem; - fill: rgba(var(--text-color), 1); - } - .time{ - font-weight: 500; - color: rgba(var(--text-color), 0.7); - grid-area: time; - } - .admin-tag{ - padding: 0.1rem 0.6rem; - font-size: 0.8rem; - border: var(--accent-color) thin solid; - border-radius: 3rem; - } -} -.tick{ - position: absolute; - bottom: -0.2rem; - right: -0.2rem; - height: 1.2rem; - width: 1.2rem; - .icon{ - height: 100%; - width: 100%; - padding: 0.4rem; - stroke-width: 16; - border-radius: 1rem; - background: rgba(var(--text-color), 1); - stroke: rgba(var(--foreground-color), 0.8); - } -} -#selected_contacts{ - padding: 1rem 1.5rem; - h4{ - font-weight: 500; - font-size: 1rem; - } - .warning{ - font-size: 0.9rem; - padding: 0.5rem 0.8rem; - border-radius: 0.5rem; - margin: 1rem 0; - line-height: 1.5; - } - sm-button{ - margin-bottom: 0; - } -} -#selected_contacts_container{ - display: flex; - overflow: auto hidden; - &:not(:empty){ - margin-top: 1.5rem; - } - .contact-preview{ - display: flex; - flex-shrink: 0; - align-items: center; - cursor: pointer; - margin-right: 0.5rem; - background: rgba(var(--text-color), 0.1); - padding: 0.4rem 0.5rem; - border-radius: 2rem; - .initial{ - width: 1.6rem; - height: 1.6rem; - font-size: 0.9rem; - } - .name{ - font-size: 0.9rem; - color: rgba(var(--text-color), 0.8); - margin-left: 0.5rem; - } - .tick{ - position: relative; - bottom: auto; - right: auto; - margin-left: 0.5rem; - } - } -} -#contact_details_popup{ - --body-padding: 0 0 1.5rem 0; - .popup-section{ - margin: 1.5rem; - } - h5{ - font-weight: 500; - opacity: 0.8; - } - .copy-row{ - h4{ - font-weight: 400; - } - } - .group-icon{ - padding: 0.2rem !important; - height: 3rem; - width: 3rem; - } - #contact_initial{ - height: 4.6rem; - width: 4.6rem; - font-size: 2.4rem; - border-radius: 4rem; - margin-top: 3rem; - margin-bottom: 0.5rem; - } - #contact_name{ - margin: 0.6rem 1.5rem; - &::part(text){ - font-size: 1.2rem; - font-weight: 500; - } - } - .option{ - .icon{ - padding: 0; - width: 1.2rem; - background: none; - } - } -} -#warn_no_encryption, .date-card, .group-event-card{ - padding: 0.4rem 0.8rem; - font-weight: 500; - background-color: rgba(var(--text-color), 0.04); - border-radius: 0.5rem; color: rgba(var(--text-color), 0.8); - margin: 1rem 0; - justify-self: center; - align-self: center; - text-align: center; -} -.group-event-card{ - font-size: 0.8rem; + } + .name { + width: 100%; + font-size: 1em; + font-weight: 500; + } + .last-message { font-weight: 400; + font-size: 0.9em; + } + .menu { + grid-area: menu; + justify-self: flex-end; + padding: 0.2rem; + fill: rgba(var(--text-color), 1); + } + .time { + font-weight: 500; + color: rgba(var(--text-color), 0.7); + grid-area: time; + } + .admin-tag { + padding: 0.1rem 0.6rem; + font-size: 0.8rem; + border: var(--accent-color) thin solid; + border-radius: 3rem; + } } -#warn_no_encryption{ - background: rgb(255, 253, 141); - color: #111; +.tick { + position: absolute; + bottom: -0.2rem; + right: -0.2rem; + height: 1.2rem; + width: 1.2rem; + .icon { + height: 100%; + width: 100%; + padding: 0.4rem; + stroke-width: 16; + border-radius: 1rem; + background: rgba(var(--text-color), 1); + stroke: rgba(var(--foreground-color), 0.8); + } +} +#selected_contacts_container { + display: flex; + overflow: auto hidden; + &:not(:empty) { + margin-top: 1.5rem; + } + .contact-preview { + display: flex; + flex-shrink: 0; + align-items: center; + cursor: pointer; + margin-right: 0.5rem; + background: rgba(var(--text-color), 0.1); + padding: 0.4rem 0.5rem; + border-radius: 2rem; + .initial { + width: 1.6rem; + height: 1.6rem; + font-size: 0.9rem; + } + .name { + font-size: 0.9rem; + color: rgba(var(--text-color), 0.8); + margin-left: 0.5rem; + } + .tick { + position: relative; + bottom: auto; + right: auto; + margin-left: 0.5rem; + } + } +} +#contact_details_popup { + --body-padding: 0 0 1.5rem 0; + .popup-section { + margin: 1.5rem; + } + h5 { + font-weight: 500; + opacity: 0.8; + } + .copy-row { + h4 { + font-weight: 400; + } + } + .group-icon { + padding: 0.2rem !important; + height: 3rem; + width: 3rem; + } + #contact_initial { + height: 4.6rem; + width: 4.6rem; + font-size: 2.4rem; + border-radius: 4rem; + margin-top: 3rem; + margin-bottom: 0.5rem; + } + #contact_name { + margin: 0.6rem 1.5rem; + &::part(text) { + font-size: 1.2rem; + font-weight: 500; + } + } + .option { + .icon { + padding: 0; + width: 1.2rem; + background: none; + } + } +} +#warn_no_encryption, +.date-card, +.group-event-card { + padding: 0.4rem 0.6rem; + font-weight: 500; + font-size: 0.8rem; + background-color: rgba(var(--text-color), 0.04); + border-radius: 0.3rem; + color: rgba(var(--text-color), 0.8); + margin: 1rem 0; + justify-self: center; + align-self: center; + text-align: center; +} +.group-event-card { + font-size: 0.8rem; + font-weight: 400; +} +#warn_no_encryption { + background: rgb(255, 253, 141); + color: #111; } .contact .initial::after, -.mail-card .initial::after{ - content: ''; - position: absolute; - bottom: -0.1rem; - right: -0.1rem; - height: 1rem; - width: 1rem; - background: var(--accent-color); - border-radius: 100%; - border: solid rgba(var(--foreground-color), 1) 1px; - transform: scale(0); - transition: transform 0.3s; +.mail-card .initial::after { + content: ""; + position: absolute; + bottom: -0.1rem; + right: -0.1rem; + height: 1rem; + width: 1rem; + background: var(--accent-color); + border-radius: 100%; + border: solid rgba(var(--foreground-color), 1) 1px; + transform: scale(0); + transition: transform 0.3s; } .contact.unread .initial::after, -.mail-card.unread .initial::after{ - transform: scale(1); +.mail-card.unread .initial::after { + transform: scale(1); } .mail-card.unread, -.contact.unread{ - .time, .date{ - color: var(--accent-color); - } - h4{ - color: rgba(var(--text-color), 1); - } - h4, h5 ,p{ - font-weight: 700; - } +.contact.unread { + .time, + .date { + color: var(--accent-color); + } + h4 { + color: rgba(var(--text-color), 1); + } + h4, + h5, + p { + font-weight: 700; + } } -.mail-card{ - position: relative; - display: grid; - gap: 0 1rem; - padding: 0.8rem 1.5rem; - align-items: center; - flex-shrink: 0; - user-select: none; - grid-template-columns: auto 1fr auto; - grid-template-areas: 'dp sender date' - 'dp subject subject' - 'dp desc desc' ; - .initial{ - grid-area: dp; - align-self: flex-start; - height: 2rem; - width: 2rem; - font-size: 1rem; - } - .sender{ - width: 100%; - font-size: 0.8rem; - font-weight: 500; - color: rgba(var(--text-color), 0.8); - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - .date{ - grid-area: date; - margin-left: auto; - font-weight: 500; - white-space: nowrap; - } - .subject{ - grid-area: subject; - font-size: 1em; - margin-top: 0.3rem; - font-weight: 500; - } - .description{ - grid-area: desc; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - font-size: 0.9em; - margin-top: 0.2rem; - color: rgba(var(--text-color), 0.8); - } -} -@keyframes slide{ - from{ - opacity: 0; - transform: translateX(-1rem); - } - to{ - opacity: 1; - transform: none; - } -} -#mail_container{ +.mail-card { + position: relative; + display: grid; + gap: 0 1rem; + padding: 0.8rem 1.5rem; + align-items: center; + flex-shrink: 0; + user-select: none; + grid-template-columns: auto 1fr auto; + grid-template-areas: + "dp sender date" + "dp subject subject" + "dp desc desc"; + .initial { + grid-area: dp; + align-self: flex-start; + height: 2rem; + width: 2rem; + font-size: 1rem; + } + .sender { width: 100%; + font-size: 0.8rem; + font-weight: 500; + color: rgba(var(--text-color), 0.8); + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + .date { + grid-area: date; + margin-left: auto; + font-weight: 500; + white-space: nowrap; + } + .subject { + grid-area: subject; + font-size: 1em; + margin-top: 0.3rem; + font-weight: 500; + } + .description { + grid-area: desc; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + font-size: 0.9em; + margin-top: 0.2rem; + color: rgba(var(--text-color), 0.8); + } } -.mail{ - position: relative; - &:not(:first-of-type){ - margin-top: 2rem; - padding-inline-start: 1rem; - } - &:not(:first-of-type)::before{ - content: ''; - position: absolute; - left: 0; - top: 0; - width: 0.2rem; - height: 100%; - background: rgba(var(--text-color), 0.2); - } - .mail-header{ - align-self: start; - margin-bottom: 1rem; - padding: 1.5rem; - } - .sender-name{ - font-weight: 500; - margin-bottom: 0.5rem; - } - .flo-id{ - font-weight: 400; - max-width: 90%; - } - .flex:first-of-type{ - margin-bottom: 1rem; - } - .back{ - margin: 0 0 0 -0.5rem; - } - .mail-subject, - .mail-content{ - padding: 0 1.5rem; - overflow-wrap: break-word; - word-wrap: break-word; - } - .mail-subject{ - margin-bottom: 0.4em; - } - .mail-content{ - height: max-content; - max-width: 60ch; - white-space: pre-wrap; - } +@keyframes slide { + from { + opacity: 0; + transform: translateX(-1rem); + } + to { + opacity: 1; + transform: none; + } } -.logo-section{ - display: grid; - grid-template-columns: auto 1fr; +#mail_container { + width: 100%; } -.option{ - display: flex; - align-items: center; - padding: 0.8rem 1.5rem; - user-select: none; - .icon{ - height: 1.4rem; - width: 1.4rem; - margin-right: 1rem; - stroke: rgba(255, 255, 255, 0.8); - } -} -#main_navbar{ - position: fixed; - flex-direction: column; - height: 100%; - bottom: 0; - top: 0; - padding: 0; - width: max(16rem, 60vw); - background: rgba(var(--foreground-color), 1); - .logo-section{ - padding: 0 1rem; - } - .active{ - background: var(--accent-color); - .icon{ - stroke: white; - } - .label{ - color: white; - } - } - .label{ - font-weight: 500; - font-size: 0.9rem; - } - .navbar-item{ - height: auto; - justify-content: flex-start; - flex-direction: row; - flex: none; - padding: 1rem; - .icon{ - height: 1.2rem; - width: 2.4rem; - margin-right: 0.8rem; - } - &:last-of-type{ - margin-top: auto; - } - .icon{ - height: 1.2rem; - width: 1.2rem; - } - &.badge::after{ - right: 0; - top: 0; - position: absolute; - content: attr(data-notifications); - display: flex; - justify-content: center; - align-items: center; - padding: 0.4rem; - line-height: 0; - height: calc(1em + 0.4rem); - background: #00C853; - color: rgba(var(--foreground-color), 1); - border-radius: 2rem; - transition: transform 0.3s; - } - &.badge.active::after, - &.badge[data-notifications="0"]::after, - &.badge[data-notifications=""]::after{ - transform: scale(0); - } - } -} -#auto_complete_contact{ - position: relative; - justify-content: flex-start; - padding-bottom: 0; -} -#mail_contact_list{ - max-height: 40vh; - overflow-y: auto; +.mail { + position: relative; + &:not(:first-of-type) { + margin-top: 2rem; + padding-inline-start: 1rem; + } + &:not(:first-of-type)::before { + content: ""; position: absolute; - top: 100%; - background: rgba(var(--foreground-color), 1); - z-index: 1; - border-radius: 0.4rem; - box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.5rem rgba(0, 0, 0, 0.16); + left: 0; + top: 0; + width: 0.2rem; + height: 100%; + background: rgba(var(--text-color), 0.2); + } + .mail-header { + align-self: start; + margin-bottom: 1rem; + padding: 1.5rem; + } + .sender-name { + font-weight: 500; + margin-bottom: 0.5rem; + } + .flo-id { + font-weight: 400; + max-width: 90%; + } + .flex:first-of-type { + margin-bottom: 1rem; + } + .back { + margin: 0 0 0 -0.5rem; + } + .mail-subject, + .mail-content { + padding: 0 1.5rem; + overflow-wrap: break-word; + word-wrap: break-word; + } + .mail-subject { + margin-bottom: 0.4em; + } + .mail-content { + height: max-content; + max-width: 60ch; + white-space: pre-wrap; + } +} +.logo-section { + display: grid; + grid-template-columns: auto 1fr; +} +.option { + display: flex; + align-items: center; + padding: 0.8rem 1.5rem; + user-select: none; + .icon { + height: 1.4rem; + width: 1.4rem; + margin-right: 1rem; + stroke: rgba(255, 255, 255, 0.8); + } +} +#main_navbar { + display: flex; + background: rgba(var(--text-color), 0.03); + &.hide-away { + position: absolute; + } + ul { + display: flex; + height: 100%; width: 100%; - .contact{ - grid-template-columns: auto 1fr; - grid-template-areas: 'dp .' 'dp .'; - } - sm-menu{ - display: none; + li { + width: 100%; } + } } -#contacts{ - position: relative; - overflow-x: hidden; - #all_contacts, - #group_creation_panel{ - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 1; - background: rgba(var(--foreground-color), 1); - .header{ - padding-top: 0.7rem; - } +.nav-item { + position: relative; + display: flex; + flex: 1; + width: 100%; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 0.5rem 0.3rem; + color: var(--text-color); + font-size: 0.8rem; + border-radius: 0.3rem; + font-weight: 500; + .icon { + transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); + } + &__title { + margin-top: 0.3rem; + transition: opacity 0.2s, + transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); + } + &--active { + color: var(--accent-color); + .icon { + fill: var(--accent-color); + transform: translateY(50%); } - .scrolling-wrapper{ - height: 100%; + .nav-item__title { + transform: translateY(100%); + opacity: 0; + } + } + &__indicator { + position: absolute; + bottom: 0; + width: 2rem; + height: 0.3rem; + background: var(--accent-color); + border-radius: 1rem 1rem 0 0; + z-index: 1; + } + &:last-of-type { + margin-top: auto; + } + &.badge::after { + right: 0; + top: 0; + position: absolute; + content: attr(data-notifications); + display: flex; + justify-content: center; + align-items: center; + padding: 0.4rem; + line-height: 0; + height: calc(1em + 0.4rem); + background: #00c853; + color: rgba(var(--foreground-color), 1); + border-radius: 2rem; + transition: transform 0.3s; + } + &.badge.active::after, + &.badge[data-notifications="0"]::after, + &.badge[data-notifications=""]::after { + transform: scale(0); + } +} +#auto_complete_contact { + position: relative; + justify-content: flex-start; + padding-bottom: 0; +} +#mail_contact_list { + max-height: 40vh; + overflow-y: auto; + position: absolute; + top: 100%; + background: rgba(var(--foreground-color), 1); + z-index: 1; + border-radius: 0.4rem; + box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), + 0 0.2rem 0.5rem rgba(0, 0, 0, 0.16); + width: 100%; + .contact { + grid-template-columns: auto 1fr; + grid-template-areas: "dp ." "dp ."; + } + sm-menu { + display: none; + } +} +#contacts { + position: relative; + overflow-x: hidden; + .scrolling-wrapper { + height: 100%; + flex: 1; + overflow-y: auto; + .empty-state { + padding: 1.5rem; + text-align: center; + } + } + #contacts_container { + padding-bottom: 1.5rem; + &::before { + display: flex; + content: "Contacts"; + font-size: 0.9em; + color: rgba(var(--text-color), 0.9); + padding: 1rem 1.5rem; + } + } +} +#group_creation_panel { + .group-icon { + background: var(--accent-color); + justify-self: center; + height: 8rem; + width: 8rem; + margin-bottom: 1rem; + padding: 2rem; + border-radius: 50%; + font-size: 4rem; + } +} +#contacts, +#mails { + position: relative; + grid-template-rows: max-content 1fr; +} +#contacts, +#mails, +#settings_page { + height: 100vh; + overflow-y: hidden; + .header { + padding: 1rem 1.5rem 1rem 1.5rem; + position: relative; + gap: 0.5rem; + min-height: 4rem; + .expanding-search { + position: absolute; + width: 100%; + padding: 0.7rem 1.5rem; + background: rgba(var(--foreground-color), 1); + transform: scale(0.9); + opacity: 0; + pointer-events: none; + transition: opacity 0.3s, transform 0.3s; + &.expand { + transform: none; + opacity: 1; + pointer-events: all; + } + } + sm-input { + margin: 0; + width: 100%; + --padding: 0.5rem 1rem; + } + h4 { + text-transform: capitalize; + font-weight: 500; + } + .icon { + -webkit-tap-highlight-color: transparent; + margin-right: 1rem; + } + .flex { + h4 { flex: 1; - overflow-y: auto; - .empty-state{ - padding: 1.5rem; - text-align: center; - } + } + .icon { + height: 2.2rem; + width: 2.2rem; + padding: 0.6rem; + margin-left: -0.4rem; + cursor: pointer; + } + sm-menu { + margin-right: -0.7rem; + } } - #contacts_container{ - padding-bottom: 1.5rem; - &::before{ - display: flex; - content: 'Contacts'; - font-size: 0.9em; - color: rgba(var(--text-color), 0.9); - padding: 1rem 1.5rem; - } - } -} -#group_creation_panel{ - .grid{ - padding: 1.5rem; - gap: 1rem; - } - .group-icon{ - background: var(--accent-color); - justify-self: center; - height: 8rem; - width: 8rem; - margin-bottom: 1rem; - padding: 2rem; - border-radius: 50%; - font-size: 4rem; - } -} -#contacts, #mails{ - position: relative; - grid-template-rows: max-content 1fr; -} -#contacts, #mails, #settings_page{ - height: 100vh; - overflow-y: hidden; - .header{ - padding: 1rem 1.5rem 1rem 1.5rem; - position: relative; - gap: 0.5rem; - min-height: 4rem; - .expanding-search{ - position: absolute; - width: 100%; - padding: 0.7rem 1.5rem; - background: rgba(var(--foreground-color), 1); - transform: scale(0.9); - opacity: 0; - pointer-events: none; - transition: opacity 0.3s, transform 0.3s; - &.expand{ - transform: none; - opacity: 1; - pointer-events: all; - } - } - sm-input{ - margin: 0; - width: 100%; - --padding: 0.5rem 1rem; - } - h4{ - text-transform: capitalize; - font-weight: 500; - } - .icon{ - -webkit-tap-highlight-color: transparent; - margin-right: 1rem; - } - .flex{ - .hamburger-menu-button{ - -webkit-tap-highlight-color: transparent; - margin-right: 1rem; - } - h4{ - flex: 1; - } - .icon{ - height: 2.2rem; - width: 2.2rem; - padding: 0.6rem; - margin-left: -0.4rem; - cursor: pointer; - } - sm-menu{ - margin-right: -0.7rem; - } - } - sm-button{ - margin: 0; - .icon{ - height: 0.9rem; - width: 0.9rem; - align-self: center; - stroke-width: 8; - margin-left: 0; - margin-right: 0.5rem; - } - } + sm-button { + margin: 0; + .icon { + height: 0.9rem; + width: 0.9rem; + align-self: center; + stroke-width: 8; + margin-left: 0; + margin-right: 0.5rem; + } } + } } #chat_page, #mail_page, -#settings_page{ - align-items: flex-start; - width: 100%; - height: 100%; +#settings_page { + align-items: flex-start; + width: 100%; + height: 100%; } -#chat_page{ - overflow: hidden; +#chat_page { + overflow: hidden; } #chat_left, -#chat_details_panel{ - position: relative; - display: flex; - flex-direction: column; - height: 100%; - overflow-y: auto; +#chat_details_panel { + position: relative; + display: flex; + flex-direction: column; + height: 100%; + overflow-y: auto; } -#chat_details_panel{ +#chat_details_panel { + background: rgba(var(--text-color), 0.04); + padding-bottom: 1.5rem; + .card { + margin: 0 1rem; + padding: 1.5rem 1rem; + border-radius: 0.8rem; background: rgba(var(--text-color), 0.04); + &:not(:last-of-type) { + margin-bottom: 1rem; + } + .h4 { + font-weight: 400; + font-size: 0.9rem; + color: rgba(var(--text-color), 0.8); + margin-bottom: 0.5rem; + } + & > .flex { + margin-bottom: 1rem; + .h4 { + margin-bottom: 0; + } + } + .tip { + margin-bottom: 0.5rem; + } + .danger:not(:last-of-type) { + margin-bottom: 1rem; + } + } + header { + position: sticky; + top: 0; + padding: 1rem; + min-height: 4rem; + background-color: rgba(var(--foreground-color), 0.8); + z-index: 1; + .icon { + height: 2.3rem; + width: 2.3rem; + padding: 0.7rem; + cursor: pointer; + } + } + .contact { + padding: 0.5rem 0; + } + #chat_profile { + display: grid; + place-items: center; + margin-top: 5.5rem; padding-bottom: 1.5rem; - .card{ - margin: 0 1rem; - padding: 1.5rem 1rem; - border-radius: 0.8rem; - background: rgba(var(--text-color), 0.04); - &:not(:last-of-type){ - margin-bottom: 1rem; - } - .h4{ - font-weight: 400; - font-size: 0.9rem; - color: rgba(var(--text-color), 0.8); - margin-bottom: 0.5rem; - } - & > .flex{ - margin-bottom: 1rem; - .h4{ - margin-bottom: 0; - } - } - .tip{ - margin-bottom: 0.5rem; - } - .danger:not(:last-of-type){ - margin-bottom: 1rem; - } + .initial { + margin-top: -5.5rem; + margin-bottom: 1rem; + height: 8rem; + width: 8rem; + border-radius: 50%; + font-size: 4rem; + .icon { + height: 4rem; + width: 4rem; + } } - header{ - position: sticky; - top: 0; - padding: 1rem; - min-height: 4rem; - background-color: rgba(var(--foreground-color), 0.8); - z-index: 1; - .icon{ - height: 2.3rem; - width: 2.3rem; - padding: 0.7rem; - cursor: pointer; - } + #chat_name { + font-weight: 500; + font-size: 1.2rem; } - .contact{ - padding: 0.5rem 0; - } - #chat_profile{ - display: grid; - place-items: center; - margin-top: 5.5rem; - padding-bottom: 1.5rem; - .initial{ - margin-top: -5.5rem; - margin-bottom: 1rem; - height: 8rem; - width: 8rem; - border-radius: 50%; - font-size: 4rem; - .icon{ - height: 4rem; - width: 4rem; - } - } - #chat_name{ - font-weight: 500; - font-size: 1.2rem; - } - #last_interaction_time{ - color: rgba(var(--text-color), 0.7); - font-size: 0.9rem; - margin-top: 0.5rem; - } - } - .copy{ - font-weight: 400; + #last_interaction_time { + color: rgba(var(--text-color), 0.7); + font-size: 0.9rem; + margin-top: 0.5rem; } + } + .copy { + font-weight: 400; + } } -#group_members_list{ - max-height: 50vh; - overflow-y: auto; +#group_members_list { + max-height: 50vh; + overflow-y: auto; } -#chat{ - position: relative; - grid-template-columns: 1fr; +#chat { + position: relative; + grid-template-columns: 1fr; } -.message{ - position: relative; +.message { + position: relative; + display: flex; + flex-wrap: wrap; + width: auto; + font-size: 0.92rem; + max-width: max-content; + margin-bottom: 0.2rem; + margin-top: 0.8rem; + padding: 0.6em 1em; + transition: opacity 0.3s, + transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + .sender-name { + font-size: 0.85rem; + font-weight: 500; + margin-bottom: 0.3rem; + } + .message-body { display: flex; + align-items: center; flex-wrap: wrap; - width: auto; - font-size: 0.92rem; - max-width: max-content; - margin-bottom: 0.2rem; - margin-top: 0.8rem; - padding: 0.6em 1em; - transition: opacity 0.3s, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); - .sender-name{ - font-size: 0.85rem; - font-weight: 500; - margin-bottom: 0.3rem; + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-all; + word-break: break-word; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; + white-space: pre-wrap; + line-height: 1.5; + a { + color: inherit; } - .message-body{ - display: flex; - align-items: center; - flex-wrap: wrap; - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-all; - word-break: break-word; - -moz-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; - white-space: pre-wrap; - line-height: 1.5; - a{ - color: inherit; - } - .text-emoji{ - align-self: center; - font-size: 1.4em; - letter-spacing: 0; - } + .text-emoji { + align-self: center; + font-size: 1.4em; + letter-spacing: 0; } - .time{ - white-space: nowrap; - font-size: 0.8em; - opacity: 0.8; - justify-self: flex-end; - padding-left: 1rem; - align-self: flex-end; - margin-top: 0.2rem; - margin-left: auto; - } -} -.sent{ + } + .time { + white-space: nowrap; + font-size: 0.8em; + opacity: 0.8; + justify-self: flex-end; + padding-left: 1rem; + align-self: flex-end; + margin-top: 0.2rem; margin-left: auto; - color: #efefef; - background: var(--accent-color); - border-radius: 0.8rem 0 0.8rem 0.8rem; - &::after{ - content: ''; - position: absolute; - left: 100%; - top: 0; - width: 0; - height: 0; - border-style: solid; - border-width: 0.5em 0.3em 0 0; - border-color: var(--accent-color) transparent transparent transparent; - } + } } -.received{ - margin-right: auto; - background: rgba(var(--text-color), 0.1); - border-radius: 0 0.8rem 0.8rem 0.8rem; - &::after{ - content: ''; - position: absolute; - left: -0.5em; - top: 0; - width: 0; - height: 0; - border-style: solid; - border-width: 0 0.5em 0.5em 0; - border-color: transparent rgba(var(--text-color), 0.1) transparent transparent; - } +.sent { + margin-left: auto; + color: #efefef; + background: var(--accent-color); + border-radius: 0.8rem 0 0.8rem 0.8rem; + &::after { + content: ""; + position: absolute; + left: 100%; + top: 0; + width: 0; + height: 0; + border-style: solid; + border-width: 0.5em 0.3em 0 0; + border-color: var(--accent-color) transparent transparent transparent; + } +} +.received { + margin-right: auto; + background: rgba(var(--text-color), 0.1); + border-radius: 0 0.8rem 0.8rem 0.8rem; + &::after { + content: ""; + position: absolute; + left: -0.5em; + top: 0; + width: 0; + height: 0; + border-style: solid; + border-width: 0 0.5em 0.5em 0; + border-color: transparent rgba(var(--text-color), 0.1) transparent + transparent; + } } .sent + .sent, -.received + .received{ - margin-top: 0; +.received + .received { + margin-top: 0; } .sent + .sent::after, -.received + .received::after{ - display: none; +.received + .received::after { + display: none; } .sent + .sent, -.received + .received{ - border-radius: 0.8rem; +.received + .received { + border-radius: 0.8rem; } -.distinct-sender{ - display: grid; - border-radius: 0 0.8rem 0.8rem 0.8rem !important; - margin-top: 0.8rem !important; - &::after{ - display: flex !important; - content: ''; - position: absolute; - left: -0.5em; - top: 0; - width: 0; - height: 0; - border-style: solid; - border-width: 0 0.5em 0.5em 0; - border-color: transparent rgba(var(--text-color), 0.1) transparent transparent; - } -} -.unconfirmed{ - opacity: 0.7; - transform-origin: left; - animation: pop .3s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275); -} -@keyframes pop{ - 0%{ - transform: rotate(5deg) translate(-0.5rem, 1rem) - } - 100%{ - transform: rotate(0) translate(0, 0) - } -} -#chat_header{ - padding: 0 1rem; - min-height: 4rem; - grid-template-columns: 1fr auto; - .flex{ - height: 100%; - } - .back-button{ - height: 2rem; - width: 2rem; - padding: 0.5rem; - stroke-width: 8; - margin-right: 0.5rem; - stroke: rgba(var(--text-color), 0.8); - } - .initial{ - cursor: pointer; - margin-right: 1rem; - height: 2.2rem; - width: 2.2rem; - flex-shrink: 0; - } - #receiver_name{ - font-weight: 500; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } -} -#scroll_to_bottom{ +.distinct-sender { + display: grid; + border-radius: 0 0.8rem 0.8rem 0.8rem !important; + margin-top: 0.8rem !important; + &::after { + display: flex !important; + content: ""; position: absolute; - display: flex; - right: 0; - bottom: 4rem; - border-radius: 4rem; - z-index: 1; - aspect-ratio: 1/1; - margin: 1.5rem; - cursor: pointer; - transform: scale(0); - transition: transform 0.3s; - &.new-message::after{ - position: absolute; - content: ''; - top: 0; - right: 0; - z-index: 2; - padding: 0.5rem; - border-radius: 50%; - background: #00E676; - } - .icon{ - width: 2.6rem; - height: 2.6rem; - padding: 0.9rem; - stroke-width: 8; - } + left: -0.5em; + top: 0; + width: 0; + height: 0; + border-style: solid; + border-width: 0 0.5em 0.5em 0; + border-color: transparent rgba(var(--text-color), 0.1) transparent + transparent; + } } -#chat_footer{ - .flex{ - align-items: flex-end; - padding: 0.5rem 1rem 0.5rem 0.5rem; - } - sm-textarea{ - --padding-right: 3rem; - --border-radius: 0.5rem; - } +.unconfirmed { + opacity: 0.7; + transform-origin: left; + animation: pop 0.3s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275); } -#emoji_toggle{ - align-self: center; - padding: 0.6rem; +@keyframes pop { + 0% { + transform: rotate(5deg) translate(-0.5rem, 1rem); + } + 100% { + transform: rotate(0) translate(0, 0); + } +} +#chat_header { + padding: 0 1rem; + min-height: 4rem; + grid-template-columns: 1fr auto; + .flex { + height: 100%; + } + .back-button { + height: 2rem; + width: 2rem; + padding: 0.5rem; + stroke-width: 8; margin-right: 0.5rem; + stroke: rgba(var(--text-color), 0.8); + } + .initial { + cursor: pointer; + margin-right: 1rem; + height: 2.2rem; + width: 2.2rem; + flex-shrink: 0; + } + #receiver_name { + font-weight: 500; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } +} +#scroll_to_bottom { + position: absolute; + display: flex; + right: 0; + bottom: 4rem; + border-radius: 4rem; + z-index: 1; + aspect-ratio: 1/1; + margin: 1.5rem; + cursor: pointer; + transform: scale(0); + transition: transform 0.3s; + &.new-message::after { + position: absolute; + content: ""; + top: 0; + right: 0; + z-index: 2; + padding: 0.5rem; + border-radius: 50%; + background: #00e676; + } + .icon { width: 2.6rem; height: 2.6rem; - border-radius: 2rem; - cursor: pointer; - path{ - fill: rgba(var(--text-color), 0.5); - } - &.active path{ - fill: var(--accent-color); - } + padding: 0.9rem; + stroke-width: 8; + } } -#send_message_button{ - position: absolute; - right: 1.5rem; - transform: scale(0); - opacity: 0; - pointer-events: none; - z-index: 1; - align-self: center; - height: 2.4rem; - width: 2.4rem; - padding: 0.5rem; - cursor: pointer; - stroke: none; - fill: rgba(var(--text-color), 0.4); - margin-left: 1rem; - transition: 0.3s; - &.active{ - opacity: 1; - fill: var(--accent-color); - transform: none; - pointer-events: all; - } +#chat_footer { + .flex { + align-items: flex-end; + padding: 0.5rem 1rem 0.5rem 0.5rem; + } + sm-textarea { + --padding-right: 3rem; + --border-radius: 0.5rem; + } } -#type_message{ - margin: 0; +#emoji_toggle { + align-self: center; + padding: 0.6rem; + margin-right: 0.5rem; + width: 2.6rem; + height: 2.6rem; + border-radius: 2rem; + cursor: pointer; + path { + fill: rgba(var(--text-color), 0.5); + } + &.active path { + fill: var(--accent-color); + } } -.big-emoji{ - flex-direction: column; - .message-body{ - justify-content: center; - font-size: 2.6rem; - } - .text-emoji{ - font-size: 2.6rem !important; - } +#send_message_button { + position: absolute; + right: 1.5rem; + transform: scale(0); + opacity: 0; + pointer-events: none; + z-index: 1; + align-self: center; + height: 2.4rem; + width: 2.4rem; + padding: 0.5rem; + cursor: pointer; + stroke: none; + fill: rgba(var(--text-color), 0.4); + margin-left: 1rem; + transition: 0.3s; + &.active { + opacity: 1; + fill: var(--accent-color); + transform: none; + pointer-events: all; + } } -#chat_middle{ - flex: 1; - padding: 0 1rem; +#type_message { + margin: 0; } -#emoji_picker{ - --background: rgba(var(--text-color), 0.06); - --border-size: 0; - --input-border-color: none; - --input-padding: 0.4rem 1rem; - --outline-color: var(--accent-color); - --input-font-color: var(--text-color); - --input-placeholder-color: rgba(var(--text-color), 0.6); - --indicator-color: var(--accent-color); - --button-hover-background: rgba(var(--text-color), 0.2); - user-select: none; - width: 100%; - max-height: 40vh; -} -.emoji{ - font-size: 1.6rem; - cursor: pointer; - padding: 0.4rem; - border-radius: 0.6rem; - user-select: none; - text-align: center; -} -#new_conversation, #no_mails{ - height: 100%; +.big-emoji { + flex-direction: column; + .message-body { justify-content: center; - text-align: center; - padding: 1.5rem; - p{ - margin-top: 0.8rem; - } + font-size: 2.6rem; + } + .text-emoji { + font-size: 2.6rem !important; + } } -#no_mails{ - .new-conversation{ - height: 7rem; - margin-bottom: 1rem; - } +#chat_middle { + flex: 1; + padding: 0 1rem; } -.new-conversation{ - height: 8rem; - width: 8rem; - align-self: center; - stroke-width: 16; - stroke: rgba(var(--text-color), 0.4); +#emoji_picker { + --background: rgba(var(--text-color), 0.06); + --border-size: 0; + --input-border-color: none; + --input-padding: 0.4rem 1rem; + --outline-color: var(--accent-color); + --input-font-color: rgba(var(--text-color), 1); + --input-placeholder-color: rgba(var(--text-color), 0.6); + --indicator-color: var(--accent-color); + --button-hover-background: rgba(var(--text-color), 0.2); + user-select: none; + width: 100%; + max-height: 40vh; +} +.emoji { + font-size: 1.6rem; + cursor: pointer; + padding: 0.4rem; + border-radius: 0.6rem; + user-select: none; + text-align: center; +} +#new_conversation, +#no_mails { + height: 100%; + justify-content: center; + text-align: center; + padding: 1.5rem; + p { + margin-top: 0.8rem; + } +} +#no_mails { + .new-conversation { + height: 7rem; + margin-bottom: 1rem; + } +} +.new-conversation { + height: 8rem; + width: 8rem; + align-self: center; + stroke-width: 16; + stroke: rgba(var(--text-color), 0.4); } #chat_middle, -#chat_container, +#chats_list, #inbox_mail_container, #sent_mail_container, -#mail{ - width: 100%; - flex-direction: column; - height: 100%; - overflow-y: auto; +#mail { + width: 100%; + flex-direction: column; + height: 100%; + overflow-y: auto; } -.observe-empty-state:empty{ - display: none; +.observe-empty-state:empty { + display: none; } -.observe-empty-state:not(:empty) ~ .empty-state{ - display: none; +.observe-empty-state:not(:empty) ~ .empty-state { + display: none; } -#chat_container{ - padding-bottom: 6rem; +#chats_list { + padding-bottom: 6rem; } -#contacts_popup{ - --body-padding: 0; - .popup-header{ - padding: 1.5rem; - } - .warning{ - padding: 0.5rem 1.5rem; - } +#contacts_popup { + --body-padding: 0; } -.mail-container{ - height: 100%; - flex-direction: column; - overflow-y: auto; +.mail-container { + height: 100%; + flex-direction: column; + overflow-y: auto; } #inbox_mail_container, -#sent_mail_container -{ - gap: 0.2rem; - padding-bottom: 6rem; +#sent_mail_container { + gap: 0.2rem; + padding-bottom: 6rem; } -.has-bg-image{ - .received, - .group-event-card, - .date-card{ - background: rgba(var(--foreground-color), 0.8); - } - .received::after{ - border-color: transparent rgba(var(--foreground-color), 0.6) transparent transparent; - } - #emoji_picker{ - --background: rgba(var(--foreground-color), 0.6); - } - #emoji_toggle{ - path{ - fill: rgba(var(--text-color), 0.8); - } - } - sm-textarea{ - --background: rgba(var(--foreground-color), 0.6); - } - #chat_details_panel{ - background: rgba(var(--foreground-color), 0.8); +.has-bg-image { + .received, + .group-event-card, + .date-card { + background: rgba(var(--foreground-color), 0.8); + } + .received::after { + border-color: transparent rgba(var(--foreground-color), 0.6) transparent + transparent; + } + #emoji_picker { + --background: rgba(var(--foreground-color), 0.6); + } + #emoji_toggle { + path { + fill: rgba(var(--text-color), 0.8); } + } + sm-textarea { + --background: rgba(var(--foreground-color), 0.6); + } + #chat_details_panel { + background: rgba(var(--foreground-color), 0.8); + } } -#mail{ - height: 100vh; - align-items: flex-start; - & > .flex{ - padding: 0 1.5rem; - margin-top: 2rem; - sm-button:first-of-type{ - margin-right: 0.5rem; - } +#mail { + height: 100vh; + align-items: flex-start; + & > .flex { + padding: 0 1.5rem; + margin-top: 2rem; + sm-button:first-of-type { + margin-right: 0.5rem; } + } } -#compose_mail_popup{ - sm-input{ - margin-bottom: 1rem; - } +#compose_mail_popup { + sm-input { + margin-bottom: 1rem; + } } -.sidebar-item{ - display: flex; - align-items: center; +.sidebar-item { + display: flex; + align-items: center; + padding: 1rem 1.5rem; + text-transform: capitalize; + font-weight: 500; + opacity: 0.9; + .icon { + margin-right: 1em; + width: 1em; + } +} +.back { + padding: 0.7rem; + height: 2.4rem; + width: 2.4rem; + margin-left: -0.5rem; + cursor: pointer; + stroke-width: 8; + opacity: 0.8; + -webkit-tap-highlight-color: transparent; + &:hover { + opacity: 1; + } +} +#settings_page { + #settings_sidebar header { padding: 1rem 1.5rem; + } + .flex sm-button { + margin: 0; + margin-left: 1rem; + } + sm-switch { + padding: 1rem 1.5rem; + display: flex; + margin-bottom: 1rem; + width: min(60ch, 100%); + .flex { + margin-right: 1rem; + } + h4 { + margin-bottom: 0.5rem; + } + } + sm-button { + width: 100%; + } + #settings_title { text-transform: capitalize; - font-weight: 500; - opacity: 0.9; - .icon{ - margin-right: 1em; - width: 1em; + } + #settings_sidebar { + height: 100%; + } + #settings_panel { + overflow-y: auto; + height: 100%; + } + section { + padding: 1rem 1.5rem; + width: min(60ch, 100%); + display: grid; + gap: 0.3rem; + sm-button { + margin-top: 0.5rem; + margin-bottom: 0; } -} -.back{ - padding: 0.7rem; - height: 2.4rem; - width: 2.4rem; - margin-left: -0.5rem; - cursor: pointer; - stroke-width: 8; - opacity: 0.8; - -webkit-tap-highlight-color: transparent; - &:hover{ - opacity: 1; + &:not(:last-of-type) { + margin-bottom: 1rem; } -} -#settings_page{ - #settings_sidebar header{ - padding: 1rem 1.5rem; - } - .flex sm-button{ - margin: 0; - margin-left: 1rem; - } - sm-switch{ - padding: 1rem 1.5rem; - display: flex; - margin-bottom: 1rem; - width: min(60ch, 100%); - .flex{ - margin-right: 1rem; - } - h4{ - margin-bottom: 0.5rem; - } - } - sm-button{ - width: 100%; - } - #settings_title{ - text-transform: capitalize; - } - #settings_sidebar{ - height: 100%; - } - #settings_panel{ - overflow-y: auto; - height: 100%; - } - section{ - padding: 1rem 1.5rem; - width: min(60ch, 100%); - display: grid; - gap: .3rem; - sm-button{ - margin-top: 0.5rem; - margin-bottom: 0; - } - &:not(:last-of-type){ - margin-bottom: 1rem; - } - } - #sign_out::part(button){ - color: var(--error-color); - } - color-grid{ - margin: 0.5rem 0 1.5rem 0; - width: min(60ch, 100%); - } - #chat_preview{ - margin-top: 1rem; - padding: 1rem; - border-radius: 0.5rem; - } - #bg_preview_container{ - padding: 1rem 0; - gap: 0.5rem; - flex-wrap: wrap; - } - .bg-preview{ - position: relative; - display: grid; - place-items: center; - height: 8rem; - width: 8rem; - cursor: pointer; - border-radius: 1rem; - overflow: hidden; - background: rgba(var(--text-color), 0.1); - &--selected::after{ - content: ''; - position: absolute; - height: 100%; - width: 100%; - box-shadow: 0 0 0 0.5rem rgba(var(--text-color), 0.8) inset; - } - } - .bg-preview__image{ - object-fit: cover; - height: 100%; - width: 100%; - } -} -#video_call_page{ + } + #sign_out::part(button) { + color: var(--error-color); + } + color-grid { + margin: 0.5rem 0 1.5rem 0; + width: min(60ch, 100%); + } + #chat_preview { + margin-top: 1rem; + padding: 1rem; + border-radius: 0.5rem; + } + #bg_preview_container { + padding: 1rem 0; + gap: 0.5rem; + flex-wrap: wrap; + } + .bg-preview { position: relative; display: grid; - video{ - position: fixed; - object-fit: cover; - object-position: center; - } -} -#their_video{ - height: 100%; -} -#my_video{ - width: max(20vh, 12rem); - bottom: 0; - right: 0; + place-items: center; + height: 8rem; + width: 8rem; + cursor: pointer; border-radius: 1rem; - border: solid; - margin: 1.5rem; + overflow: hidden; + background: rgba(var(--text-color), 0.1); + &--selected::after { + content: ""; + position: absolute; + height: 100%; + width: 100%; + box-shadow: 0 0 0 0.5rem rgba(var(--text-color), 0.8) inset; + } + } + .bg-preview__image { + object-fit: cover; + height: 100%; + width: 100%; + } } -#call_controls{ - padding: 1.5rem; - margin-top: auto; - justify-self: center; +@media screen and (max-width: 640px) { + sm-popup { + --border-radius: 1rem 1rem 0 0; + } + .hide-on-mobile { + position: fixed; + max-height: 0; + opacity: 0; + pointer-events: none; + } + #landing { + grid-template-areas: "illustration" "."; + align-items: flex-start; + .title-font { + font-size: 2rem; + font-weight: 500; + } + sm-button { + width: 100%; + display: flex; + width: 100% !important; + } + } + #landing_illustration { + grid-area: illustration; + } + .frame, + #sign_in { + form { + height: 100%; + } + .h2 { + margin-top: 3rem; + } + sm-button[variant="primary"] { + margin-top: auto; + } + } + #main_navbar { + &.hide-away { + bottom: 0; + left: 0; + right: 0; + } + } + #chats_list, + #contact_container { + gap: 0.2rem; + } + #chat { + .message { + width: auto; + max-width: 90%; + } + } + #chat_header { + grid-template-columns: auto 1fr auto; + } + #settings_page { + overflow-x: hidden; + #settings_header { + position: sticky; + top: 0; + z-index: 1; + padding: 1rem 1.5rem; + margin-bottom: 0.5rem; + background: rgba(var(--foreground-color), 1); + } + } } -#pick_up_call{ - color: #00C853; -} -.circular-button{ +@media screen and (min-width: 40rem) { + .hide-on-desktop { + display: none !important; + } + .page { + padding-bottom: 0; + } + .popup__header { + grid-column: 1/-1; + padding: 1rem 1.5rem 0 1.5rem; + } + .fab { + position: absolute; + } + .logo-section { + padding: 2rem 3rem 0 3rem; + margin: 0.5rem 0; + } + sm-popup { + --width: 24rem; + --min-width: 24rem; + --border-radius: 0.5rem; + } + #landing { align-items: center; - .filled{ - height: 3rem; - width: 3rem; + gap: 4vw; + grid-template-columns: 1fr 1fr; + padding: 0 4vw; + } + #sign_in { + width: 24rem; + } + #main_page { + grid-template-columns: min-content 1fr; + grid-template-rows: 1fr; + grid-template-areas: "nav ."; + border-radius: 0.8rem; + overflow: hidden; + box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), + 0 1rem 3rem rgba(0, 0, 0, 0.2); + } + #main_navbar { + grid-area: nav; + border-top: none; + flex-direction: column; + height: calc(100% - 1rem); + margin: 0.5rem; + border-radius: 0.5rem; + background-color: rgba(37 110 255/ 0.03); + ul { + flex-direction: column; + gap: 0.5rem; + padding: 0.3rem; + li:last-of-type { + margin-top: auto; + } + } + } + .nav-item { + aspect-ratio: 1/1; + &__indicator { + width: 0.25rem; + height: 50%; + left: 0; + border-radius: 0 1rem 1rem 0; + bottom: auto; + } + } + #add_contact_popup { + --min-width: 24rem; + } + #compose_mail_popup, + #reply_mail_popup { + --min-width: 36rem; + } + #emoji_picker { + max-height: 18rem; + } + #chat { + .message { + width: auto; + align-self: flex-start; + max-width: 55ch; + } + } + #chat_page, + #mail_page { + grid-template-columns: 20rem 1fr; + } + #settings_page { + display: grid; + height: 100vh; + grid-template-columns: 14rem 1fr; + sm-button { + width: max-content; + } + .active { + background: rgba(var(--text-color), 0.1); + } + .panel > *:first-of-type { + margin-top: 0.5rem; + } + } + .contact.active, + .mail-card.active { + background: rgba(var(--text-color), 0.06); + } + .card { + display: inline-flex; + width: auto; + } +} +@media only screen and (max-width: 1280px) { + .hide-on-medium { + display: none !important; + } +} +@media only screen and (min-width: 1080px) { + #chat { + #messages_container { + padding: 1rem 4rem; + } + } +} +@media only screen and (min-width: 1280px) { + #landing { + gap: 4vw; + padding: 0 8vw; + .title-font { + font-size: 3rem; + } + } + #chat_page, + #mail_page { + grid-template-columns: 23rem 1fr; + } + #chat_details_panel { + position: relative; + } + #chat { + &.expand-side-panel { + grid-template-columns: 1fr 24rem; + #messages_container { padding: 1rem; + } } - --padding: 0; - --border-radius: 50%; + } + #emoji_picker { + --num-columns: 16; + } + .contact.active, + .mail-card.active { + background: rgba(var(--text-color), 0.06); + } + .card { + display: inline-flex; + width: auto; + } } -@media screen and (max-width: 640px){ - sm-popup{ - --border-radius: 1rem 1rem 0 0; +@media (hover: hover) { + ::-webkit-scrollbar { + width: 0.5rem; + height: 0.5rem; + } + + ::-webkit-scrollbar-thumb { + background: rgba(var(--text-color), 0.3); + border-radius: 1rem; + &:hover { + background: rgba(var(--text-color), 0.5); } - .hide-on-mobile{ - position: fixed; - max-height: 0; - opacity: 0; - pointer-events: none; + } + .contact:hover, + .emoji:hover, + .option:hover { + cursor: pointer; + background: rgba(var(--text-color), 0.06); + } + .contact { + .menu { + opacity: 0; + transition: opacity 0.3s; } - #landing{ - grid-template-areas: 'illustration' '.'; - align-items: flex-start; - .title-font{ - font-size: 2rem; - font-weight: 500; - } - sm-button{ - width: 100%; - display: flex; - width: 100% !important; - } - } - #landing_illustration{ - grid-area: illustration; - } - .frame, - #sign_in{ - form{ - height: 100%; - } - .h2{ - margin-top: 3rem; - } - sm-button[variant="primary"]{ - margin-top: auto; - } - } - #main_navbar{ - transform: translateX(-110%); - transition: transform 0.3s; - z-index: 4; - box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3); - .logo-section{ - padding: 1rem; - } - } - #navbar_backdrop{ - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - background: rgba(0, 0, 0, 0.3); - z-index: 2; - transition: transform 0.3s, opacity 0.3s; - } - #chat_container, - #contact_container{ - gap: 0.2rem; - } - #chat{ - .message{ - width: auto; - max-width: 90%; - } - } - #chat_header{ - grid-template-columns: auto 1fr auto; - } - #settings_page{ - overflow-x: hidden; - #settings_header{ - position: sticky; - top: 0; - z-index: 1; - padding: 1rem 1.5rem; - margin-bottom: 0.5rem; - background: rgba(var(--foreground-color), 1); - } + } + .contact:hover { + .menu { + opacity: 1; } + } } -@media only screen and (min-width: 640px){ - .hide-on-desktop{ - display: none !important; - } - .page{ - padding-bottom: 0; - } - .popup-header{ - padding-top: 1.5rem; - } - .fab{ - position: absolute; - } - .logo-section{ - padding: 2rem 3rem 0 3rem; - margin: 0.5rem 0; - } - sm-popup{ - --width: 24rem; - --min-width: 24rem; - --border-radius: 0.5rem; - } - #landing{ - align-items: center; - gap: 4vw; - grid-template-columns: 1fr 1fr; - padding: 0 4vw; - } - #sign_in_page{ - place-content: center; - } - #sign_in{ - width: 24rem; - } - .frame{ - justify-content: center; - } - #main_navbar{ - position: relative; - width: auto; - padding-bottom: 0.5rem; - background: rgba(var(--text-color), 0.06); - .logo-section{ - display: flex; - justify-content: center; - margin: 1.5rem 0 2rem 0; - .main-logo{ - margin: 0; - } - } - .navbar-item{ - margin: 0 0.5rem; - border-radius: 0.8rem; - .icon{ - margin-right: 0; - } - } - .label{ - display: none; - } - } - #add_contact_popup{ - --min-width: 24rem; - } - #compose_mail_popup, - #reply_mail_popup{ - --min-width: 36rem; - } - #main_page{ - grid-template-columns: auto 1fr; - } - #emoji_picker{ - max-height: 18rem; - } - #chat{ - .message{ - width: auto; - align-self: flex-start; - max-width: 55ch; - } - } - #chat_page, #mail_page{ - grid-template-columns: 20rem 1fr; - } - #settings_page{ - display: grid; - height: 100vh; - grid-template-columns: 14rem 1fr; - sm-button{ - width: max-content; - } - .active{ - background: rgba(var(--text-color), 0.1); - } - .panel > *:first-of-type{ - margin-top: 0.5rem; - } - } - .contact.active, - .mail-card.active{ - background: rgba(var(--text-color), 0.06); - } - .card{ - display: inline-flex; - width: auto; - } +@media (hover: none) { + .contact-preview, + .contact, + .icon, + .option { + -webkit-tap-highlight-color: transparent; + } + .contact .menu { + display: none; + } } -@media only screen and (max-width: 1280px){ - .hide-on-medium{ - display: none !important; - } +@supports (overflow: overlay) { + body { + overflow: overlay; + } } -@media only screen and (min-width: 1080px){ - #chat{ - #messages_container{ - padding: 1rem 4rem; - } - } + +.hide { + display: none !important; } -@media only screen and (min-width: 1280px){ - #landing{ - gap: 4vw; - padding: 0 8vw; - .title-font{ - font-size: 3rem; - } - } - #chat_page, #mail_page{ - grid-template-columns: 23rem 1fr; - } - #chat_details_panel{ - position: relative; - } - #chat{ - &.expand-side-panel{ - grid-template-columns: 1fr 24rem; - #messages_container{ - padding: 1rem; - } - } - } - #emoji_picker{ - --num-columns: 16; - } - .contact.active, - .mail-card.active{ - background: rgba(var(--text-color), 0.06); - } - .card{ - display: inline-flex; - width: auto; - } -} -@media (hover: hover){ - ::-webkit-scrollbar{ - width: 0.5rem; - height: 0.5rem; - } - - ::-webkit-scrollbar-thumb{ - background: rgba(var(--text-color), 0.3); - border-radius: 1rem; - &:hover{ - background: rgba(var(--text-color), 0.5); - } - } - .navbar-item:hover, - .contact:hover, - .emoji:hover, - .option:hover{ - cursor: pointer; - background: rgba(var(--text-color), 0.06); - } - .contact{ - .menu{ - opacity: 0; - transition: opacity 0.3s; - } - } - .contact:hover{ - .menu{ - opacity: 1; - } - } -} -@media (hover: none){ - .contact-preview, - .contact, - .icon, - .option{ - -webkit-tap-highlight-color: transparent; - } - .contact .menu{ - display: none; - } -} \ No newline at end of file diff --git a/index.html b/index.html index 40423af..b180153 100644 --- a/index.html +++ b/index.html @@ -13,6 +13,7 @@ adminID: "FMRsefPydWznGWneLqi4ABeQAJeFvtS3aQ" } + @@ -22,21 +23,14 @@ - - -