Add editor config. Kill all tabs.

Closes https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/issues/19.
This commit is contained in:
Luke Murphy
2017-09-24 00:54:08 +02:00
parent 6a12122b7e
commit 8cb8eb599a
51 changed files with 2989 additions and 2981 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -1,106 +1,106 @@
/*
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
(function($) {
skel
.breakpoints({
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 980px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
});
skel
.breakpoints({
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 980px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
});
$(function() {
$(function() {
var $window = $(window),
$body = $('body'),
$wrapper = $('#page-wrapper'),
$banner = $('#banner'),
$header = $('#header');
var $window = $(window),
$body = $('body'),
$wrapper = $('#page-wrapper'),
$banner = $('#banner'),
$header = $('#header');
// Disable animations/transitions until the page has loaded.
$body.addClass('is-loading');
// Disable animations/transitions until the page has loaded.
$body.addClass('is-loading');
$window.on('load', function() {
window.setTimeout(function() {
$body.removeClass('is-loading');
}, 100);
});
$window.on('load', function() {
window.setTimeout(function() {
$body.removeClass('is-loading');
}, 100);
});
// Mobile?
if (skel.vars.mobile)
$body.addClass('is-mobile');
else
skel
.on('-medium !medium', function() {
$body.removeClass('is-mobile');
})
.on('+medium', function() {
$body.addClass('is-mobile');
});
// Mobile?
if (skel.vars.mobile)
$body.addClass('is-mobile');
else
skel
.on('-medium !medium', function() {
$body.removeClass('is-mobile');
})
.on('+medium', function() {
$body.addClass('is-mobile');
});
// Fix: Placeholder polyfill.
$('form').placeholder();
// Fix: Placeholder polyfill.
$('form').placeholder();
// Prioritize "important" elements on medium.
skel.on('+medium -medium', function() {
$.prioritize(
'.important\\28 medium\\29',
skel.breakpoint('medium').active
);
});
// Prioritize "important" elements on medium.
skel.on('+medium -medium', function() {
$.prioritize(
'.important\\28 medium\\29',
skel.breakpoint('medium').active
);
});
// Scrolly.
$('.scrolly')
.scrolly({
speed: 1500,
offset: $header.outerHeight()
});
// Scrolly.
$('.scrolly')
.scrolly({
speed: 1500,
offset: $header.outerHeight()
});
// Menu.
$('#menu')
.append('<a href="#menu" class="close"></a>')
.appendTo($body)
.panel({
delay: 500,
hideOnClick: true,
hideOnSwipe: true,
resetScroll: true,
resetForms: true,
side: 'right',
target: $body,
visibleClass: 'is-menu-visible'
});
// Menu.
$('#menu')
.append('<a href="#menu" class="close"></a>')
.appendTo($body)
.panel({
delay: 500,
hideOnClick: true,
hideOnSwipe: true,
resetScroll: true,
resetForms: true,
side: 'right',
target: $body,
visibleClass: 'is-menu-visible'
});
// Header.
if (skel.vars.IEVersion < 9)
$header.removeClass('alt');
// Header.
if (skel.vars.IEVersion < 9)
$header.removeClass('alt');
if ($banner.length > 0 &&
$header.hasClass('alt')) {
if ($banner.length > 0 &&
$header.hasClass('alt')) {
$window.on('resize', function() {
$window.trigger('scroll');
});
$window.on('resize', function() {
$window.trigger('scroll');
});
$banner.scrollex({
bottom: $header.outerHeight() + 1,
terminate: function() {
$header.removeClass('alt');
},
enter: function() {
$header.addClass('alt');
},
leave: function() {
$header.removeClass('alt');
}
});
$banner.scrollex({
bottom: $header.outerHeight() + 1,
terminate: function() {
$header.removeClass('alt');
},
enter: function() {
$header.addClass('alt');
},
leave: function() {
$header.removeClass('alt');
}
});
}
});
}
});
})(jQuery);

View File

@ -1,587 +1,587 @@
(function($) {
/**
* Generate an indented list of links from a nav. Meant for use with panel().
* @return {jQuery} jQuery object.
*/
$.fn.navList = function() {
/**
* Generate an indented list of links from a nav. Meant for use with panel().
* @return {jQuery} jQuery object.
*/
$.fn.navList = function() {
var $this = $(this);
$a = $this.find('a'),
b = [];
var $this = $(this);
$a = $this.find('a'),
b = [];
$a.each(function() {
$a.each(function() {
var $this = $(this),
indent = Math.max(0, $this.parents('li').length - 1),
href = $this.attr('href'),
target = $this.attr('target');
var $this = $(this),
indent = Math.max(0, $this.parents('li').length - 1),
href = $this.attr('href'),
target = $this.attr('target');
b.push(
'<a ' +
'class="link depth-' + indent + '"' +
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
'>' +
'<span class="indent-' + indent + '"></span>' +
$this.text() +
'</a>'
);
b.push(
'<a ' +
'class="link depth-' + indent + '"' +
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
'>' +
'<span class="indent-' + indent + '"></span>' +
$this.text() +
'</a>'
);
});
});
return b.join('');
return b.join('');
};
};
/**
* Panel-ify an element.
* @param {object} userConfig User config.
* @return {jQuery} jQuery object.
*/
$.fn.panel = function(userConfig) {
/**
* Panel-ify an element.
* @param {object} userConfig User config.
* @return {jQuery} jQuery object.
*/
$.fn.panel = function(userConfig) {
// No elements?
if (this.length == 0)
return $this;
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).panel(userConfig);
for (var i=0; i < this.length; i++)
$(this[i]).panel(userConfig);
return $this;
return $this;
}
}
// Vars.
var $this = $(this),
$body = $('body'),
$window = $(window),
id = $this.attr('id'),
config;
// Vars.
var $this = $(this),
$body = $('body'),
$window = $(window),
id = $this.attr('id'),
config;
// Config.
config = $.extend({
// Config.
config = $.extend({
// Delay.
delay: 0,
// Delay.
delay: 0,
// Hide panel on link click.
hideOnClick: false,
// Hide panel on link click.
hideOnClick: false,
// Hide panel on escape keypress.
hideOnEscape: false,
// Hide panel on escape keypress.
hideOnEscape: false,
// Hide panel on swipe.
hideOnSwipe: false,
// Hide panel on swipe.
hideOnSwipe: false,
// Reset scroll position on hide.
resetScroll: false,
// Reset scroll position on hide.
resetScroll: false,
// Reset forms on hide.
resetForms: false,
// Reset forms on hide.
resetForms: false,
// Side of viewport the panel will appear.
side: null,
// Side of viewport the panel will appear.
side: null,
// Target element for "class".
target: $this,
// Target element for "class".
target: $this,
// Class to toggle.
visibleClass: 'visible'
// Class to toggle.
visibleClass: 'visible'
}, userConfig);
}, userConfig);
// Expand "target" if it's not a jQuery object already.
if (typeof config.target != 'jQuery')
config.target = $(config.target);
// Expand "target" if it's not a jQuery object already.
if (typeof config.target != 'jQuery')
config.target = $(config.target);
// Panel.
// Panel.
// Methods.
$this._hide = function(event) {
// Methods.
$this._hide = function(event) {
// Already hidden? Bail.
if (!config.target.hasClass(config.visibleClass))
return;
// Already hidden? Bail.
if (!config.target.hasClass(config.visibleClass))
return;
// If an event was provided, cancel it.
if (event) {
// If an event was provided, cancel it.
if (event) {
event.preventDefault();
event.stopPropagation();
event.preventDefault();
event.stopPropagation();
}
}
// Hide.
config.target.removeClass(config.visibleClass);
// Hide.
config.target.removeClass(config.visibleClass);
// Post-hide stuff.
window.setTimeout(function() {
// Post-hide stuff.
window.setTimeout(function() {
// Reset scroll position.
if (config.resetScroll)
$this.scrollTop(0);
// Reset scroll position.
if (config.resetScroll)
$this.scrollTop(0);
// Reset forms.
if (config.resetForms)
$this.find('form').each(function() {
this.reset();
});
// Reset forms.
if (config.resetForms)
$this.find('form').each(function() {
this.reset();
});
}, config.delay);
}, config.delay);
};
};
// Vendor fixes.
$this
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
.css('-webkit-overflow-scrolling', 'touch');
// Vendor fixes.
$this
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
.css('-webkit-overflow-scrolling', 'touch');
// Hide on click.
if (config.hideOnClick) {
// Hide on click.
if (config.hideOnClick) {
$this.find('a')
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
$this.find('a')
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
$this
.on('click', 'a', function(event) {
$this
.on('click', 'a', function(event) {
var $a = $(this),
href = $a.attr('href'),
target = $a.attr('target');
var $a = $(this),
href = $a.attr('href'),
target = $a.attr('target');
if (!href || href == '#' || href == '' || href == '#' + id)
return;
if (!href || href == '#' || href == '' || href == '#' + id)
return;
// Cancel original event.
event.preventDefault();
event.stopPropagation();
// Cancel original event.
event.preventDefault();
event.stopPropagation();
// Hide panel.
$this._hide();
// Hide panel.
$this._hide();
// Redirect to href.
window.setTimeout(function() {
// Redirect to href.
window.setTimeout(function() {
if (target == '_blank')
window.open(href);
else
window.location.href = href;
if (target == '_blank')
window.open(href);
else
window.location.href = href;
}, config.delay + 10);
}, config.delay + 10);
});
});
}
}
// Event: Touch stuff.
$this.on('touchstart', function(event) {
// Event: Touch stuff.
$this.on('touchstart', function(event) {
$this.touchPosX = event.originalEvent.touches[0].pageX;
$this.touchPosY = event.originalEvent.touches[0].pageY;
$this.touchPosX = event.originalEvent.touches[0].pageX;
$this.touchPosY = event.originalEvent.touches[0].pageY;
})
})
$this.on('touchmove', function(event) {
$this.on('touchmove', function(event) {
if ($this.touchPosX === null
|| $this.touchPosY === null)
return;
if ($this.touchPosX === null
|| $this.touchPosY === null)
return;
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
th = $this.outerHeight(),
ts = ($this.get(0).scrollHeight - $this.scrollTop());
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
th = $this.outerHeight(),
ts = ($this.get(0).scrollHeight - $this.scrollTop());
// Hide on swipe?
if (config.hideOnSwipe) {
// Hide on swipe?
if (config.hideOnSwipe) {
var result = false,
boundary = 20,
delta = 50;
var result = false,
boundary = 20,
delta = 50;
switch (config.side) {
switch (config.side) {
case 'left':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
break;
case 'left':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
break;
case 'right':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
break;
case 'right':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
break;
case 'top':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
break;
case 'top':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
break;
case 'bottom':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
break;
case 'bottom':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
break;
default:
break;
default:
break;
}
}
if (result) {
if (result) {
$this.touchPosX = null;
$this.touchPosY = null;
$this._hide();
$this.touchPosX = null;
$this.touchPosY = null;
$this._hide();
return false;
return false;
}
}
}
}
// Prevent vertical scrolling past the top or bottom.
if (($this.scrollTop() < 0 && diffY < 0)
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
// Prevent vertical scrolling past the top or bottom.
if (($this.scrollTop() < 0 && diffY < 0)
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
event.preventDefault();
event.stopPropagation();
event.preventDefault();
event.stopPropagation();
}
}
});
});
// Event: Prevent certain events inside the panel from bubbling.
$this.on('click touchend touchstart touchmove', function(event) {
event.stopPropagation();
});
// Event: Prevent certain events inside the panel from bubbling.
$this.on('click touchend touchstart touchmove', function(event) {
event.stopPropagation();
});
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
$this.on('click', 'a[href="#' + id + '"]', function(event) {
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
$this.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
event.preventDefault();
event.stopPropagation();
config.target.removeClass(config.visibleClass);
config.target.removeClass(config.visibleClass);
});
});
// Body.
// Body.
// Event: Hide panel on body click/tap.
$body.on('click touchend', function(event) {
$this._hide(event);
});
// Event: Hide panel on body click/tap.
$body.on('click touchend', function(event) {
$this._hide(event);
});
// Event: Toggle.
$body.on('click', 'a[href="#' + id + '"]', function(event) {
// Event: Toggle.
$body.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
event.preventDefault();
event.stopPropagation();
config.target.toggleClass(config.visibleClass);
config.target.toggleClass(config.visibleClass);
});
});
// Window.
// Window.
// Event: Hide on ESC.
if (config.hideOnEscape)
$window.on('keydown', function(event) {
// Event: Hide on ESC.
if (config.hideOnEscape)
$window.on('keydown', function(event) {
if (event.keyCode == 27)
$this._hide(event);
if (event.keyCode == 27)
$this._hide(event);
});
});
return $this;
return $this;
};
};
/**
* Apply "placeholder" attribute polyfill to one or more forms.
* @return {jQuery} jQuery object.
*/
$.fn.placeholder = function() {
/**
* Apply "placeholder" attribute polyfill to one or more forms.
* @return {jQuery} jQuery object.
*/
$.fn.placeholder = function() {
// Browser natively supports placeholders? Bail.
if (typeof (document.createElement('input')).placeholder != 'undefined')
return $(this);
// Browser natively supports placeholders? Bail.
if (typeof (document.createElement('input')).placeholder != 'undefined')
return $(this);
// No elements?
if (this.length == 0)
return $this;
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).placeholder();
for (var i=0; i < this.length; i++)
$(this[i]).placeholder();
return $this;
return $this;
}
}
// Vars.
var $this = $(this);
// Vars.
var $this = $(this);
// Text, TextArea.
$this.find('input[type=text],textarea')
.each(function() {
// Text, TextArea.
$this.find('input[type=text],textarea')
.each(function() {
var i = $(this);
var i = $(this);
if (i.val() == ''
|| i.val() == i.attr('placeholder'))
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
if (i.val() == ''
|| i.val() == i.attr('placeholder'))
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('blur', function() {
})
.on('blur', function() {
var i = $(this);
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == '')
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
if (i.val() == '')
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('focus', function() {
})
.on('focus', function() {
var i = $(this);
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == i.attr('placeholder'))
i
.removeClass('polyfill-placeholder')
.val('');
if (i.val() == i.attr('placeholder'))
i
.removeClass('polyfill-placeholder')
.val('');
});
});
// Password.
$this.find('input[type=password]')
.each(function() {
// Password.
$this.find('input[type=password]')
.each(function() {
var i = $(this);
var x = $(
$('<div>')
.append(i.clone())
.remove()
.html()
.replace(/type="password"/i, 'type="text"')
.replace(/type=password/i, 'type=text')
);
var i = $(this);
var x = $(
$('<div>')
.append(i.clone())
.remove()
.html()
.replace(/type="password"/i, 'type="text"')
.replace(/type=password/i, 'type=text')
);
if (i.attr('id') != '')
x.attr('id', i.attr('id') + '-polyfill-field');
if (i.attr('id') != '')
x.attr('id', i.attr('id') + '-polyfill-field');
if (i.attr('name') != '')
x.attr('name', i.attr('name') + '-polyfill-field');
if (i.attr('name') != '')
x.attr('name', i.attr('name') + '-polyfill-field');
x.addClass('polyfill-placeholder')
.val(x.attr('placeholder')).insertAfter(i);
x.addClass('polyfill-placeholder')
.val(x.attr('placeholder')).insertAfter(i);
if (i.val() == '')
i.hide();
else
x.hide();
if (i.val() == '')
i.hide();
else
x.hide();
i
.on('blur', function(event) {
i
.on('blur', function(event) {
event.preventDefault();
event.preventDefault();
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
if (i.val() == '') {
i.hide();
x.show();
i.hide();
x.show();
}
}
});
});
x
.on('focus', function(event) {
x
.on('focus', function(event) {
event.preventDefault();
event.preventDefault();
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
x.hide();
x.hide();
i
.show()
.focus();
i
.show()
.focus();
})
.on('keypress', function(event) {
})
.on('keypress', function(event) {
event.preventDefault();
x.val('');
event.preventDefault();
x.val('');
});
});
});
});
// Events.
$this
.on('submit', function() {
// Events.
$this
.on('submit', function() {
$this.find('input[type=text],input[type=password],textarea')
.each(function(event) {
$this.find('input[type=text],input[type=password],textarea')
.each(function(event) {
var i = $(this);
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
i.attr('name', '');
if (i.attr('name').match(/-polyfill-field$/))
i.attr('name', '');
if (i.val() == i.attr('placeholder')) {
if (i.val() == i.attr('placeholder')) {
i.removeClass('polyfill-placeholder');
i.val('');
i.removeClass('polyfill-placeholder');
i.val('');
}
}
});
});
})
.on('reset', function(event) {
})
.on('reset', function(event) {
event.preventDefault();
event.preventDefault();
$this.find('select')
.val($('option:first').val());
$this.find('select')
.val($('option:first').val());
$this.find('input,textarea')
.each(function() {
$this.find('input,textarea')
.each(function() {
var i = $(this),
x;
var i = $(this),
x;
i.removeClass('polyfill-placeholder');
i.removeClass('polyfill-placeholder');
switch (this.type) {
switch (this.type) {
case 'submit':
case 'reset':
break;
case 'submit':
case 'reset':
break;
case 'password':
i.val(i.attr('defaultValue'));
case 'password':
i.val(i.attr('defaultValue'));
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
else {
i.show();
x.hide();
}
if (i.val() == '') {
i.hide();
x.show();
}
else {
i.show();
x.hide();
}
break;
break;
case 'checkbox':
case 'radio':
i.attr('checked', i.attr('defaultValue'));
break;
case 'checkbox':
case 'radio':
i.attr('checked', i.attr('defaultValue'));
break;
case 'text':
case 'textarea':
i.val(i.attr('defaultValue'));
case 'text':
case 'textarea':
i.val(i.attr('defaultValue'));
if (i.val() == '') {
i.addClass('polyfill-placeholder');
i.val(i.attr('placeholder'));
}
if (i.val() == '') {
i.addClass('polyfill-placeholder');
i.val(i.attr('placeholder'));
}
break;
break;
default:
i.val(i.attr('defaultValue'));
break;
default:
i.val(i.attr('defaultValue'));
break;
}
});
}
});
});
});
return $this;
return $this;
};
};
/**
* Moves elements to/from the first positions of their respective parents.
* @param {jQuery} $elements Elements (or selector) to move.
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
*/
$.prioritize = function($elements, condition) {
/**
* Moves elements to/from the first positions of their respective parents.
* @param {jQuery} $elements Elements (or selector) to move.
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
*/
$.prioritize = function($elements, condition) {
var key = '__prioritize';
var key = '__prioritize';
// Expand $elements if it's not already a jQuery object.
if (typeof $elements != 'jQuery')
$elements = $($elements);
// Expand $elements if it's not already a jQuery object.
if (typeof $elements != 'jQuery')
$elements = $($elements);
// Step through elements.
$elements.each(function() {
// Step through elements.
$elements.each(function() {
var $e = $(this), $p,
$parent = $e.parent();
var $e = $(this), $p,
$parent = $e.parent();
// No parent? Bail.
if ($parent.length == 0)
return;
// No parent? Bail.
if ($parent.length == 0)
return;
// Not moved? Move it.
if (!$e.data(key)) {
// Not moved? Move it.
if (!$e.data(key)) {
// Condition is false? Bail.
if (!condition)
return;
// Condition is false? Bail.
if (!condition)
return;
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
$p = $e.prev();
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
$p = $e.prev();
// Couldn't find anything? Means this element's already at the top, so bail.
if ($p.length == 0)
return;
// Couldn't find anything? Means this element's already at the top, so bail.
if ($p.length == 0)
return;
// Move element to top of parent.
$e.prependTo($parent);
// Move element to top of parent.
$e.prependTo($parent);
// Mark element as moved.
$e.data(key, $p);
// Mark element as moved.
$e.data(key, $p);
}
}
// Moved already?
else {
// Moved already?
else {
// Condition is true? Bail.
if (condition)
return;
// Condition is true? Bail.
if (condition)
return;
$p = $e.data(key);
$p = $e.data(key);
// Move element back to its original location (using our placeholder).
$e.insertAfter($p);
// Move element back to its original location (using our placeholder).
$e.insertAfter($p);
// Unmark element as moved.
$e.removeData(key);
// Unmark element as moved.
$e.removeData(key);
}
}
});
});
};
};
})(jQuery);

View File

@ -2,87 +2,87 @@
/* Banner */
#banner {
@include vendor('display', 'flex');
@include vendor('flex-direction', 'column');
@include vendor('justify-content', 'center');
cursor: default;
height: 100vh;
min-height: 35em;
overflow: hidden;
position: relative;
text-align: center;
@include vendor('display', 'flex');
@include vendor('flex-direction', 'column');
@include vendor('justify-content', 'center');
cursor: default;
height: 100vh;
min-height: 35em;
overflow: hidden;
position: relative;
text-align: center;
h2 {
@include vendor('transform', 'scale(1)');
@include vendor('transition', ('transform 0.5s ease', 'opacity 0.5s ease'));
display: inline-block;
font-size: 1.75em;
opacity: 1;
padding: 0.35em 1em;
position: relative;
z-index: 1;
h2 {
@include vendor('transform', 'scale(1)');
@include vendor('transition', ('transform 0.5s ease', 'opacity 0.5s ease'));
display: inline-block;
font-size: 1.75em;
opacity: 1;
padding: 0.35em 1em;
position: relative;
z-index: 1;
&:before, &:after {
@include vendor('transition', 'width 1s ease');
@include vendor('transition-delay', '0.25s');
background: _palette(fg-bold);
content: '';
display: block;
height: 2px;
position: absolute;
width: 100%;
}
&:before, &:after {
@include vendor('transition', 'width 1s ease');
@include vendor('transition-delay', '0.25s');
background: _palette(fg-bold);
content: '';
display: block;
height: 2px;
position: absolute;
width: 100%;
}
&:before {
top: 0;
left: 0;
}
&:before {
top: 0;
left: 0;
}
&:after {
bottom: 0;
right: 0;
}
}
&:after {
bottom: 0;
right: 0;
}
}
h1 {
@include vendor('transition', 'opacity 0.5s ease');
@include vendor('transition-delay', '1s');
margin-bottom: 25px;
opacity: 1;
h1 {
@include vendor('transition', 'opacity 0.5s ease');
@include vendor('transition-delay', '1s');
margin-bottom: 25px;
opacity: 1;
a {
color: inherit;
}
}
a {
color: inherit;
}
}
@include breakpoint(small) {
@include padding(7em, 3em);
height: auto;
min-height: 0;
@include breakpoint(small) {
@include padding(7em, 3em);
height: auto;
min-height: 0;
h2 {
font-size: 1.25em;
}
h2 {
font-size: 1.25em;
}
br {
display: none;
}
}
br {
display: none;
}
}
}
body.is-loading {
#banner {
h1 {
opacity: 0;
}
#banner {
h1 {
opacity: 0;
}
h2 {
@include vendor('transform', 'scale(0.95)');
opacity: 0;
h2 {
@include vendor('transform', 'scale(0.95)');
opacity: 0;
&:before, &:after {
width: 0;
}
}
}
&:before, &:after {
width: 0;
}
}
}
}

View File

@ -2,234 +2,234 @@
/* Basic */
@-ms-viewport {
width: device-width;
width: device-width;
}
body {
background: _palette(bg);
background: _palette(bg);
&.is-loading {
*, *:before, *:after {
@include vendor('animation', 'none !important');
@include vendor('transition', 'none !important');
}
}
&.is-loading {
*, *:before, *:after {
@include vendor('animation', 'none !important');
@include vendor('transition', 'none !important');
}
}
}
body, input, select, textarea {
color: _palette(fg);
font-family: _font(family);
font-size: 15pt;
font-weight: _font(weight);
letter-spacing: _size(letter-spacing);
line-height: 1.65em;
color: _palette(fg);
font-family: _font(family);
font-size: 15pt;
font-weight: _font(weight);
letter-spacing: _size(letter-spacing);
line-height: 1.65em;
@include breakpoint(xlarge) {
font-size: 13pt;
}
@include breakpoint(xlarge) {
font-size: 13pt;
}
@include breakpoint(large) {
font-size: 12pt;
}
@include breakpoint(large) {
font-size: 12pt;
}
@include breakpoint(small) {
font-size: 11pt;
letter-spacing: _size(letter-spacing) * 0.5;
}
@include breakpoint(small) {
font-size: 11pt;
letter-spacing: _size(letter-spacing) * 0.5;
}
}
a {
@include vendor('transition', ('color #{_duration(transitions)} ease', 'border-bottom-color #{_duration(transitions)} ease'));
border-bottom: dotted 1px;
color: inherit;
text-decoration: none;
@include vendor('transition', ('color #{_duration(transitions)} ease', 'border-bottom-color #{_duration(transitions)} ease'));
border-bottom: dotted 1px;
color: inherit;
text-decoration: none;
&:hover {
border-bottom-color: transparent;
}
&:hover {
border-bottom-color: transparent;
}
}
strong, b {
color: _palette(fg-bold);
font-weight: _font(weight-bold);
color: _palette(fg-bold);
font-weight: _font(weight-bold);
}
em, i {
font-style: italic;
font-style: italic;
}
p {
margin: 0 0 _size(element-margin) 0;
margin: 0 0 _size(element-margin) 0;
}
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
color: _palette(fg-bold);
font-weight: _font(weight-extrabold);
letter-spacing: _size(letter-spacing-alt);
line-height: 1em;
margin: 0 0 (_size(element-margin) * 0.5) 0;
text-transform: uppercase;
color: _palette(fg-bold);
font-weight: _font(weight-extrabold);
letter-spacing: _size(letter-spacing-alt);
line-height: 1em;
margin: 0 0 (_size(element-margin) * 0.5) 0;
text-transform: uppercase;
a {
color: inherit;
text-decoration: none;
}
a {
color: inherit;
text-decoration: none;
}
}
h2,
.h2 {
font-size: 1.35em;
line-height: 1.4;
font-size: 1.35em;
line-height: 1.4;
@include breakpoint(small) {
font-size: 1.1em;
}
@include breakpoint(small) {
font-size: 1.1em;
}
}
.h3,
h3 {
font-size: 1.15em;
line-height: 1.4;
font-size: 1.15em;
line-height: 1.4;
@include breakpoint(small) {
font-size: 1em;
}
@include breakpoint(small) {
font-size: 1em;
}
}
.h4,
h4 {
font-size: 1em;
line-height: 1.5em;
font-size: 1em;
line-height: 1.5em;
}
.h5,
h5 {
font-size: 0.8em;
line-height: 1.5em;
font-size: 0.8em;
line-height: 1.5em;
}
.h6,
h6 {
font-size: 0.7em;
line-height: 1.5em;
font-size: 0.7em;
line-height: 1.5em;
}
sub {
font-size: 0.8em;
position: relative;
top: 0.5em;
font-size: 0.8em;
position: relative;
top: 0.5em;
}
sup {
font-size: 0.8em;
position: relative;
top: -0.5em;
font-size: 0.8em;
position: relative;
top: -0.5em;
}
hr {
border: 0;
border-bottom: solid 2px _palette(border);
margin: (_size(element-margin) * 1.5) 0;
border: 0;
border-bottom: solid 2px _palette(border);
margin: (_size(element-margin) * 1.5) 0;
&.major {
margin: (_size(element-margin) * 2.25) 0;
}
&.major {
margin: (_size(element-margin) * 2.25) 0;
}
}
blockquote {
border-left: solid 4px _palette(border);
font-style: italic;
margin: 0 0 _size(element-margin) 0;
padding: 0.5em 0 0.5em 2em;
border-left: solid 4px _palette(border);
font-style: italic;
margin: 0 0 _size(element-margin) 0;
padding: 0.5em 0 0.5em 2em;
}
code {
background: _palette(border-bg);
border-radius: 3px;
font-family: _font(family-fixed);
font-size: 0.9em;
letter-spacing: 0;
margin: 0 0.25em;
padding: 0.25em 0.65em;
background: _palette(border-bg);
border-radius: 3px;
font-family: _font(family-fixed);
font-size: 0.9em;
letter-spacing: 0;
margin: 0 0.25em;
padding: 0.25em 0.65em;
}
pre {
-webkit-overflow-scrolling: touch;
font-family: _font(family-fixed);
font-size: 0.9em;
margin: 0 0 _size(element-margin) 0;
-webkit-overflow-scrolling: touch;
font-family: _font(family-fixed);
font-size: 0.9em;
margin: 0 0 _size(element-margin) 0;
code {
display: block;
line-height: 1.75em;
padding: 1em 1.5em;
overflow-x: auto;
}
code {
display: block;
line-height: 1.75em;
padding: 1em 1.5em;
overflow-x: auto;
}
}
.align-left {
text-align: left;
text-align: left;
}
.align-center {
text-align: center;
text-align: center;
}
.align-right {
text-align: right;
text-align: right;
}
header {
p {
color: _palette(fg-light);
position: relative;
top: -0.25em;
}
p {
color: _palette(fg-light);
position: relative;
top: -0.25em;
}
h2 + p {
}
h2 + p {
}
h3 + p {
font-size: 1.1em;
}
h3 + p {
font-size: 1.1em;
}
h4 + p,
h5 + p,
h6 + p {
font-size: 0.9em;
}
h4 + p,
h5 + p,
h6 + p {
font-size: 0.9em;
}
&.major {
margin: 0 0 (_size(element-margin) * 1.75) 0;
&.major {
margin: 0 0 (_size(element-margin) * 1.75) 0;
h2, h3, h4, h5, h6 {
border-bottom: solid 2px _palette(border);
display: inline-block;
padding-bottom: 1em;
position: relative;
h2, h3, h4, h5, h6 {
border-bottom: solid 2px _palette(border);
display: inline-block;
padding-bottom: 1em;
position: relative;
&:after {
content: '';
display: block;
height: 1px;
}
}
&:after {
content: '';
display: block;
height: 1px;
}
}
p {
color: _palette(fg);
top: 0;
}
p {
color: _palette(fg);
top: 0;
}
@include breakpoint(small) {
margin: 0 0 _size(element-margin) 0;
}
}
@include breakpoint(small) {
margin: 0 0 _size(element-margin) 0;
}
}
@include breakpoint(medium) {
br {
display: none;
}
}
@include breakpoint(medium) {
br {
display: none;
}
}
}

View File

@ -2,70 +2,70 @@
/* Box */
.box {
border-radius: 3px;
border: solid 2px _palette(border);
margin-bottom: _size(element-margin);
padding: 1.5em;
border-radius: 3px;
border: solid 2px _palette(border);
margin-bottom: _size(element-margin);
padding: 1.5em;
> :last-child,
> :last-child > :last-child,
> :last-child > :last-child > :last-child {
margin-bottom: 0;
}
> :last-child,
> :last-child > :last-child,
> :last-child > :last-child > :last-child {
margin-bottom: 0;
}
&.alt {
border: 0;
border-radius: 0;
padding: 0;
}
&.alt {
border: 0;
border-radius: 0;
padding: 0;
}
}
/* Icon */
.icon {
@include icon;
border-bottom: none;
position: relative;
@include icon;
border-bottom: none;
position: relative;
> .label {
display: none;
}
> .label {
display: none;
}
&.major {
@include vendor('transform', 'rotate(-45deg)');
border-radius: 3px;
border: solid 2px _palette(border);
display: inline-block;
font-size: 1.35em;
height: calc(3em + 2px);
line-height: 3em;
text-align: center;
width: calc(3em + 2px);
&.major {
@include vendor('transform', 'rotate(-45deg)');
border-radius: 3px;
border: solid 2px _palette(border);
display: inline-block;
font-size: 1.35em;
height: calc(3em + 2px);
line-height: 3em;
text-align: center;
width: calc(3em + 2px);
&:before {
@include vendor('transform', 'rotate(45deg)');
display: inline-block;
font-size: 1.5em;
}
&:before {
@include vendor('transform', 'rotate(45deg)');
display: inline-block;
font-size: 1.5em;
}
@include breakpoint(small) {
font-size: 1em;
}
}
@include breakpoint(small) {
font-size: 1em;
}
}
&.style1 {
color: _palette(bg);
}
&.style1 {
color: _palette(bg);
}
&.style2 {
color: _palette(accent2, bg);
}
&.style2 {
color: _palette(accent2, bg);
}
&.style3 {
color: _palette(accent3, bg);
}
&.style4 {
color: _palette(accent4, bg);
}
&.style3 {
color: _palette(accent3, bg);
}
&.style4 {
color: _palette(accent4, bg);
}
}

View File

@ -6,78 +6,78 @@ input[type="reset"],
input[type="button"],
button,
.button {
@include vendor('appearance', 'none');
@include vendor('transition', ('background-color #{_duration(transitions)} ease-in-out', 'color #{_duration(transitions)} ease-in-out'));
background-color: transparent;
border-radius: 3px;
border: 0;
box-shadow: inset 0 0 0 2px _palette(border);
color: _palette(fg-bold);
cursor: pointer;
display: inline-block;
font-size: 0.8em;
font-weight: _font(weight-bold);
height: 3.125em;
letter-spacing: _size(letter-spacing-alt);
line-height: 3.125em;
padding: 0 2.75em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@include vendor('appearance', 'none');
@include vendor('transition', ('background-color #{_duration(transitions)} ease-in-out', 'color #{_duration(transitions)} ease-in-out'));
background-color: transparent;
border-radius: 3px;
border: 0;
box-shadow: inset 0 0 0 2px _palette(border);
color: _palette(fg-bold);
cursor: pointer;
display: inline-block;
font-size: 0.8em;
font-weight: _font(weight-bold);
height: 3.125em;
letter-spacing: _size(letter-spacing-alt);
line-height: 3.125em;
padding: 0 2.75em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&:hover {
background-color: _palette(border-bg);
}
&:hover {
background-color: _palette(border-bg);
}
&:active {
background-color: _palette(border2-bg);
}
&:active {
background-color: _palette(border2-bg);
}
&.icon {
&:before {
margin-right: 0.5em;
}
}
&.icon {
&:before {
margin-right: 0.5em;
}
}
&.fit {
display: block;
margin: 0 0 (_size(element-margin) * 0.5) 0;
width: 100%;
}
&.fit {
display: block;
margin: 0 0 (_size(element-margin) * 0.5) 0;
width: 100%;
}
&.small {
font-size: 0.8em;
}
&.small {
font-size: 0.8em;
}
&.big {
font-size: 1.35em;
}
&.big {
font-size: 1.35em;
}
&.special {
background-color: _palette(accent3, bg);
box-shadow: none !important;
color: _palette(accent3, fg-bold) !important;
&.special {
background-color: _palette(accent3, bg);
box-shadow: none !important;
color: _palette(accent3, fg-bold) !important;
&:hover {
background-color: lighten(_palette(accent3, bg), 5) !important;
}
&:hover {
background-color: lighten(_palette(accent3, bg), 5) !important;
}
&:active {
background-color: darken(_palette(accent3, bg), 5) !important;
}
}
&:active {
background-color: darken(_palette(accent3, bg), 5) !important;
}
}
&.disabled,
&:disabled {
@include vendor('pointer-events', 'none');
opacity: 0.25;
}
&.disabled,
&:disabled {
@include vendor('pointer-events', 'none');
opacity: 0.25;
}
@include breakpoint(small) {
height: 3.75em;
line-height: 3.75em;
}
@include breakpoint(small) {
height: 3.75em;
line-height: 3.75em;
}
}

View File

@ -5,46 +5,46 @@
/* CTA */
#cta {
.inner {
@include vendor('display', 'flex');
max-width: 45em;
.inner {
@include vendor('display', 'flex');
max-width: 45em;
header {
@include vendor('order', '1');
padding-right: 3em;
width: 70%;
header {
@include vendor('order', '1');
padding-right: 3em;
width: 70%;
p {
color: inherit;
}
}
p {
color: inherit;
}
}
.actions {
@include vendor('order', '2');
width: 30%;
}
.actions {
@include vendor('order', '2');
width: 30%;
}
@include breakpoint(medium) {
display: block;
text-align: center;
@include breakpoint(medium) {
display: block;
text-align: center;
header {
padding-right: 0;
width: 100%;
}
header {
padding-right: 0;
width: 100%;
}
.actions {
margin-left: auto;
margin-right: auto;
max-width: 20em;
width: 100%;
}
}
.actions {
margin-left: auto;
margin-right: auto;
max-width: 20em;
width: 100%;
}
}
@include breakpoint(small) {
.actions {
max-width: none;
}
}
}
@include breakpoint(small) {
.actions {
max-width: none;
}
}
}
}

View File

@ -2,74 +2,74 @@
/* Features */
.features {
@include vendor('display', 'flex');
@include vendor('flex-wrap', 'wrap');
@include vendor('justify-content', 'center');
list-style: none;
padding: 0;
width: 100%;
@include vendor('display', 'flex');
@include vendor('flex-wrap', 'wrap');
@include vendor('justify-content', 'center');
list-style: none;
padding: 0;
width: 100%;
li {
@include padding(4em, 4em, (0,0,0,2em));
display: block;
position: relative;
text-align: left;
width: 50%;
li {
@include padding(4em, 4em, (0,0,0,2em));
display: block;
position: relative;
text-align: left;
width: 50%;
@for $i from 1 through _misc(max-features) {
$j: 0.035 * $i;
@for $i from 1 through _misc(max-features) {
$j: 0.035 * $i;
&:nth-child(#{$i}) {
background-color: rgba(0,0,0, $j);
}
}
&:nth-child(#{$i}) {
background-color: rgba(0,0,0, $j);
}
}
&:before {
display: block;
color: _palette(accent1, bg);
position: absolute;
left: 1.75em;
top: 2.75em;
font-size: 1.5em;
}
&:before {
display: block;
color: _palette(accent1, bg);
position: absolute;
left: 1.75em;
top: 2.75em;
font-size: 1.5em;
}
&:nth-child(1) {
border-top-left-radius: 3px;
}
&:nth-child(1) {
border-top-left-radius: 3px;
}
&:nth-child(2) {
border-top-right-radius: 3px;
}
&:nth-child(2) {
border-top-right-radius: 3px;
}
&:nth-last-child(1) {
border-bottom-right-radius: 3px;
}
&:nth-last-child(1) {
border-bottom-right-radius: 3px;
}
&:nth-last-child(2) {
border-bottom-left-radius: 3px;
}
&:nth-last-child(2) {
border-bottom-left-radius: 3px;
}
@include breakpoint(medium) {
@include padding(3em, 2em);
text-align: center;
@include breakpoint(medium) {
@include padding(3em, 2em);
text-align: center;
&:before {
left: 0;
margin: 0 0 (_size(element-margin) * 0.5) 0;
position: relative;
top: 0;
}
}
&:before {
left: 0;
margin: 0 0 (_size(element-margin) * 0.5) 0;
position: relative;
top: 0;
}
}
@include breakpoint(small) {
@include padding(3em, 0);
background-color: transparent !important;
border-top: solid 2px _palette(border);
width: 100%;
@include breakpoint(small) {
@include padding(3em, 0);
background-color: transparent !important;
border-top: solid 2px _palette(border);
width: 100%;
&:first-child {
border-top: 0;
}
}
}
&:first-child {
border-top: 0;
}
}
}
}

View File

@ -2,15 +2,15 @@
/* Form */
form {
margin: 0 0 _size(element-margin) 0;
margin: 0 0 _size(element-margin) 0;
}
label {
color: _palette(fg-bold);
display: block;
font-size: 0.9em;
font-weight: _font(weight-bold);
margin: 0 0 (_size(element-margin) * 0.5) 0;
color: _palette(fg-bold);
display: block;
font-size: 0.9em;
font-weight: _font(weight-bold);
margin: 0 0 (_size(element-margin) * 0.5) 0;
}
input[type="text"],
@ -18,149 +18,149 @@ input[type="password"],
input[type="email"],
select,
textarea {
@include vendor('appearance', 'none');
background: _palette(border-bg);
border-radius: 3px;
border: none;
color: inherit;
display: block;
outline: 0;
padding: 0 1em;
text-decoration: none;
width: 100%;
@include vendor('appearance', 'none');
background: _palette(border-bg);
border-radius: 3px;
border: none;
color: inherit;
display: block;
outline: 0;
padding: 0 1em;
text-decoration: none;
width: 100%;
&:invalid {
box-shadow: none;
}
&:invalid {
box-shadow: none;
}
&:focus {
box-shadow: 0 0 0 2px _palette(accent1, bg);
}
&:focus {
box-shadow: 0 0 0 2px _palette(accent1, bg);
}
}
.select-wrapper {
@include icon;
display: block;
position: relative;
@include icon;
display: block;
position: relative;
&:before {
@include vendor('pointer-events', 'none');
color: _palette(border);
content: '\f078';
display: block;
height: _size(element-height);
line-height: _size(element-height);
position: absolute;
right: 0;
text-align: center;
top: 0;
width: _size(element-height);
}
&:before {
@include vendor('pointer-events', 'none');
color: _palette(border);
content: '\f078';
display: block;
height: _size(element-height);
line-height: _size(element-height);
position: absolute;
right: 0;
text-align: center;
top: 0;
width: _size(element-height);
}
select::-ms-expand {
display: none;
}
select::-ms-expand {
display: none;
}
}
input[type="text"],
input[type="password"],
input[type="email"],
select {
height: _size(element-height);
height: _size(element-height);
}
textarea {
padding: 0.75em 1em;
padding: 0.75em 1em;
}
input[type="checkbox"],
input[type="radio"], {
@include vendor('appearance', 'none');
display: block;
float: left;
margin-right: -2em;
opacity: 0;
width: 1em;
z-index: -1;
@include vendor('appearance', 'none');
display: block;
float: left;
margin-right: -2em;
opacity: 0;
width: 1em;
z-index: -1;
& + label {
@include icon;
color: _palette(fg);
cursor: pointer;
display: inline-block;
font-size: 1em;
font-weight: _font(weight);
padding-left: (_size(element-height) * 0.6) + 0.75em;
padding-right: 0.75em;
position: relative;
& + label {
@include icon;
color: _palette(fg);
cursor: pointer;
display: inline-block;
font-size: 1em;
font-weight: _font(weight);
padding-left: (_size(element-height) * 0.6) + 0.75em;
padding-right: 0.75em;
position: relative;
&:before {
background: _palette(border-bg);
border-radius: 3px;
content: '';
display: inline-block;
height: (_size(element-height) * 0.6);
left: 0;
line-height: (_size(element-height) * 0.575);
position: absolute;
text-align: center;
top: 0;
width: (_size(element-height) * 0.6);
}
}
&:before {
background: _palette(border-bg);
border-radius: 3px;
content: '';
display: inline-block;
height: (_size(element-height) * 0.6);
left: 0;
line-height: (_size(element-height) * 0.575);
position: absolute;
text-align: center;
top: 0;
width: (_size(element-height) * 0.6);
}
}
&:checked + label {
&:before {
background: _palette(bg);
color: _palette(fg-bold);
content: '\f00c';
}
}
&:checked + label {
&:before {
background: _palette(bg);
color: _palette(fg-bold);
content: '\f00c';
}
}
&:focus + label {
&:before {
box-shadow: 0 0 0 2px _palette(accent1, bg);
}
}
&:focus + label {
&:before {
box-shadow: 0 0 0 2px _palette(accent1, bg);
}
}
}
input[type="checkbox"] {
& + label {
&:before {
border-radius: 3px;
}
}
& + label {
&:before {
border-radius: 3px;
}
}
}
input[type="radio"] {
& + label {
&:before {
border-radius: 100%;
}
}
& + label {
&:before {
border-radius: 100%;
}
}
}
::-webkit-input-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
color: _palette(fg-light) !important;
opacity: 1.0;
}
:-moz-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
color: _palette(fg-light) !important;
opacity: 1.0;
}
::-moz-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
color: _palette(fg-light) !important;
opacity: 1.0;
}
:-ms-input-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
color: _palette(fg-light) !important;
opacity: 1.0;
}
.formerize-placeholder {
color: _palette(fg-light) !important;
opacity: 1.0;
color: _palette(fg-light) !important;
opacity: 1.0;
}

View File

@ -2,104 +2,104 @@
/* Header */
#header {
@include vendor('transition', 'background-color #{_duration(transitions)} ease');
background: _palette(bg);
height: 3em;
left: 0;
line-height: 3em;
position: fixed;
top: 0;
width: 100%;
z-index: _misc(z-index-base);
@include vendor('transition', 'background-color #{_duration(transitions)} ease');
background: _palette(bg);
height: 3em;
left: 0;
line-height: 3em;
position: fixed;
top: 0;
width: 100%;
z-index: _misc(z-index-base);
h1 {
@include vendor('transition', 'opacity #{_duration(transitions)} ease');
height: inherit;
left: 1.25em;
line-height: inherit;
position: absolute;
top: 0;
h1 {
@include vendor('transition', 'opacity #{_duration(transitions)} ease');
height: inherit;
left: 1.25em;
line-height: inherit;
position: absolute;
top: 0;
a {
border: 0;
display: block;
height: inherit;
line-height: inherit;
a {
border: 0;
display: block;
height: inherit;
line-height: inherit;
@include breakpoint(small) {
font-size: 0.8em;
}
}
}
@include breakpoint(small) {
font-size: 0.8em;
}
}
}
nav {
height: inherit;
line-height: inherit;
position: absolute;
right: 0;
top: 0;
nav {
height: inherit;
line-height: inherit;
position: absolute;
right: 0;
top: 0;
> ul {
list-style: none;
margin: 0;
padding: 0;
white-space: nowrap;
> ul {
list-style: none;
margin: 0;
padding: 0;
white-space: nowrap;
> li {
display: inline-block;
padding: 0;
> li {
display: inline-block;
padding: 0;
> a {
border: 0;
color: _palette(fg-bold);
display: block;
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
padding: 0 1.5em;
text-transform: uppercase;
> a {
border: 0;
color: _palette(fg-bold);
display: block;
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
padding: 0 1.5em;
text-transform: uppercase;
&.menuToggle {
outline: 0;
position: relative;
&.menuToggle {
outline: 0;
position: relative;
&:after {
background-image: url('images/bars.svg');
background-position: right center;
background-repeat: no-repeat;
content: '';
display: inline-block;
height: 3.75em;
vertical-align: top;
width: 2em;
}
&:after {
background-image: url('images/bars.svg');
background-position: right center;
background-repeat: no-repeat;
content: '';
display: inline-block;
height: 3.75em;
vertical-align: top;
width: 2em;
}
@include breakpoint(small) {
padding: 0 1.5em;
@include breakpoint(small) {
padding: 0 1.5em;
span {
display: none;
}
}
}
span {
display: none;
}
}
}
@include breakpoint(small) {
padding: 0 0 0 1.5em;
}
}
@include breakpoint(small) {
padding: 0 0 0 1.5em;
}
}
&:first-child {
margin-left: 0;
}
}
}
}
&:first-child {
margin-left: 0;
}
}
}
}
&.alt {
background: transparent;
&.alt {
background: transparent;
h1 {
@include vendor('pointer-events', 'none');
opacity: 0;
}
}
h1 {
@include vendor('pointer-events', 'none');
opacity: 0;
}
}
}

View File

@ -2,44 +2,44 @@
/* Image */
.image {
border-radius: 3px;
border: 0;
display: inline-block;
position: relative;
border-radius: 3px;
border: 0;
display: inline-block;
position: relative;
img {
border-radius: 3px;
display: block;
}
img {
border-radius: 3px;
display: block;
}
&.left {
float: left;
margin: 0 2em 2em 0;
top: 0.25em;
}
&.left {
float: left;
margin: 0 2em 2em 0;
top: 0.25em;
}
&.right {
float: right;
margin: 0 0 2em 2em;
top: 0.25em;
}
&.right {
float: right;
margin: 0 0 2em 2em;
top: 0.25em;
}
&.left,
&.right {
max-width: 40%;
&.left,
&.right {
max-width: 40%;
img {
width: 100%;
}
}
img {
width: 100%;
}
}
&.fit {
display: block;
margin: 0 0 _size(element-margin) 0;
width: 100%;
&.fit {
display: block;
margin: 0 0 _size(element-margin) 0;
width: 100%;
img {
width: 100%;
}
}
img {
width: 100%;
}
}
}

View File

@ -2,218 +2,218 @@
/* List */
ol {
list-style: decimal;
margin: 0 0 _size(element-margin) 0;
padding-left: 1.25em;
list-style: decimal;
margin: 0 0 _size(element-margin) 0;
padding-left: 1.25em;
li {
padding-left: 0.25em;
}
li {
padding-left: 0.25em;
}
}
ul {
list-style: disc;
margin: 0 0 _size(element-margin) 0;
padding-left: 1em;
list-style: disc;
margin: 0 0 _size(element-margin) 0;
padding-left: 1em;
li {
padding-left: 0.5em;
}
li {
padding-left: 0.5em;
}
&.alt {
list-style: none;
padding-left: 0;
&.alt {
list-style: none;
padding-left: 0;
li {
border-top: solid 1px _palette(border);
padding: 0.5em 0;
li {
border-top: solid 1px _palette(border);
padding: 0.5em 0;
&:first-child {
border-top: 0;
padding-top: 0;
}
}
}
&:first-child {
border-top: 0;
padding-top: 0;
}
}
}
&.icons {
cursor: default;
list-style: none;
padding-left: 0;
&.icons {
cursor: default;
list-style: none;
padding-left: 0;
li {
display: inline-block;
padding: 0 1em 0 0;
li {
display: inline-block;
padding: 0 1em 0 0;
&:last-child {
padding-right: 0;
}
}
&:last-child {
padding-right: 0;
}
}
&.major {
padding: 1em 0;
&.major {
padding: 1em 0;
li {
padding-right: 3.5em;
&:last-child {
padding-right: 0;
}
li {
padding-right: 3.5em;
&:last-child {
padding-right: 0;
}
@include breakpoint(small) {
padding: 0 1em;
}
}
}
@include breakpoint(small) {
padding: 0 1em;
}
}
}
&.icons--flex {
display: flex;
justify-content: space-between;
max-width: 980px;
margin: auto;
padding-left: 16px;
li {
flex-basis: 33.333%;
padding-right: 0;
}
&.icons--flex {
display: flex;
justify-content: space-between;
max-width: 980px;
margin: auto;
padding-left: 16px;
li {
flex-basis: 33.333%;
padding-right: 0;
}
@include breakpoint(small) {
display: block;
padding: 0;
@include breakpoint(small) {
display: block;
padding: 0;
li {
display: block;
margin: 40px 0;
padding: 0;
}
}
.icon {
margin-right: 8px;
}
}
li {
display: block;
margin: 40px 0;
padding: 0;
}
}
.icon {
margin-right: 8px;
}
}
.icons__title {
display: block;
@extend .h3;
margin-top: 40px;
.icons__title {
display: block;
@extend .h3;
margin-top: 40px;
@include breakpoint(small) {
margin-top: 20px;
}
}
}
@include breakpoint(small) {
margin-top: 20px;
}
}
}
&.actions {
cursor: default;
list-style: none;
padding-left: 0;
&.actions {
cursor: default;
list-style: none;
padding-left: 0;
li {
display: inline-block;
padding: 0 (_size(element-margin) * 0.75) 0 0;
vertical-align: middle;
li {
display: inline-block;
padding: 0 (_size(element-margin) * 0.75) 0 0;
vertical-align: middle;
&:last-child {
padding-right: 0;
}
}
&:last-child {
padding-right: 0;
}
}
&.small {
li {
padding: 0 (_size(element-margin) * 0.375) 0 0;
}
}
&.small {
li {
padding: 0 (_size(element-margin) * 0.375) 0 0;
}
}
&.vertical {
li {
display: block;
padding: (_size(element-margin) * 0.75) 0 0 0;
&.vertical {
li {
display: block;
padding: (_size(element-margin) * 0.75) 0 0 0;
&:first-child {
padding-top: 0;
}
&:first-child {
padding-top: 0;
}
> * {
margin-bottom: 0;
}
}
> * {
margin-bottom: 0;
}
}
&.small {
li {
padding: (_size(element-margin) * 0.375) 0 0 0;
&.small {
li {
padding: (_size(element-margin) * 0.375) 0 0 0;
&:first-child {
padding-top: 0;
}
}
}
}
&:first-child {
padding-top: 0;
}
}
}
}
&.fit {
display: table;
margin-left: (_size(element-margin) * -0.75);
padding: 0;
table-layout: fixed;
width: calc(100% + #{(_size(element-margin) * 0.75)});
&.fit {
display: table;
margin-left: (_size(element-margin) * -0.75);
padding: 0;
table-layout: fixed;
width: calc(100% + #{(_size(element-margin) * 0.75)});
li {
display: table-cell;
padding: 0 0 0 (_size(element-margin) * 0.75);
li {
display: table-cell;
padding: 0 0 0 (_size(element-margin) * 0.75);
> * {
margin-bottom: 0;
}
}
> * {
margin-bottom: 0;
}
}
&.small {
margin-left: (_size(element-margin) * -0.375);
width: calc(100% + #{(_size(element-margin) * 0.375)});
&.small {
margin-left: (_size(element-margin) * -0.375);
width: calc(100% + #{(_size(element-margin) * 0.375)});
li {
padding: 0 0 0 (_size(element-margin) * 0.375);
}
}
}
li {
padding: 0 0 0 (_size(element-margin) * 0.375);
}
}
}
@include breakpoint(small) {
li {
display: block;
padding: (_size(element-margin) * 0.5) 0 0 0;
text-align: center;
width: 100%;
@include breakpoint(small) {
li {
display: block;
padding: (_size(element-margin) * 0.5) 0 0 0;
text-align: center;
width: 100%;
&:first-child {
padding-top: 0;
}
&:first-child {
padding-top: 0;
}
> * {
margin: 0 auto !important;
max-width: 30em;
width: 100%;
> * {
margin: 0 auto !important;
max-width: 30em;
width: 100%;
&.icon {
&:before {
margin-left: -1em;
}
}
}
}
&.icon {
&:before {
margin-left: -1em;
}
}
}
}
&.small {
li {
padding: (_size(element-margin) * 0.25) 0 0 0;
&.small {
li {
padding: (_size(element-margin) * 0.25) 0 0 0;
&:first-child {
padding-top: 0;
}
}
}
}
}
&:first-child {
padding-top: 0;
}
}
}
}
}
}
dl {
margin: 0 0 _size(element-margin) 0;
margin: 0 0 _size(element-margin) 0;
}

View File

@ -2,102 +2,102 @@
/* Page Wrapper + Menu */
#page-wrapper {
@include vendor('transition', 'opacity #{_duration(menu)} ease');
opacity: 1;
padding-top: 3em;
@include vendor('transition', 'opacity #{_duration(menu)} ease');
opacity: 1;
padding-top: 3em;
&:before {
background: rgba(0,0,0,0);
content: '';
display: block;
display: none;
height: 100%;
left: 0;
position: fixed;
top: 0;
width: 100%;
z-index: _misc(z-index-base) + 1;
}
&:before {
background: rgba(0,0,0,0);
content: '';
display: block;
display: none;
height: 100%;
left: 0;
position: fixed;
top: 0;
width: 100%;
z-index: _misc(z-index-base) + 1;
}
}
#menu {
@include vendor('transform', 'translateX(20em)');
@include vendor('transition', 'transform #{_duration(menu)} ease');
-webkit-overflow-scrolling: touch;
background: _palette(accent1, bg);
color: _palette(accent1, fg-bold);
height: 100%;
max-width: 80%;
overflow-y: auto;
padding: 3em 2em;
position: fixed;
right: 0;
top: 0;
width: 20em;
z-index: _misc(z-index-base) + 2;
@include vendor('transform', 'translateX(20em)');
@include vendor('transition', 'transform #{_duration(menu)} ease');
-webkit-overflow-scrolling: touch;
background: _palette(accent1, bg);
color: _palette(accent1, fg-bold);
height: 100%;
max-width: 80%;
overflow-y: auto;
padding: 3em 2em;
position: fixed;
right: 0;
top: 0;
width: 20em;
z-index: _misc(z-index-base) + 2;
ul {
list-style: none;
padding: 0;
ul {
list-style: none;
padding: 0;
> li {
border-top: solid 1px _palette(accent1, border);
margin: 0.5em 0 0 0;
padding: 0.5em 0 0 0;
> li {
border-top: solid 1px _palette(accent1, border);
margin: 0.5em 0 0 0;
padding: 0.5em 0 0 0;
&:first-child {
border-top: 0 !important;
margin-top: 0 !important;
padding-top: 0 !important;
}
&:first-child {
border-top: 0 !important;
margin-top: 0 !important;
padding-top: 0 !important;
}
> a {
border: 0;
color: inherit;
display: block;
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
outline: 0;
text-decoration: none;
text-transform: uppercase;
> a {
border: 0;
color: inherit;
display: block;
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
outline: 0;
text-decoration: none;
text-transform: uppercase;
@include breakpoint(small) {
line-height: 3em;
}
}
}
}
@include breakpoint(small) {
line-height: 3em;
}
}
}
}
.close {
background-image: url('images/close.svg');
background-position: 4.85em 1em;
background-repeat: no-repeat;
border: 0;
cursor: pointer;
display: block;
height: 3em;
position: absolute;
right: 0;
top: 0;
vertical-align: middle;
width: 7em;
}
.close {
background-image: url('images/close.svg');
background-position: 4.85em 1em;
background-repeat: no-repeat;
border: 0;
cursor: pointer;
display: block;
height: 3em;
position: absolute;
right: 0;
top: 0;
vertical-align: middle;
width: 7em;
}
@include breakpoint(small) {
padding: 3em 1.5em;
}
@include breakpoint(small) {
padding: 3em 1.5em;
}
}
body.is-menu-visible {
#page-wrapper {
opacity: 0.35;
#page-wrapper {
opacity: 0.35;
&:before {
display: block;
}
}
&:before {
display: block;
}
}
#menu {
@include vendor('transform', 'translateX(0)');
}
#menu {
@include vendor('transform', 'translateX(0)');
}
}

View File

@ -1,7 +1,7 @@
/* Section/Article */
section, article {
&.special {
text-align: center;
}
&.special {
text-align: center;
}
}

View File

@ -2,71 +2,71 @@
/* Spotlight */
.spotlight {
@include vendor('align-items', 'center');
@include vendor('display', 'flex');
@include vendor('align-items', 'center');
@include vendor('display', 'flex');
.image {
@include vendor('order', '1');
border-radius: 0;
width: 40%;
.image {
@include vendor('order', '1');
border-radius: 0;
width: 40%;
img {
border-radius: 0;
width: 100%;
}
}
img {
border-radius: 0;
width: 100%;
}
}
.content {
@include padding(2em, 4em);
@include vendor('order', '2');
max-width: 48em;
width: 60%;
}
.content {
@include padding(2em, 4em);
@include vendor('order', '2');
max-width: 48em;
width: 60%;
}
&:nth-child(2n) {
@include vendor('flex-direction', 'row-reverse');
}
&:nth-child(2n) {
@include vendor('flex-direction', 'row-reverse');
}
@for $i from 1 through _misc(max-spotlights) {
$j: 0.075 * $i;
@for $i from 1 through _misc(max-spotlights) {
$j: 0.075 * $i;
&:nth-child(#{$i}) {
background-color: rgba(0,0,0, $j);
}
}
&:nth-child(#{$i}) {
background-color: rgba(0,0,0, $j);
}
}
@include breakpoint(large) {
.image {
width: 45%;
}
@include breakpoint(large) {
.image {
width: 45%;
}
.content {
width: 55%;
}
}
.content {
width: 55%;
}
}
@include breakpoint(medium) {
display: block;
@include breakpoint(medium) {
display: block;
br {
display: none;
}
br {
display: none;
}
.image {
width: 100%;
}
.image {
width: 100%;
}
.content {
@include padding(4em, 3em);
max-width: none;
text-align: center;
width: 100%;
}
}
.content {
@include padding(4em, 3em);
max-width: none;
text-align: center;
width: 100%;
}
}
@include breakpoint(small) {
.content {
@include padding(3em, 2em);
}
}
@include breakpoint(small) {
.content {
@include padding(3em, 2em);
}
}
}

View File

@ -2,75 +2,75 @@
/* Table */
.table-wrapper {
-webkit-overflow-scrolling: touch;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
overflow-x: auto;
}
table {
margin: 0 0 _size(element-margin) 0;
width: 100%;
margin: 0 0 _size(element-margin) 0;
width: 100%;
tbody {
tr {
border: solid 1px _palette(border);
border-left: 0;
border-right: 0;
tbody {
tr {
border: solid 1px _palette(border);
border-left: 0;
border-right: 0;
&:nth-child(2n + 1) {
background-color: _palette(border-bg);
}
}
}
&:nth-child(2n + 1) {
background-color: _palette(border-bg);
}
}
}
td {
padding: 0.75em 0.75em;
}
td {
padding: 0.75em 0.75em;
}
th {
color: _palette(fg-bold);
font-size: 0.9em;
font-weight: _font(weight-bold);
padding: 0 0.75em 0.75em 0.75em;
text-align: left;
}
th {
color: _palette(fg-bold);
font-size: 0.9em;
font-weight: _font(weight-bold);
padding: 0 0.75em 0.75em 0.75em;
text-align: left;
}
thead {
border-bottom: solid 2px _palette(border);
}
thead {
border-bottom: solid 2px _palette(border);
}
tfoot {
border-top: solid 2px _palette(border);
}
tfoot {
border-top: solid 2px _palette(border);
}
&.alt {
border-collapse: separate;
&.alt {
border-collapse: separate;
tbody {
tr {
td {
border: solid 1px _palette(border);
border-left-width: 0;
border-top-width: 0;
tbody {
tr {
td {
border: solid 1px _palette(border);
border-left-width: 0;
border-top-width: 0;
&:first-child {
border-left-width: 1px;
}
}
&:first-child {
border-left-width: 1px;
}
}
&:first-child {
td {
border-top-width: 1px;
}
}
}
}
&:first-child {
td {
border-top-width: 1px;
}
}
}
}
thead {
border-bottom: 0;
}
thead {
border-bottom: 0;
}
tfoot {
border-top: 0;
}
}
tfoot {
border-top: 0;
}
}
}

View File

@ -2,243 +2,243 @@
/* Wrapper */
@mixin wrapper($p) {
background-color: _palette($p, bg);
color: _palette($p, fg);
background-color: _palette($p, bg);
color: _palette($p, fg);
// Basic
// Basic
strong, b {
color: _palette($p, fg-bold);
}
strong, b {
color: _palette($p, fg-bold);
}
.h2, .h3, .h4, .h5, .h6,
h2, h3, h4, h5, h6 {
color: _palette($p, fg-bold);
}
.h2, .h3, .h4, .h5, .h6,
h2, h3, h4, h5, h6 {
color: _palette($p, fg-bold);
}
hr {
border-color: _palette($p, border);
}
hr {
border-color: _palette($p, border);
}
blockquote {
border-color: _palette($p, border);
}
blockquote {
border-color: _palette($p, border);
}
code {
background: _palette($p, border-bg);
}
code {
background: _palette($p, border-bg);
}
// Section/Article
// Section/Article
header {
p {
color: _palette($p, fg-light);
}
header {
p {
color: _palette($p, fg-light);
}
&.major {
h2, h3, h4, h5, h6 {
border-color: _palette($p, border);
}
&.major {
h2, h3, h4, h5, h6 {
border-color: _palette($p, border);
}
p {
color: _palette($p, fg);
}
}
}
p {
color: _palette($p, fg);
}
}
}
// Form
// Form
label {
color: _palette($p, fg-bold);
}
label {
color: _palette($p, fg-bold);
}
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
background: _palette($p, border-bg);
}
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
background: _palette($p, border-bg);
}
.select-wrapper {
&:before {
color: _palette($p, border);
}
}
.select-wrapper {
&:before {
color: _palette($p, border);
}
}
input[type="checkbox"],
input[type="radio"], {
& + label {
color: _palette($p, fg);
input[type="checkbox"],
input[type="radio"], {
& + label {
color: _palette($p, fg);
&:before {
background: _palette($p, border-bg);
}
}
&:before {
background: _palette($p, border-bg);
}
}
&:checked + label {
&:before {
background: _palette($p, fg-bold);
color: _palette($p, bg);
}
}
}
&:checked + label {
&:before {
background: _palette($p, fg-bold);
color: _palette($p, bg);
}
}
}
::-webkit-input-placeholder {
color: _palette($p, fg-light) !important;
}
::-webkit-input-placeholder {
color: _palette($p, fg-light) !important;
}
:-moz-placeholder {
color: _palette($p, fg-light) !important;
}
:-moz-placeholder {
color: _palette($p, fg-light) !important;
}
::-moz-placeholder {
color: _palette($p, fg-light) !important;
}
::-moz-placeholder {
color: _palette($p, fg-light) !important;
}
:-ms-input-placeholder {
color: _palette($p, fg-light) !important;
}
:-ms-input-placeholder {
color: _palette($p, fg-light) !important;
}
.formerize-placeholder {
color: _palette($p, fg-light) !important;
}
.formerize-placeholder {
color: _palette($p, fg-light) !important;
}
// Icon
// Icon
.icon {
&.major {
border-color: _palette($p, border);
}
}
.icon {
&.major {
border-color: _palette($p, border);
}
}
// List
// List
ul {
&.alt {
li {
border-color: _palette($p, border);
}
}
}
ul {
&.alt {
li {
border-color: _palette($p, border);
}
}
}
// Table
// Table
table {
tbody {
tr {
border-color: _palette($p, border);
table {
tbody {
tr {
border-color: _palette($p, border);
&:nth-child(2n + 1) {
background-color: _palette($p, border-bg);
}
}
}
&:nth-child(2n + 1) {
background-color: _palette($p, border-bg);
}
}
}
th {
color: _palette($p, fg-bold);
}
th {
color: _palette($p, fg-bold);
}
thead {
border-color: _palette($p, border);
}
thead {
border-color: _palette($p, border);
}
tfoot {
border-color: _palette($p, border);
}
tfoot {
border-color: _palette($p, border);
}
&.alt {
tbody {
tr {
td {
border-color: _palette($p, border);
}
}
}
}
}
&.alt {
tbody {
tr {
td {
border-color: _palette($p, border);
}
}
}
}
}
// Button
// Button
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
box-shadow: inset 0 0 0 2px _palette($p, border);
color: _palette($p, fg-bold);
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
box-shadow: inset 0 0 0 2px _palette($p, border);
color: _palette($p, fg-bold);
&:hover {
background-color: _palette($p, border-bg);
}
&:hover {
background-color: _palette($p, border-bg);
}
&:active {
background-color: _palette($p, border2-bg);
}
}
&:active {
background-color: _palette($p, border2-bg);
}
}
// Features
// Features
.features {
li {
@include breakpoint(small) {
border-top-color: _palette($p, border);
}
}
}
.features {
li {
@include breakpoint(small) {
border-top-color: _palette($p, border);
}
}
}
}
.wrapper {
@include padding(6em, 0);
@include padding(6em, 0);
> .inner {
width: 60em;
margin: 0 auto;
> .inner {
width: 60em;
margin: 0 auto;
@include breakpoint(large) {
width: 90%;
}
@include breakpoint(large) {
width: 90%;
}
@include breakpoint(medium) {
width: 100%;
}
}
@include breakpoint(medium) {
width: 100%;
}
}
&.alt {
padding: 0;
}
&.alt {
padding: 0;
}
&.style1 {
@include wrapper(accent1);
}
&.style1 {
@include wrapper(accent1);
}
&.style2 {
background-color: _palette(bg);
}
&.style2 {
background-color: _palette(bg);
}
&.style3 {
@include wrapper(accent3);
}
&.style3 {
@include wrapper(accent3);
}
&.style4 {
background-color: transparent;
}
&.style4 {
background-color: transparent;
}
&.style5 {
@include wrapper(accent2);
}
&.style6 {
@include wrapper(accent4);
}
&.style5 {
@include wrapper(accent2);
}
&.style6 {
@include wrapper(accent4);
}
@include breakpoint(medium) {
@include padding(4em, 3em);
}
@include breakpoint(medium) {
@include padding(4em, 3em);
}
@include breakpoint(small) {
@include padding(3em, 2em);
}
@include breakpoint(small) {
@include padding(3em, 2em);
}
}

View File

@ -6,112 +6,112 @@
@import 'libs/skel';
/*
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
/* Icon */
.icon {
&.major {
border: none;
.icon {
&.major {
border: none;
&:before {
font-size: 3em;
}
}
}
&:before {
font-size: 3em;
}
}
}
/* Form */
label {
color: _palette(accent2, fg-bold);
}
label {
color: _palette(accent2, fg-bold);
}
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
border: solid 1px _palette(accent2, border);
}
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
border: solid 1px _palette(accent2, border);
}
/* Button */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
border: solid 2px _palette(accent2, border);
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
border: solid 2px _palette(accent2, border);
&.special {
border: 0 !important;
}
}
&.special {
border: 0 !important;
}
}
/* Page Wrapper + Menu */
#menu {
display: none;
}
#menu {
display: none;
}
body.is-menu-visible {
#menu {
display: block;
}
}
body.is-menu-visible {
#menu {
display: block;
}
}
/* Header */
#header {
nav {
> ul {
> li {
> a {
&.menuToggle {
&:after {
display: none;
}
}
}
}
}
}
}
#header {
nav {
> ul {
> li {
> a {
&.menuToggle {
&:after {
display: none;
}
}
}
}
}
}
}
/* Banner + Wrapper (style4) */
#banner,
.wrapper.style4 {
-ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
#banner,
.wrapper.style4 {
-ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
&:before {
display: none;
}
}
&:before {
display: none;
}
}
/* Banner */
#banner {
.more {
height: 4em;
#banner {
.more {
height: 4em;
&:after {
display: none;
}
}
}
&:after {
display: none;
}
}
}
/* Main */
#main {
> header {
-ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
#main {
> header {
-ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
&:before {
display: none;
}
}
}
&:before {
display: none;
}
}
}

View File

@ -6,131 +6,131 @@
@import 'libs/skel';
/*
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
/* Spotlight */
.spotlight {
display: block;
.spotlight {
display: block;
.image {
display: inline-block;
vertical-align: top;
}
.image {
display: inline-block;
vertical-align: top;
}
.content {
@include padding(4em, 4em);
display: inline-block;
}
.content {
@include padding(4em, 4em);
display: inline-block;
}
&:after {
clear: both;
content: '';
display: block;
}
}
&:after {
clear: both;
content: '';
display: block;
}
}
/* Features */
.features {
display: block;
.features {
display: block;
li {
float: left;
}
li {
float: left;
}
&:after {
content: '';
display: block;
clear: both;
}
}
&:after {
content: '';
display: block;
clear: both;
}
}
/* Banner + Wrapper (style4) */
#banner,
.wrapper.style4 {
background-image: url("../../assets/images/banner.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
#banner,
.wrapper.style4 {
background-image: url("../../assets/images/banner.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
&:before {
background: #000000;
content: '';
height: 100%;
left: 0;
opacity: 0.5;
position: absolute;
top: 0;
width: 100%;
}
&:before {
background: #000000;
content: '';
height: 100%;
left: 0;
opacity: 0.5;
position: absolute;
top: 0;
width: 100%;
}
.inner {
position: relative;
z-index: 1;
}
}
.inner {
position: relative;
z-index: 1;
}
}
/* Banner */
#banner {
@include padding(14em, 0);
height: auto;
#banner {
@include padding(14em, 0);
height: auto;
&:after {
display: none;
}
}
&:after {
display: none;
}
}
/* CTA */
#cta {
.inner {
header {
float: left;
}
#cta {
.inner {
header {
float: left;
}
.actions {
float: left;
}
.actions {
float: left;
}
&:after {
clear: both;
content: '';
display: block;
}
}
}
&:after {
clear: both;
content: '';
display: block;
}
}
}
/* Main */
#main {
> header {
background-image: url("../../assets/images/banner.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
#main {
> header {
background-image: url("../../assets/images/banner.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
&:before {
background: #000000;
content: '';
height: 100%;
left: 0;
opacity: 0.5;
position: absolute;
top: 0;
width: 100%;
}
&:before {
background: #000000;
content: '';
height: 100%;
left: 0;
opacity: 0.5;
position: absolute;
top: 0;
width: 100%;
}
> * {
position: relative;
z-index: 1;
}
}
}
> * {
position: relative;
z-index: 1;
}
}
}

View File

@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="30px" viewBox="0 0 30 30" zoomAndPan="disable" preserveAspectRatio="none">
<style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 3; } ]]></style>
<line x1="0" y1="15" x2="15" y2="30" />
<line x1="30" y1="15" x2="15" y2="30" />
<line x1="15" y1="30" x2="15" y2="0" />
<line x1="0" y1="15" x2="15" y2="30" />
<line x1="30" y1="15" x2="15" y2="30" />
<line x1="15" y1="30" x2="15" y2="0" />
</svg>

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 409 B

View File

@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none">
<style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style>
<line x1="0" y1="1" x2="16" y2="1" />
<line x1="0" y1="7" x2="16" y2="7" />
<line x1="0" y1="13" x2="16" y2="13" />
<line x1="0" y1="1" x2="16" y2="1" />
<line x1="0" y1="7" x2="16" y2="7" />
<line x1="0" y1="13" x2="16" y2="13" />
</svg>

Before

Width:  |  Height:  |  Size: 401 B

After

Width:  |  Height:  |  Size: 404 B

View File

@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" zoomAndPan="disable" preserveAspectRatio="none">
<style type="text/css"><![CDATA[ line { stroke: #ffffff; stroke-width: 2; } ]]></style>
<line x1="0" y1="0" x2="16" y2="16" />
<line x1="16" y1="0" x2="0" y2="16" />
<line x1="0" y1="0" x2="16" y2="16" />
<line x1="16" y1="0" x2="0" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 363 B

View File

@ -2,33 +2,33 @@
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _duration($keys...) {
@return val($duration, $keys...);
@return val($duration, $keys...);
}
/// Gets a font value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _font($keys...) {
@return val($font, $keys...);
@return val($font, $keys...);
}
/// Gets a misc value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _misc($keys...) {
@return val($misc, $keys...);
@return val($misc, $keys...);
}
/// Gets a palette value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _palette($keys...) {
@return val($palette, $keys...);
@return val($palette, $keys...);
}
/// Gets a size value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _size($keys...) {
@return val($size, $keys...);
@return val($size, $keys...);
}

View File

@ -3,22 +3,22 @@
/// @param {string} $where Optional pseudoelement to target (before or after).
@mixin icon($content: false, $where: before) {
text-decoration: none;
text-decoration: none;
&:#{$where} {
&:#{$where} {
@if $content {
content: $content;
}
@if $content {
content: $content;
}
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
text-transform: none !important;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
text-transform: none !important;
}
}
}
@ -29,11 +29,11 @@
/// @param {bool} $important If true, adds !important.
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
@if $important {
$important: '!important';
}
@if $important {
$important: '!important';
}
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max(0.1em, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max(0.1em, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
}
@ -42,15 +42,15 @@
/// @return {string} Encoded SVG data URL.
@function svg-url($svg) {
$svg: str-replace($svg, '"', '\'');
$svg: str-replace($svg, '<', '%3C');
$svg: str-replace($svg, '>', '%3E');
$svg: str-replace($svg, '&', '%26');
$svg: str-replace($svg, '#', '%23');
$svg: str-replace($svg, '{', '%7B');
$svg: str-replace($svg, '}', '%7D');
$svg: str-replace($svg, ';', '%3B');
$svg: str-replace($svg, '"', '\'');
$svg: str-replace($svg, '<', '%3C');
$svg: str-replace($svg, '>', '%3E');
$svg: str-replace($svg, '&', '%26');
$svg: str-replace($svg, '#', '%23');
$svg: str-replace($svg, '{', '%7B');
$svg: str-replace($svg, '}', '%7D');
$svg: str-replace($svg, ';', '%3B');
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
}

File diff suppressed because it is too large Load Diff

View File

@ -1,86 +1,86 @@
// Misc.
$misc: (
max-spotlights: 10,
max-features: 10,
z-index-base: 10000
);
$misc: (
max-spotlights: 10,
max-features: 10,
z-index-base: 10000
);
// Duration.
$duration: (
transitions: 0.2s,
menu: 0.5s,
fadein: 3s
);
$duration: (
transitions: 0.2s,
menu: 0.5s,
fadein: 3s
);
// Size.
$size: (
element-height: 2.75em,
element-margin: 2em,
letter-spacing: 0.075em,
letter-spacing-alt: 0.225em
);
$size: (
element-height: 2.75em,
element-margin: 2em,
letter-spacing: 0.075em,
letter-spacing-alt: 0.225em
);
// Font.
$font: (
family: ('Open Sans', Helvetica, sans-serif),
family-fixed: ('Courier New', monospace),
weight: 400,
weight-bold: 600,
weight-extrabold: 800
);
$font: (
family: ('Open Sans', Helvetica, sans-serif),
family-fixed: ('Courier New', monospace),
weight: 400,
weight-bold: 600,
weight-extrabold: 800
);
// Palette.
$palette: (
bg: #29335C,
fg: #fff,
fg-bold: #fff,
fg-light: rgba(255,255,255,0.5),
border: #fff,
border-bg: rgba(144,144,144,0.25),
border2: #fff,
border2-bg: rgba(144,144,144,0.5),
$palette: (
bg: #29335C,
fg: #fff,
fg-bold: #fff,
fg-light: rgba(255,255,255,0.5),
border: #fff,
border-bg: rgba(144,144,144,0.25),
border2: #fff,
border2-bg: rgba(144,144,144,0.5),
accent1: (
bg: #F3A712,
fg-bold: #ffffff,
fg: mix(#F3A712, #ffffff, 25%),
fg-light: mix(#F3A712, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
),
accent2: (
bg: #ffffff,
fg-bold: #2E3842,
fg: #4E4852,
fg-light: #8E8892,
border: #dfdfdf,
border-bg: rgba(0,0,0,0.0375),
border2: #bfbfbf,
border2-bg: rgba(0,0,0,0.1)
),
accent1: (
bg: #F3A712,
fg-bold: #ffffff,
fg: mix(#F3A712, #ffffff, 25%),
fg-light: mix(#F3A712, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
),
accent2: (
bg: #ffffff,
fg-bold: #2E3842,
fg: #4E4852,
fg-light: #8E8892,
border: #dfdfdf,
border-bg: rgba(0,0,0,0.0375),
border2: #bfbfbf,
border2-bg: rgba(0,0,0,0.1)
),
accent3: (
bg: #ed4933,
fg-bold: #ffffff,
fg: mix(#ed4933, #ffffff, 25%),
fg-light: mix(#ed4933, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
),
accent4: (
bg: #25558C,
fg-bold: #ffffff,
fg: mix(#25558C, #ffffff, 25%),
fg-light: mix(#25558C, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
)
);
accent3: (
bg: #ed4933,
fg-bold: #ffffff,
fg: mix(#ed4933, #ffffff, 25%),
fg-light: mix(#ed4933, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
),
accent4: (
bg: #25558C,
fg-bold: #ffffff,
fg: mix(#25558C, #ffffff, 25%),
fg-light: mix(#25558C, #ffffff, 40%),
border: rgba(0,0,0,0.125),
border-bg: rgba(255,255,255,0.075),
border2: rgba(0,0,0,0.25),
border2-bg: rgba(255,255,255,0.2)
)
);

View File

@ -7,25 +7,25 @@
@import url("../fonts/opensans-google.css");
/*
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
@import 'libs/skel';
@include skel-breakpoints((
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 980px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 980px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
));
@include skel-layout((
reset: 'full',
boxModel: 'border',
grid: ( gutters: 1.5em )
reset: 'full',
boxModel: 'border',
grid: ( gutters: 1.5em )
));
@import 'components/basic';
@ -47,166 +47,166 @@
/* Main */
#main {
> header {
@include padding(12em, 0);
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-attachment: fixed;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
text-align: center;
> header {
@include padding(12em, 0);
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-attachment: fixed;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
text-align: center;
h2 {
font-size: 1.75em;
margin: 0 0 (_size(element-margin) * 0.25) 0;
}
h2 {
font-size: 1.75em;
margin: 0 0 (_size(element-margin) * 0.25) 0;
}
p {
color: inherit;
letter-spacing: _size(letter-spacing-alt);
text-transform: uppercase;
top: 0;
p {
color: inherit;
letter-spacing: _size(letter-spacing-alt);
text-transform: uppercase;
top: 0;
a {
color: inherit;
}
}
a {
color: inherit;
}
}
@include breakpoint(xlarge) {
@include padding(10em, 0);
}
@include breakpoint(xlarge) {
@include padding(10em, 0);
}
@include breakpoint(large) {
@include padding(8em, 3em);
}
@include breakpoint(large) {
@include padding(8em, 3em);
}
@include breakpoint(medium) {
@include padding(10em, 3em);
}
@include breakpoint(medium) {
@include padding(10em, 3em);
}
@include breakpoint(small) {
@include padding(5em, 3em);
@include breakpoint(small) {
@include padding(5em, 3em);
h2 {
font-size: 1.25em;
margin: 0 0 (_size(element-margin) * 0.5) 0;
}
}
}
h2 {
font-size: 1.25em;
margin: 0 0 (_size(element-margin) * 0.5) 0;
}
}
}
}
body.is-mobile {
#main {
> header {
background-attachment: scroll;
}
}
#main {
> header {
background-attachment: scroll;
}
}
}
/* Footer */
#footer {
@include padding(6em, 0);
background-color: darken(_palette(bg), 8);
text-align: center;
@include padding(6em, 0);
background-color: darken(_palette(bg), 8);
text-align: center;
.icons {
font-size: 1.25em;
.icons {
font-size: 1.25em;
a {
color: _palette(fg-light);
a {
color: _palette(fg-light);
&:hover {
color: _palette(fg);
}
}
}
&:hover {
color: _palette(fg);
}
}
}
.copyright {
color: _palette(fg-light);
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
list-style: none;
padding: 0;
text-transform: uppercase;
.copyright {
color: _palette(fg-light);
font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt);
list-style: none;
padding: 0;
text-transform: uppercase;
li {
border-left: solid 1px _palette(fg-light);
display: inline-block;
line-height: 1em;
margin-left: 1em;
padding-left: 1em;
li {
border-left: solid 1px _palette(fg-light);
display: inline-block;
line-height: 1em;
margin-left: 1em;
padding-left: 1em;
&:first-child {
border-left: 0;
margin-left: 0;
padding-left: 0;
}
&:first-child {
border-left: 0;
margin-left: 0;
padding-left: 0;
}
a {
color: inherit;
a {
color: inherit;
&:hover {
color: _palette(fg);
}
}
&:hover {
color: _palette(fg);
}
}
@include breakpoint(xsmall) {
border: 0;
display: block;
line-height: 1.65em;
margin: 0;
padding: 0.5em 0;
}
}
}
@include breakpoint(xsmall) {
border: 0;
display: block;
line-height: 1.65em;
margin: 0;
padding: 0.5em 0;
}
}
}
@include breakpoint(medium) {
@include padding(4em, 3em);
}
@include breakpoint(medium) {
@include padding(4em, 3em);
}
@include breakpoint(small) {
@include padding(3em, 2em);
}
@include breakpoint(small) {
@include padding(3em, 2em);
}
}
/* Landing */
body.landing {
#page-wrapper {
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-attachment: fixed;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
padding-top: 0;
}
#page-wrapper {
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-attachment: fixed;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
padding-top: 0;
}
#page-wrapper {
padding-top: 0;
}
#page-wrapper {
padding-top: 0;
}
#footer {
background-color: darken(transparentize(_palette(bg), 0.1), 8);
}
#footer {
background-color: darken(transparentize(_palette(bg), 0.1), 8);
}
}
body.is-mobile {
&.landing {
#page-wrapper {
background: none;
}
&.landing {
#page-wrapper {
background: none;
}
#banner,
.wrapper.style4 {
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
#banner,
.wrapper.style4 {
@include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
#footer {
background-color: darken(_palette(bg), 8);
}
}
#footer {
background-color: darken(_palette(bg), 8);
}
}
}