[ABANDONED] React/Redux front end for the Flexor social network.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

490 lines
7.4 KiB

@charset "utf-8";
@import "normalize.css";
@import url('https://fonts.googleapis.com/css?family=Quicksand:300,400,500,600,700&display=swap');
:root {
--default-border: 1px solid;
--default-font: 'Quicksand', sans-serif;
--input-padding: 0.5rem 0.75rem;
--content-width: 600px;
--menu-width: 270px;
}
html {
font-family: var(--default-font);
font-size: 16px;
font-weight: 300;
}
body, div, h1, h2, input, select, textarea, label, button, p.help, section, div.icon {
transition: color 1s;
}
input, select, textarea, button, div, div.content, div.menu, section, div.icon {
transition: background-color 1s, border-color 1s;
}
body {
font-family: var(--default-font);
margin: 0px;
padding: 0px;
}
input, textarea, select {
border: var(--default-border);
border-radius: 0;
box-sizing: border-box;
font-family: var(--default-font);
font-size: 0.9rem;
margin: 0px;
padding: var(--input-padding);
width: 100%;
}
select {
appearance: none;
background: url(../images/caret-down.svg) 98% / 2% no-repeat #ccc;
}
input[type="file"] {
display: none;
}
input[type="checkbox"] {
margin: 0.75rem 0px;
width: initial;
}
h1 {
font-size: 2rem;
margin: 0.5rem 0;
}
h2 {
font-size: 1.2rem;
}
h1 + h2 {
margin-top: -0.5rem;
}
a {
text-decoration: none;
}
hr {
border: 1px solid;
margin: 1rem 0px;
}
main {
bottom: 0;
display: flex;
justify-content: center;
left: 0;
padding: 0px;
position: absolute;
right: 0;
top: 0;
}
section {
padding: 1rem;
}
iframe {
border: none;
overflow: hidden;
width: 100%;
}
button, label.file-input {
border: none;
border-radius: 25px;
cursor: pointer;
font-family: var(--default-font);
font-size: 0.8rem;
font-weight: 700;
padding: 0.5rem 1rem;
min-width: 100px;
}
div.buttons {
display: flex;
justify-content: space-around;
}
div.logo-container {
padding-top: 1rem;
width: 60px;
}
div.logo {
--size: 40px;
--padding-top: 8px;
border-radius: 90px;
font-size: 20px;
font-weight: bold;
height: calc(var(--size) - var(--padding-top));
margin: 10px;
padding-top: var(--padding-top);
position: fixed;
text-align: center;
width: var(--size);
}
div.content-container {
width: var(--content-width);
}
div.content {
border-left: var(--default-border);
border-right: var(--default-border);
padding-bottom: 3rem;
}
div.menu-container {
margin: 0px;
padding: 0px;
width: var(--menu-width);
}
div.menu {
bottom: 0;
display: flex;
flex-direction: column;
margin: 0px;
position: fixed;
top: 0;
width: var(--menu-width);
}
div.menu > nav {
flex-grow: 1;
padding: 1rem;
}
div.menu > nav > div {
margin-bottom: 0.9rem;
}
div.spinner {
padding: 1rem;
text-align: center;
}
.icon {
display: inline-block;
margin-right: 5px;
}
footer {
font-size: 0.8rem;
padding: 0.9rem;
text-align: center;
}
table {
margin-top: 1rem;
width: 100%;
}
table tr:nth-child(even) {
background-color: transparent !important;
}
table td {
padding: 0.25rem;
}
span.tag {
border-radius: 10px;
display: inline-block;
font-size: 0.75rem;
padding: 5px;
}
div.tabs {
border-radius: 20px;
display: flex;
font-size: 1rem;
justify-content: space-around;
}
div.tabs > div {
padding: 0.5rem;
}
div.tabs > div.active {
border-bottom: 3px solid;
}
div.progress {
border: 1px solid;
height: 1rem;
margin: 1rem;
max-height: 100px;
min-height: 10px;
padding: 0px;
}
div.progress > div {
height: 100%;
}
div.field {
margin: 2rem 0px;
}
div.field label {
display: block;
font-weight: 700;
margin-bottom: 0.5rem;
}
div.field label.file-input, div.field label.checkbox {
display: inline-block;
}
div.control-container {
display: flex;
padding: 0.5rem 0px;
}
div.control-container > div.icon {
margin: 0px;
padding: var(--input-padding);
}
div.icon > svg {
vertical-align: middle;
}
div.control {
flex-grow: 1;
}
p.help {
font-size: 0.8rem;
margin-top: -0.25rem;
}
div.search {
padding: 10px;
text-align: center;
}
div.notification-container {
bottom: 10px;
position: fixed;
left: 10px;
width: 40%;
}
div.notification {
border-radius: 5px;
margin-bottom: 1rem;
}
div.notification > div {
padding: 1rem;
}
button.delete {
border: none;
margin: 0px;
min-width: 0px;
padding: 0px;
position: absolute;
right: 10px;
top: 3px;
}
nav.level {
display: flex;
justify-content: space-between;
}
nav.level > div {
text-align: center;
}
nav.level p.label {
font-size: 0.9rem;
font-weight: bold;
}
nav.level p.content {
font-size: 1.1rem;
}
p.label + p.content {
margin-top: -10px;
}
div.member {
margin-right: 10px;
min-width: 150px;
padding: 1rem;
}
div.composer-container {
border-top: var(--default-border);
border-bottom: var(--default-border);
}
div.composer-empty, div.composer-error {
font-size: 0.8rem;
text-align: center;
padding: 1.5rem;
}
div.installations {
display: flex;
padding: 0.5rem;
}
div.installations > div {
border-right: var(--default-border);
padding: 0.5rem;
text-align: center;
}
div.installations > div > p {
font-size: 0.6rem;
font-weight: bold;
margin: 0px;
padding: 0px;
}
div.user-info, div.group-info {
align-items: center;
display: flex;
}
div.user-info div.image, div.group-info, div.image {
margin-right: 10px;
}
div.user-info {
display: flex;
padding: 1.5rem 1rem;
}
div.user-info-unauthenticated {
padding: 1.5rem 1rem;
text-align: center;
}
div.group-info {
display: flex;
}
div.post {
border-top: var(--default-border);
border-bottom: var(--default-border);
margin: 1rem 0px;
}
div.post div.post-content {
padding: 1rem;
}
div.post div.cover {
cursor: pointer;
font-weight: bold;
padding: 2rem;
text-align: center;
}
div.post-info {
border-top: var(--default-border);
display: flex;
font-size: 0.8rem;
justify-content: space-between;
}
div.post-info > div {
padding: 0.8rem;
}
p.caption {
font-size: 0.75rem;
margin-top: -0.1rem;
}
div.user {
align-items: flex-start;
display: flex;
}
div.user div.group div.image {
display: inline-block;
margin-right: 5px;
vertical-align: sub;
}
div.theme-picker {
display: flex;
flex-wrap: wrap;
margin: 0.5rem 0px;
}
div.theme-picker > div {
--size: 25px;
border: 2px solid;
height: var(--size);
margin-bottom: 10px;
margin-right: 10px;
width: var(--size);
}
div.theme-picker + div {
font-size: 0.8rem;
font-weight: 700;
margin-top: -10px;
}
div.cover-image {
width: var(--content-width);
}
div.cover-image img {
width: var(--content-width);
}
div.header {
display: flex;
}
div.cover-image + div.header {
margin-top: -20px;
}
div.header img {
width: 128px;
}
div.list-item {
border-bottom: var(--default-border);
margin-bottom: 1rem;
padding: 1rem;
}
div.app-list-item, div.group-list-item {
display: flex;
margin: 1rem 0px;
padding: 1rem;
}
div.app-list-item p, div.group-list-item p {
font-size: 0.8rem;
padding: 0.5rem;
padding-top: 0px;
}
div.app-list-item img, div.group-list-item img {
width: 64px;
}