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.
 
 
 
 
 
 

2707 lines
41 KiB

@import "bumbleberry";
@import "settings";
$zindex-base: 0;
html, body {
color: $black;
position: relative;
z-index: $zindex-base;
}
body {
padding-bottom: 20vw;
}
h1, h2, h3, h4, h5, label, button, .button, dt, th, nav.sub-menu {
@include font-family(secondary);
font-weight: normal;
}
h2 {
margin: 0;
font-size: 6vw;
}
p {
font-size: 4vw;
}
a {
text-decoration: none;
color: $link-colour;
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);
}
}
}
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
width: 1px;
overflow: hidden;
position: absolute !important;
}
table {
margin-bottom: 2em;
margin-left: 1em;
background-color: #F8F8F8;
width: 100%;
@include default-box-shadow(top, 2, true);
th, td {
text-align: left;
padding: 0.25em 0.5em;
&:first-child {
padding-left: 1em;
}
&:last-child {
padding-right: 1em;
}
}
}
button,
.button {
@include button;
#main &[type="submit"] {
background-color: $colour-5;
&[value="send"] {
background-color: $colour-4;
}
}
&.register {
background-color: $colour-4;
}
form.logout & {
background-color: #666;
}
#main &.modify {
background-color: $colour-5;
}
#main &.delete {
background-color: $colour-4;
}
#main &.secondary {
background-color: $colour-1;
}
#main &.subdued {
background-color: #888;
}
#main &.accented {
background-color: $colour-2;
}
&.facebook {
background-color: #3A5795;
}
}
a.button {
@include after {
border-bottom: 1em solid transparent;
left: auto;
bottom: auto;
@include _(transform, none);
}
}
nav.sub-menu {
display: inline-block;
margin: 2rem 0 0;
text-align: center;
a {
margin: 0 1em 0.5em 0;
background-color: #E8E8E8;
color: #888;
display: inline-block;
padding: 0.25em 0.75em 0.333em;
font-size: 0.9em;
border: 1px solid #AAA;
border-bottom-width: 0.2em;
//@include _(text-shadow, 0 0.125em 0.25em #BBB);
@include _(border-radius, 0.15em);
@include default-box-shadow(top, 2);
@include _(text-shadow, 0 0.05em 0.05em #FFF);
&:hover, &:active, &:focus {
background-color: #D8D8D8;
}
&.current {
background-color: #CCC;
color: #666;
padding: 0.333em 0.75em 0.25em;
}
@include after {
display: none;
}
}
@include breakpoint(medium) {
border: 1px solid #AAA;
background-color: #AAA;
border-bottom-width: 0.125em;
@include _(border-radius, 0.15em);
@include default-box-shadow(top, 2);
a {
border: 0;
margin: 0 1px 0 0;
float: left;
@include _(border-radius, 0);
@include _(box-shadow, none);
&:last-child {
margin: 0;
}
}
}
}
textarea, .textarea {
display: block;
width: 100%;
min-height: 15em;
font-size: 1em;
margin: 1em 0;
padding: 0.75em;
border: 0.1rem solid #E8E8E8;
outline: 0;
@include _(border-radius, 0.25rem);
color: inherit;
background-image: repeating-linear-gradient(135deg, rgba(#000, 0.025), rgba(#000, 0.025) 0.1em, transparent 0.1em, transparent 0.4em);
@include _(box-shadow, 0 0 0 0 rgba(0,0,0,0.05));
@include _(transition, box-shadow 200ms ease-in-out);
will-change: box-shadow;
&:hover, &:focus, &:active {
@include _(box-shadow, 0 0 0 0.3em rgba(0,0,0,0.05));
}
}
.textarea, .workshop-description {
> :first-child {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
p {
font-size: 1.125em;
}
h1 {
font-size: 1.667em;
}
h2 {
font-size: 1.25em;
}
}
input {
&[type="text"], &[type="password"], &[type="tel"], &[type="search"], &[type="email"], &[type="url"], &[type="number"] {
display: block;
font-size: 1.25em;
outline: 0;
border: 0;
margin: 1em 0;
width: 100%;
padding: 0.25em 0.5em;
border-bottom: 0.15em solid transparent;
}
&[type="number"], &[type="tel"] {
@include font-family(secondary);
}
}
.number-field,
.email-field,
.telephone-field,
.text-field {
position: relative;
margin-bottom: 2em;
color: inherit;
&.empty {
label {
z-index: $zindex-base + 3;
@include _(transform, translateY(-100%) scale(1));
background-color: transparent;
color: #666;
}
}
&.big input {
@include font-family(secondary);
.composition & {
margin-top: 1em;
}
}
label,
&.focused label {
position: absolute;
z-index: $zindex-base + 3;
font-size: 1em;
padding: 0.25em 0.667em;
width: auto;
@include _(transition, 'transform 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out');
top: 100%;
left: 0;
@include _(transform, translateY(0) scale(0.75));
@include _(transform-origin, 0 0);
line-height: 1.5em;
background-color: transparent;
color: $black;
cursor: text;
will-change: transform, color, background-color;
}
input {
margin: 0;
position: relative;
z-index: $zindex-base + 2;
padding: 0.15em 0.5em;
background-color: #F8F8F8;
@include _(border-radius, 0.25rem);
@include _(box-shadow, 0 0 0 0 rgba(0,0,0,0.05));
@include _(transition, box-shadow 200ms ease-in-out);
background-image: repeating-linear-gradient(135deg, rgba(0, 0, 0, 0.025), rgba(0, 0, 0, 0.025) 0.1rem, transparent 0.1rem, transparent 0.4rem);
border: 0.1rem solid #E8E8E8;
will-change: box-shadow;
}
&:focus, &:active, &:focus {
label {
color: $black;
}
}
input {
&:focus, &:active, &:hover {
@include _(box-shadow, 0 0 0 0.3em rgba(0,0,0,0.05));
}
}
}
.telephone-field {
max-width: 15em;
}
@include keyframes(bend) {
to {
@include _(transform, skewX(-5deg));
}
}
.input-field {
.field-error {
display: block;
float: right;
background-color: rgba($colour-2, 0.333);
@include font-family(secondary);
padding: 0.5em 1em;
margin: 0 0.2em;
text-align: center;
@include _(transform, skewX(-15deg));
@include _(transform-origin, 0 100%);
@include default-box-shadow(top, 2);
@include _(animation, bend ease-in-out 500ms infinite alternate both);
}
&.check-box-field {
&.has-error {
margin-top: 3em;
}
.field-error {
position: absolute;
bottom: 100%;
right: 0;
margin-right: 0;
}
}
}
.input-field.other-field label {
input {
float: left;
margin: 0.33em 0;
&:checked {
+ div input {
z-index: $zindex-base + 2;
@include _(opacity, 1);
}
}
}
div {
float: left;
position: relative;
margin: 0 0.25em;
font-size: 1em;
input {
//display: none;
@include _(opacity, 0);
@include _(transition, opacity 250ms ease-in-out);
z-index: $zindex-base;
position: absolute;
width: auto;
margin: 0;
border: 1px solid #CCC;
height: 1.5em;
left: 0;
top: 0;
}
}
}
.number-field {
display: inline-block;
font-size: 1.5em;
input {
text-align: right;
}
}
.input-field-help {
margin-bottom: 1em;
margin-left: 1em;
}
.check-box-field,
.check-box-field.vertical,
.radio-button-field {
@include clearfix;
margin-bottom: 3em;
position: relative;
@include default-box-shadow(top);
label {
display: block;
background-color: #FFF;
height: 2.333em;
font-weight: normal;
font-size: 1.25em;
@include font-family(secondary);
text-align: center;
position: relative;
padding: 0.5em 0.5em 0.5em 3em;
cursor: pointer;
border: 0.1em solid;
border-top: 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
@include _(transition, #{'transform, background-color 100ms, 100ms ease-in-out, ease-in-out'});
@include before-and-after {
content: '';
position: absolute;
@include _(transition, transform 200ms ease-in-out);
}
@include before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 2.333em;
height: 100%;
border-right: inherit;
}
@include after {
content: '';
position: absolute;
visibility: hidden;
left: 0.75em;
top: 0.25em;
border: 0.2em solid #FFF;
width: 0.75em;
height: 1.5em;
border-width: 0 .2em 0.2em 0;
@include _(transform, rotate(45deg) scale(0));
@include _(transition, transform 200ms cubic-bezier(0, 0.38, 0.9, 2));
}
}
input:first-child + label {
border: 0.1em solid;
}
input {
position: fixed;
opacity: 0 !important;
left: -100000px;
z-index: -10;
&:checked + label {
@include before {
background-color: $colour-5;
}
@include after {
visibility: visible;
@include _(transform, rotate(45deg) scale(1));
}
}
&:hover + label {
@include before {
background-color: $colour-3;
}
}
&[type="radio"] + label {
@include after {
content: '+';
border: 0;
font-size: 2.5em;
top: -0.125em;
left: 0.05em;
line-height: 1em;
color: #FFF;
height: 1em;
width: 1em;
}
}
}
.other {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 2.333em;
input {
z-index: 1;
opacity: 1!important;
position: static;
margin: 0;
font: inherit;
height: 100%;
text-align: inherit;
cursor: inherit;
}
}
}
.check-box-field.vertical {
display: block;
margin: 0 2em 5em;
font-size: 0.75em;
}
.check-box-field.inline {
display: inline-block;
}
.radio-button-field {
label {
width: 7em;
height: 5em;
}
}
.single-check-box-field,
.single-radio-button-field {
margin-left: 1em;
}
.date-span {
margin-left: 1em;
label, input {
display: block;
height: 1.5em;
margin: 0 0.5em 1em 0;
}
label {
height: 1.5em;
}
input {
@include default-box-shadow(top);
background-color: $colour-1;
color: $white;
border: 0;
padding: 0 0.25em;
font-weight: normal;
@include font-family(secondary);
@include _(text-stroke, 0.5px #000);
}
.date-labels {
float: left;
}
.date-field {
overflow: auto;
}
}
form {
&.composition {
textarea {
height: 16em;
}
}
&.mini-flex-form {
@include _-(display, flex);
@include _(align-items, flex-start);
.input-field {
@include _(flex, 1);
}
button, .button {
margin-left: 1em;
height: 2.6em;
}
}
}
fieldset {
margin: 0;
padding: 0;
border: 0;
&.centered {
margin-top: 3em;
text-align: center;
}
}
.fieldgroup {
@include _-(display, flex);
@include _-(display, inline-flex);
@include _(align-items, flex-end);
@include _(flex-wrap, wrap);
margin: 0 0 3em 1em;
> .input-field {
margin-right: 1em;
@include _(flex, 1);
}
}
.view-object {
margin-bottom: 3em;
}
.flex-form, .flex-column {
button, .button {
width: 100%;
text-align: center;
}
}
.actions {
text-align: center;
margin: 0 1em;
button, .button {
margin: 0 0.25em 1em;
vertical-align: middle;
}
&.left {
text-align: left;
}
&.right {
text-align: right;
.note {
float: left;
color: $colour-1;
font-weight: bold;
font-size: 1.25em;
}
.left {
float: left;
}
}
.conferences-view_workshop & {
margin-bottom: 5em;
}
&.next-prev {
@include _-(display, flex);
@include _(flex-wrap, wrap);
@include _(flex-direction, row-reverse);
margin: 0;
button, .button {
margin-bottom: 1em;
}
}
}
ul.warnings {
list-style: none;
padding: 0;
}
ul.warnings li,
.warning-info {
position: relative;
min-height: 4em;
border: 0.2em solid rgba(0, 0, 0, 0.1);
background-color: rgba($colour-3, 0.333);
padding: 1em 1em 1em 4em;
@include font-family(secondary);
text-align: left;
margin: 1em;
width: auto;
@include default-box-shadow(top, 2);
@include before {
content: '!';
display: block;
position: absolute;
top: 0.5em;
left: 0.5em;
width: 1.5em;
height: 1.5em;
background-color: $black;
color: $white;
text-align: center;
line-height: 1.5em;
font-size: 1.5em;
background-color: $colour-3;
@include _(border-radius, 50%);
@include default-box-shadow(top, 2);
}
}
.warning-info {
display: inline-block;
margin: 0;
vertical-align: bottom;
}
::-webkit-resizer {
visibility: hidden;
cursor: nw-resize;
}
@include selection {
background-color: rgba($colour-2, 0.75);
color: rgba($white, 0.75);
}
#main-nav {
@include font-family(secondary);
overflow: hidden;
.nav {
position: fixed;
z-index: 100;
bottom: 0;
left: 0;
right: 0;
padding: 0;
font-size: 6vw;
background-color: #FFF;
@include _-(display, flex);
@include _(box-shadow, 0 0 2em -0.5em rgba(0, 0, 0, 0.5));
a.policy {
background-color: $colour-5;
@include _(order, 1);
}
a.about {
background-color: $colour-3;
@include _(order, 1);
}
form, .register {
background-color: $colour-2;
}
a, form {
width: 33%;
@include _(flex, 1);
}
a, form, button {
text-align: center;
padding: 0;
margin: 0;
}
a, button {
display: inline-block;
font-weight: normal;
padding: 0.5em 0;
color: #FFF;
@include _(border-radius, 0);
@include _(box-shadow, inset 0 0 1.5em 0.25em rgba(0, 0, 0, 0.125));
@include _(text-shadow, 0 0 0.25em rgba(0,0,0,0.5));
@include after {
display: none;
}
.title {
font-size: 0.8em;
}
}
button {
background-color: transparent;
border: 0;
font-size: 1em;
width: 100%;
@include _(text-stroke, 0);
@include before {
display: none;
}
}
form {
display: inline;
}
.strlen-12, .strlen-13 {
.title {
font-size: 0.7em;
}
}
.strlen-14, .strlen-15 {
.title {
font-size: 0.6333em;
}
}
}
.logo {
font-size: 5em;
}
.user-nav-bar {
position: absolute;
right: 0;
text-align: right;
top: 1em;
font-size: 0.9em;
width: 100%;
padding-left: 13em;
padding-right: 1em;
a {
display: block;
padding: 0.5em 0;
color: $black;
z-index: 1;
&:after {
display: none;
}
}
.my-account {
overflow: hidden;
text-overflow: ellipsis;
}
}
}
#registration-steps {
ul {
display: block;
position: relative;
list-style: none;
padding: 0;
margin-top: -1em;
overflow: hidden;
text-align: center;
@include default-box-shadow(top, 2);
@include _(border-radius, 0.15em);
@include clearfix;
}
li {
position: relative;
display: block;
@include font-family(secondary);
color: $white;
background-color: #BBB;
border: 0;
padding: 1em 1.5em;
font-size: 1.25em;
outline: 0;
cursor: default;
@include _(text-stroke, 1px rgba(0, 0, 0, 0.25));
@include after {
content: '';
position: absolute;
z-index: 1;
top: 2.25em;
left: 0;
right: 0;
width: 1.25em;
height: 1.25em;
margin: auto;
border: 0 solid;
border-width: 0.1em 0.1em 0 0;
background-color: inherit;
@include _(transform, rotate(135deg));
@include _(transition, 'transform 200ms ease-in-out, background-color 200ms ease-in-out');
@include _(box-shadow, 0.2em -0.4em 0.8em -0.4em #000);
}
&.enabled {
background-color: $colour-5;
}
&.current {
background-color: lighten(desaturate($colour-5, 33%), 15%);
}
&:last-child {
padding-right: 1.5em;
@include after {
display: none;
}
}
}
a {
color: inherit;
position: static;
@include before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
@include after {
display: none;
}
}
}
#main {
position: relative;
background-color: $white;
padding-bottom: rems(2);
article {
padding: rems(2.5) 0;
margin: 0 1em;
&.supplementary {
margin: rems(1) 7.5%;
overflow: hidden;
@include _(border-radius, 0.33em);
border: 0.1rem solid #DDD;
background-color: #F7F7F7;
@include default-box-shadow(top, 2);
}
ul {
font-size: 1.125em;
line-height: 1.5em;
}
li {
margin-bottom: 0.5em;
}
}
.featured-image-container {
@include _-(display, flex);
@include _(flex-wrap, wrap);
figure {
@include _(order, 1);
width: 100%;
height: 12em;
margin: 0;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
}
}
a.logo {
display: inline-block;
font-size: rems(5);
text-decoration: none;
padding: 0.1em;
border: 0;
float: left;
overflow: auto;
@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: $black;
}
.logo:hover svg.bb-icon-logo {
@include _(animation, active-logo 4s infinite);
}
}
.logo .icons {
display: inline-block;
height: 1em;
width: 1em;
float: left;
}
#banner {
clear: left;
float: none;
margin: 1em auto 0;
text-align: center;
body.home & {
max-width: 40em;
}
figure {
position: relative;
width: 100%;
max-width: rems(60);
margin: 0;
}
img {
width: 100%;
}
.title {
font-size: 5vw;
margin: 1em auto 2em;
h1, h2 {
margin: 0;
}
h2 {
font-size: 1.15em;
}
}
}
$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: $zindex-base;
.row, .columns {
position: static;
}
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; }
}
.cover {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-base;
background-size: inherit;
background-position: inherit;
}
@if capable_of(css-mixblendmode) {
position: relative;
.cover {
-webkit-filter: saturate(25%);
filter: saturate(25%);
@include _(mix-blend-mode, multiply);
}
}
&.no-image,
&.short {
h1 {
text-align: center;
font-size: 3.5em;
margin: 1.75em 0 .75em;
position: relative;
z-index: $zindex-base + 2;
@include _(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: $white;
@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;
}
body.error-500 & {
background-position: 50% 50%;
background-color: $colour-2;
}
}
#footer {
padding: 1em;
footer {
@include _-(display, flex);
@include _(flex-flow, row wrap);
font-size: 4.1vw;
}
.github,
ul.locales {
@include _(flex, 1);
@include _(flex-basis, 50%);
}
.copy {
@include clearfix;
text-align: right;
white-space: nowrap;
a {
color: #666;
}
}
.facebook {
@include _(flex, none);
margin: 0.5em;
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: $black;
vertical-align: middle;
}
}
.github {
position: relative;
background-color: $white;
@include _(border-radius, 0.25em);
border: 0.1em solid #DDD;
padding: 0.5em 0.5em 0.5em 2em;
text-align: center;
z-index: $zindex-base + 2;
margin-bottom: 1em;
a {
margin: 0 0.5em;
font-size: 0.8em;
font-weight: bold;
color: inherit;
}
.icons {
position: absolute;
left: 0.5em;
top: 0.45em;
@include _(transition, 150ms fill ease-in-out);
}
&:hover .icons {
fill: #4183C4;
}
}
ul.locales {
margin: 0;
padding: 0;
list-style: none;
}
}
@include keyframes(fade-out) {
to {
@include _(opacity, 0.25);
}
}
@include keyframes(colour-out) {
to {
background-color: transparent;
}
}
body :focus,
input[type="submit"]:focus {
@include _(animation, fade-out ease-in-out 500ms infinite alternate both);
}
.check-box-field input:focus + label,
.radio-button-field input:focus + label,
.select-field select:focus {
outline: 0.25rem solid $colour-2;
outline-offset: 0.2rem;
z-index: 1;
}
body {
input:focus,
textarea:focus,
select:focus,
.textarea {
@include _(animation, none);
}
}
@mixin header-colour($page, $colour) {
body.#{$page} {
#header-title {
background-color: $colour;
rect {
fill: $colour;
}
}
}
}
@include header-colour(about, $colour-3);
@include header-colour(policy, $colour-5);
#bike_small + label {
padding: 0.5em 2.5em;
}
#bike_medium + label {
padding: 0.5em 1.5em;
}
#main .three-options {
text-align: center;
button {
background-color: $colour-4;
width: 6em;
font-size: 1.5em;
margin: 0.25em;
&:first-child {
background-color: $colour-3;
}
&:last-child {
background-color: $colour-5;
}
}
}
#main .skip {
button {
background-color: #CCC;
}
}
#main form.payment {
text-align: center;
input[type="number"] {
margin-top: 1em;
font-size: 1.5em;
text-align: center;
width: 4em;
height: 1.9em;
border: 0;
@include default-box-shadow(top);
background-color: $black;
color: $colour-3;
vertical-align: bottom;
}
> button {
background-color: $colour-1;
}
.currency {
color: #888;
font-size: 1.667em;
}
}
#main ul.workshops {
list-style: none;
padding: 0;// 1em;
text-align: center;
@include default-box-shadow(top, 2, true);
background-color: #F8F8F8;
li {
display: inline-block;
margin: 0.5em;
vertical-align: middle;
@include before {
content: '';
display: none;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #000;
z-index: 99;
@include _(opacity, 0.5);
}
&.view {
@include before {
display: block;
}
.info {
left: 0;
right: 0;
top: 50%;
@include _(transform, translateY(-50%) scale(1));
@include breakpoint(large) {
left: 19rem;
}
}
}
}
h4, h5 {
color: $white;
background-color: $colour-1;
@include _(text-stroke, 1px rgba(0, 0, 0, 0.25));
}
h4 {
max-width: 10em;
cursor: pointer;
margin: 0;
padding: 1em;
position: relative;
@include default-box-shadow(top);
@include _(transition, transform 100ms ease-in-out);
&:hover {
z-index: $zindex-base + 3;
@include _(transform, scale(1.25));
}
}
h5 {
font-size: 1.5em;
margin: 0;
padding: 0.5em 1em;
+ p {
margin-top: 0;
}
}
p {
padding: 1em;
max-height: 50vh;
overflow-y: auto;
}
form {
text-align: center;
}
button {
margin: 1em 0.5em;
}
[contenteditable] {
outline: none;
}
.info {
position: fixed;
background-color: $white;
color: $black;
left: auto;
right: auto;
top: auto;
z-index: 100;
max-width: 40em;
max-height: 40em;
margin: auto;
text-align: left;
@include _(transition, all 250ms ease-in-out);
@include _(transform, translateY(0) scale(0));
@include default-box-shadow(top);
}
[value="delete"] {
background-color: $colour-2;
}
[value="cancel"] {
background-color: $colour-4;
}
}
.conferences-register .policy-agreement {
padding: 0.25em 1em;
margin: 0 0 3em;
border: 0.1em solid #DDD;
@include _(border-radius, 0.25em);
@include default-box-shadow(top, 2);
}
body.policy .policy-agreement ul {
padding: 0 1.5em 0;
}
.stats {
list-style: none;
h3 {
display: inline-block;
}
.stat {
position: relative;
padding: 0 0.25em;
margin: 0.5em;
font-size: 2em;
display: inline-block;
color: $white;
background-color: $colour-1;
@include default-box-shadow(top, 2);
@include _(text-stroke, 1px rgba(0, 0, 0, 0.25));
&.important {
width: 2em;
height: 2em;
line-height: 2em;
text-align: center;
@include _(border-radius, 50%);
}
}
.money .stat {
background-color: $colour-5;
}
.percent {
font-size: 1.5em;
}
.value {
position: relative;
z-index: $zindex-base + 2;
}
.stat-with-label {
display: inline-block;
text-align: center;
vertical-align: middle;
background-color: $colour-3;
margin: 0.5em;
@include default-box-shadow(top, 2);
.stat {
margin-top: 0.25em;
}
}
.label {
padding: 0.5em 0.5em 0;
font-weight: bold;
}
.breakdown {
text-align: center;
}
}
.email-preview {
max-width: 40rem;
margin: 2em auto 0;
padding: 0.25em 1em;
background-color: #F8F8F8;
@include default-box-shadow(top, 2, true);
}
.facilitators {
display: inline-block;
.facilitator {
margin: 0 0 0.5em 0.5em;
padding: 1.5em 0.5em 0.5em;
border-top: 0.1em solid #CCC;
&:first-child {
border: 0;
padding-top: 0;
}
}
.name {
position: relative;
font-weight: bold;
}
.details {
margin-top: 0.5em;
}
.email {
margin-bottom: 0.5em;
}
.name, .role {
display: inline;
}
.role {
color: #666;
white-space: nowrap;
@include before {
content: '(';
}
@include after {
content: ')';
}
&:last-child {
@include after {
content: ')';
}
}
}
}
.workshop-previews {
position: relative;
list-style: none;
padding: 0;
p {
padding: 0 1rem 0.5rem;
font-size: 1em;
color: $black;
}
h4 {
color: $white;
background-color: $colour-1;
padding: 0.5em 1em;
margin: 0;
@include _(text-stroke, 1px rgba(0, 0, 0, 0.25));
}
a {
display: block;
max-height: 10em;
overflow: hidden;
margin: 0.5em 0;
@include default-box-shadow(top, 2);
@include _(transition, transform 150ms ease-in-out);
&:hover, &:focus, &:active {
z-index: $zindex-base + 2;
@include _(transform, scale(1.1));
}
@include before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-base + 2;
cursor: pointer;
@include _(box-shadow, inset 0em -2em 2em -1em $white);
}
@include after {
display: none;
}
}
}
.translated-content.block {
display: inherit;
}
html[data-lingua-franca-example="html"] {
$caption-height: 4rem;
@include _(transform, translateY($caption-height));
#lingua-franca-window-caption {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: $caption-height;
background-color: #CCC;
z-index: 1000;
font-size: 1rem;
@include _(transform, translateY($caption-height * -1));
.window-tab {
height: 1.75rem;
position: relative;
background-color: #EEE;
float: left;
padding: 0.25em 2em 0 1em;
margin: 0.25em 1em;
@include _(border-radius, 0.5em 0.5em 0 0);
color: #444;
@include font-family(secondary);
@include after {
content: '×';
position: absolute;
right: 0.5em;
top: 0.25em;
}
}
i {
font-style: normal;
}
.window-minimize,
.window-maximize {
@include after {
content: '';
position: absolute;
top: 0.75em;
right: 2em;
border-style: solid;
border-width: 0 0.5em 0.5em 0.5em;
border-left-color: transparent;
border-right-color: transparent;
}
}
.window-minimize {
@include after {
right: 3.5em;
border-top-width: 0.5em;
border-bottom-width: 0;
}
}
.window-close {
@include after {
content: '×';
position: absolute;
right: 0.25em;
top: 0.1em;
font-size: 1.75em;
line-height: 1em;
}
}
.window-url-bar {
position: absolute;
top: $caption-height / 2;
left: 0;
width: 100%;
height: $caption-height / 2;
background-color: #EEE;
.url-bar {
position: absolute;
top: 0.25rem;
left: 3.5rem;
bottom: 0.25rem;
right: 0.25rem;
background-color: #FFF;
border: 1px solid #CCC;
padding: 0 0.25rem;
font-size: 0.8em;
line-height: 1.75em;
}
}
.window-back,
.window-forward {
@include after {
content: '';
position: absolute;
left: 0.5em;
top: 0.5em;
border-style: solid;
border-width: 0.5em 0.75em 0.5em 0;
border-top-color: transparent;
border-bottom-color: transparent;
color: #666;
}
}
.window-forward {
@include after {
left: 2em;
border-right-width: 0;
border-left-width: 0.75em;
}
}
}
@include translation-pointer;
}
.workshop-notes {
p {
font-size: 1em;
}
}
.workshop-list {
list-style: none;
padding: 0;
.workshop-description {
font-size: 0.8em;
max-height: 20em;
padding: 1em;
overflow: hidden;
}
.workshop-link {
position: static;
@include before {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0
}
@include after {
display: none;
}
}
> li {
position: relative;
margin-bottom: 1em;
border: 0.2em solid;
@include _(border-radius, 0.25em);
@include _(transition, box-shadow 250ms ease-in-out);
will-change: box-shadow;
ul {
padding-left: 2.5em;
margin-bottom: 1.5em;
}
li {
border: 0;
}
&:hover {
@include default-box-shadow;
}
&.interested {
.workshop-interest {
background-color: rgba($colour-5, 0.5);
}
}
&.mine {
.workshop-interest {
background-color: lighten($colour-1, 25%);
background-color: rgba($colour-1, 0.5);
}
}
}
.title {
margin: 0;
background-color: $black;
color: #FFF;
padding: 0.25em 0.5em 0.5em;
}
p {
margin-top: 0;
font-size: 1em;
}
.workshop-interest {
padding: 0.5em 1em;
font-weight: bold;
background-color: #EEE;
}
}
#main .workshop-interest {
text-align: right;
form {
display: inline;
}
button {
font-size: 0.9em;
margin: 1em;
background-color: $colour-1;
&.delete {
background-color: $colour-4;
}
}
body.home & {
text-align: left;
font-style: italic;
color: #888;
margin-top: -0.5em;
margin-bottom: -0.5em;
margin-left: 1em;
}
}
.original-text {
margin: 0 0 1em 1em;
.value {
border: 0.1em solid #DDD;
padding: 1em;
margin: 1em 0 3em 0;
background-color: #F8F8F8;
@include _(border-radius, 0.25em);
}
h4, h5, h6 {
margin: 0;
}
h5 {
font-size: 1em;
}
h6 {
font-size: 0.9em;
}
p {
margin: 0.5em 0;
font-size: 0.9em;
}
}
.facilitator .button {
font-size: 0.9em;
vertical-align: -0.75em;
}
#main .facilitators .actions {
margin: 0;
}
#main form.add-facilitator {
button {
height: 2.4em;
font-size: 0.9em;
}
}
.conferences-edit_schedule {
#main {
.location {
padding-top: 0.25em;
}
.errors {
padding: 0.25em;
background-color: $colour-2;
color: $white;
@include _(text-stroke, 0.5px #000);
}
.conflict-score {
padding: 0.25em;
background-color: $colour-3;
color: $black;
}
.all-workshops, .all-events {
list-style: none;
padding: 0;
li {
margin: 0.5em;
padding: 0.5em;
border: 1px solid #CCC;
background-color: lighten($colour-1, 35);
@include default-box-shadow(top, 2);
&.error {
outline: 0.2em solid $colour-2;
outline-offset: -0.2em;
}
}
h3 {
margin: 0;
}
.workshop-interest {
color: #888;
text-align: left;
margin: 0.25em 0;
}
.error-description {
background-color: $colour-2;
color: $white;
padding: 0.5em;
margin-top: 0.5em;
}
.warnings {
background-color: $colour-3;
color: $black;
padding: 0.5em;
margin-top: 0.5em;
list-style: none;
li {
padding: 0;
margin: 0;
background-color: transparent;
@include _(box-shadow, none);
}
}
}
.day_parts {
list-style: none;
h4 {
display: inline-block;
min-width: 12.5em;
margin: 0.25em 0;
}
select, .select {
float: right;
min-width: 5em;
}
.select {
padding-left: 0.25em;
}
}
.actions {
margin: 2em;
}
.unsaved {
@include font-family(secondary);
background-color: lighten($colour-3, 25);
margin: 0 5em 2em;
padding: 0.5em;
}
.all-events {
li {
background-color: lighten($colour-5, 35);
&.meal {
background-color: lighten($colour-3, 25);
}
}
h3 {
margin-bottom: 0.5em;
}
}
}
}
.conferences-schedule {
.actions {
margin: 2em;
}
ul.events, ul.locations {
list-style: none;
.button {
float: left;
font-size: 1em;
margin-bottom: 0.5em;
margin-right: 0.5em;
}
h3 {
display: inline-block;
margin: 0.25em 0 0;
}
li {
clear: both;
}
}
}
.programme {
.schedule {
width: auto;
margin: 0;
min-width: 100%;
@include _(box-shadow, none);
table-layout: fixed;
border-spacing: 0.25em;
border-collapse: separate;
td {
position: relative;
vertical-align: middle;
.title {
text-align: center;
@include font-family(secondary);
color: #666;
}
&.previewable {
cursor: pointer;
&:hover {
@include default-box-shadow(top, 2);
}
}
&.workshop {
background-color: lighten($colour-1, 35);
border: 0.25em solid $colour-1;
.preview {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
@include after {
display: none;
}
}
}
&.event {
background-color: lighten($colour-5, 35);
border: 0.25em solid $colour-5;
}
&.meal {
background-color: lighten($colour-3, 25);
border: 0.25em solid $colour-3;
}
&.not-interested {
.title {
opacity: 0.5;
}
}
.info {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1000;
background-color: $white;
text-align: left;
overflow-y: auto;
@include _(transition, transform 250ms ease-in-out);
@include _(transform-origin, center bottom);
@include _(transform, rotate(180deg) translate3d(0, 0, 0));
.close {
float: right;
font-size: 2em;
@include before {
content: '×';
padding: 0 0.5em;
}
@include after {
display: none;
}
}
h2 {
margin-bottom: 0.5em;
}
}
&:target .info {
@include _(transform, rotate(0) translate3d(0, 0, 0));
}
}
}
.programme-day {
margin-top: 2em;
}
.programme-day-part {
overflow-x: auto;
}
}
.select-field {
line-height: 1.75em;
select {
display: block;
height: 1.75em;
font-family: inherit;
font-size: 1.5em;
padding: 0 0.5em;
border: 0.1em solid #333;
cursor: pointer;
@include default-box-shadow(top, 1.5, false);
}
}
.toggleable {
@include _(transition, 'transform 250ms ease-in-out, max-height 250ms ease-in-out, visibility 0s linear 250ms');
@include _(transform, scaleY(0));
@include _(transform-origin, 0 0);
max-height: 0;
visibility: hidden;
&.open {
@include _(transition, 'transform 250ms ease-in-out, max-height 250ms ease-in-out');
max-height: 100em;
visibility: visible;
@include _(transform, scaleX(1));
}
}
@include breakpoint(medium) {
body {
padding-bottom: 0;
}
h2 {
font-size: 2.25em;
}
p {
font-size: 1.333em;
}
form {
&.flex-form {
@include _-(display, flex);
@include _(align-items, flex-start);
.input-field {
@include _(flex, 1);
}
button, .button {
margin-left: 1em;
height: 2.6em;
}
}
}
.number-field,
.email-field,
.telephone-field,
.text-field {
&.big input {
font-size: 2em;
}
}
.flex-column {
@include _-(display, flex);
@include _(align-items, flex-start);
margin-top: 1em;
p:first-child {
margin-top: 0;
}
.stretch-item {
@include _(flex, 1);
margin-right: 1em;
}
}
.flex-form, .flex-column {
button, .button {
width: auto;
}
}
#main-nav {
.logo {
margin-top: 0.25em;
font-size: 4.25em;
}
.nav {
position: static;
font-size: 1.8em;
display: block;
text-align: right;
background-color: transparent;
@include _(box-shadow, none);
form {
background-color: transparent;
}
}
.nav a, .nav button {
width: auto;
min-width: 3.5em;
overflow: visible;
margin-left: 0.725em;
line-height: 3em;
padding: 0 0 1em;
color: $black;
@include _(box-shadow, none);
@include _(text-shadow, none);
@include before-and-after {
content: '';
display: block;
position: absolute;
background-color: rgba(0, 0, 0, 0.33);
z-index: -1;
margin: 0;
border: 0;
font-size: 1em;
left: -0.51em;
right: -0.51em;
top: 0;
height: 0;
width: auto;
@include _(opacity, 1);
@include _(transition, height 150ms ease-in-out);
@include _(transform, rotate(-20deg) scaleX(0.94) scaleY(1.5) translate(-0.5em, -0.5em));
@include _(transform-origin, 0 0);
}
@include after {
height: 3em;
@include _(opacity, 0.1);
}
@include before {
box-shadow: 0 0 2em -0.5em rgba(#000, 0.75);
@include _(opacity, 0.33);
}
&.current {
z-index: 2;
@include before {
height: 3em;
@include _(opacity, 0.67);
}
}
&:hover {
@include before {
height: 3em;
}
}
}
.nav a {
&[class] {
background-color: transparent;
}
&.policy {
@include before-and-after {
background-color: $colour-5;
}
}
&.about {
@include before-and-after {
background-color: $colour-3;
}
}
}
.nav a.register, .nav button {
@include before-and-after {
background-color: $colour-2;
}
&:focus, &:active {
@include _(transform, none);
}
}
.user-nav-bar {
top: 0;
left: 0;
right: auto;
width: auto;
float: none;
text-align: left;
background-color: #EEE;
@include _(border-radius, 0 0 0.5em 0);
font-size: 0.8em;
padding: 0 1em 0 0.5em;
@include default-box-shadow(top, 2);
a {
display: inline-block;
padding: 0.25em 0;
&:hover {
color: lighten($black, 25%);
}
}
.my-account {
max-width: none;
overflow: visible;
@include after {
content: '|';
display: inline;
@include _(opacity, 0.25);
position: static;
margin: 0 0.5em;
}
}
}
}
#banner {
margin: 3em auto;
figure {
min-height: 40em;
margin: rems(-20) auto rems(2);
}
.title {
font-size: 1.9em;
margin: 3em 0 1em;
}
img {
@include _(box-shadow, 0 0 2em -0.5em rgba(0, 0, 0, 0.5));
}
}
#registration-steps {
ul {
display: inline-block;
text-align: left;
margin-top: -4em;
}
li {
display: inline-block;
float: left;
@include after {
content: '';
top: 1.125em;
left: auto;
right: -0.25em;
@include _(transform, rotate(45deg));
}
&.enabled:hover,
&.enabled:hover ~ li {
@include after {
@include _(transform, rotate(-135deg));
background-color: transparent;
}
}
}
}
ul.warnings {
li {
margin: 1em 4em;
}
}
.warning-info {
margin-left: 1em;
}
.workshop-list {
padding: 0 2em;
}
#main {
clear: right;
article {
padding: rems(2.5) 7.5%;
}
.columns {
form {
margin-top: 2em;
}
}
.featured-image-container {
display: block;
figure {
float: left;
width: 33%;
margin: 0 1.5em 1.5em -1.5em;
}
}
}
#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: $zindex-base + 2;
@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: 1em;
}
svg {
display: block;
}
svg rect {
@include _(animation, banner-load 1s ease-in-out);
}
.title {
text-align: left;
width: 110%;
background-color: rgba($white, 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 {
footer {
font-size: 1em;
}
.github {
@include _(flex, none);
@include _(flex-basis, auto);
bottom: 0.5em;
float: left;
margin-right: 1em;
margin-left: 1em;
}
.facebook {
margin: 0;
}
ul.locales {
@include _(flex, none);
@include _(flex-basis, auto);
@include _(flex-grow, 1);
}
}
.check-box-field,
.radio-button-field {
@include _-(display, flex);
label {
@include _(flex, 1);
border: 0.1em solid;
border-left: 0;
text-align: left;
}
input:first-child + label {
border: 0.1em solid;
}
}
}
@include breakpoint(large) {
#main-nav {
.nav {
font-size: 1.9em;
margin-top: 0;
}
.user-nav-bar {
@include _(border-radius, 0 0 0.5em 0.5em);
padding: 0 1em;
font-size: 1em;
}
}
#banner {
body.fixed-banner & {
position: fixed;
top: 0;
right: 0;
left: $sidebar-width;
z-index: $zindex-base + 2;
}
figure {
width: 90%;
}
}
#main {
padding-left: $sidebar-width;
min-height: 100vh;
}
#header-title {
&.no-image {
min-height: 0;
}
&.short {
min-height: rems(25);
}
&.no-image,
&.short {
h1 {
text-align: left;
margin: 0.67em 0;
}
}
}
#main-nav .logo {
font-size: 5em;
}
a.logo {
display: block;
float: none;
padding: 0.2em;
}
.actions {
margin: 4em 2em 0 0;
}
#footer {
overflow: visible;
padding: 0;
width: 100%;
height: 3em;
footer {
max-width: $row-width;
margin: 0 auto;
}
}
}