gluon/package/gluon-config-mode-theme/sass/gluon.scss
Jonas Hess 1dfff30d52
changed:
- border-radius, margin-and padding, use short-hands
- error-message: with padding & font-weight
- no bottom padding for fieldset.gluon-section
- rem and not em, min partial is 1/8
- duplicates removed
- responsive display optimized: flex-displays and margins
- definitions joined and encapsulated -> this is scss not only css!
- initial viewport-scale and -width
- break-word for long titles and values (pubkey!)
2022-01-30 04:25:01 +01:00

674 lines
9.9 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
ATTENTION: This file is not compiled when building gluon.
The compiled version is at ../files/lib/gluon/config-mode/www/static/gluon.css
Use sass like this to update it:
sass --sourcemap=none -C -t compressed sass/gluon.scss files/lib/gluon/config-mode/www/static/gluon.css
When commiting changes to this file make sure to commit the respective
changes to the compilid version within the same commit!
*/
@charset "utf-8";
$ffyellow: #ffb400;
$ffmagenta: #dc0067;
$ffzusatz: #009ee0;
$red: #ee3300;
@mixin button {
&::-moz-focus-inner {
padding: 0;
border: 0;
}
display: inline-block;
line-height: normal;
white-space: nowrap;
vertical-align: baseline;
text-align: center;
cursor: pointer;
user-select: none;
font-size: 100%;
padding: 0.5rem 1rem;
color: rgba(0, 0, 0, 0.80);
background-color: #E6E6E6;
border: none;
text-decoration: none;
border-radius: 2px;
/* Transitions */
transition: 0.1s linear box-shadow;
&:active {
box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
}
&:focus {
outline: 0;
}
&:hover, &:focus {
background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
}
&[disabled] {
border: none;
background-image: none;
opacity: 0.40;
cursor: not-allowed;
box-shadow: none;
}
}
html {
min-height: 100%;
height: auto;
position: relative;
}
body, input, select, option {
font: 12pt "Open Sans", Arial, sans-serif
}
body {
color: rgb(77, 78, 83);
line-height: 1.5rem;
margin: 0;
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f3f3f3;
}
.tabmenu1 {
text-align: center;
}
ul.tabmenu {
list-style: none;
padding: 0;
margin: 2rem 0 0;
display: block;
li {
white-space: nowrap;
margin: 0 0.5rem;
padding: 0;
text-align: center;
a {
display: block;
text-decoration: none;
padding: 1rem;
margin: 0;
color: #333;
border-radius: 2rem;
&:hover {
background: lighten($ffyellow, 35);
}
}
&.active a {
font-weight: bold;
background: white;
color: #333;
}
}
}
.error {
color: #ff0000;
background-color: white;
padding: 1rem;
font-weight: bold;
}
#menubar {
background: $ffmagenta;
color: #ffffff;
a:link.topcat,
a:visited.topcat {
position: relative;
display: block;
padding: 0.5rem;
text-decoration: none;
font-size: 80%;
font-weight: normal;
color: white;
&:hover, &:focus {
background: $ffyellow;
color: black;
}
&.active {
font-weight: bold;
background: $ffzusatz;
color: white;
}
}
.hostinfo {
position: relative;
margin: 0;
padding: 0.5rem;
flex: 1;
font-weight: bold;
font-size: 80%;
a {
&:link, &:visited {
text-decoration: none;
font-weight: bold;
color: white;
&:hover, &:focus {
text-decoration: underline;
}
}
}
}
}
#topmenu {
list-style: none;
margin: 0;
padding: 0;
li {
display: inline-block;
}
}
#maincontent {
max-width: 60rem;
margin: 1rem auto;
background-color: rgba(255, 255, 255, 0.333);
padding: 0;
border-radius: 0.5rem;
p {
margin: 0 1rem 1rem;
}
ul {
margin-left: 2rem;
}
}
.gluon-section {
margin: 0 0 1.25rem;
padding: 0;
border: none;
&:last-child {
margin-bottom: 0.75rem;
}
legend {
font-size: 1.5rem;
font-weight: bold;
position: relative;
margin-bottom: 0.5rem;
padding: 1rem;
}
h2 {
margin: 0 0 0.5rem -0.5rem;
}
h3 {
text-decoration: none;
font-weight: bold;
color: #555555;
margin: 0.25rem;
font-size: 100%;
}
}
body.admin-network .gluon-section {
margin-bottom: 0;
}
.gluon-section-descr {
margin-bottom: 2rem;
}
.gluon-osm-map {
width: 100%;
height: 40rem;
margin-bottom: 1rem;
}
#value-id\.1\.6\.map {
margin: 0 1rem;
}
input {
&::placeholder,
&::-webkit-input-placeholder {
color: #aaaaaa;
}
&[type=checkbox] {
display: none;
& + label {
display: inline-block;
position: relative;
width: 1rem;
height: 1rem;
margin: 0;
}
&:checked + label::after {
content: '';
color: $ffmagenta;
vertical-align: middle;
position: absolute;
top: 50%;
left: 0;
margin-top: -33.333%;
width: 100%;
text-align: center;
font-size: 1.7rem;
}
}
&[type=radio] {
display: none;
& + label {
display: inline-block;
position: relative;
width: 0.75rem;
height: 0.75rem;
padding: 0.75rem;
margin: 0.25rem 0.25rem 0.25rem 0.125rem;
border: none;
background: lighten($ffyellow, 30);
vertical-align: middle;
border-radius: 50%;
}
&:checked + label::after {
content: '';
color: $ffmagenta;
vertical-align: middle;
position: absolute;
top: 50%;
left: 0;
margin-top: -0.5rem;
width: 100%;
text-align: center;
font-size: 2rem;
}
}
&[type=submit],
&[type=reset],
&[type=button] {
cursor: pointer;
}
}
select,
input,
textarea,
input[type=checkbox] + label {
color: darken($ffzusatz, 30);
border: none;
background: lighten($ffyellow, 30);
border-radius: 3pt;
padding: 0.5rem;
margin-top: 1px;
margin-bottom: 2px;
box-sizing: content-box;
outline: 0;
}
select, input[type="text"],
input[type="password"] {
min-width: auto;
}
.select-wrapper {
position: relative;
display: inline-block;
&::before {
position: absolute;
z-index: 1;
right: 0.125rem;
top: calc(2px + 0.125rem);
bottom: calc(2px + 0.125rem);
width: 1.5rem;
border-left: 0.125rem solid rgba(0, 0, 0, 0.25);
pointer-events: none;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="5"><path fill="none" stroke="black" stroke-linejoin="bevel" d="M1,1L4,4L7,1"/></svg>') center / 0.75rem 0.5rem no-repeat;
content: '';
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor: pointer;
}
}
option {
color: darken($ffzusatz, 30);
background: lighten($ffyellow, 30);
}
.gluon-button {
@include button;
margin-left: 0.5rem;
background-repeat: no-repeat;
}
.gluon-button-reset {
background-color: $red;
color: #fff;
}
.gluon-button-submit {
background-color: $ffzusatz;
color: #fff;
&:active {
background: grey;
}
}
.gluon-input-invalid {
background: $red !important;
color: white;
}
textarea {
margin-left: -1px;
margin-bottom: 0.5rem;
max-width: calc(100% - 3rem);
}
.gluon-value {
margin-bottom: .75rem;
}
.gluon-section-node .gluon-value:last-child {
margin-bottom: 0;
}
.gluon-value-title {
padding-top: .5rem;
padding-right: 1rem;
font-weight: bold;
padding-left: 1rem;
overflow-wrap: break-word;
}
.gluon-value-field {
position: relative;
margin-right: 1rem;
select, input + label {
position: relative;
margin-left: 1rem;
}
select {
padding-right: 2rem;
}
input,
.gluon-add,
.gluon-value-description {
margin-left: 1rem;
}
}
.gluon-value-field-text {
padding-top: 0.5rem;
padding-left: 1rem;
overflow-wrap: break-word;
}
.gluon-value-field-long {
flex: 10;
position: relative;
margin-top: 0.75rem;
input, select, input + label {
position: relative;
}
}
.gluon-value-field-long-after {
flex: 2;
}
.gluon-value-description {
font-size: 0.75rem;
}
.gluon-form-descr {
margin-bottom: 1rem;
}
.gluon-form-descr,
.gluon-section-descr {
&:empty {
display: none;
}
}
.gluon-form-descr,
.gluon-section-descr {
padding: 1rem;
background: #ececec;
}
.gluon-page-actions {
padding: 1rem;
background: #ececec;
text-align: right;
display: flex;
flex-flow: row-reverse;
}
.gluon-section-node {
clear: both;
position: relative;
border: none;
}
.gluon-value-error {
input,
select {
background-color: #ffcccc;
}
}
.gluon-add,
.gluon-remove {
&::after {
cursor: pointer;
display: inline-block;
text-align: center;
vertical-align: middle;
font-size: 180%;
width: 1.25rem;
height: 1rem;
}
}
.gluon-add {
color: #008000;
position: relative;
left: 21.75rem;
input + & {
left: 0;
top: 0.125rem;
}
&:first-child {
top: 0.5rem;
left: -0.125rem;
}
&::after {
content: '+';
}
}
.gluon-remove {
color: #800000;
position: relative;
top: -0.375rem;
margin-left: 0.75rem;
&::after {
content: '';
}
}
.error500 {
border: 1px dotted #ff0000;
background-color: #ffffff;
color: #000000;
padding: 0.5rem;
}
.errorbox {
border: 1px solid #FF0000;
background-color: #FFCCCC;
padding: 5px;
margin-bottom: 5px;
a {
color: #000000 !important;
}
}
.the-key {
text-align: left;
font-size: 1.5rem;
background: lighten($ffyellow, 35);
border: 3pt dashed $ffmagenta;
margin-bottom: 0.5rem;
padding: 0.5rem
}
h2 {
color: $ffzusatz;
padding: 1rem;
}
fieldset.gluon-section {
padding-top: 1rem;
}
input[type="checkbox"] + label, select {
border: 1px solid #c0c0c0;
margin-top: 0;
margin-bottom: 1px;
}
input,
option,
select,
input[type="checkbox"] + label,
textarea,
ul.tabmenu li a:hover,
#menubar a:link.topcat:hover,
#menubar a:link.topcat:focus,
#menubar a:visited.topcat:hover,
#menubar a:visited.topcat:focus {
background-color: #99d9F5;
}
.gluon-page-actions {
padding: 1rem;
border-radius: 0 0 0.5rem 0.5rem;
}
.gluon-form-descr,
.gluon-section-descr {
margin: 0 1rem 1rem;
}
.gluon-value:last-child {
padding-bottom: 1rem;
}
textarea,
.gluon-form > p,
form > p {
margin: 0 1rem;
}
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) {
#menubar {
display: flex;
}
select,
input[type=text],
input[type=password] {
min-width: 20rem;
}
}
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) {
#maincontent {
min-width: 40rem;
}
.gluon-value-field {
margin-right: auto;
}
}
// Large devices (desktops, 992px and up)
@media (min-width: 992px) {
ul.tabmenu {
display: inline-flex;
}
.gluon-value {
display: flex;
flex-direction: row;
}
.gluon-value-title {
flex: 2;
text-align: right;
}
.gluon-value-field {
flex: 3;
}
.gluon-value-field-text {
flex: 3;
padding-left: 0;
}
}
// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) {
#value-id\.1\.6\.map {
margin: 0;
}
}