gnu-social/public/assets/css/base.css

291 lines
5.7 KiB
CSS

:root {
/* fonts */
--head-font: 'Montserrat', sans-serif;
--main-font: 'Open Sans', sans-serif;
/* font and margin sizes */
--main-size: 1.2em;
--medium-size: 0.75em;
--small-size: 0.65em;
--unit-size: 1em;
--side-margin: 2em;
--nav-size: 15em;
/* colours and shadows */
--fg: #eceff4;
--accent: #81a1c1;
--accent-low: #81a1c140;
--bg1: #2e3440;
--bg2: #3b4252;
--bg3: #434c5e;
--bg4: #4c566a;
--bg5: #d8dee9;
--shadow: 0px 0px 20px 0px rgba(46,52,64,0.95);
}
/* DEFAULTS */
body,
html {
background: var(--bg1);
background-attachment: fixed;
background-size: cover;
color: var(--fg);
font-family: var(--main-font);
font-size: var(--main-size);
margin: 0;
padding: 0;
}
hr {
margin: 0;
color: var(--accent-low);
}
ul {
text-decoration: none;
margin: 0;
padding: 0;
list-style: none;
}
li {
margin: 0;
padding: 0;
}
a:link {
text-decoration: none;
outline: 0;
color: var(--fg);
}
a:visited {
outline: 0;
color: var(--fg);
margin: 0;
padding: 0;
}
a:hover {
color: var(--fg);
transition: all 0.8s ease;
}
a:focus {
color: var(--fg);
transition: all 0.8s ease;
}
b {
font-family: var(--head-font);
font-weight: 800;
}
/* HEADER */
#header {
position: fixed;
top: 0;
left: 0;
right: 0;
background-color: var(--bg1);
padding: var(--main-size);
height: var(--main-size);
margin-left: -1px;
margin-right: 1px;
margin-top: -1px;
border: solid 1px var(--accent-low);
}
#top {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
width: 100%;
}
.icon-menu {
margin: 0;
padding: 0;
display: inline-block;
width: var(--unit-size);
height: var(--unit-size);
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
}
#instance {
order: 2;
}
#instance b {
margin: 0;
padding: 0;
vertical-align: middle;
margin-left: calc(0.2 * var(--unit-size));
}
.icon-logo {
margin: 0;
padding: 0;
display: inline-block;
width: var(--unit-size);
height: var(--unit-size);
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
vertical-align: middle;
}
#left-panel {
order: 1;
}
/* left panel z-index fix */
.form {
position: relative;
z-index: 0;
}
#header {
z-index: 1;
}
/* RIGHT PANEL */
#right-panel {
order: 3;
}
.arrow {
border: solid var(--fg);
border-width: 0 3px 3px 0;
display: none;
padding: 0.3em;
}
.right {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.rss {
display: flex;
flex-direction: column;
width: var(--nav-size);
height: calc(100vh - (3 * var(--unit-size)));
position: fixed;
background-color: var(--bg1);
margin-top: calc(3 * var(--main-size));
z-index: 0;
border: solid 1px var(--accent-low);
}
input.larger {
width: var(--main-size);
height: calc( 2 * var(--main-size));
}
/* untoggled */
.rss {
right: 0;
top: 0;
transition: 0.3s ease;
}
.arrow label {
display: block;
cursor: pointer;
}
#toggle-right {
position: absolute;
z-index: 2;
cursor: pointer;
opacity: 0;
}
#toggle-right:not(:checked)+.arrow {
transform: rotate(135deg);
transition: 0.3s ease;
}
/* toggled */
#toggle-right:checked~.rss {
display: flex;
right: 0;
top: 0;
transition: 0.3s ease;
}
#toggle-right:checked+.arrow {
transform: rotate(-45deg);
transition: 0.3s ease;
}
/* styling radio buttons and checkboxes */
input[type="checkbox"] + label::before {
content: '';
position: relative;
display: inline-block;
margin-right: 5px;
width: var(--medium-size);
height: var(--medium-size);
background: var(--fg);
border-radius: 10%
}
input[type="checkbox"]:checked + label::before {
background: var(--accent);
border-radius: 10%;
}
input[type="checkbox"]:focus + label::before,
input[type="checkbox"]:hover + label::before{
border-radius: 10%;
box-shadow: 0 0px 8px var(--accent);
}
input[type="checkbox"] {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
input[type="radio"] + label::before {
content: '';
position: relative;
display: inline-block;
margin-right: 5px;
width: var(--medium-size);
height: var(--medium-size);
background: var(--fg);
border-radius: 50%
}
input[type="radio"]:checked + label::before {
background: var(--accent);
border-radius: 50%
}
input[type="radio"]:focus + label::before,
input[type="radio"]:hover + label::before{
border-radius: 50%;
box-shadow: 0 0px 8px var(--accent);
}
input[type="radio"] {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
button[type=submit] {
background: var(--bg1);
padding: 0.3em 1em;
color: var(--fg);
border-style: solid;
border-color: var(--accent);
border-radius: var(--small-size);
border-width: 2px;
font-family: 'Montserrat', sans-serif;
font-size: var(--small-size);
font-weight: 700;
}
button[type=submit]:focus,
button[type=submit]:hover {
border-radius: var(--small-size);
box-shadow: 0 0px 8px var(--accent);
}