art/_sass/layout/_header.scss

248 lines
5.4 KiB
SCSS
Raw Normal View History

2016-08-25 18:05:54 +00:00
///
/// Forty by HTML5 UP
/// html5up.net | @ajlkn
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
///
/* Header */
@include keyframes('reveal-header') {
0% { top: -4em; opacity: 0; }
100% { top: 0; opacity: 1; }
}
#header {
@include vendor('display', 'flex');
background-color: _palette(bg-alt);
box-shadow: 0 0 0.25em 0 rgba(0,0,0,0.15);
cursor: default;
font-weight: _font(weight-bold);
height: 3.25em;
left: 0;
letter-spacing: _font(letter-spacing-alt);
line-height: 3.25em;
margin: 0;
position: fixed;
text-transform: uppercase;
top: 0;
width: 100%;
z-index: _misc(z-index-base);
.logo {
border: 0;
display: inline-block;
font-size: 0.8em;
height: inherit;
line-height: inherit;
padding: 0 1.5em;
strong {
@include vendor('transition', (
'background-color #{_duration(transition)} ease-in-out',
'color #{_duration(transition)} ease-in-out'
));
background-color: _palette(fg-bold);
color: _palette(bg);
display: inline-block;
line-height: 1.65em;
margin-right: 0.325em;
padding: 0 0.125em 0 (_font(letter-spacing-alt) + 0.125em);
}
&:hover {
strong {
background-color: _palette(highlight);
}
}
&:active {
strong {
background-color: desaturate(darken(_palette(highlight), 15), 5);
}
}
}
nav {
@include vendor('display', 'flex');
@include vendor('justify-content', 'flex-end');
@include vendor('flex-grow', '1');
height: inherit;
line-height: inherit;
a {
border: 0;
display: block;
font-size: 0.8em;
height: inherit;
line-height: inherit;
padding: 0 0.75em;
position: relative;
vertical-align: middle;
&:last-child {
padding-right: 1.5em;
}
&[href="#menu"] {
padding-right: 3.325em !important;
&:before, &:after {
background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="32" viewBox="0 0 24 32" preserveAspectRatio="none"><style>line { stroke-width: 2px; stroke: #{_palette(fg-bold)}; }</style><line x1="0" y1="11" x2="24" y2="11" /><line x1="0" y1="21" x2="24" y2="21" /><line x1="0" y1="16" x2="24" y2="16" /></svg>');
background-position: center;
background-repeat: no-repeat;
background-size: 24px 32px;
content: '';
display: block;
height: 100%;
position: absolute;
right: 1.5em;
top: 0;
vertical-align: middle;
width: 24px;
}
&:after {
@include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="32" viewBox="0 0 24 32" preserveAspectRatio="none"><style>line { stroke-width: 2px; stroke: #{_palette(highlight)}; }</style><line x1="0" y1="11" x2="24" y2="11" /><line x1="0" y1="21" x2="24" y2="21" /><line x1="0" y1="16" x2="24" y2="16" /></svg>');
opacity: 0;
z-index: 1;
}
&:hover, &:active {
&:after {
opacity: 1;
}
}
&:last-child {
padding-right: 3.875em !important;
&:before, &:after {
right: 2em;
}
}
}
}
}
&.reveal {
@include vendor('animation', 'reveal-header 0.35s ease');
}
&.alt {
@include vendor('transition', 'opacity #{_duration(banner)} ease');
@include vendor('transition-delay', '0.75s');
@include vendor('animation', 'none');
background-color: transparent;
box-shadow: none;
position: absolute;
&.style1 { .logo { strong { color: _palette(accent1); } } }
&.style2 { .logo { strong { color: _palette(accent2); } } }
&.style3 { .logo { strong { color: _palette(accent3); } } }
&.style4 { .logo { strong { color: _palette(accent4); } } }
&.style5 { .logo { strong { color: _palette(accent5); } } }
&.style6 { .logo { strong { color: _palette(accent6); } } }
}
body.is-loading & {
&.alt {
opacity: 0;
}
}
@include breakpoint(xlarge) {
nav {
a {
&[href="#menu"] {
padding-right: 3.75em !important;
&:last-child {
padding-right: 4.25em !important;
}
}
}
}
}
@include breakpoint(large) {
nav {
a {
&[href="#menu"] {
padding-right: 4em !important;
&:last-child {
padding-right: 4.5em !important;
}
}
}
}
}
@include breakpoint(small) {
height: 2.75em;
line-height: 2.75em;
.logo {
padding: 0 1em;
}
nav {
a {
padding: 0 0.5em;
&:last-child {
padding-right: 1em;
}
&[href="#menu"] {
padding-right: 3.25em !important;
&:before, &:after {
right: 0.75em;
}
&:last-child {
padding-right: 4em !important;
&:before, &:after {
right: 1.5em;
}
}
}
}
}
}
@include breakpoint(xsmall) {
.logo {
span {
display: none;
}
}
nav {
a {
&[href="#menu"] {
overflow: hidden;
padding-right: 0 !important;
text-indent: 5em;
white-space: nowrap;
width: 5em;
&:before, &:after {
right: 0;
width: inherit;
}
&:last-child {
&:before, &:after {
width: 4em;
right: 0;
}
}
}
}
}
}
}