peach-workspace/peach-web/static/css/peachcloud.css

1100 lines
18 KiB
CSS

@import url('_variables.css');
/* ------------------------------ *\
* peachcloud.css
*
* Index
* - ALIGNMENT
* - BODY
* - BUTTONS
* - CARDS
* - CAPSULES
* - CIRCLES
* - COLORS
* - GRIDS
* - HTML
* - FLASH MESSAGE
* - FONTS
* - FORMS
* - ICONS
* - INPUTS
* - LABELS
* - LINKS
* - LISTS
* - MAIN
* - METERS
* - NAVIGATION
* - PARAGRAPHS
* - SWITCHES / SLIDERS
* - TEXT
* - TITLES
*
\* ------------------------------ */
/*
* ALIGNMENT
*/
.center {
display: block;
margin-left: auto;
margin-right: auto;
}
.center-text {
text-align: center;
}
.center-vert {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.push-right {
margin-left: auto;
padding-right: 0;
}
.top-left {
/* place-self combines align-self and justify-self */
place-self: end center;
}
@media only screen and (min-width: 600px) {
.top-left {
place-self: end;
}
}
.top-right {
place-self: end center;
}
@media only screen and (min-width: 600px) {
.top-right {
place-self: end start;
}
}
.top-middle {
place-self: center;
}
@media only screen and (min-width: 600px) {
.top-middle {
padding-bottom: 2rem;
place-self: center;
}
}
.middle {
place-self: center;
grid-column-start: 1;
grid-column-end: 4;
}
.bottom-middle {
place-self: center;
}
@media only screen and (min-width: 600px) {
.bottom-middle {
padding-top: 2rem;
place-self: center;
}
}
.bottom-left {
place-self: start center;
}
@media only screen and (min-width: 600px) {
.bottom-left {
place-self: start end;
}
}
.bottom-right {
place-self: start center;
}
@media only screen and (min-width: 600px) {
.bottom-right {
place-self: start;
}
}
/*
* BODY
*/
body {
background-color: var(--background);
height: 100%;
display: flex;
flex-direction: column;
margin: 0;
}
/*
* BORDERS
*/
.border-circle-small {
border: 4px solid;
}
.border-settings {
border-color: var(--color-settings);
}
.border-ssb {
border-color: var(--color-ssb);
}
.border-status {
border-color: var(--color-status);
}
.border-primary {
border-color: var(--primary);
}
.border-success {
border-color: var(--success);
}
.border-info {
border-color: var(--info);
}
.border-warning {
border-color: var(--warning);
}
.border-danger {
border-color: var(--danger);
}
.border-dark-gray {
border-color: var(--dark-gray);
}
/*
* BUTTONS
*/
.button {
border: 1px solid var(--button-border);
border-radius: var(--border-radius-2);
/* Needed to render inputs & buttons of equal width */
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--button-text-color);
cursor: pointer;
padding: 10px;
text-align: center;
text-decoration: none;
font-size: var(--font-size-5);
font-family: var(--sans-serif);
/* width: 80%; */
width: 16rem;
margin-top: 5px;
margin-bottom: 5px;
}
.button.full-width {
width: 100%;
}
.button-div {
grid-column-start: 1;
grid-column-end: 4;
margin-bottom: 1rem;
}
.button-primary {
background-color: var(--button-background);
}
.button-primary:hover {
background-color: var(--primary);
color: var(--button-text-hover-color);
}
.button-primary:focus {
background-color: var(--primary);
color: var(--button-text-hover-color);
outline: none;
}
.button-secondary {
background-color: var(--button-background);
}
.button-secondary:hover {
background-color: var(--light-silver);
color: var(--button-text-hover-color);
}
.button-secondary:focus {
background-color: var(--light-silver);
color: var(--button-text-hover-color);
outline: none;
}
.button-warning {
background-color: var(--button-background);
}
.button-warning:hover {
background-color: var(--light-red);
color: var(--button-text-hover-color);
}
.button-warning:focus {
background-color: var(--light-red);
outline: none;
}
/*
* CAPSULES
*/
.capsule {
padding: 1rem;
border-style: solid;
border-radius: var(--border-radius-3);
background-color: var(--capsule-background);
/* margin-top: 1rem; */
/* margin-bottom: 1rem; */
}
.capsule-container {
margin-left: 1rem;
margin-right: 1rem;
padding-bottom: 1rem;
}
.capsule-profile {
margin-left: 1rem;
margin-right: 1rem;
}
@media only screen and (min-width: 600px) {
.capsule-profile {
margin-left: 0;
margin-right: 0;
}
}
@media only screen and (min-width: 600px) {
.capsule-container {
margin-left: 0;
margin-right: 0;
}
}
/*
* CARDS
*/
.card {
min-height: 50vh;
max-height: 90vh;
position: relative;
width: 100%;
margin-top: 1rem;
}
@media only screen and (min-width: 600px) {
.card {
min-height: 50vh;
max-height: 90vh;
width: 20rem;
}
}
@media only screen and (min-width: 600px) {
.card-wide {
width: 30rem;
}
}
.card-container {
justify-content: center;
padding: 0.5rem;
}
.form-container {
justify-content: center;
padding-top: 1rem;
padding-bottom: 1rem;
width: 80%;
margin: auto;
}
.text-container {
width: 80%;
margin: auto;
}
.card-text {
color: var(--text-color);
margin: 0;
font-size: var(--font-size-5);
padding-bottom: 0.5rem;
}
.container {
display: grid;
grid-template-columns: 2fr 5fr 2fr;
grid-template-rows: auto;
grid-row-gap: 1rem;
align-items: center;
justify-items: center;
margin-bottom: 1rem;
margin-top: 1rem;
}
/*
* CIRCLES
*/
.circle {
align-items: center;
background: var(--circle-background);
border-radius: 50%;
box-shadow: var(--box-shadow-3);
display: flex;
justify-content: center;
position: relative;
}
.circle-small {
height: 5rem;
width: 5rem;
}
.circle-small:hover {
background: var(--circle-small-hover-background);
}
.circle-small:focus {
background: var(--circle-small-hover-background);
outline: none;
}
.circle-medium {
height: 8rem;
width: 8rem;
}
.circle-large {
height: 13rem;
width: 13rem;
}
.circle-success {
background-color: var(--success);
color: var(--white);
font-size: var(--font-size-4);
}
.circle-warning {
background-color: var(--warning);
color: var(--white);
font-size: var(--font-size-4);
}
.circle-error {
background-color: var(--danger);
color: var(--white);
font-size: var(--font-size-4);
}
/* quartered-circle: circle for the center of radial-menu */
.quartered-circle {
width: 100px;
height: 100px;
}
.quarter {
width: 50%;
height: 50%;
}
.quarter-link {
left: 50%;
margin: -2em;
top: 50%;
}
.quarter-icon {
position: absolute;
bottom: 1em;
left: 1.5em;
}
/*
* COLORS
*/
.primary-bg {
background-color: var(--primary);
}
.secondary-bg {
background-color: var(--secondary);
}
.success-bg {
background-color: var(--success);
}
.info-bg {
background-color: var(--info);
}
.warning-bg {
background-color: var(--warning);
}
.danger-bg {
background-color: var(--danger);
}
.light-bg {
background-color: var(--light);
}
/*
* GRIDS
*/
.grid {
display: grid;
grid-template-columns: 2fr 1fr 2fr;
grid-template-rows: 2fr 1fr 2fr;
height: 80vh;
}
.flex-grid {
display: flex;
align-content: space-between;
align-items: baseline;
justify-content: center;
}
.two-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: auto;
align-items: center;
justify-content: center;
justify-items: center;
padding-bottom: 1rem;
/* margin-right: 2rem; */
/* margin-left: 2rem; */
/* padding-top: 1.5rem; */
}
.two-grid-top-right {
grid-column: 2;
justify-self: right;
padding: 0;
}
.three-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto;
grid-gap: 10px;
align-items: center;
justify-content: center;
}
.profile-grid {
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: auto;
grid-gap: 10px;
align-items: center;
justify-content: center;
justify-items: center;
margin-right: 2rem;
margin-left: 2rem;
padding-top: 1.5rem;
padding-bottom: 1rem;
}
.stack {
display: grid;
align-items: flex-end;
justify-items: center;
justify-content: center;
}
.three-grid-icon-1 {
align-self: center;
grid-column: 1;
grid-row: 1;
justify-self: center;
margin-bottom: 10px;
max-width: 55%;
text-align: center;
}
.three-grid-icon-2 {
align-self: center;
grid-column: 2;
grid-row: 1;
justify-self: center;
margin-bottom: 10px;
max-width: 55%;
text-align: center;
}
.three-grid-icon-3 {
align-self: center;
grid-column: 3;
grid-row: 1;
justify-self: center;
margin-bottom: 10px;
max-width: 55%;
text-align: center;
}
.three-grid-label-1 {
align-self: center;
grid-column: 1;
grid-row: 1;
justify-self: center;
text-align: center;
}
.three-grid-label-2 {
align-self: center;
grid-column: 2;
grid-row: 1;
justify-self: center;
text-align: center;
}
.three-grid-label-3 {
align-self: center;
grid-column: 3;
grid-row: 1;
justify-self: center;
text-align: center;
}
.grid-column-1 {
grid-column: 1;
}
.grid-column-2 {
grid-column: 2;
justify-self: left;
}
.grid-column-3 {
grid-column: 3;
}
/*
* HTML
*/
html {
height: 100%;
--background: var(--background);
--button-background: var(--button-background);
--button-border: var(--button-border);
--button-text-color: var(--text-color-normal);
--button-text-hover-color: var(--text-color-normal);
--circle-background: var(--circle-background);
--circle-small-hover-background: var(--circle-small-hover-background);
--icon-color: var(--icon-normal);
--list-background: var(--list-background);
--nav-icon-color: var(--nav-icon-color);
--text-color: var(--text-color-normal);
}
html[data-theme='dark'] {
--background: var(--background-dark);
--button-background: var(--button-background-dark);
--button-border: var(--button-border-dark);
--button-text-color: var(--text-color-light);
--button-text-hover-color: var(--text-color-normal);
--capsule-background: var(--capsule-background-dark);
--circle-background: var(--circle-background-dark);
--circle-small-hover-background: var(--circle-small-hover-background-dark);
--icon-color: var(--icon-light);
--list-background: var(--list-background-dark);
--nav-icon-color: var(--nav-icon-color-light);
--text-color: var(--text-color-light);
--text-color-gray: var(--text-color-light-gray);
}
/*
* FLASH MESSAGE
*/
.flash-message {
font-family: var(--sans-serif);
font-size: var(--font-size-6);
/*margin-left: 2rem;*/
/*margin-right: 2rem;*/
margin-top: 1rem;
width: 14rem;
}
/*
* FONTS
*/
.font-normal {
color: var(--text-color);
}
.font-near-black {
color: var(--near-black);
}
.font-gray {
color: var(--text-color-gray);
}
.font-light-gray {
/* color: var(--silver); */
color: var(--text-color-light-gray);
}
/*
* FORMS
*/
form {
width: 90%;
}
@media only screen and (min-width: 600px) {
form {
width: 100%;
}
}
/*
* ICONS
*/
.icon {
width: 3rem;
}
.icon-small {
width: 1rem;
}
.icon-medium {
width: 2rem;
}
.icon-large {
width: 5rem;
}
.icon-100 {
width: 100%;
}
/* icon-active: sets color of icon svg to near-black */
.icon-active {
filter: var(--icon-color);
}
/* icon-inactive: sets color of icon svg to gray */
.icon-inactive {
filter: var(--icon-gray);
}
/*
* INPUTS
*/
.input {
/* Needed to render inputs & buttons of equal width */
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
/* margin-top: 0.5rem; */
margin-bottom: 1rem;
padding-left: 5px;
line-height: 1.5rem;
width: 80%;
}
.form-input {
margin-bottom: 0;
margin-left: 0px;
border: 0px;
padding-left: 5px;
line-height: 1.5rem;
width: 100%;
}
.message-input {
height: 7rem;
margin-top: 0.5rem;
overflow: auto;
resize: vertical;
width: 100%;
}
.alert-input {
/* Needed to render inputs & buttons of equal width */
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin-right: 0.25rem;
padding-right: 0.25rem;
text-align: right;
width: 7rem;
}
.input-wrapper {
margin-bottom: 15px;
}
/*
* LABELS
*/
.label-small {
font-family: var(--sans-serif);
font-size: var(--font-size-7);
display: block;
margin-bottom: 2px;
}
.label-medium {
font-size: var(--font-size-3);
display: block;
}
.label-large {
font-size: var(--font-size-2);
display: block;
}
.label-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
/*width: 10rem;*/
}
.input-label {
margin-bottom: 0.4rem;
}
/*
* LINKS
*/
.link {
text-decoration: none;
color: var(--text-color);
}
.link:hover {
text-decoration: underline;
}
/*
* LISTS
*/
.list {
padding-left: 0;
width: 90%;
border: 1px solid var(--light-silver);
border-radius: var(--border-radius-2);
list-style-type: none;
font-family: var(--sans-serif);
}
@media only screen and (min-width: 600px) {
.list {
width: 100%;
max-width: var(--max-width-6);
}
}
.list-container {
width: var(--max-width-5);
}
.list-icon {
align-self: center;
justify-self: right;
grid-column: 2;
grid-row: 1/3;
}
.list-item {
background-color: var(--list-background);
display: grid;
padding: 1rem;
border-bottom-color: var(--light-silver);
border-bottom-style: solid;
border-bottom-width: 1px;
}
.list-text {
justify-self: left;
grid-column: 1;
grid-row: 1;
margin: 0;
font-size: var(--font-size-5);
}
.list-label {
justify-self: left;
grid-column: 1;
grid-row: 2;
}
/*
* MAIN
*/
main {
flex: 1 0 auto;
}
/*
* METERS
*/
meter {
border: 1px solid #ccc;
border-radius: 3px;
display: block;
/* height: 1rem; */
margin: 0 auto;
margin-bottom: 1rem;
width: 100%;
/* remove default styling */
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
/* Firefox */
background: none; /* remove default background */
background-color: var(--near-white);
box-shadow: 0 5px 5px -5px #333 inset;
}
meter::-webkit-meter-bar {
background: none; /* remove default background */
background-color: var(--near-white);
box-shadow: 0 5px 5px -5px #333 inset;
}
meter::-webkit-meter-optimum-value {
background-size: 100% 100%;
box-shadow: 0 5px 5px -5px #999 inset;
transition: width .5s;
}
/* Firefox styling */
meter::-moz-meter-bar {
background: var(--mid-gray);
background-size: 100% 100%;
box-shadow: 0 5px 5px -5px #999 inset;
}
.meter-gauge {
background-color: var(--near-white);
border: 1px solid #ccc;
border-radius: 3px;
box-shadow: 0 5px 5px -5px #333 inset;
display: block;
}
/* Chrome styling */
.meter-gauge > span {
background: var(--mid-gray);
background-size: 100% 100%;
box-shadow: 0 5px 5px -5px #999 inset;
display: block;
height: inherit;
text-indent: -9999px;
}
/*
* NAVIGATION
*/
.nav-bar {
display: flex;
align-items: center;
width: 100%;
height: 2em;
padding-top: 1rem;
padding-bottom: 1rem;
justify-content: space-between;
}
.nav-title {
color: var(--text-color);
font-family: var(--sans-serif);
font-size: var(--font-size-4);
font-weight: normal;
margin: 0;
}
.nav-icon {
width: auto;
height: 90%;
cursor: pointer;
}
.nav-icon-left {
float: left;
padding-left: 10px;
}
.nav-icon-right {
float: right;
padding-right: 10px;
}
.nav-item {
display: inline-block;
list-style-type: none;
}
/*
* PARAGRAPHS
*/
p {
font-family: var(--sans-serif);
overflow-wrap: anywhere;
}
/*
* SWITCHES / SLIDERS
*/
/* switch: the box around the slider */
.switch {
display: inline-block;
height: 34px;
position: relative;
width: 60px;
}
/* hide default HTML checkbox */
.switch input {
height: 0;
opacity: 0;
width: 0;
}
.switch-icon-left {
align-self: center;
grid-column: 1;
grid-row: 1;
justify-self: center;
}
.switch-icon-right {
align-self: center;
grid-column: 3;
grid-row: 1;
justify-self: center;
}
.slider {
background-color: var(--moon-gray);
bottom: 0;
cursor: pointer;
left: 0;
position: absolute;
right: 0;
top: 0;
transition: .4s;
-webkit-transition: .4s;
}
.slider:before {
background-color: var(--white);
bottom: 4px;
content: "";
height: 26px;
left: 4px;
position: absolute;
transition: .4s;
-webkit-transition: .4s;
width: 26px;
}
input:checked + .slider {
background-color: var(--near-black);
}
input:focus + .slider {
box-shadow: 0 0 1px var(--near-black);
}
input:checked + .slider:before {
-ms-transform: translateX(26px);
transform: translateX(26px);
-webkit-transform: translateX(26px);
}
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
/*
* TEXT
*/
.text-info {
color: var(--info);
}
.text-danger {
color: var(--danger);
}
.text-success {
color: var(--success);
}
.text-warning {
color: var(--warning);
}
/*
* TITLES
*/
.title-medium {
font-size: var(--font-size-4);
font-family: var(--sans-serif);
max-width: var(--max-width-6);
}