Plume/static/css/_header.scss
2019-05-06 19:18:53 +01:00

134 lines
2.3 KiB
SCSS

header {
background: $lightgray;
#content {
display: flex;
align-content: center;
justify-content: space-between;
}
nav#menu {
position: relative;
display: none;
appearance: none;
transform: skewX(-15deg);
left: -1em;
padding: 1em 1em 1em 2em;
background: $purple;
align-self: flex-start;
a {
transform: skewX(15deg);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 1.4em;
height: 1.4em;
margin: 0;
padding: 0;
color: $lightgray;
font-size: 1.33em;
}
}
nav {
display: flex;
flex-direction: row;
align-items: center;
hr {
height: 100%;
width: 0.2em;
background: $purple;
border: none;
transform: skewX(-15deg);
}
a {
display: flex;
align-items: center;
position: relative;
align-self: stretch;
margin: 0;
padding: 0 2em;
font-size: 1em;
i { font-size: 1.2em; }
&.title {
margin: 0;
text-align: center;
padding: 0.5em 1em;
font-size: 1.75em;
img {
height: 1.75em;
width: 1.75em;
}
p {
margin: 0;
padding-left: 0.5em;
}
}
}
}
}
.messages {
& > * {
padding: 1em 20%;
margin: 0;
max-width: initial;
font-weight: bold;
}
p.error {
color: darken($red, 20%);
background: lighten($red, 40%);
margin: 0;
max-width: initial;
}
p.warning {
color: darken($yellow, 20%);
background: lighten($yellow, 40%);
}
p.success {
color: darken($green, 20%);
background: lighten($green, 40%);
}
}
// Only enable label animations on normal screens
@media screen and (min-width: 600px) {
header nav a {
i {
transition: all 0.2s ease;
margin: 0;
}
.mobile-label {
transition: all 0.2s ease;
display: block;
position: absolute;
left: 50%;
transform: translate(-50%, 0);
opacity: 0;
font-size: 0.9em;
white-space: nowrap;
}
img + .mobile-label { display: none; }
&:hover {
i { margin-bottom: 0.75em; }
.mobile-label {
opacity: 1;
transform: translate(-50%, 80%);
}
}
}
}