Bike!Bike! Website!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

781 lines
12 KiB

//@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);