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 @@
-
-
-