SolidScribe/client/src/assets/semantic-helper.css
Max b5ef64485f + Giant update to multiple users editing notes.
- Edits are done per DOM element, making diffs smaller and faster
- Multiple users can now edit the same note witheout it turning into a gaint mess
- Caret position is saved better and wont jump around as much

+ Removed Active sessions text
2023-07-30 04:18:17 +00:00

1004 lines
20 KiB
CSS

/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(./roboto-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: local('Roboto Bold'), local('Roboto-Bold'), url(./roboto-latin-bold.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body {
margin: 0;
padding: 0;
/* overflow-x: hidden;*/
min-width: 320px;
background: green;
font-family: 'Roboto', system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 14px;
line-height: 1.4285em;
color: rgba(0, 0, 0, 0.87);
position: relative;
}
:root {
/*main accent for all buttons, icons and logos*/
--main-accent: #21BA45;
/*theme colors */
--body_bg_color: #f5f6f7;
--small_element_bg_color: #fff;
--text_color: #3d3d3d;
--dark_border_color: #DFE1E6;
--border_color: #DFE1E6;
/* Global purple menu styles */
--menu-border: #534c68;
--menu-background: #221f2b;
/* edit menu styles, text, accent */
--menu-text: #5e6268;
--menu-accent: #cecece;
}
html {
/*scrollbar-width: none;*/
width: 100%;
height:100%;
padding: 0;
margin: 0;
background: var(--body_bg_color);
}
a:hover {
text-decoration: underline;
}
div.ui.basic.segment.no-fluf-segment {
margin-top: 0px;
}
.page-container {
/*width: 100%;*/
display: block;
margin: 0;
padding: 0.5rem;
box-sizing: border-box;
overflow: hidden;
}
/* Night mode modifiers */
/*Make images sepia in night mode */
.night-mode img {
filter: grayscale(50%) brightness(80%) sepia(80%);
}
.night-mode i.green {
color: #877A61 !important;
}
.night-mode .green.label {
background-color: #877A61 !important;
border-color: #877A61 !important;
}
.night-mode .green.button {
background-color: #534428 !important;
}
/* OVERWRITE DEFAULT SEMANTIC STYLES FOR CUSTOM/NIGHT MODES*/
body {
color: var(--text_color);
background: none;
font-family: 'Roboto', 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
#app {
/* background: var(--body_bg_color);*/
}
.ui.segment {
color: var(--text_color);
background-color: var(--small_element_bg_color);
border-color: var(--dark_border_color);
}
.button-sub {
display: inline-block;
width: 100%;
font-size: 0.9em;
color: grey;
opacity: 0.9;
padding: 4px 0 0 0;
text-align: center;
}
.ui.form input:not([type]),
.ui.form input:not([type]):focus,
.ui.form textarea:not([type]),
.ui.form textarea:not([type]):focus {
color: var(--text_color);
background-color: var(--small_element_bg_color);
border-color: var(--dark_border_color);
}
.ui.form input[type="password"],
.ui.form input[type="text"],
.ui.input > input {
color: var(--text_color);
background-color: var(--small_element_bg_color);
border-color: var(--dark_border_color);
}
.ui.form input[type="password"]:focus, .ui.form input[type="password"]:active,
.ui.form input[type="text"]:focus, .ui.form input[type="text"]:active,
.ui.input > input:focus, .ui.input > input:active {
color: var(--text_color);
background-color: var(--small_element_bg_color);
border-color: var(--main-accent);
border-right-color: var(--main-accent) !important;
}
.ui.basic.label, .ui.header, .ui.header div.sub.header {
color: var(--text_color);
background-color: transparent;
border-color: var(--dark_border_color);
}
.ui.dividing.header {
border-bottom-color: var(--dark_border_color);
}
.ui.dividing.header > .sub.header {
color: var(--dark_border_color);
}
.ui.icon.input > i.icon {
color: var(--text_color);
}
div.ui.basic.green.label {
background-color: var(--small_element_bg_color) !important;
}
.ui.basic.button, .ui.basic.buttons .button {
background-color: var(--small_element_bg_color);
color: var(--text_color) !important;
border: 1px solid;
border-color: var(--dark_border_color) !important;
box-shadow: none;
}
.ui.basic.button:focus, .ui.basic.button:hover {
background-color: var(--small_element_bg_color) !important;
color: var(--text_color) !important;
box-shadow: none;
}
.ui.tabular.menu .item {
background-color: var(--small_element_bg_color) !important;
color: var(--text_color) !important;
}
.ui.tabular.menu .item.active {
background-color: var(--small_element_bg_color) !important;
color: var(--text_color) !important;
border-color: var(--dark_border_color) !important;
}
/*Overwrites for modifiable theme color */
i.green.icon.icon.icon.icon, i.green.icon.icon.icon.icon.icon {
color: var(--main-accent);
}
.button {
box-shadow: 2px 2px 4px -2px rgba(40, 40, 40, 0.89) !important;
transition: all 0.9s ease;
position: relative;
}
.button:hover {
box-shadow: 3px 2px 3px -2px rgba(40, 40, 40, 0.95) !important;
}
.button:active {
transform: translateY(1px);
}
.ui.green.buttons, .ui.green.button, .ui.green.button:hover {
background-color: var(--main-accent);
}
.ui.basic.green.button, .ui.basic.green.buttons .button:hover, .ui.basic.green.button:hover, .ui.basic.green.button:focus {
box-shadow: var(--main-accent) 0px 0px 0px 1px inset;
}
.ui.green.labels .label, .ui.ui.ui.green.label {
background-color: var(--main-accent);
border-color: var(--main-accent);
}
.ui.grid > .green.row, .ui.grid > .green.column, .ui.grid > .row > .green.column {
background-color: var(--main-accent);
}
.ui.green.header {
color: var(--main-accent);
}
/* OVERWRITE DEFAULT SEMANTIC STYLES FOR CUSTOM/NIGHT MODES*/
/*//
// Purple Global Menu
//*/
.note-menu {
width: 100%;
/*display: block;*/
display: inline-table;
background: var(--menu-background);
color: white;
/*overflow: hidden;*/
border: 1px solid var(--menu-border);
/*height: 50px;*/
}
.note-menu > .nm-button {
padding: 10px 15px;
cursor: pointer;
text-align: center;
box-sizing: border-box;
font-size: 1.2em;
vertical-align: middle;
/*height: 40px;*/
display: table-cell;
position: relative;
}
.nm-button i.icon {
margin: 0;
}
.nm-button span {
font-size: 0.9em;
}
.nm-button.right {
float: right;
border-left: 1px solid var(--menu-border);
}
.nm-button:hover {
background-color: #534c68;
color: white;
}
.nm-button + .nm-button {
border-left: 1px solid #534c68;
}
/*.shrink-icons-on-mobile.note-menu span {
display: none;
}*/
/* Shrink button text for mobile */
@media only screen and (max-width: 740px) {
.note-menu > .nm-button {
font-size: 1.4em;
padding: 10px 1px;
min-width: 40px;
}
.note-menu .nm-button span {
font-size: 0.7em;
line-height: 0.4em;
margin-left: 0;
}
.nm-button i.icon {
width: 100%;
}
/*prevents buttons from being jammed into corners of round phones*/
.shrink-icons-on-mobile.note-menu {
padding: 0 20px;
}
.shrink-icons-on-mobile .nm-button {
padding: 2px 3px;
}
.shrink-icons-on-mobile .nm-button i.icon {
font-size: 0.7em;
}
}
/*//
// Purple Global Menu
//*/
.note-status-indicator {
position: absolute;
width: 100px;
padding: 16px 0;
box-sizing: border-box;
text-align: center;
color: var(--text_color);
bottom: -13px;
right: -7px;
z-index: 100;
cursor: pointer;
}
.text-container {
max-width: 1000px;
display: block;
margin-left: auto;
margin-right: auto;
background-color: var(--small_element_bg_color) !important;
}
/* squire text styles */
.squire-box {
border: none;
/*height: calc(100% - 69px);*/
min-height: 300px;
background-color: var(--small_element_bg_color);
/*margin-bottom: 15px;*/
box-sizing: border-box;
padding: 10px 15px 10px;
/*background: transparent;*/
overflow: hidden;
font-size: 1.2em;
line-height: 1.8em;
word-wrap: break-word;
/*border-bottom: 1px solid #ccc;*/
scrollbar-width: none;
scrollbar-color: transparent transparent;
caret-color: var(--main-accent);
margin-left: auto;
margin-right: auto;
max-width: 1100px;
box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.squire-box::selection,
.squire-box::-moz-selection {
background: #cce2ffa6;
color: inherit;
}
/*Makes the first line real big */
.squire-box:focus {
outline: none;
}
.squire-box span.size {
line-height: 1.3em;
}
.squire-box a {
cursor: pointer;
}
.night-mode .note-card-text i:not(.icon),
.night-mode .squire-box i:not(.icon) {
background-color: rgba(255, 255, 255, 0.2);
}
.note-card-text code,
.squire-box code,
.note-card-text pre,
.squire-box pre {
/*word-wrap: break-word;*/
display: inline-block;
border-left: 2px solid var(--main-accent);
padding-left: 15px;
}
.note-card-text p,
.squire-box p {
margin-bottom: 0;
line-height: 1.5em;
}
.note-card-text blockquote,
.squire-box blockquote {
margin: 0;
padding: 0 0 0 2.5em;
}
.note-card-text u,
.squire-box u {
text-decoration-color: var(--main-accent);
}
.note-card-text img {
max-width:100%;
height: auto;
max-height: 200px;
margin: 10px 0 0;
}
.squire-box img {
max-width:100%;
height: auto;
}
.note-card-text li > p,
.squire-box p,
.squire-box li > p {
margin-bottom: 0;
}
.note-card-text ol,
.squire-box ol,
.note-card-text ul,
.squire-box ul {
margin: 3px 0;
display: block;
}
/* Add border 1 indent level */
.note-card-text > ol > ol,
.squire-box > ol > ol,
.note-card-text > ul > ul,
.squire-box > ul > ul
{
border-left: 1px solid var(--border_color);
}
.note-card-text ol > ol,
.squire-box ol > ol,
.note-card-text ul > ul,
.squire-box ul > ul {
list-style-type: upper-alpha;
}
ol {
counter-reset: item;
}
ol li {
display: block;
}
ol li:before {
content: counters(item, ".") ".";
counter-increment: item;
padding-right: 10px;
}
.note-card-text ul > li,
.squire-box ul > li {
position: relative;
list-style-type: none;
}
.note-card-text ul > li:before,
.squire-box ul > li:before {
/*filled circle */
content: "\f111";
/*empty square*/
/*content: "\F0C8";*/
font-family: 'Icons';
/*font-family: 'outline-icons';*/
backface-visibility: hidden;
font-style: normal;
font-weight: normal;
text-decoration: inherit;
text-align: center;
font-size: 0.25em;
height: 100%;
width: 20px;
display: inline-block;
position: absolute;
left: -25px;
/*border: 2px solid #444;*/
/*border-radius: 4px;*/
bottom: 0;
top: 0;
cursor: pointer;
opacity: 0.7;
color: var(--text_color);
text-align: center;
}
/* filled in check circle */
ul > li.active:before {
font-family: 'Icons';
content: "\F14A";
color: var(--main-accent);
opacity: 1;
font-size: 1em;
}
/* hover - transparent icon */
.squire-box ul > li:hover:not(.active):before {
font-family: 'outline-icons';
content: "\f14a";
opacity: 0.4;
font-size: 1em;
}
.note-title-display-card .divide,
.squire-box .divide {
width: 100%;
display: inline-block;
height: 2px;
background-color: var(--main-accent);
}
table {
width: 100%;
border-collapse: collapse;
}
tr {
display: flex;
}
th, td {
border: 1px solid #ddd;
border-bottom: 1px solid #ddd;
font-weight: normal;
flex: 1;
}
/* table:hover th, table:hover td {
border: 1px solid black;
}*/
th, td {
padding: 3px;
text-align: left;
}
.table-tic-table {
}
.table-tic-table > div {
height: 21px;
margin: 0;
padding: 0;
}
.tabletic {
display: inline-block;
border: 1px solid black;
border-radius: 2px;
width: 20px;
height: 20px;
margin: 0 1px 1px 0;
cursor: pointer;
}
.t-table {
width: 100%;
display: inline-block;
border: 1px solid black;
}
.t-table > span,
.t-table > div {
display: flex; /* aligns all child elements (flex items) in a row */
}
.t-table > span > span,
.t-table > div > div {
flex: 1; /* distributes space on the line equally among items */
border: 1px solid #DDD;
}
/* adjust checkboxes for mobile. Make them a little bigger, easier to click */
@media only screen and (max-width: 740px) {
.ui.button.shrinking {
font-size: 0.85714286rem;
margin: 0 3px;
padding: 10px 7px !important;
}
.note-card-text ul > li,
.squire-box ul > li {
min-height: 30px;
}
/*empty check box*/
.note-card-text ul > li:before,
.squire-box ul > li:before,
.squire-box ul > li:hover:not(.active):before {
/*empty checkmark*/
/*font-family: 'Icons';*/
/*content: "\f058";*/
content: "\F0C8";
font-family: 'outline-icons';
left: -40px;
font-size: 1.4em;
opacity: 0.2;
}
/*Filled check box */
ul > li.active:before {
font-family: 'Icons';
content: "\F14A";
color: var(--main-accent);
opacity: 1;
}
/* Remove indent line on mobile */
.note-card-text > ol > ol,
.squire-box > ol > ol,
.note-card-text > ul > ul,
.squire-box > ul > ul
{
border-left: none;
}
}
.clickable {
cursor: pointer;
}
.relative {
position: relative;
}
.float-right {
float: right;
}
.ui.grid.reduced-padding > .column {
padding-left: 2px;
padding-right: 2px;
padding-top: 5px;
padding-bottom: 5px;
}
.textarea-height {
height: calc(100% - 90px);
}
.mobile-textarea-height {
height: 100%;
}
.ui.white.button {
background: #FFF;
}
.white.row {
background-color: rgba(255, 255, 255, 0.9);
}
.input-floating-button {
position: absolute;
top: 19px;
transform: translateY(-50%);
right: 1px;
}
.fade-in-fwd {
animation: fade-in-fwd 0.8s both;
}
/* div that comes up, blocking interaction annd requiring authentication */
.auth-block {
background-color: rgba(0,0,0,0.9);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
height: 100vh;
width: 100%;
z-index: 200;
}
.auth-block > div {
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -40%);
width: 300px;
}
/**
* ----------------------------------------
* animation fade-in-fwd
* ----------------------------------------
*/
@keyframes fade-in-fwd {
0% {
transform: translateZ(-80px);
opacity: 0;
}
100% {
transform: translateZ(0);
opacity: 1;
}
}
/*Fomantic Tooltips*/
/* Content */
[data-tooltip] {
position: relative;
}
/* Arrow */
[data-tooltip]:before {
pointer-events: none;
position: absolute;
content: '';
font-size: 1rem;
width: 10px;
height: 10px;
background: #1B1C1D;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 1901;
}
/* Popup */
[data-tooltip]:after {
min-width: 40px;
pointer-events: none;
content: attr(data-tooltip);
position: absolute;
text-transform: none;
text-align: center;
white-space: pre;
font-size: 1rem;
border: 1px solid #D4D4D5;
line-height: 1.4285em;
max-width: none;
background: #1B1C1D;
padding: 0.5em;
font-weight: normal;
font-style: normal;
/*color: var(--main-accent);*/
color: white;
border-radius: 0.28571429rem;
z-index: 1900;
}
/* Default Position (Top Center) */
[data-tooltip]:not([data-position]):before {
top: auto;
right: auto;
bottom: 100%;
left: 50%;
background: #1B1C1D;
margin-left: -0.07142857rem;
margin-bottom: 0.14285714rem;
}
[data-tooltip]:not([data-position]):after {
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: 100%;
margin-bottom: 0.5em;
}
/* Animation */
[data-tooltip]:before,
[data-tooltip]:after {
pointer-events: none;
visibility: hidden;
opacity: 0;
/*transition: opacity 0.2s ease;*/
}
[data-tooltip]:before {
-webkit-transform: rotate(45deg) scale(0) !important;
transform: rotate(45deg) scale(0) !important;
-webkit-transform-origin: center top;
transform-origin: center top;
}
[data-tooltip]:after {
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
}
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
visibility: visible;
pointer-events: auto;
opacity: 1;
}
[data-tooltip]:hover:before {
-webkit-transform: rotate(45deg) scale(1) !important;
transform: rotate(45deg) scale(1) !important;
}
/*--------------
Position
---------------*/
[data-position~="top"][data-tooltip]:before {
background: #1B1C1D;
}
/* Top Center */
[data-position="top center"][data-tooltip]:after {
top: auto;
right: auto;
left: 50%;
bottom: 100%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
margin-bottom: 0.5em;
}
[data-position="top center"][data-tooltip]:before {
top: auto;
right: auto;
bottom: 100%;
left: 50%;
background: #1B1C1D;
margin-left: -0.07142857rem;
margin-bottom: 0.14285714rem;
}
/* Top Left */
[data-position="top left"][data-tooltip]:after {
top: auto;
right: auto;
left: 0;
bottom: 100%;
margin-bottom: 0.5em;
}
[data-position="top left"][data-tooltip]:before {
top: auto;
right: auto;
bottom: 100%;
left: 1em;
margin-left: -0.07142857rem;
margin-bottom: 0.14285714rem;
}
/* Top Right */
[data-position="top right"][data-tooltip]:after {
top: auto;
left: auto;
right: 0;
bottom: 100%;
margin-bottom: 0.5em;
}
[data-position="top right"][data-tooltip]:before {
top: auto;
left: auto;
bottom: 100%;
right: 1em;
margin-left: -0.07142857rem;
margin-bottom: 0.14285714rem;
}
[data-position~="bottom"][data-tooltip]:before {
background: #1B1C1D;
-webkit-box-shadow: -1px -1px 0 0 #bababc;
box-shadow: -1px -1px 0 0 #bababc;
}
/* Bottom Center */
[data-position="bottom center"][data-tooltip]:after {
bottom: auto;
right: auto;
left: 50%;
top: 100%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
margin-top: 0.5em;
}
[data-position="bottom center"][data-tooltip]:before {
bottom: auto;
right: auto;
top: 100%;
left: 30%;
margin-left: -0.07142857rem;
margin-top: 0.14285714rem;
}
/* Bottom Left */
[data-position="bottom left"][data-tooltip]:after {
left: 0;
top: 100%;
margin-top: 0.5em;
}
[data-position="bottom left"][data-tooltip]:before {
bottom: auto;
right: auto;
top: 100%;
left: 1em;
margin-left: -0.07142857rem;
margin-top: 0.14285714rem;
}
/* Bottom Right */
[data-position="bottom right"][data-tooltip]:after {
right: 0;
top: 100%;
margin-top: 0.5em;
}
[data-position="bottom right"][data-tooltip]:before {
bottom: auto;
left: auto;
top: 100%;
right: 1em;
margin-left: -0.14285714rem;
margin-top: 0.07142857rem;
}
/* Left Center */
[data-position="left center"][data-tooltip]:after {
right: 100%;
top: 50%;
margin-right: 0.5em;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
[data-position="left center"][data-tooltip]:before {
right: 100%;
top: 50%;
margin-top: -0.14285714rem;
margin-right: -0.07142857rem;
background: #1B1C1D;
}
/* Right Center */
[data-position="right center"][data-tooltip]:after {
left: 100%;
top: 50%;
margin-left: 0.5em;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
[data-position="right center"][data-tooltip]:before {
left: 100%;
top: 50%;
margin-top: -0.07142857rem;
margin-left: 0.14285714rem;
background: #1B1C1D;
}
[data-position~="bottom"][data-tooltip]:before {
-webkit-transform-origin: center bottom;
transform-origin: center bottom;
}
[data-position~="bottom"][data-tooltip]:after {
-webkit-transform-origin: center top;
transform-origin: center top;
}
[data-position="left center"][data-tooltip]:before {
-webkit-transform-origin: top center;
transform-origin: top center;
}
[data-position="left center"][data-tooltip]:after {
-webkit-transform-origin: right center;
transform-origin: right center;
}
[data-position="right center"][data-tooltip]:before {
-webkit-transform-origin: right center;
transform-origin: right center;
}
[data-position="right center"][data-tooltip]:after {
-webkit-transform-origin: left center;
transform-origin: left center;
}
@media only screen and (max-width: 740px) {
/*hide tooltips on mobile*/
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
visibility: visible;
opacity: 0;
}
}
.glint:after {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 100%;
opacity: 0;
pointer-events: none;
z-index: 1;
background: linear-gradient(
130deg,
rgba(255,255,255,0) 45%,
rgba(255,255,255,1) 50%,
var(--main-accent) 55%,
rgba(255,255,255,0) 60%
);
animation: glint-animation 0.8s linear 1;
animation-delay: 0.9s;
}
@keyframes glint-animation {
0% {
left: -100%;
opacity: 1;
}
100% {
left: 100%;
opacity: 0;
}
}
.shade {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,0.7);
z-index: 1000;
}