//@import "bumbleberry"; @import "settings"; body { color: #333; position: relative; z-index: -1; } h1, h2, h3, h4, h5, label, button { @include font-family(secondary); } h2 { margin: 0; font-size: 6vw; } p { font-size: 4vw; } a { text-decoration: none; color: $colour-1; border-bottom: 0 solid; outline: 0; position: relative; @include after { content: ''; position: absolute; border-bottom: 0 solid; right: 0; bottom: 0; left: 0; opacity: 0; @include _(transition, all 150ms ease-in-out); @include _(transform, translateY(-1em)); } &:hover, &:active, &:focus { @include after { border-bottom: 0.1em solid; opacity: 1; transform: translateY(0); } } } @include selection { background-color: rgba($colour-2, 0.75); color: rgba(#FFF, 0.75); } #main-nav { position: relative; top: 0; left: 0; width: 100%; background-color: #FFF; @include default-box-shadow(top, 2); z-index: 1; .nav { text-align: center; clear: left; overflow: auto; background-color: $colour-3; a { position: relative; display: inline-block; margin: 0; padding: 1em 0; float: left; @include font-family(secondary); text-decoration: none; font-size: 2.25vw; outline: none; border: 0; width: 33.33%; background-color: $colour-5; color: #FFF; text-shadow: 0 0 0.35em #000; @include after { display: none; } @include before { background-color: $colour-5; } &:nth-child(2) { background-color: $colour-4; @include before { background-color: $colour-4; } } &:nth-child(3) { background-color: $colour-3; @include before { background-color: $colour-3; } } } } .actions { text-align: center; position: absolute; top: rems(1.5); right: rems(1); } } #main { position: relative; z-index: -1; max-width: (rems(68) - $sidebar-width) * 2; background-color: #FFF; padding-bottom: rems(2); article { padding: rems(3.5) 7.5%; &.supplementary { //background-color: $colour-3; margin: rems(1) 7.5%; overflow: hidden; border-radius: 0.33em; border: 0.1rem solid #DDD; background-color: #F7F7F7; @include default-box-shadow(top, 2); } figure { float: left; background-size: cover; background-position: center; background-repeat: no-repeat; width: 33%; height: 12em; margin-left: -1em; margin-top: 2em; margin-right: 1.5em; margin: 2em 1.5em 1.5em -1.5em; } } } a.logo { display: inline-block; font-size: rems(5); text-decoration: none; padding: 0.1em; border: 0; float: left; @include clearfix; &:hover, &:active, &:focus { @include after { display: none; } } } @if capable_of(svg) { @include keyframes(active-logo) { 0% { fill: $colour-1; } 15% { fill: $colour-5; } 30% { fill: $colour-3; } 45% { fill: $colour-4; } 60% { fill: $colour-2; } } @include keyframes(banner-load) { 0% { fill: #888; } } svg.bb-icon-logo { fill: $colour-1; } svg.bb-icon-logo-text { fill: #333; } .logo svg { display: inline-block; height: 1em; width: 1em; float: left; } .logo:hover svg.bb-icon-logo { @include _(animation, active-logo 4s infinite); } } #banner { clear: left; figure { width: 100%; max-width: rems(60); margin: 0; } img { width: 100%; @include default-box-shadow; } } $header-tilt: 8deg; #header-title { font-size: 2.25vw; background-size: cover; background-position: 50% 20%; background-repeat: no-repeat; background-color: $colour-1; color: #EEE; overflow: hidden; position: relative; z-index: -1; rect { fill: $colour-1; } svg { .colour-1 { fill: $colour-1; } .colour-2 { fill: $colour-2; } .colour-3 { fill: $colour-3; } .colour-4 { fill: $colour-4; } .colour-5 { fill: $colour-5; } } &.no-image, &.short { h1 { text-align: center; font-size: 3.5em; margin: 0.25em 0.5em; position: relative; z-index: 1; text-shadow: 0 0 0.15em #000; } } svg { display: none; position: absolute; width: 100%; height: 100%; } .title { position: relative; padding: 1%; overflow: hidden; text-align: center; @include _(text-shadow, 0 0.2em 0.5em rgba(32, 32, 32, 0.5)) } .background { position: absolute; @include _(transform, rotate($header-tilt)); color: $colour-1; @include _(opacity, 0.65); margin: -4% -2%; @if capable_of(calc) { font-size: calc(5vw + #{rems(7)}); } @else { font-size: rems(11); } display: none; } .details { position: relative; display: inline-block; color: #FFF; @include _(text-shadow, 0 0.2em 0.5em rgba(32, 32, 32, 0.75)); } .primary { font-size: 2.5em; margin: 0; } .secondary { font-size: 1.5em; } } #footer { padding: 1em; .copy { @include clearfix; a { float: right; color: #666; } } .facebook { float: left; a { @include after { display: none; } svg { @include _(transition, fill 250ms ease-in-out); } &:hover, &:active, &:focus { svg { fill: #3B579D; } } } } .github, .facebook { .icons { width: 1.5em; height: 1.5em; fill: #333; vertical-align: middle; } } .github { position: relative; background-color: #FFF; border-radius: 0.25em; border: 0.1em solid #DDD; padding: 0.5em 0.5em 0.5em 2em; text-align: center; z-index: 1; margin-bottom: 0.5em; a { margin: 0 0.5em; font-size: 0.8em; font-weight: bold; color: inherit; } .icons { position: absolute; left: 0.5em; top: 0.45em; } } } @include breakpoint(medium) { h2 { font-size: 2.25em; } p { font-size: 1.4em; } #banner { figure { margin: rems(-20) auto rems(2); } } #main { clear: right; } #main-nav { height: rems(6); .nav { width: 80%; clear: none; padding-top: rems(1.5); background-color: transparent; overflow: visible; a { padding: 0; float: none; width: auto; margin: 0 0.5em 0.75em; font-size: 1em; color: #666; background-color: transparent; @include _(text-shadow, 0 0.125em 0.25em #888); &:nth-child(n) { background-color: transparent; } &.current { color: $colour-1; } @include after { content: ''; display: block; position: absolute; bottom: -0.1em; right: 0; left: 0; width: 0; margin: 0 auto; opacity: 1; border-bottom: 0.15em solid; @include _(box-shadow, 0 0.075em 0.15em #888); @include _(transition, width 250ms ease-in-out); @include _(transform, none); } &:hover, &:active, &:focus { @include after { width: 100%; } } } } .actions { font-size: 2vw; } } #header-title { min-height: rems(35); font-size: 1em; &.short { font-size: 2em; min-height: rems(15); h1 { position: absolute; bottom: 0; text-align: left; font-size: 2em; } @include before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; @include _(box-shadow, inset 0 -13rem 3em -4rem rgba(0, 0, 0, 0.8)); @include _(transition, opacity 250ms ease-in-out); } } &.no-image { min-height: 0; font-size: 2em; } svg { display: block; } svg rect { @include _(animation, banner-load 1s ease-in-out); } .title { text-align: left; width: 110%; background-color: rgba(#FFF, 0.5); @include _(transform, rotate(-$header-tilt) translate3d(0, 0, 0)); @include _(transform-origin, 0 100%); } .details { text-align: right; color: #000; } .background { display: block; } .primary { padding: 12% 0 0 0.25em; } } #footer { .github { bottom: 0.5em; left: 2em; float: left; } .facebook { position: absolute; left: 0.5em; } } } @include breakpoint(large) { #banner { body.fixed-banner & { position: fixed; top: 0; right: 0; left: $sidebar-width; z-index: 1; } figure { width: 90%; } } #main-nav { position: fixed; width: $sidebar-width; height: 100%; @include default-box-shadow(left, 2); .nav { text-align: left; padding-top: rems(9); width: 100%; a { font-size: 1.6em; margin: 0.75em 1em; display: block; @include after { display: none; @include _(transition, none); position: absolute; font-size: 0.25em; top: 1.5em; right: -1em; bottom: 0; left: auto; margin: auto; width: 0; height: 0; border-style: solid; border-width: 1em 0 1em 1.5em; border-color: transparent transparent transparent rgba(#000, 0.25); max-width: 0; @include _(box-shadow, none); } @include before { content: ''; position: absolute; top: -0.5em; right: -1em; left: -1em; height: 2em; z-index: -1; @include _(transform, skewY(3.3deg) translate3d(0, 0, 0)); @include _(opacity, 0.5) } &.current { color: #333; @include before { @include _(opacity, 0.75); } @include after { display: block; } } &:hover, &:active, &:focus { color: #333; @include before { @include _(opacity, 1) } } } } .actions { position: relative; top: 0; right: 0; font-size: 1em; } } #main { padding-left: $sidebar-width; } #header-title { &.no-image { min-height: rems(10); } &.short { min-height: rems(25); } &.no-image, &.short { h1 { position: absolute; bottom: 0; } } } a.logo { display: block; float: none; font-size: rems(7.5); padding: 0.2em; } .paypal-button { margin: 4em 2em 0 0; } #footer { position: fixed; z-index: 1; bottom: 0; left: 0; width: $sidebar-width; .github { position: absolute; border-color: transparent; max-width: 2.25em; height: 2.25em; left: 0.5em; overflow: hidden; color: transparent; @include _(transition, all 250ms ease-in-out); &:hover { @if capable_of(calc) { max-width: calc(100% - 1em); } @else { max-width: 100%; } color: #333; border-color: #DDD; @include default-box-shadow(top, 2, true); } .icons { left: 0.5em; top: 0.45em; width: 1.5em; height: 1.5em; fill: #333; vertical-align: middle; position: absolute; } a { margin: 0 0.5em; font-size: 0.8em; font-weight: bold; color: inherit; } } .facebook { position: relative; left: 2.5em; bottom: 0.25em; } } } button { position: relative; color: #FFF; background-color: $colour-1; border: 0; padding: 0.5em 1em; font-size: 1.25em; outline: 0; border-bottom: 0.125em solid rgba(0, 0, 0, 0.15); @include _(border-radius, 0.15em); @include default-box-shadow(top, 2); overflow: hidden; cursor: pointer; @include before-and-after { content: ''; position: absolute; display: block; top: 0; right: 100%; font-size: 1.15em; background-color: rgba(0, 0, 0, 0); border-color: transparent; @include _(transition, all 250ms ease-in-out); } @include before { height: 100%; width: 100%; margin-right: 1em; } @include after { border-style: solid; border-width: 1em 0 1em 1em; } &:hover, &:focus, &:hover, &:focus { @include before-and-after { right: -1em; border-left-color: rgba(0, 0, 0, 0.15); } } &:hover, &:focus { @include before { background-color: rgba(0, 0, 0, 0.15); } } &:active { @include _(transform, scale(0.95)); @include after { left: 120%; } } &:disabled { @include _(opacity, 0.5); cursor: inherit; @include before-and-after { display: none; } } } @mixin header-colour($page, $colour) { body.#{$page} { #header-title { background-color: $colour; rect { fill: $colour; } } } } @include header-colour(about, $colour-4); @include header-colour(policy, $colour-3);