diff --git a/assets/sass/libs/_breakpoints.scss b/assets/sass/libs/_breakpoints.scss deleted file mode 100644 index c5301d8..0000000 --- a/assets/sass/libs/_breakpoints.scss +++ /dev/null @@ -1,223 +0,0 @@ -// breakpoints.scss v1.0 | @ajlkn | MIT licensed */ - -// Vars. - - /// Breakpoints. - /// @var {list} - $breakpoints: () !global; - -// Mixins. - - /// Sets breakpoints. - /// @param {map} $x Breakpoints. - @mixin breakpoints($x: ()) { - $breakpoints: $x !global; - } - - /// Wraps @content in a @media block targeting a specific orientation. - /// @param {string} $orientation Orientation. - @mixin orientation($orientation) { - @media screen and (orientation: #{$orientation}) { - @content; - } - } - - /// Wraps @content in a @media block using a given query. - /// @param {string} $query Query. - @mixin breakpoint($query: null) { - - $breakpoint: null; - $op: null; - $media: null; - - // Determine operator, breakpoint. - - // Greater than or equal. - @if (str-slice($query, 0, 2) == '>=') { - - $op: 'gte'; - $breakpoint: str-slice($query, 3); - - } - - // Less than or equal. - @elseif (str-slice($query, 0, 2) == '<=') { - - $op: 'lte'; - $breakpoint: str-slice($query, 3); - - } - - // Greater than. - @elseif (str-slice($query, 0, 1) == '>') { - - $op: 'gt'; - $breakpoint: str-slice($query, 2); - - } - - // Less than. - @elseif (str-slice($query, 0, 1) == '<') { - - $op: 'lt'; - $breakpoint: str-slice($query, 2); - - } - - // Not. - @elseif (str-slice($query, 0, 1) == '!') { - - $op: 'not'; - $breakpoint: str-slice($query, 2); - - } - - // Equal. - @else { - - $op: 'eq'; - $breakpoint: $query; - - } - - // Build media. - @if ($breakpoint and map-has-key($breakpoints, $breakpoint)) { - - $a: map-get($breakpoints, $breakpoint); - - // Range. - @if (type-of($a) == 'list') { - - $x: nth($a, 1); - $y: nth($a, 2); - - // Max only. - @if ($x == null) { - - // Greater than or equal (>= 0 / anything) - @if ($op == 'gte') { - $media: 'screen'; - } - - // Less than or equal (<= y) - @elseif ($op == 'lte') { - $media: 'screen and (max-width: ' + $y + ')'; - } - - // Greater than (> y) - @elseif ($op == 'gt') { - $media: 'screen and (min-width: ' + ($y + 1) + ')'; - } - - // Less than (< 0 / invalid) - @elseif ($op == 'lt') { - $media: 'screen and (max-width: -1px)'; - } - - // Not (> y) - @elseif ($op == 'not') { - $media: 'screen and (min-width: ' + ($y + 1) + ')'; - } - - // Equal (<= y) - @else { - $media: 'screen and (max-width: ' + $y + ')'; - } - - } - - // Min only. - @else if ($y == null) { - - // Greater than or equal (>= x) - @if ($op == 'gte') { - $media: 'screen and (min-width: ' + $x + ')'; - } - - // Less than or equal (<= inf / anything) - @elseif ($op == 'lte') { - $media: 'screen'; - } - - // Greater than (> inf / invalid) - @elseif ($op == 'gt') { - $media: 'screen and (max-width: -1px)'; - } - - // Less than (< x) - @elseif ($op == 'lt') { - $media: 'screen and (max-width: ' + ($x - 1) + ')'; - } - - // Not (< x) - @elseif ($op == 'not') { - $media: 'screen and (max-width: ' + ($x - 1) + ')'; - } - - // Equal (>= x) - @else { - $media: 'screen and (min-width: ' + $x + ')'; - } - - } - - // Min and max. - @else { - - // Greater than or equal (>= x) - @if ($op == 'gte') { - $media: 'screen and (min-width: ' + $x + ')'; - } - - // Less than or equal (<= y) - @elseif ($op == 'lte') { - $media: 'screen and (max-width: ' + $y + ')'; - } - - // Greater than (> y) - @elseif ($op == 'gt') { - $media: 'screen and (min-width: ' + ($y + 1) + ')'; - } - - // Less than (< x) - @elseif ($op == 'lt') { - $media: 'screen and (max-width: ' + ($x - 1) + ')'; - } - - // Not (< x and > y) - @elseif ($op == 'not') { - $media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')'; - } - - // Equal (>= x and <= y) - @else { - $media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')'; - } - - } - - } - - // String. - @else { - - // Missing a media type? Prefix with "screen". - @if (str-slice($a, 0, 1) == '(') { - $media: 'screen and ' + $a; - } - - // Otherwise, use as-is. - @else { - $media: $a; - } - - } - - } - - // Output. - @media #{$media} { - @content; - } - - } \ No newline at end of file diff --git a/assets/sass/libs/_functions.scss b/assets/sass/libs/_functions.scss deleted file mode 100644 index b367524..0000000 --- a/assets/sass/libs/_functions.scss +++ /dev/null @@ -1,90 +0,0 @@ -/// Removes a specific item from a list. -/// @author Hugo Giraudel -/// @param {list} $list List. -/// @param {integer} $index Index. -/// @return {list} Updated list. -@function remove-nth($list, $index) { - - $result: null; - - @if type-of($index) != number { - @warn "$index: #{quote($index)} is not a number for `remove-nth`."; - } - @else if $index == 0 { - @warn "List index 0 must be a non-zero integer for `remove-nth`."; - } - @else if abs($index) > length($list) { - @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`."; - } - @else { - - $result: (); - $index: if($index < 0, length($list) + $index + 1, $index); - - @for $i from 1 through length($list) { - - @if $i != $index { - $result: append($result, nth($list, $i)); - } - - } - - } - - @return $result; - -} - -/// Gets a value from a map. -/// @author Hugo Giraudel -/// @param {map} $map Map. -/// @param {string} $keys Key(s). -/// @return {string} Value. -@function val($map, $keys...) { - - @if nth($keys, 1) == null { - $keys: remove-nth($keys, 1); - } - - @each $key in $keys { - $map: map-get($map, $key); - } - - @return $map; - -} - -/// Gets a duration value. -/// @param {string} $keys Key(s). -/// @return {string} Value. -@function _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...); -} - -/// Gets a misc value. -/// @param {string} $keys Key(s). -/// @return {string} Value. -@function _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...); -} - -/// Gets a size value. -/// @param {string} $keys Key(s). -/// @return {string} Value. -@function _size($keys...) { - @return val($size, $keys...); -} \ No newline at end of file diff --git a/assets/sass/libs/_html-grid.scss b/assets/sass/libs/_html-grid.scss deleted file mode 100644 index 3c08069..0000000 --- a/assets/sass/libs/_html-grid.scss +++ /dev/null @@ -1,149 +0,0 @@ -// html-grid.scss v1.0 | @ajlkn | MIT licensed */ - -// Mixins. - - /// Initializes the current element as an HTML grid. - /// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually). - /// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list). - @mixin html-grid($gutters: 1.5em, $suffix: '') { - - // Initialize. - $cols: 12; - $multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00; - $unit: 100% / $cols; - - // Suffixes. - $suffixes: null; - - @if (type-of($suffix) == 'list') { - $suffixes: $suffix; - } - @else { - $suffixes: ($suffix); - } - - // Gutters. - $guttersCols: null; - $guttersRows: null; - - @if (type-of($gutters) == 'list') { - - $guttersCols: nth($gutters, 1); - $guttersRows: nth($gutters, 2); - - } - @else { - - $guttersCols: $gutters; - $guttersRows: 0; - - } - - // Row. - display: flex; - flex-wrap: wrap; - box-sizing: border-box; - align-items: stretch; - - // Columns. - > * { - box-sizing: border-box; - } - - // Gutters. - &.gtr-uniform { - > * { - > :last-child { - margin-bottom: 0; - } - } - } - - // Alignment. - &.aln-left { - justify-content: flex-start; - } - - &.aln-center { - justify-content: center; - } - - &.aln-right { - justify-content: flex-end; - } - - &.aln-top { - align-items: flex-start; - } - - &.aln-middle { - align-items: center; - } - - &.aln-bottom { - align-items: flex-end; - } - - // Step through suffixes. - @each $suffix in $suffixes { - - // Suffix. - @if ($suffix != '') { - $suffix: '-' + $suffix; - } - @else { - $suffix: ''; - } - - // Row. - - // Important. - > .imp#{$suffix} { - order: -1; - } - - // Columns, offsets. - @for $i from 1 through $cols { - > .col-#{$i}#{$suffix} { - width: $unit * $i; - } - - > .off-#{$i}#{$suffix} { - margin-left: $unit * $i; - } - } - - // Step through multipliers. - @each $multiplier in $multipliers { - - // Gutters. - $class: null; - - @if ($multiplier != 1) { - $class: '.gtr-' + ($multiplier * 100); - } - - &#{$class} { - margin-top: ($guttersRows * $multiplier * -1); - margin-left: ($guttersCols * $multiplier * -1); - - > * { - padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier); - } - - // Uniform. - &.gtr-uniform { - margin-top: $guttersCols * $multiplier * -1; - - > * { - padding-top: $guttersCols * $multiplier; - } - } - - } - - } - - } - - } \ No newline at end of file diff --git a/assets/sass/libs/_mixins.scss b/assets/sass/libs/_mixins.scss deleted file mode 100644 index 8187463..0000000 --- a/assets/sass/libs/_mixins.scss +++ /dev/null @@ -1,78 +0,0 @@ -/// Makes an element's :before pseudoelement a FontAwesome icon. -/// @param {string} $content Optional content value to use. -/// @param {string} $category Optional category to use. -/// @param {string} $where Optional pseudoelement to target (before or after). -@mixin icon($content: false, $category: regular, $where: before) { - - text-decoration: none; - - &:#{$where} { - - @if $content { - content: $content; - } - - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; - text-transform: none !important; - - @if ($category == brands) { - font-family: 'Font Awesome 5 Brands'; - } - @elseif ($category == solid) { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; - } - @else { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; - } - - } - -} - -/// Applies padding to an element, taking the current element-margin value into account. -/// @param {mixed} $tb Top/bottom padding. -/// @param {mixed} $lr Left/right padding. -/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left) -/// @param {bool} $important If true, adds !important. -@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) { - - @if $important { - $important: '!important'; - } - - $x: 0.1em; - - @if unit(_size(element-margin)) == 'rem' { - $x: 0.1rem; - } - - padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important}; - -} - -/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp). -/// @param {string} $svg SVG data URL. -/// @return {string} Encoded SVG data URL. -@function svg-url($svg) { - - $svg: str-replace($svg, '"', '\''); - $svg: str-replace($svg, '%', '%25'); - $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}"); - -} \ No newline at end of file diff --git a/assets/sass/libs/_vars.scss b/assets/sass/libs/_vars.scss deleted file mode 100644 index 55d6382..0000000 --- a/assets/sass/libs/_vars.scss +++ /dev/null @@ -1,64 +0,0 @@ -// Misc. - $misc: ( - z-index-base: 10000, - header-side: 'right' - ); - -// Duration. - $duration: ( - header: 0.5s, - transition: 0.2s - ); - -// Size. - $size: ( - border-radius: 5px, - border-width: 2px, - element-height: 2.75em, - element-margin: 2.25em, - container-width: 45em - ); - -// Font. - $font: ( - family: ('Lato', sans-serif), - family-fixed: ('Source Code Pro', monospace), - weight: 400, - weight-bold: 700 - ); - -// Palette. - $palette: ( - bg: #fff, - fg: #888, - fg-bold: #777, - fg-light: #aaa, - border: #f4f4f4, - border-bg: #fafafa, - border2: #e4e4e4, - border2-bg: #f4f4f4, - border3: #e0e0e0, - border3-bg: #eaeaea, - - accent1: ( - bg: #4acaa8, - fg-bold: #ffffff, - fg: mix(#4acaa8, #ffffff, 25%), - fg-light: mix(#4acaa8, #ffffff, 40%) - ), - - accent2: ( - bg: #989898, - fg-bold: #ffffff, - fg: mix(#989898, #ffffff, 25%), - fg-light: mix(#989898, #ffffff, 40%) - ), - - header: ( - bg: #4acaa8, - fg-bold: #ffffff, - fg: mix(#4acaa8, #ffffff, 25%), - fg-light: mix(#4acaa8, #ffffff, 40%), - border: mix(#4acaa8, #ffffff, 90%) - ) - ); \ No newline at end of file diff --git a/assets/sass/libs/_vendor.scss b/assets/sass/libs/_vendor.scss deleted file mode 100644 index 6599a3f..0000000 --- a/assets/sass/libs/_vendor.scss +++ /dev/null @@ -1,376 +0,0 @@ -// vendor.scss v1.0 | @ajlkn | MIT licensed */ - -// Vars. - - /// Vendor prefixes. - /// @var {list} - $vendor-prefixes: ( - '-moz-', - '-webkit-', - '-ms-', - '' - ); - - /// Properties that should be vendorized. - /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org - /// @var {list} - $vendor-properties: ( - - // Animation. - 'animation', - 'animation-delay', - 'animation-direction', - 'animation-duration', - 'animation-fill-mode', - 'animation-iteration-count', - 'animation-name', - 'animation-play-state', - 'animation-timing-function', - - // Appearance. - 'appearance', - - // Backdrop filter. - 'backdrop-filter', - - // Background image options. - 'background-clip', - 'background-origin', - 'background-size', - - // Box sizing. - 'box-sizing', - - // Clip path. - 'clip-path', - - // Filter effects. - 'filter', - - // Flexbox. - 'align-content', - 'align-items', - 'align-self', - 'flex', - 'flex-basis', - 'flex-direction', - 'flex-flow', - 'flex-grow', - 'flex-shrink', - 'flex-wrap', - 'justify-content', - 'order', - - // Font feature. - 'font-feature-settings', - 'font-language-override', - 'font-variant-ligatures', - - // Font kerning. - 'font-kerning', - - // Fragmented borders and backgrounds. - 'box-decoration-break', - - // Grid layout. - 'grid-column', - 'grid-column-align', - 'grid-column-end', - 'grid-column-start', - 'grid-row', - 'grid-row-align', - 'grid-row-end', - 'grid-row-start', - 'grid-template-columns', - 'grid-template-rows', - - // Hyphens. - 'hyphens', - 'word-break', - - // Masks. - 'mask', - 'mask-border', - 'mask-border-outset', - 'mask-border-repeat', - 'mask-border-slice', - 'mask-border-source', - 'mask-border-width', - 'mask-clip', - 'mask-composite', - 'mask-image', - 'mask-origin', - 'mask-position', - 'mask-repeat', - 'mask-size', - - // Multicolumn. - 'break-after', - 'break-before', - 'break-inside', - 'column-count', - 'column-fill', - 'column-gap', - 'column-rule', - 'column-rule-color', - 'column-rule-style', - 'column-rule-width', - 'column-span', - 'column-width', - 'columns', - - // Object fit. - 'object-fit', - 'object-position', - - // Regions. - 'flow-from', - 'flow-into', - 'region-fragment', - - // Scroll snap points. - 'scroll-snap-coordinate', - 'scroll-snap-destination', - 'scroll-snap-points-x', - 'scroll-snap-points-y', - 'scroll-snap-type', - - // Shapes. - 'shape-image-threshold', - 'shape-margin', - 'shape-outside', - - // Tab size. - 'tab-size', - - // Text align last. - 'text-align-last', - - // Text decoration. - 'text-decoration-color', - 'text-decoration-line', - 'text-decoration-skip', - 'text-decoration-style', - - // Text emphasis. - 'text-emphasis', - 'text-emphasis-color', - 'text-emphasis-position', - 'text-emphasis-style', - - // Text size adjust. - 'text-size-adjust', - - // Text spacing. - 'text-spacing', - - // Transform. - 'transform', - 'transform-origin', - - // Transform 3D. - 'backface-visibility', - 'perspective', - 'perspective-origin', - 'transform-style', - - // Transition. - 'transition', - 'transition-delay', - 'transition-duration', - 'transition-property', - 'transition-timing-function', - - // Unicode bidi. - 'unicode-bidi', - - // User select. - 'user-select', - - // Writing mode. - 'writing-mode', - - ); - - /// Values that should be vendorized. - /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org - /// @var {list} - $vendor-values: ( - - // Cross fade. - 'cross-fade', - - // Element function. - 'element', - - // Filter function. - 'filter', - - // Flexbox. - 'flex', - 'inline-flex', - - // Grab cursors. - 'grab', - 'grabbing', - - // Gradients. - 'linear-gradient', - 'repeating-linear-gradient', - 'radial-gradient', - 'repeating-radial-gradient', - - // Grid layout. - 'grid', - 'inline-grid', - - // Image set. - 'image-set', - - // Intrinsic width. - 'max-content', - 'min-content', - 'fit-content', - 'fill', - 'fill-available', - 'stretch', - - // Sticky position. - 'sticky', - - // Transform. - 'transform', - - // Zoom cursors. - 'zoom-in', - 'zoom-out', - - ); - -// Functions. - - /// Removes a specific item from a list. - /// @author Hugo Giraudel - /// @param {list} $list List. - /// @param {integer} $index Index. - /// @return {list} Updated list. - @function remove-nth($list, $index) { - - $result: null; - - @if type-of($index) != number { - @warn "$index: #{quote($index)} is not a number for `remove-nth`."; - } - @else if $index == 0 { - @warn "List index 0 must be a non-zero integer for `remove-nth`."; - } - @else if abs($index) > length($list) { - @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`."; - } - @else { - - $result: (); - $index: if($index < 0, length($list) + $index + 1, $index); - - @for $i from 1 through length($list) { - - @if $i != $index { - $result: append($result, nth($list, $i)); - } - - } - - } - - @return $result; - - } - - /// Replaces a substring within another string. - /// @author Hugo Giraudel - /// @param {string} $string String. - /// @param {string} $search Substring. - /// @param {string} $replace Replacement. - /// @return {string} Updated string. - @function str-replace($string, $search, $replace: '') { - - $index: str-index($string, $search); - - @if $index { - @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); - } - - @return $string; - - } - - /// Replaces a substring within each string in a list. - /// @param {list} $strings List of strings. - /// @param {string} $search Substring. - /// @param {string} $replace Replacement. - /// @return {list} Updated list of strings. - @function str-replace-all($strings, $search, $replace: '') { - - @each $string in $strings { - $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace)); - } - - @return $strings; - - } - -// Mixins. - - /// Wraps @content in vendorized keyframe blocks. - /// @param {string} $name Name. - @mixin keyframes($name) { - - @-moz-keyframes #{$name} { @content; } - @-webkit-keyframes #{$name} { @content; } - @-ms-keyframes #{$name} { @content; } - @keyframes #{$name} { @content; } - - } - - /// Vendorizes a declaration's property and/or value(s). - /// @param {string} $property Property. - /// @param {mixed} $value String/list of value(s). - @mixin vendor($property, $value) { - - // Determine if property should expand. - $expandProperty: index($vendor-properties, $property); - - // Determine if value should expand (and if so, add '-prefix-' placeholder). - $expandValue: false; - - @each $x in $value { - @each $y in $vendor-values { - @if $y == str-slice($x, 1, str-length($y)) { - - $value: set-nth($value, index($value, $x), '-prefix-' + $x); - $expandValue: true; - - } - } - } - - // Expand property? - @if $expandProperty { - @each $vendor in $vendor-prefixes { - #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)}; - } - } - - // Expand just the value? - @elseif $expandValue { - @each $vendor in $vendor-prefixes { - #{$property}: #{str-replace-all($value, '-prefix-', $vendor)}; - } - } - - // Neither? Treat them as a normal declaration. - @else { - #{$property}: #{$value}; - } - - } \ No newline at end of file diff --git a/assets/sass/main.scss b/assets/sass/main.scss deleted file mode 100644 index b8c854e..0000000 --- a/assets/sass/main.scss +++ /dev/null @@ -1,1829 +0,0 @@ -@import 'libs/vars'; -@import 'libs/functions'; -@import 'libs/mixins'; -@import 'libs/vendor'; -@import 'libs/breakpoints'; -@import 'libs/html-grid'; -@import url('fontawesome-all.min.css'); -@import url("https://fonts.googleapis.com/css?family=Lato:400,400italic,700,700italic|Source+Code+Pro:400"); - -/* - Read Only by HTML5 UP - html5up.net | @ajlkn - Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) -*/ - -// Breakpoints. - - @include breakpoints(( - xlarge: ( 1281px, 1680px ), - large: ( 1025px, 1280px ), - medium: ( 737px, 1024px ), - small: ( 481px, 736px ), - xsmall: ( null, 480px ), - )); - - $size-header: 23em; - -// Reset. -// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain) - - html, body, div, span, applet, object, - iframe, h1, h2, h3, h4, h5, h6, p, blockquote, - pre, a, abbr, acronym, address, big, cite, - code, del, dfn, em, img, ins, kbd, q, s, samp, - small, strike, strong, sub, sup, tt, var, b, - u, i, center, dl, dt, dd, ol, ul, li, fieldset, - form, label, legend, table, caption, tbody, - tfoot, thead, tr, th, td, article, aside, - canvas, details, embed, figure, figcaption, - footer, header, hgroup, menu, nav, output, ruby, - section, summary, time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; - } - - article, aside, details, figcaption, figure, - footer, header, hgroup, menu, nav, section { - display: block; - } - - body { - line-height: 1; - } - - ol, ul { - list-style:none; - } - - blockquote, q { - quotes: none; - - &:before, - &:after { - content: ''; - content: none; - } - } - - table { - border-collapse: collapse; - border-spacing: 0; - } - - body { - -webkit-text-size-adjust: none; - } - - mark { - background-color: transparent; - color: inherit; - } - - input::-moz-focus-inner { - border: 0; - padding: 0; - } - - input, select, textarea { - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: none; - appearance: none; - } - -/* Basic */ - - // Set box model to border-box. - // Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice - html { - box-sizing: border-box; - } - - *, *:before, *:after { - box-sizing: inherit; - } - - body { - background: _palette(bg); - - // Stops initial animations until page loads. - &.is-preload { - *, *: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: 16pt; - font-weight: _font(weight); - line-height: 1.75em; - } - - a { - @include vendor('transition', ('color #{_duration(transition)} ease-in-out', 'border-color #{_duration(transition)} ease-in-out')); - border-bottom: solid 1px _palette(border2); - color: inherit; - text-decoration: none; - - &:hover { - border-bottom-color: transparent; - color: _palette(accent1, bg) !important; - } - } - - strong, b { - color: _palette(fg-bold); - font-weight: _font(weight-bold); - } - - em, i { - font-style: italic; - } - - p { - margin: 0 0 _size(element-margin) 0; - } - - h1, h2, h3, h4, h5, h6 { - color: _palette(fg-bold); - font-weight: _font(weight-bold); - line-height: 1em; - margin: 0 0 (_size(element-margin) * 0.25) 0; - - a { - border: 0; - color: inherit; - text-decoration: none; - } - } - - h2 { - font-size: 2em; - line-height: 1.5em; - } - - h3 { - font-size: 1.75em; - line-height: 1.5em; - } - - h4 { - font-size: 1.25em; - line-height: 1.5em; - } - - h5 { - font-size: 0.9em; - line-height: 1.5em; - } - - h6 { - font-size: 0.7em; - line-height: 1.5em; - } - - sub { - font-size: 0.8em; - position: relative; - top: 0.5em; - } - - sup { - font-size: 0.8em; - position: relative; - top: -0.5em; - } - - hr { - border: 0; - border-bottom: solid _size(border-width) _palette(border); - margin: _size(element-margin) 0; - - &.major { - margin: (_size(element-margin) * 1.5) 0; - } - } - - blockquote { - border-left: solid (_size(border-width) * 4) _palette(border2); - font-style: italic; - margin: 0 0 _size(element-margin) 0; - padding: 0.5em 0 0.5em 2em; - } - - code { - background: #555; - border-radius: _size(border-radius); - color: #fff; - font-family: _font(family-fixed); - font-size: 0.9em; - margin: 0 0.25em; - padding: 0.25em 0.65em; - } - - pre { - font-family: _font(family-fixed); - font-size: 0.9em; - margin: 0 0 _size(element-margin) 0; - - code { - -webkit-overflow-scrolling: touch; - display: block; - line-height: 1.5em; - overflow-x: auto; - padding: 1em 1.5em; - } - } - - .align-left { - text-align: left; - } - - .align-center { - text-align: center; - } - - .align-right { - text-align: right; - } - -/* Row */ - - .row { - @include html-grid(2em); - - @include breakpoint('<=xlarge') { - @include html-grid(2em, 'xlarge'); - } - - @include breakpoint('<=large') { - @include html-grid(1.5em, 'large'); - } - - @include breakpoint('<=medium') { - @include html-grid(1.5em, 'medium'); - } - - @include breakpoint('<=small') { - @include html-grid(1.25em, 'small'); - } - - @include breakpoint('<=xsmall') { - @include html-grid(1.25em, 'xsmall'); - } - } - -/* Container */ - - .container { - margin: 0 auto; - max-width: calc(100% - #{_size(element-margin) * 2}); - width: _size(container-width); - - &.xsmall { - width: (_size(container-width) * 0.25); - } - - &.small { - width: (_size(container-width) * 0.5); - } - - &.medium { - width: (_size(container-width) * 0.75); - } - - &.large { - width: (_size(container-width) * 1.25); - } - - &.xlarge { - width: (_size(container-width) * 1.5); - } - - &.max { - width: 100%; - } - - @include breakpoint('<=medium') { - width: 100% !important; - } - - @include breakpoint('<=xsmall') { - max-width: calc(100% - #{_size(element-margin) * 1.5}); - } - } - -/* Section/Article */ - - section, article { - &.special { - text-align: center; - } - } - - header { - p { - color: _palette(fg-light); - position: relative; - margin: 0 0 (_size(element-margin) * 0.75) 0; - } - - h2 + p { - font-size: 1.25em; - margin-top: -0.5em; - line-height: 1.5em; - } - - h3 + p { - font-size: 1.1em; - margin-top: -0.35em; - line-height: 1.5em; - } - - h4 + p, - h5 + p, - h6 + p { - font-size: 0.9em; - margin-top: -0.25em; - line-height: 1.5em; - } - - &.major { - h2 { - color: _palette(accent1, bg); - font-size: 3.5em; - - & + p { - color: _palette(fg-bold); - font-size: 1.75em; - font-weight: _font(weight-bold); - margin-top: -0.75em; - } - } - } - } - - footer { - } - -/* Form */ - - form { - 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; - } - - input::-moz-focus-inner { - border: 0; - padding: 0; - } - - input[type="text"], - input[type="password"], - input[type="email"], - select, - textarea { - @include vendor('appearance', 'none'); - border-radius: _size(border-radius); - border: none; - border: solid _size(border-width) _palette(border2); - color: inherit; - display: block; - outline: 0; - padding: 0 1em; - text-decoration: none; - width: 100%; - - &:invalid { - box-shadow: none; - } - - &:focus { - border-color: _palette(accent1, bg); - } - } - - select { - background-image: svg-url(""); - background-size: 1.25em; - background-repeat: no-repeat; - background-position: calc(100% - 1em) center; - height: _size(element-height); - padding-right: _size(element-height); - text-overflow: ellipsis; - - option { - color: _palette(fg-bold); - background: _palette(bg); - } - - &:focus { - &::-ms-value { - background-color: transparent; - } - } - - &::-ms-expand { - display: none; - } - } - - input[type="text"], - input[type="password"], - input[type="email"], - select { - height: _size(element-height); - } - - textarea { - 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; - - & + label { - @include icon(false, solid); - 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: _size(border-radius); - border: solid _size(border-width) _palette(border2); - content: ''; - display: inline-block; - font-size: 0.8em; - height: (_size(element-height) * 0.75); - left: 0; - line-height: (_size(element-height) * 0.75); - position: absolute; - text-align: center; - top: 0; - width: (_size(element-height) * 0.75); - } - } - - &:checked + label { - &:before { - background: _palette(accent2, bg); - border-color: _palette(accent2, bg); - color: _palette(accent2, fg-bold); - content: '\f00c'; - } - } - - &:focus + label { - &:before { - border-color: _palette(accent1, bg); - } - } - } - - input[type="checkbox"] { - & + label { - &:before { - border-radius: _size(border-radius); - } - } - } - - input[type="radio"] { - & + label { - &:before { - border-radius: 100%; - } - } - } - - ::-webkit-input-placeholder { - color: _palette(fg-light) !important; - font-style: italic; - opacity: 1.0; - } - - :-moz-placeholder { - color: _palette(fg-light) !important; - font-style: italic; - opacity: 1.0; - } - - ::-moz-placeholder { - color: _palette(fg-light) !important; - font-style: italic; - opacity: 1.0; - } - - :-ms-input-placeholder { - color: _palette(fg-light) !important; - font-style: italic; - opacity: 1.0; - } - -/* Box */ - - .box { - border-radius: _size(border-radius); - border: solid _size(border-width) _palette(border2); - margin-bottom: _size(element-margin); - padding: 1.5em; - - > :last-child, - > :last-child > :last-child, - > :last-child > :last-child > :last-child { - margin-bottom: 0; - } - - &.alt { - border: 0; - border-radius: 0; - padding: 0; - } - } - -/* Icon */ - - .icon { - @include icon; - border-bottom: none; - position: relative; - - > .label { - display: none; - } - - &:before { - line-height: inherit; - } - - &.solid { - &:before { - font-weight: 900; - } - } - - &.brands { - &:before { - font-family: 'Font Awesome 5 Brands'; - } - } - } - -/* Image */ - - .image { - border-radius: _size(border-radius); - border: 0; - display: inline-block; - position: relative; - - &[data-position] { - img { - @include vendor('object-fit', 'cover'); - display: block; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - } - - &[data-position="top left"] { - img { - @include vendor('object-position', 'top left'); - } - } - - &[data-position="top"] { - img { - @include vendor('object-position', 'top'); - } - } - - &[data-position="top right"] { - img { - @include vendor('object-position', 'top right'); - } - } - - &[data-position="right"] { - img { - @include vendor('object-position', 'right'); - } - } - - &[data-position="bottom right"] { - img { - @include vendor('object-position', 'bottom right'); - } - } - - &[data-position="bottom"] { - img { - @include vendor('object-position', 'bottom'); - } - } - - &[data-position="bottom left"] { - img { - @include vendor('object-position', 'bottom left'); - } - } - - &[data-position="left"] { - img { - @include vendor('object-position', 'left'); - } - } - - &[data-position="center"] { - img { - @include vendor('object-position', 'center'); - } - } - - &[data-position="25% 25%"] { - img { - @include vendor('object-position', '25% 25%'); - } - } - - &[data-position="75% 25%"] { - img { - @include vendor('object-position', '75% 25%'); - } - } - - &[data-position="75% 75%"] { - img { - @include vendor('object-position', '75% 75%'); - } - } - - &[data-position="25% 75%"] { - img { - @include vendor('object-position', '25% 75%'); - } - } - - img { - border-radius: _size(border-radius); - display: block; - } - - &.left { - float: left; - margin: 0 2.5em 2em 0; - top: 0.25em; - } - - &.right { - float: right; - margin: 0 0 2em 2.5em; - top: 0.25em; - } - - &.fit { - display: block; - margin: 0 0 _size(element-margin) 0; - width: 100%; - - img { - display: block; - width: 100%; - } - } - - &.avatar { - border-radius: 100%; - overflow: hidden; - - img { - border-radius: 100%; - display: block; - width: 100%; - } - } - - &.main { - display: block; - height: 20em; - border-radius: 0; - - img { - border-radius: 0; - } - } - } - -/* List */ - - ol { - list-style: decimal; - margin: 0 0 _size(element-margin) 0; - padding-left: 1.25em; - - li { - padding-left: 0.25em; - } - } - - ul { - list-style: disc; - margin: 0 0 _size(element-margin) 0; - padding-left: 1em; - - li { - padding-left: 0.5em; - } - - &.alt { - list-style: none; - padding-left: 0; - - li { - border-top: solid _size(border-width) _palette(border); - padding: 0.5em 0; - - &:first-child { - border-top: 0; - padding-top: 0; - } - } - } - } - - dl { - margin: 0 0 _size(element-margin) 0; - } - -/* Actions */ - - ul.actions { - @include vendor('display', 'flex'); - cursor: default; - list-style: none; - margin-left: (_size(element-margin) * -0.5); - padding-left: 0; - - li { - padding: 0 0 0 (_size(element-margin) * 0.5); - vertical-align: middle; - } - - &.special { - @include vendor('justify-content', 'center'); - width: 100%; - margin-left: 0; - - li { - &:first-child { - padding-left: 0; - } - } - } - - &.stacked { - @include vendor('flex-direction', 'column'); - margin-left: 0; - - li { - padding: (_size(element-margin) * 0.5) 0 0 0; - - &:first-child { - padding-top: 0; - } - } - } - - &.fit { - width: calc(100% + #{_size(element-margin) * 0.5}); - - li { - @include vendor('flex-grow', '1'); - @include vendor('flex-shrink', '1'); - width: 100%; - - > * { - width: 100%; - } - } - - &.stacked { - width: 100%; - } - } - - @include breakpoint('<=xsmall') { - &:not(.fixed) { - @include vendor('flex-direction', 'column'); - margin-left: 0; - width: 100% !important; - - li { - @include vendor('flex-grow', '1'); - @include vendor('flex-shrink', '1'); - padding: (_size(element-margin) * 0.5) 0 0 0; - text-align: center; - width: 100%; - - > * { - width: 100%; - } - - &:first-child { - padding-top: 0; - } - - input[type="submit"], - input[type="reset"], - input[type="button"], - button, - .button { - width: 100%; - - &.icon { - &:before { - margin-left: -0.5rem; - } - } - } - } - } - } - } - -/* Feature Icons */ - - ul.feature-icons { - list-style: none; - padding-left: 0; - - li { - @include icon; - display: inline-block; - margin: 0 0 (_size(element-margin) * 0.75) 0; - padding: 0.35em 0 0 3.5em; - position: relative; - vertical-align: top; - width: 48%; - - &:before { - background: _palette(accent1, bg); - border-radius: 100%; - color: _palette(accent1, fg-bold); - display: block; - height: 2.5em; - left: 0; - line-height: 2.5em; - position: absolute; - text-align: center; - top: 0; - width: 2.5em; - } - } - } - -/* Icons */ - - ul.icons { - cursor: default; - list-style: none; - padding-left: 0; - - li { - display: inline-block; - padding: 0 1em 0 0; - - &:last-child { - padding-right: 0 !important; - } - - .icon { - &:before { - font-size: 1.25em; - } - } - } - } - -/* Table */ - - .table-wrapper { - -webkit-overflow-scrolling: touch; - overflow-x: auto; - } - - table { - margin: 0 0 _size(element-margin) 0; - width: 100%; - - tbody { - tr { - border: solid _size(border-width) _palette(border); - border-left: 0; - border-right: 0; - - &:nth-child(2n + 1) { - background-color: _palette(border-bg); - } - } - } - - 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; - } - - thead { - border-bottom: solid (_size(border-width) * 2) _palette(border2); - } - - tfoot { - border-top: solid (_size(border-width) * 2) _palette(border2); - } - - &.alt { - border-collapse: separate; - - tbody { - tr { - td { - border: solid _size(border-width) _palette(border2); - border-left-width: 0; - border-top-width: 0; - - &:first-child { - border-left-width: _size(border-width); - } - } - - &:first-child { - td { - border-top-width: _size(border-width); - } - } - } - } - - thead { - border-bottom: 0; - } - - tfoot { - border-top: 0; - } - } - } - -/* Button */ - - input[type="submit"], - input[type="reset"], - input[type="button"], - .button { - @include vendor('appearance', 'none'); - @include vendor('transition', ('background-color #{_duration(transition)} ease-in-out', 'color #{_duration(transition)} ease-in-out')); - background-color: _palette(accent2, bg); - border-radius: _size(border-radius); - border: 0; - color: _palette(accent2, fg-bold) !important; - cursor: pointer; - display: inline-block; - font-weight: _font(weight-bold); - height: _size(element-height); - line-height: _size(element-height); - padding: 0 1.5em; - text-align: center; - text-decoration: none; - white-space: nowrap; - - &:hover { - background-color: lighten(_palette(accent2, bg), 5); - color: _palette(accent2, fg-bold) !important; - } - - &:active { - background-color: darken(_palette(accent2, bg), 5); - } - - &.icon { - padding-left: 1.35em; - - &:before { - margin-right: 0.5em; - } - } - - &.fit { - width: 100%; - } - - &.small { - font-size: 0.8em; - } - - &.large { - font-size: 1.35em; - } - - &.alt { - background-color: transparent; - box-shadow: inset 0 0 0 _size(border-width) _palette(border2); - color: _palette(fg-bold) !important; - - &:hover { - background-color: _palette(border2-bg); - color: _palette(fg-bold) !important; - } - - &:active { - background-color: _palette(border3-bg); - } - - &.icon { - &:before { - color: _palette(fg-light); - } - } - } - - &.primary { - background-color: _palette(accent1, bg); - color: _palette(accent1, fg-bold) !important; - - &:hover { - background-color: lighten(_palette(accent1, bg), 5); - } - - &:active { - background-color: darken(_palette(accent1, bg), 5); - } - } - - &.disabled, - &:disabled { - background-color: _palette(fg) !important; - box-shadow: inset 0 -0.15em 0 0 rgba(0,0,0,0.15); - color: _palette(bg) !important; - cursor: default; - opacity: 0.25; - } - } - -/* Features */ - - .features { - article { - border-top: solid (_size(border-width) * 1.5) _palette(border); - margin-bottom: _size(element-margin); - padding-top: _size(element-margin); - - &:first-child { - border-top: 0; - padding-top: 0; - } - - .image { - display: inline-block; - padding-right: 2.5em; - vertical-align: middle; - width: 48%; - - img { - display: block; - width: 100%; - } - } - - .inner { - display: inline-block; - vertical-align: middle; - width: 50%; - - > :last-child { - margin-bottom: 0; - } - } - } - } - -/* Header */ - - #header { - @include vendor('display', 'flex'); - @include vendor('flex-direction', 'column'); - @include vendor('justify-content', 'space-between'); - background: _palette(header, bg); - color: _palette(header, fg); - height: 100%; - overflow-y: auto; - position: fixed; - text-align: center; - top: 0; - width: $size-header; - - @if _misc(header-side) == 'right' { - right: 0; - } - @else { - left: 0; - } - - h1, h2, h3, h4, h5, h6 { - color: _palette(header, fg-bold); - - a { - color: _palette(header, fg-bold); - } - } - - header { - p { - color: _palette(header, fg-light); - } - } - - a { - color: _palette(header, fg); - - &:hover { - color: _palette(header, fg-bold) !important; - } - } - - > header { - @include vendor('flex-shrink', '0'); - padding: 3em; - - .avatar { - display: block; - margin: 0 auto _size(element-margin) auto; - width: 8em; - } - - h1 { - font-size: 1.75em; - margin: 0; - } - - p { - color: _palette(header, fg); - font-style: italic; - margin: 1em 0 0 0; - } - } - - > footer { - @include vendor('flex-shrink', '0'); - bottom: 0; - left: 0; - padding: 2em; - width: 100%; - - .icons { - margin: 0; - - li { - a { - color: _palette(header, fg-light); - } - } - } - } - - > nav { - @include vendor('flex-grow', '1'); - - ul { - list-style: none; - margin: 0; - padding: 0; - - li { - border-top: solid _size(border-width) _palette(header, border); - display: block; - padding: 0; - - a { - @include vendor('transition', 'none'); - border: 0; - color: _palette(header, fg-bold) !important; - display: block; - padding: 0.85em 0; - text-decoration: none; - - &.active { - background: _palette(bg); - color: _palette(header, bg) !important; - } - } - - &:first-child { - border-top: 0; - } - } - } - } - } - -/* Wrapper */ - - #wrapper { - background: _palette(bg); - - @if _misc(header-side) == 'right' { - padding-right: $size-header; - } - @else { - padding-left: $size-header; - } - } - -/* Main */ - - #main { - > section { - border-top: solid (_size(border-width) * 3) _palette(border); - - > .container { - padding: 6em 0 4em 0; - } - - &:first-child { - border-top: 0; - } - } - } - -/* Footer */ - - #footer { - background: #fafafa; - border-top: 0; - color: #c0c0c0; - overflow: hidden; - padding: 4em 0 2em 0; - - .copyright { - line-height: 1em; - list-style: none; - padding: 0; - - li { - border-left: solid 1px #d4d4d4; - display: inline-block; - font-size: 0.8em; - margin-left: 1em; - padding-left: 1em; - - &:first-child { - border-left: 0; - margin-left: 0; - padding-left: 0; - } - - a { - color: inherit; - } - } - } - } - -/* XLarge */ - - @include breakpoint('<=xlarge') { - - $size-header: 21em; - - /* Basic */ - - body, input, select, textarea { - font-size: 13pt; - } - - /* Header */ - - #header { - width: $size-header; - - > header { - padding: 2em; - } - - > footer { - padding: 1.5em; - } - } - - /* Wrapper */ - - #wrapper { - @if _misc(header-side) == 'right' { - padding-right: $size-header; - } - @else { - padding-left: $size-header; - } - } - - /* Main */ - - #main { - > section { - > .container { - padding: 4em 0 2em 0; - } - } - } - - } - -/* Large */ - - @include breakpoint('<=large') { - - $size-header: 20em; - - /* Basic */ - - body, input, select, textarea { - font-size: 11pt; - } - - /* Header */ - - #header { - width: $size-header; - } - - /* Wrapper */ - - #wrapper { - @if _misc(header-side) == 'right' { - padding-right: $size-header; - } - @else { - padding-left: $size-header; - } - } - - } - -/* Medium */ - - #titleBar { - display: none; - } - - @include breakpoint('<=medium') { - - /* Basic */ - - html, body { - overflow-x: hidden; - } - - body, input, select, textarea { - font-size: 12pt; - } - - /* Image */ - - .image { - &.left, - &.right { - max-width: 40%; - - img { - width: 100%; - } - } - - &.main { - height: 20em; - } - } - - /* Header */ - - #header { - @include vendor('backface-visibility', 'hidden'); - @include vendor('transition', ('transform #{_duration(header)} ease')); - display: block; - height: 100%; - overflow-y: auto; - position: fixed; - top: 0; - width: $size-header; - z-index: _misc(z-index-base) + 2; - - @if _misc(header-side) == 'right' { - @include vendor('transform', 'translateX(#{$size-header})'); - right: 0; - } - @else { - @include vendor('transform', 'translateX(#{$size-header * -1})'); - left: 0; - } - - > footer { - bottom: auto; - left: auto; - margin: 0.5em 0 0 0; - position: relative; - right: auto; - top: auto; - } - } - - /* Wrapper */ - - #wrapper { - @include vendor('backface-visibility', 'hidden'); - @include vendor('transition', 'transform #{_duration(header)} ease'); - padding: 44px 0 1px 0; - } - - /* Header Panel */ - - #titleBar { - @include vendor('backface-visibility', 'hidden'); - @include vendor('transition', 'transform #{_duration(header)} ease'); - display: block; - height: 44px; - left: 0; - position: fixed; - top: 0; - width: 100%; - z-index: _misc(z-index-base) + 1; - background: #222; - color: #fff; - min-width: 320px; - - .title { - color: #fff; - display: block; - font-weight: _font(weight-bold); - height: 44px; - line-height: 44px; - padding: 0 1em; - width: 100%; - - @if _misc(header-side) == 'right' { - text-align: left; - } - @else { - text-align: right; - } - - a { - border: 0; - text-decoration: none; - } - } - - .toggle { - @include icon(false, solid); - height: 4em; - position: absolute; - top: 0; - width: 6em; - border: 0; - outline: 0; - - @if _misc(header-side) == 'right' { - right: 0; - } - @else { - left: 0; - } - - &:before { - background: _palette(accent1, bg); - color: _palette(accent1, fg-bold); - content: '\f0c9'; - display: block; - font-size: 18px; - height: 44px; - line-height: 44px; - position: absolute; - text-align: center; - top: 0; - width: 64px; - - @if _misc(header-side) == 'right' { - right: 0; - } - @else { - left: 0; - } - } - } - } - - body { - &.header-visible { - #wrapper, #titleBar { - @if _misc(header-side) == 'right' { - @include vendor('transform', 'translateX(#{$size-header * -1})'); - } - @else { - @include vendor('transform', 'translateX(#{$size-header})'); - } - } - - #header { - @include vendor('transform', 'translateX(0)'); - } - } - } - - } - -/* Small */ - - @include breakpoint('<=small') { - - $size-header: 17em; - - /* Basic */ - - body, input, select, textarea { - font-size: 12pt; - } - - h1, h2, h3, h4, h5, h6 { - br { - display: none; - } - } - - h2 { - font-size: 1.75em; - } - - h3 { - font-size: 1.5em; - } - - h4 { - font-size: 1em; - } - - /* Image */ - - .image { - &.left { - margin: 0 1.5em 1em 0; - } - - &.right { - margin: 0 0 1em 1.5em; - } - - &.main { - height: 12em; - } - } - - /* Section/Article */ - - header { - br { - display: none; - } - - &.major { - h2 { - font-size: 2.5em; - - & + p { - font-size: 1.5em; - } - } - } - } - - /* Features */ - - .features { - article { - .image { - display: block; - margin: 0 0 _size(element-margin) 0; - padding-right: 0; - width: 100%; - } - - .inner { - display: block; - width: 100%; - } - } - } - - /* Header */ - - #header { - width: $size-header; - - @if _misc(header-side) == 'right' { - @include vendor('transform', 'translateX(#{$size-header})'); - right: 0; - } - @else { - @include vendor('transform', 'translateX(#{$size-header * -1})'); - left: 0; - } - - > header { - padding: 2em; - - .avatar { - margin: 0 auto (_size(element-margin) * 0.75) auto; - width: 6em; - } - - h1 { - font-size: 1.5em; - } - - p { - margin: 1em 0 0 0; - } - } - - > footer { - padding: 1.5em; - } - } - - /* Main */ - - #main { - > section { - > .container { - padding: 2em 0 0 0; - } - } - } - - /* Footer */ - - #footer { - text-align: center; - - .copyright { - li { - border-left: 0; - display: block; - line-height: 1.75em; - margin: 0.75em 0 0 0; - padding-left: 0; - - &:first-child { - margin-top: 0; - } - } - } - } - - /* Header Panel */ - - #titleBar { - .toggle { - height: 4em; - width: 6em; - - &:before { - font-size: 14px; - width: 44px; - } - } - } - - body { - &.header-visible { - #wrapper, #titleBar { - @if _misc(header-side) == 'right' { - @include vendor('transform', 'translateX(#{$size-header * -1})'); - } - @else { - @include vendor('transform', 'translateX(#{$size-header})'); - } - } - } - } - - } - -/* XSmall */ - - @include breakpoint('<=xsmall') { - - /* Basic */ - - html, body { - min-width: 320px; - } - - body, input, select, textarea { - font-size: 12pt; - } - - /* List */ - - ul { - &.actions { - margin: 0 0 _size(element-margin) 0; - - li { - display: block; - padding: (_size(element-margin) * 0.5) 0 0 0; - text-align: center; - width: 100%; - - &:first-child { - padding-top: 0; - } - - > * { - width: 100%; - margin: 0 !important; - - &.icon { - &:before { - margin-left: -2em; - } - } - } - } - - &.small { - li { - padding: (_size(element-margin) * 0.25) 0 0 0; - - &:first-child { - padding-top: 0; - } - } - } - } - - &.feature-icons { - li { - display: block; - width: 100%; - } - } - } - - /* Button */ - - input[type="submit"], - input[type="reset"], - input[type="button"], - .button { - padding: 0; - } - - } \ No newline at end of file