{"version":3,"file":"nucleus.css","sources":["nucleus.scss","vendor/bourbon/_bourbon.scss","vendor/bourbon/settings/_prefixer.scss","vendor/bourbon/settings/_px-to-em.scss","vendor/bourbon/helpers/_convert-units.scss","vendor/bourbon/helpers/_gradient-positions-parser.scss","vendor/bourbon/helpers/_is-num.scss","vendor/bourbon/helpers/_linear-angle-parser.scss","vendor/bourbon/helpers/_linear-gradient-parser.scss","vendor/bourbon/helpers/_linear-positions-parser.scss","vendor/bourbon/helpers/_linear-side-corner-parser.scss","vendor/bourbon/helpers/_radial-arg-parser.scss","vendor/bourbon/helpers/_radial-positions-parser.scss","vendor/bourbon/helpers/_radial-gradient-parser.scss","vendor/bourbon/helpers/_render-gradients.scss","vendor/bourbon/helpers/_shape-size-stripper.scss","vendor/bourbon/helpers/_str-to-num.scss","vendor/bourbon/functions/_assign.scss","vendor/bourbon/functions/_color-lightness.scss","vendor/bourbon/functions/_flex-grid.scss","vendor/bourbon/functions/_golden-ratio.scss","vendor/bourbon/functions/_grid-width.scss","vendor/bourbon/functions/_modular-scale.scss","vendor/bourbon/functions/_px-to-em.scss","vendor/bourbon/functions/_px-to-rem.scss","vendor/bourbon/functions/_strip-units.scss","vendor/bourbon/functions/_tint-shade.scss","vendor/bourbon/functions/_transition-property-name.scss","vendor/bourbon/functions/_unpack.scss","vendor/bourbon/css3/_animation.scss","vendor/bourbon/css3/_appearance.scss","vendor/bourbon/css3/_backface-visibility.scss","vendor/bourbon/css3/_background.scss","vendor/bourbon/css3/_background-image.scss","vendor/bourbon/css3/_border-image.scss","vendor/bourbon/css3/_border-radius.scss","vendor/bourbon/css3/_box-sizing.scss","vendor/bourbon/css3/_calc.scss","vendor/bourbon/css3/_columns.scss","vendor/bourbon/css3/_filter.scss","vendor/bourbon/css3/_flex-box.scss","vendor/bourbon/css3/_font-face.scss","vendor/bourbon/css3/_hyphens.scss","vendor/bourbon/css3/_hidpi-media-query.scss","vendor/bourbon/css3/_image-rendering.scss","vendor/bourbon/css3/_keyframes.scss","vendor/bourbon/css3/_linear-gradient.scss","vendor/bourbon/css3/_perspective.scss","vendor/bourbon/css3/_radial-gradient.scss","vendor/bourbon/css3/_transform.scss","vendor/bourbon/css3/_transition.scss","vendor/bourbon/css3/_user-select.scss","vendor/bourbon/css3/_placeholder.scss","vendor/bourbon/addons/_button.scss","vendor/bourbon/addons/_clearfix.scss","vendor/bourbon/addons/_directional-values.scss","vendor/bourbon/addons/_ellipsis.scss","vendor/bourbon/addons/_font-family.scss","vendor/bourbon/addons/_hide-text.scss","vendor/bourbon/addons/_html5-input-types.scss","vendor/bourbon/addons/_position.scss","vendor/bourbon/addons/_prefixer.scss","vendor/bourbon/addons/_retina-image.scss","vendor/bourbon/addons/_size.scss","vendor/bourbon/addons/_timing-functions.scss","vendor/bourbon/addons/_triangle.scss","vendor/bourbon/addons/_word-wrap.scss","vendor/bourbon/_bourbon-deprecated-upcoming.scss","configuration/nucleus/_base.scss","configuration/nucleus/_core.scss","configuration/nucleus/_breakpoints.scss","configuration/nucleus/_layout.scss","configuration/nucleus/_typography.scss","configuration/nucleus/_nav.scss","nucleus/functions/_base.scss","nucleus/functions/_direction.scss","nucleus/functions/_range.scss","nucleus/mixins/_base.scss","nucleus/mixins/_breakpoints.scss","nucleus/mixins/_utilities.scss","nucleus/_core.scss","nucleus/_flex.scss","nucleus/_typography.scss","nucleus/_forms.scss"],"sourcesContent":["// REQUIRED DEPENDENCIES - DO NOT CHANGE\n\n// Load Third Party Libraries\n@import \"vendor/bourbon/bourbon\";\n\n// Load Nucleus Configuration\n@import \"configuration/nucleus/base\";\n\n// Load Nucleus Mixins and Functions\n@import \"nucleus/functions/base\";\n@import \"nucleus/mixins/base\";\n\n//-------------------------------------------\n\n// LOAD NUCLEUS COMPONENTS\n\n// Core\n@import \"nucleus/core\";\n\n// Flex\n@import \"nucleus/flex\";\n\n// Typography\n@import \"nucleus/typography\";\n\n// Forms\n@import \"nucleus/forms\";\n","// Settings\n@import \"settings/prefixer\";\n@import \"settings/px-to-em\";\n\n// Custom Helpers\n@import \"helpers/convert-units\";\n@import \"helpers/gradient-positions-parser\";\n@import \"helpers/is-num\";\n@import \"helpers/linear-angle-parser\";\n@import \"helpers/linear-gradient-parser\";\n@import \"helpers/linear-positions-parser\";\n@import \"helpers/linear-side-corner-parser\";\n@import \"helpers/radial-arg-parser\";\n@import \"helpers/radial-positions-parser\";\n@import \"helpers/radial-gradient-parser\";\n@import \"helpers/render-gradients\";\n@import \"helpers/shape-size-stripper\";\n@import \"helpers/str-to-num\";\n\n// Custom Functions\n@import \"functions/assign\";\n@import \"functions/color-lightness\";\n@import \"functions/flex-grid\";\n@import \"functions/golden-ratio\";\n@import \"functions/grid-width\";\n@import \"functions/modular-scale\";\n@import \"functions/px-to-em\";\n@import \"functions/px-to-rem\";\n@import \"functions/strip-units\";\n@import \"functions/tint-shade\";\n@import \"functions/transition-property-name\";\n@import \"functions/unpack\";\n\n// CSS3 Mixins\n@import \"css3/animation\";\n@import \"css3/appearance\";\n@import \"css3/backface-visibility\";\n@import \"css3/background\";\n@import \"css3/background-image\";\n@import \"css3/border-image\";\n@import \"css3/border-radius\";\n@import \"css3/box-sizing\";\n@import \"css3/calc\";\n@import \"css3/columns\";\n@import \"css3/filter\";\n@import \"css3/flex-box\";\n@import \"css3/font-face\";\n@import \"css3/hyphens\";\n@import \"css3/hidpi-media-query\";\n@import \"css3/image-rendering\";\n@import \"css3/keyframes\";\n@import \"css3/linear-gradient\";\n@import \"css3/perspective\";\n@import \"css3/radial-gradient\";\n@import \"css3/transform\";\n@import \"css3/transition\";\n@import \"css3/user-select\";\n@import \"css3/placeholder\";\n\n// Addons & other mixins\n@import \"addons/button\";\n@import \"addons/clearfix\";\n@import \"addons/directional-values\";\n@import \"addons/ellipsis\";\n@import \"addons/font-family\";\n@import \"addons/hide-text\";\n@import \"addons/html5-input-types\";\n@import \"addons/position\";\n@import \"addons/prefixer\";\n@import \"addons/retina-image\";\n@import \"addons/size\";\n@import \"addons/timing-functions\";\n@import \"addons/triangle\";\n@import \"addons/word-wrap\";\n\n// Soon to be deprecated Mixins\n@import \"bourbon-deprecated-upcoming\";\n","// Variable settings for /addons/prefixer.scss\n$prefix-for-webkit: true !default;\n$prefix-for-mozilla: true !default;\n$prefix-for-microsoft: true !default;\n$prefix-for-opera: true !default;\n$prefix-for-spec: true !default; // required for keyframe mixin\n","$em-base: 16px !default;\n","//************************************************************************//\n// Helper function for str-to-num fn.\n// Source: http://sassmeister.com/gist/9647408\n//************************************************************************//\n@function _convert-units($number, $unit) {\n $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn';\n $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn;\n $index: index($strings, $unit);\n\n @if not $index {\n @warn \"Unknown unit `#{$unit}`.\";\n @return false;\n }\n @return $number * nth($units, $index);\n}\n","@function _gradient-positions-parser($gradient-type, $gradient-positions) {\n @if $gradient-positions\n and ($gradient-type == linear)\n and (type-of($gradient-positions) != color) {\n $gradient-positions: _linear-positions-parser($gradient-positions);\n }\n @else if $gradient-positions\n and ($gradient-type == radial)\n and (type-of($gradient-positions) != color) {\n $gradient-positions: _radial-positions-parser($gradient-positions);\n }\n @return $gradient-positions;\n}\n","//************************************************************************//\n// Helper for linear-gradient-parser\n//************************************************************************//\n@function _is-num($char) {\n $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9;\n $index: index($values, $char);\n @return if($index, true, false);\n}\n","// Private function for linear-gradient-parser\n@function _linear-angle-parser($image, $first-val, $prefix, $suffix) {\n $offset: null;\n $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val));\n $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val));\n\n @if ($unit-long == \"grad\") or\n ($unit-long == \"turn\") {\n $offset: if($unit-long == \"grad\", -100grad * 3, -0.75turn);\n }\n\n @else if ($unit-short == \"deg\") or\n ($unit-short == \"rad\") {\n $offset: if($unit-short == \"deg\", -90 * 3, 1.6rad);\n }\n\n @if $offset {\n $num: _str-to-num($first-val);\n\n @return (\n webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix,\n spec-image: $image\n );\n }\n}\n","@function _linear-gradient-parser($image) {\n $image: unquote($image);\n $gradients: ();\n $start: str-index($image, \"(\");\n $end: str-index($image, \",\");\n $first-val: str-slice($image, $start + 1, $end - 1);\n\n $prefix: str-slice($image, 0, $start);\n $suffix: str-slice($image, $end, str-length($image));\n\n $has-multiple-vals: str-index($first-val, \" \");\n $has-single-position: unquote(_position-flipper($first-val) + \"\");\n $has-angle: _is-num(str-slice($first-val, 0, 0));\n\n @if $has-multiple-vals {\n $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals);\n }\n\n @else if $has-single-position != \"\" {\n $pos: unquote($has-single-position + \"\");\n\n $gradients: (\n webkit-image: -webkit- + $image,\n spec-image: $prefix + \"to \" + $pos + $suffix\n );\n }\n\n @else if $has-angle {\n // Rotate degree for webkit\n $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix);\n }\n\n @else {\n $gradients: (\n webkit-image: -webkit- + $image,\n spec-image: $image\n );\n }\n\n @return $gradients;\n}\n","@function _linear-positions-parser($pos) {\n $type: type-of(nth($pos, 1));\n $spec: null;\n $degree: null;\n $side: null;\n $corner: null;\n $length: length($pos);\n // Parse Side and corner positions\n @if ($length > 1) {\n @if nth($pos, 1) == \"to\" { // Newer syntax\n $side: nth($pos, 2);\n\n @if $length == 2 { // eg. to top\n // Swap for backwards compatability\n $degree: _position-flipper(nth($pos, 2));\n }\n @else if $length == 3 { // eg. to top left\n $corner: nth($pos, 3);\n }\n }\n @else if $length == 2 { // Older syntax (\"top left\")\n $side: _position-flipper(nth($pos, 1));\n $corner: _position-flipper(nth($pos, 2));\n }\n\n @if (\"#{$side} #{$corner}\" == \"left top\") or (\"#{$side} #{$corner}\" == \"top left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right top\") or (\"#{$side} #{$corner}\" == \"top right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right bottom\") or (\"#{$side} #{$corner}\" == \"bottom right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"left bottom\") or (\"#{$side} #{$corner}\" == \"bottom left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n $spec: to $side $corner;\n }\n @else if $length == 1 {\n // Swap for backwards compatability\n @if $type == string {\n $degree: $pos;\n $spec: to _position-flipper($pos);\n }\n @else {\n $degree: -270 - $pos; //rotate the gradient opposite from spec\n $spec: $pos;\n }\n }\n $degree: unquote($degree + \",\");\n $spec: unquote($spec + \",\");\n @return $degree $spec;\n}\n\n@function _position-flipper($pos) {\n @return if($pos == left, right, null)\n if($pos == right, left, null)\n if($pos == top, bottom, null)\n if($pos == bottom, top, null);\n}\n","// Private function for linear-gradient-parser\n@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) {\n $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 );\n $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));\n $val-3: null;\n $has-val-3: str-index($val-2, \" \");\n\n @if $has-val-3 {\n $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));\n $val-2: str-slice($val-2, 0, $has-val-3 - 1);\n }\n\n $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);\n $pos: unquote($pos + \"\");\n\n // Use old spec for webkit\n @if $val-1 == \"to\" {\n @return (\n webkit-image: -webkit- + $prefix + $pos + $suffix,\n spec-image: $image\n );\n }\n\n // Bring the code up to spec\n @else {\n @return (\n webkit-image: -webkit- + $image,\n spec-image: $prefix + \"to \" + $pos + $suffix\n );\n }\n}\n","@function _radial-arg-parser($G1, $G2, $pos, $shape-size) {\n @each $value in $G1, $G2 {\n $first-val: nth($value, 1);\n $pos-type: type-of($first-val);\n $spec-at-index: null;\n\n // Determine if spec was passed to mixin\n @if type-of($value) == list {\n $spec-at-index: if(index($value, at), index($value, at), false);\n }\n @if $spec-at-index {\n @if $spec-at-index > 1 {\n @for $i from 1 through ($spec-at-index - 1) {\n $shape-size: $shape-size nth($value, $i);\n }\n @for $i from ($spec-at-index + 1) through length($value) {\n $pos: $pos nth($value, $i);\n }\n }\n @else if $spec-at-index == 1 {\n @for $i from ($spec-at-index + 1) through length($value) {\n $pos: $pos nth($value, $i);\n }\n }\n $G1: null;\n }\n\n // If not spec calculate correct values\n @else {\n @if ($pos-type != color) or ($first-val != \"transparent\") {\n @if ($pos-type == number)\n or ($first-val == \"center\")\n or ($first-val == \"top\")\n or ($first-val == \"right\")\n or ($first-val == \"bottom\")\n or ($first-val == \"left\") {\n\n $pos: $value;\n\n @if $pos == $G1 {\n $G1: null;\n }\n }\n\n @else if\n ($first-val == \"ellipse\")\n or ($first-val == \"circle\")\n or ($first-val == \"closest-side\")\n or ($first-val == \"closest-corner\")\n or ($first-val == \"farthest-side\")\n or ($first-val == \"farthest-corner\")\n or ($first-val == \"contain\")\n or ($first-val == \"cover\") {\n\n $shape-size: $value;\n\n @if $value == $G1 {\n $G1: null;\n }\n\n @else if $value == $G2 {\n $G2: null;\n }\n }\n }\n }\n }\n @return $G1, $G2, $pos, $shape-size;\n}\n","@function _radial-positions-parser($gradient-pos) {\n $shape-size: nth($gradient-pos, 1);\n $pos: nth($gradient-pos, 2);\n $shape-size-spec: _shape-size-stripper($shape-size);\n\n $pre-spec: unquote(if($pos, \"#{$pos}, \", null))\n unquote(if($shape-size, \"#{$shape-size},\", null));\n $pos-spec: if($pos, \"at #{$pos}\", null);\n\n $spec: \"#{$shape-size-spec} #{$pos-spec}\";\n\n // Add comma\n @if ($spec != ' ') {\n $spec: \"#{$spec},\"\n }\n\n @return $pre-spec $spec;\n}\n","@function _radial-gradient-parser($image) {\n $image: unquote($image);\n $gradients: ();\n $start: str-index($image, \"(\");\n $end: str-index($image, \",\");\n $first-val: str-slice($image, $start + 1, $end - 1);\n\n $prefix: str-slice($image, 0, $start);\n $suffix: str-slice($image, $end, str-length($image));\n\n $is-spec-syntax: str-index($first-val, \"at\");\n\n @if $is-spec-syntax and $is-spec-syntax > 1 {\n $keyword: str-slice($first-val, 1, $is-spec-syntax - 2);\n $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));\n $pos: append($pos, $keyword, comma);\n\n $gradients: (\n webkit-image: -webkit- + $prefix + $pos + $suffix,\n spec-image: $image\n )\n }\n\n @else if $is-spec-syntax == 1 {\n $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));\n\n $gradients: (\n webkit-image: -webkit- + $prefix + $pos + $suffix,\n spec-image: $image\n )\n }\n\n @else if str-index($image, \"cover\") or str-index($image, \"contain\") {\n @warn \"Radial-gradient needs to be updated to conform to latest spec.\";\n\n $gradients: (\n webkit-image: null,\n spec-image: $image\n )\n }\n\n @else {\n $gradients: (\n webkit-image: -webkit- + $image,\n spec-image: $image\n )\n }\n\n @return $gradients;\n}\n","// User for linear and radial gradients within background-image or border-image properties\n\n@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) {\n $pre-spec: null;\n $spec: null;\n $vendor-gradients: null;\n @if $gradient-type == linear {\n @if $gradient-positions {\n $pre-spec: nth($gradient-positions, 1);\n $spec: nth($gradient-positions, 2);\n }\n }\n @else if $gradient-type == radial {\n $pre-spec: nth($gradient-positions, 1);\n $spec: nth($gradient-positions, 2);\n }\n\n @if $vendor {\n $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients);\n }\n @else if $vendor == false {\n $vendor-gradients: \"#{$gradient-type}-gradient(#{$spec} #{$gradients})\";\n $vendor-gradients: unquote($vendor-gradients);\n }\n @return $vendor-gradients;\n}\n","@function _shape-size-stripper($shape-size) {\n $shape-size-spec: null;\n @each $value in $shape-size {\n @if ($value == \"cover\") or ($value == \"contain\") {\n $value: null;\n }\n $shape-size-spec: \"#{$shape-size-spec} #{$value}\";\n }\n @return $shape-size-spec;\n}\n","//************************************************************************//\n// Helper function for linear/radial-gradient-parsers.\n// Source: http://sassmeister.com/gist/9647408\n//************************************************************************//\n@function _str-to-num($string) {\n // Matrices\n $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';\n $numbers: 0 1 2 3 4 5 6 7 8 9;\n\n // Result\n $result: 0;\n $divider: 0;\n $minus: false;\n\n // Looping through all characters\n @for $i from 1 through str-length($string) {\n $character: str-slice($string, $i, $i);\n $index: index($strings, $character);\n\n @if $character == '-' {\n $minus: true;\n }\n\n @else if $character == '.' {\n $divider: 1;\n }\n\n @else {\n @if not $index {\n $result: if($minus, $result * -1, $result);\n @return _convert-units($result, str-slice($string, $i));\n }\n\n $number: nth($numbers, $index);\n\n @if $divider == 0 {\n $result: $result * 10;\n }\n\n @else {\n // Move the decimal dot to the left\n $divider: $divider * 10;\n $number: $number / $divider;\n }\n\n $result: $result + $number;\n }\n }\n @return if($minus, $result * -1, $result);\n}\n","@function assign-inputs($inputs, $pseudo: null) {\n $list : ();\n\n @each $input in $inputs {\n $input: unquote($input);\n $input: if($pseudo, $input + \":\" + $pseudo, $input);\n $list: append($list, $input, comma);\n }\n\n @return $list;\n}","// Programatically determines whether a color is light or dark\n// Returns a boolean\n// More details here http://robots.thoughtbot.com/closer-look-color-lightness\n\n@function is-light($hex-color) {\n $-local-red: red(rgba($hex-color, 1.0));\n $-local-green: green(rgba($hex-color, 1.0));\n $-local-blue: blue(rgba($hex-color, 1.0));\n\n $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;\n\n @return $-local-lightness > .6;\n}\n","// Flexible grid\n@function flex-grid($columns, $container-columns: $fg-max-columns) {\n $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;\n $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;\n @return percentage($width / $container-width);\n}\n\n// Flexible gutter\n@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {\n $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;\n @return percentage($gutter / $container-width);\n}\n\n// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function.\n// This function takes the fluid grid equation (target / context = result) and uses columns to help define each.\n//\n// The calculation presumes that your column structure will be missing the last gutter:\n//\n// -- column -- gutter -- column -- gutter -- column\n//\n// $fg-column: 60px; // Column Width\n// $fg-gutter: 25px; // Gutter Width\n// $fg-max-columns: 12; // Total Columns For Main Container\n//\n// div {\n// width: flex-grid(4); // returns (315px / 995px) = 31.65829%;\n// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%;\n//\n// p {\n// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;\n// float: left;\n// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%;\n// }\n//\n// blockquote {\n// float: left;\n// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;\n// }\n// }","@function golden-ratio($value, $increment) {\n @return modular-scale($value, $increment, $golden)\n}\n","@function grid-width($n) {\n @return $n * $gw-column + ($n - 1) * $gw-gutter;\n}\n\n// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function.\n//\n// $gw-column: 100px; // Column Width\n// $gw-gutter: 40px; // Gutter Width\n//\n// div {\n// width: grid-width(4); // returns 520px;\n// margin-left: $gw-gutter; // returns 40px;\n// }\n","// Scaling Variables\n$golden: 1.618;\n$minor-second: 1.067;\n$major-second: 1.125;\n$minor-third: 1.2;\n$major-third: 1.25;\n$perfect-fourth: 1.333;\n$augmented-fourth: 1.414;\n$perfect-fifth: 1.5;\n$minor-sixth: 1.6;\n$major-sixth: 1.667;\n$minor-seventh: 1.778;\n$major-seventh: 1.875;\n$octave: 2;\n$major-tenth: 2.5;\n$major-eleventh: 2.667;\n$major-twelfth: 3;\n$double-octave: 4;\n\n@function modular-scale($value, $increment, $ratio) {\n $v1: nth($value, 1);\n $v2: nth($value, length($value));\n $value: $v1;\n\n // scale $v2 to just above $v1\n @while $v2 > $v1 {\n $v2: ($v2 / $ratio); // will be off-by-1\n }\n @while $v2 < $v1 {\n $v2: ($v2 * $ratio); // will fix off-by-1\n }\n\n // check AFTER scaling $v2 to prevent double-counting corner-case\n $double-stranded: $v2 > $v1;\n\n @if $increment > 0 {\n @for $i from 1 through $increment {\n @if $double-stranded and ($v1 * $ratio) > $v2 {\n $value: $v2;\n $v2: ($v2 * $ratio);\n } @else {\n $v1: ($v1 * $ratio);\n $value: $v1;\n }\n }\n }\n\n @if $increment < 0 {\n // adjust $v2 to just below $v1\n @if $double-stranded {\n $v2: ($v2 / $ratio);\n }\n\n @for $i from $increment through -1 {\n @if $double-stranded and ($v1 / $ratio) < $v2 {\n $value: $v2;\n $v2: ($v2 / $ratio);\n } @else {\n $v1: ($v1 / $ratio);\n $value: $v1;\n }\n }\n }\n\n @return $value;\n}\n","// Convert pixels to ems\n// eg. for a relational value of 12px write em(12) when the parent is 16px\n// if the parent is another value say 24px write em(12, 24)\n\n@function em($pxval, $base: $em-base) {\n @if not unitless($pxval) {\n $pxval: strip-units($pxval);\n }\n @if not unitless($base) {\n $base: strip-units($base);\n }\n @return ($pxval / $base) * 1em;\n}\n","// Convert pixels to rems\n// eg. for a relational value of 12px write rem(12)\n// Assumes $em-base is the font-size of \n\n@function rem($pxval) {\n @if not unitless($pxval) {\n $pxval: strip-units($pxval);\n }\n\n $base: $em-base;\n @if not unitless($base) {\n $base: strip-units($base);\n }\n @return ($pxval / $base) * 1rem;\n}\n","// Srtips the units from a value. e.g. 12px -> 12\n\n@function strip-units($val) {\n @return ($val / ($val * 0 + 1));\n}\n","// Add percentage of white to a color\n@function tint($color, $percent){\n @return mix(white, $color, $percent);\n}\n\n// Add percentage of black to a color\n@function shade($color, $percent){\n @return mix(black, $color, $percent);\n}\n","// Return vendor-prefixed property names if appropriate\n// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background\n//************************************************************************//\n@function transition-property-names($props, $vendor: false) {\n\t$new-props: ();\n\t\n\t@each $prop in $props {\n\t\t$new-props: append($new-props, transition-property-name($prop, $vendor), comma);\n\t}\n\n\t@return $new-props;\n}\n\n@function transition-property-name($prop, $vendor: false) {\n\t// put other properties that need to be prefixed here aswell\n\t@if $vendor and $prop == transform {\n\t\t@return unquote('-'+$vendor+'-'+$prop);\n\t}\n\t@else {\n\t\t@return $prop;\n\t}\n}","// Convert shorthand to the 4-value syntax\n\n@function unpack($shorthand) {\n @if length($shorthand) == 1 {\n @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);\n }\n @else if length($shorthand) == 2 {\n @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);\n }\n @else if length($shorthand) == 3 {\n @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);\n }\n @else {\n @return $shorthand;\n }\n}\n\n","// http://www.w3.org/TR/css3-animations/#the-animation-name-property-\n// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.\n\n// Official animation shorthand property.\n@mixin animation ($animations...) {\n @include prefixer(animation, $animations, webkit moz spec);\n}\n\n// Individual Animation Properties\n@mixin animation-name ($names...) {\n @include prefixer(animation-name, $names, webkit moz spec);\n}\n\n\n@mixin animation-duration ($times...) {\n @include prefixer(animation-duration, $times, webkit moz spec);\n}\n\n\n@mixin animation-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out\n @include prefixer(animation-timing-function, $motions, webkit moz spec);\n}\n\n\n@mixin animation-iteration-count ($values...) {\n// infinite | \n @include prefixer(animation-iteration-count, $values, webkit moz spec);\n}\n\n\n@mixin animation-direction ($directions...) {\n// normal | alternate\n @include prefixer(animation-direction, $directions, webkit moz spec);\n}\n\n\n@mixin animation-play-state ($states...) {\n// running | paused\n @include prefixer(animation-play-state, $states, webkit moz spec);\n}\n\n\n@mixin animation-delay ($times...) {\n @include prefixer(animation-delay, $times, webkit moz spec);\n}\n\n\n@mixin animation-fill-mode ($modes...) {\n// none | forwards | backwards | both\n @include prefixer(animation-fill-mode, $modes, webkit moz spec);\n}\n","@mixin appearance ($value) {\n @include prefixer(appearance, $value, webkit moz ms o spec);\n}\n","//************************************************************************//\n// Backface-visibility mixin\n//************************************************************************//\n@mixin backface-visibility($visibility) {\n @include prefixer(backface-visibility, $visibility, webkit spec);\n}\n","//************************************************************************//\n// Background property for adding multiple backgrounds using shorthand\n// notation.\n//************************************************************************//\n\n@mixin background($backgrounds...) {\n $webkit-backgrounds: ();\n $spec-backgrounds: ();\n\n @each $background in $backgrounds {\n $webkit-background: ();\n $spec-background: ();\n $background-type: type-of($background);\n\n @if $background-type == string or list {\n $background-str: if($background-type == list, nth($background, 1), $background);\n\n $url-str: str-slice($background-str, 0, 3);\n $gradient-type: str-slice($background-str, 0, 6);\n\n @if $url-str == \"url\" {\n $webkit-background: $background;\n $spec-background: $background;\n }\n\n @else if $gradient-type == \"linear\" {\n $gradients: _linear-gradient-parser(\"#{$background}\");\n $webkit-background: map-get($gradients, webkit-image);\n $spec-background: map-get($gradients, spec-image);\n }\n\n @else if $gradient-type == \"radial\" {\n $gradients: _radial-gradient-parser(\"#{$background}\");\n $webkit-background: map-get($gradients, webkit-image);\n $spec-background: map-get($gradients, spec-image);\n }\n\n @else {\n $webkit-background: $background;\n $spec-background: $background;\n }\n }\n\n @else {\n $webkit-background: $background;\n $spec-background: $background;\n }\n\n $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);\n $spec-backgrounds: append($spec-backgrounds, $spec-background, comma);\n }\n\n background: $webkit-backgrounds;\n background: $spec-backgrounds;\n}\n","//************************************************************************//\n// Background-image property for adding multiple background images with\n// gradients, or for stringing multiple gradients together.\n//************************************************************************//\n\n@mixin background-image($images...) {\n $webkit-images: ();\n $spec-images: ();\n\n @each $image in $images {\n $webkit-image: ();\n $spec-image: ();\n\n @if (type-of($image) == string) {\n $url-str: str-slice($image, 0, 3);\n $gradient-type: str-slice($image, 0, 6);\n\n @if $url-str == \"url\" {\n $webkit-image: $image;\n $spec-image: $image;\n }\n\n @else if $gradient-type == \"linear\" {\n $gradients: _linear-gradient-parser($image);\n $webkit-image: map-get($gradients, webkit-image);\n $spec-image: map-get($gradients, spec-image);\n }\n\n @else if $gradient-type == \"radial\" {\n $gradients: _radial-gradient-parser($image);\n $webkit-image: map-get($gradients, webkit-image);\n $spec-image: map-get($gradients, spec-image);\n }\n }\n\n $webkit-images: append($webkit-images, $webkit-image, comma);\n $spec-images: append($spec-images, $spec-image, comma);\n }\n\n background-image: $webkit-images;\n background-image: $spec-images;\n}\n","@mixin border-image($borders...) {\n $webkit-borders: ();\n $spec-borders: ();\n\n @each $border in $borders {\n $webkit-border: ();\n $spec-border: ();\n $border-type: type-of($border);\n\n @if $border-type == string or list {\n $border-str: if($border-type == list, nth($border, 1), $border);\n\n $url-str: str-slice($border-str, 0, 3);\n $gradient-type: str-slice($border-str, 0, 6);\n\n @if $url-str == \"url\" {\n $webkit-border: $border;\n $spec-border: $border;\n }\n\n @else if $gradient-type == \"linear\" {\n $gradients: _linear-gradient-parser(\"#{$border}\");\n $webkit-border: map-get($gradients, webkit-image);\n $spec-border: map-get($gradients, spec-image);\n }\n\n @else if $gradient-type == \"radial\" {\n $gradients: _radial-gradient-parser(\"#{$border}\");\n $webkit-border: map-get($gradients, webkit-image);\n $spec-border: map-get($gradients, spec-image);\n }\n\n @else {\n $webkit-border: $border;\n $spec-border: $border;\n }\n }\n\n @else {\n $webkit-border: $border;\n $spec-border: $border;\n }\n\n $webkit-borders: append($webkit-borders, $webkit-border, comma);\n $spec-borders: append($spec-borders, $spec-border, comma);\n }\n\n -webkit-border-image: $webkit-borders;\n border-image: $spec-borders;\n border-style: solid;\n}\n\n//Examples:\n// @include border-image(url(\"image.png\"));\n// @include border-image(url(\"image.png\") 20 stretch);\n// @include border-image(linear-gradient(45deg, orange, yellow));\n// @include border-image(linear-gradient(45deg, orange, yellow) stretch);\n// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);\n// @include border-image(radial-gradient(top, cover, orange, yellow, orange));\n","//************************************************************************//\n// Shorthand Border-radius mixins\n//************************************************************************//\n@mixin border-top-radius($radii) {\n @include prefixer(border-top-left-radius, $radii, spec);\n @include prefixer(border-top-right-radius, $radii, spec);\n}\n\n@mixin border-bottom-radius($radii) {\n @include prefixer(border-bottom-left-radius, $radii, spec);\n @include prefixer(border-bottom-right-radius, $radii, spec);\n}\n\n@mixin border-left-radius($radii) {\n @include prefixer(border-top-left-radius, $radii, spec);\n @include prefixer(border-bottom-left-radius, $radii, spec);\n}\n\n@mixin border-right-radius($radii) {\n @include prefixer(border-top-right-radius, $radii, spec);\n @include prefixer(border-bottom-right-radius, $radii, spec);\n}\n","@mixin box-sizing ($box) {\n// content-box | border-box | inherit\n @include prefixer(box-sizing, $box, webkit moz spec);\n}\n","@mixin calc($property, $value) {\n #{$property}: -webkit-calc(#{$value});\n #{$property}: calc(#{$value});\n}\n","@mixin columns($arg: auto) {\n// || \n @include prefixer(columns, $arg, webkit moz spec);\n}\n\n@mixin column-count($int: auto) {\n// auto || integer\n @include prefixer(column-count, $int, webkit moz spec);\n}\n\n@mixin column-gap($length: normal) {\n// normal || length\n @include prefixer(column-gap, $length, webkit moz spec);\n}\n\n@mixin column-fill($arg: auto) {\n// auto || length\n @include prefixer(column-fill, $arg, webkit moz spec);\n}\n\n@mixin column-rule($arg) {\n// || || \n @include prefixer(column-rule, $arg, webkit moz spec);\n}\n\n@mixin column-rule-color($color) {\n @include prefixer(column-rule-color, $color, webkit moz spec);\n}\n\n@mixin column-rule-style($style: none) {\n// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid\n @include prefixer(column-rule-style, $style, webkit moz spec);\n}\n\n@mixin column-rule-width ($width: none) {\n @include prefixer(column-rule-width, $width, webkit moz spec);\n}\n\n@mixin column-span($arg: none) {\n// none || all\n @include prefixer(column-span, $arg, webkit moz spec);\n}\n\n@mixin column-width($length: auto) {\n// auto || length\n @include prefixer(column-width, $length, webkit moz spec);\n}\n","@mixin filter($function: none) {\n // [\n @include prefixer(perspective, $depth, webkit moz spec);\n}\n\n@mixin perspective-origin($value: 50% 50%) {\n @include prefixer(perspective-origin, $value, webkit moz spec);\n}\n","// Requires Sass 3.1+\n@mixin radial-gradient($G1, $G2,\n $G3: null, $G4: null,\n $G5: null, $G6: null,\n $G7: null, $G8: null,\n $G9: null, $G10: null,\n $pos: null,\n $shape-size: null,\n $fallback: null) {\n\n $data: _radial-arg-parser($G1, $G2, $pos, $shape-size);\n $G1: nth($data, 1);\n $G2: nth($data, 2);\n $pos: nth($data, 3);\n $shape-size: nth($data, 4);\n\n $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;\n\n // Strip deprecated cover/contain for spec\n $shape-size-spec: _shape-size-stripper($shape-size);\n\n // Set $G1 as the default fallback color\n $first-color: nth($full, 1);\n $fallback-color: nth($first-color, 1);\n\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n // Add Commas and spaces\n $shape-size: if($shape-size, '#{$shape-size}, ', null);\n $pos: if($pos, '#{$pos}, ', null);\n $pos-spec: if($pos, 'at #{$pos}', null);\n $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} ');\n\n background-color: $fallback-color;\n background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full}));\n background-image: unquote(\"radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})\");\n}\n","@mixin transform($property: none) {\n// none | \n @include prefixer(transform, $property, webkit moz ms o spec);\n}\n\n@mixin transform-origin($axes: 50%) {\n// x-axis - left | center | right | length | %\n// y-axis - top | center | bottom | length | %\n// z-axis - length\n @include prefixer(transform-origin, $axes, webkit moz ms o spec);\n}\n\n@mixin transform-style ($style: flat) {\n @include prefixer(transform-style, $style, webkit moz ms o spec);\n}\n","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n }\n\n // Create lists for non-prefixed transition properties\n @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n }\n @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n }\n\n @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property ($properties...) {\n -webkit-transition-property: transition-property-names($properties, 'webkit');\n -moz-transition-property: transition-property-names($properties, 'moz');\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n","@mixin user-select($arg: none) {\n @include prefixer(user-select, $arg, webkit moz ms spec);\n}\n","@mixin placeholder {\n $placeholders: \":-webkit-input\" \":-moz\" \"-moz\" \"-ms-input\";\n @each $placeholder in $placeholders {\n &:#{$placeholder}-placeholder {\n @content;\n }\n }\n}\n","@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {\n\n @if type-of($style) == string and type-of($base-color) == color {\n @include buttonstyle($style, $base-color, $text-size, $padding);\n }\n\n @if type-of($style) == string and type-of($base-color) == number {\n $padding: $text-size;\n $text-size: $base-color;\n $base-color: #4294f0;\n\n @if $padding == inherit {\n $padding: 7px 18px;\n }\n\n @include buttonstyle($style, $base-color, $text-size, $padding);\n }\n\n @if type-of($style) == color and type-of($base-color) == color {\n $base-color: $style;\n $style: simple;\n @include buttonstyle($style, $base-color, $text-size, $padding);\n }\n\n @if type-of($style) == color and type-of($base-color) == number {\n $padding: $text-size;\n $text-size: $base-color;\n $base-color: $style;\n $style: simple;\n\n @if $padding == inherit {\n $padding: 7px 18px;\n }\n\n @include buttonstyle($style, $base-color, $text-size, $padding);\n }\n\n @if type-of($style) == number {\n $padding: $base-color;\n $text-size: $style;\n $base-color: #4294f0;\n $style: simple;\n\n @if $padding == #4294f0 {\n $padding: 7px 18px;\n }\n\n @include buttonstyle($style, $base-color, $text-size, $padding);\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n\n// Selector Style Button\n//************************************************************************//\n@mixin buttonstyle($type, $b-color, $t-size, $pad) {\n // Grayscale button\n @if $type == simple and $b-color == grayscale($b-color) {\n @include simple($b-color, true, $t-size, $pad);\n }\n\n @if $type == shiny and $b-color == grayscale($b-color) {\n @include shiny($b-color, true, $t-size, $pad);\n }\n\n @if $type == pill and $b-color == grayscale($b-color) {\n @include pill($b-color, true, $t-size, $pad);\n }\n\n @if $type == flat and $b-color == grayscale($b-color) {\n @include flat($b-color, true, $t-size, $pad);\n }\n\n // Colored button\n @if $type == simple {\n @include simple($b-color, false, $t-size, $pad);\n }\n\n @else if $type == shiny {\n @include shiny($b-color, false, $t-size, $pad);\n }\n\n @else if $type == pill {\n @include pill($b-color, false, $t-size, $pad);\n }\n\n @else if $type == flat {\n @include flat($b-color, false, $t-size, $pad);\n }\n}\n\n\n// Simple Button\n//************************************************************************//\n@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {\n $color: hsl(0, 0, 100%);\n $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);\n $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);\n $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);\n $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);\n\n @if is-light($base-color) {\n $color: hsl(0, 0, 20%);\n $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);\n }\n\n @if $grayscale == true {\n $border: grayscale($border);\n $inset-shadow: grayscale($inset-shadow);\n $stop-gradient: grayscale($stop-gradient);\n $text-shadow: grayscale($text-shadow);\n }\n\n border: 1px solid $border;\n border-radius: 3px;\n box-shadow: inset 0 1px 0 0 $inset-shadow;\n color: $color;\n display: inline-block;\n font-size: $textsize;\n font-weight: bold;\n @include linear-gradient ($base-color, $stop-gradient);\n padding: $padding;\n text-decoration: none;\n text-shadow: 0 1px 0 $text-shadow;\n background-clip: padding-box;\n\n &:hover:not(:disabled) {\n $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);\n $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);\n $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);\n\n @if $grayscale == true {\n $base-color-hover: grayscale($base-color-hover);\n $inset-shadow-hover: grayscale($inset-shadow-hover);\n $stop-gradient-hover: grayscale($stop-gradient-hover);\n }\n\n box-shadow: inset 0 1px 0 0 $inset-shadow-hover;\n cursor: pointer;\n @include linear-gradient ($base-color-hover, $stop-gradient-hover);\n }\n\n &:active:not(:disabled),\n &:focus:not(:disabled) {\n $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);\n $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);\n\n @if $grayscale == true {\n $border-active: grayscale($border-active);\n $inset-shadow-active: grayscale($inset-shadow-active);\n }\n\n border: 1px solid $border-active;\n box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;\n }\n}\n\n\n// Shiny Button\n//************************************************************************//\n@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {\n $color: hsl(0, 0, 100%);\n $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);\n $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);\n $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);\n $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);\n $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);\n $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);\n $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);\n\n @if is-light($base-color) {\n $color: hsl(0, 0, 20%);\n $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);\n }\n\n @if $grayscale == true {\n $border: grayscale($border);\n $border-bottom: grayscale($border-bottom);\n $fourth-stop: grayscale($fourth-stop);\n $inset-shadow: grayscale($inset-shadow);\n $second-stop: grayscale($second-stop);\n $text-shadow: grayscale($text-shadow);\n $third-stop: grayscale($third-stop);\n }\n\n border: 1px solid $border;\n border-bottom: 1px solid $border-bottom;\n border-radius: 5px;\n box-shadow: inset 0 1px 0 0 $inset-shadow;\n color: $color;\n display: inline-block;\n font-size: $textsize;\n font-weight: bold;\n @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);\n padding: $padding;\n text-align: center;\n text-decoration: none;\n text-shadow: 0 -1px 1px $text-shadow;\n\n &:hover:not(:disabled) {\n $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);\n $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);\n $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);\n $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);\n\n @if $grayscale == true {\n $first-stop-hover: grayscale($first-stop-hover);\n $second-stop-hover: grayscale($second-stop-hover);\n $third-stop-hover: grayscale($third-stop-hover);\n $fourth-stop-hover: grayscale($fourth-stop-hover);\n }\n\n cursor: pointer;\n @include linear-gradient(top, $first-stop-hover 0%,\n $second-stop-hover 50%,\n $third-stop-hover 50%,\n $fourth-stop-hover 100%);\n }\n\n &:active:not(:disabled),\n &:focus:not(:disabled) {\n $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);\n\n @if $grayscale == true {\n $inset-shadow-active: grayscale($inset-shadow-active);\n }\n\n box-shadow: inset 0 0 20px 0 $inset-shadow-active;\n }\n}\n\n\n// Pill Button\n//************************************************************************//\n@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {\n $color: hsl(0, 0, 100%);\n $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);\n $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);\n $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);\n $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);\n $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);\n $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);\n\n @if is-light($base-color) {\n $color: hsl(0, 0, 20%);\n $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);\n }\n\n @if $grayscale == true {\n $border-bottom: grayscale($border-bottom);\n $border-sides: grayscale($border-sides);\n $border-top: grayscale($border-top);\n $inset-shadow: grayscale($inset-shadow);\n $stop-gradient: grayscale($stop-gradient);\n $text-shadow: grayscale($text-shadow);\n }\n\n border: 1px solid $border-top;\n border-color: $border-top $border-sides $border-bottom;\n border-radius: 16px;\n box-shadow: inset 0 1px 0 0 $inset-shadow;\n color: $color;\n display: inline-block;\n font-size: $textsize;\n font-weight: normal;\n line-height: 1;\n @include linear-gradient ($base-color, $stop-gradient);\n padding: $padding;\n text-align: center;\n text-decoration: none;\n text-shadow: 0 -1px 1px $text-shadow;\n background-clip: padding-box;\n\n &:hover:not(:disabled) {\n $base-color-hover: adjust-color($base-color, $lightness: -4.5%);\n $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);\n $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);\n $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);\n $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);\n $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);\n $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);\n\n @if $grayscale == true {\n $base-color-hover: grayscale($base-color-hover);\n $border-bottom: grayscale($border-bottom);\n $border-sides: grayscale($border-sides);\n $border-top: grayscale($border-top);\n $inset-shadow-hover: grayscale($inset-shadow-hover);\n $stop-gradient-hover: grayscale($stop-gradient-hover);\n $text-shadow-hover: grayscale($text-shadow-hover);\n }\n\n border: 1px solid $border-top;\n border-color: $border-top $border-sides $border-bottom;\n box-shadow: inset 0 1px 0 0 $inset-shadow-hover;\n cursor: pointer;\n @include linear-gradient ($base-color-hover, $stop-gradient-hover);\n text-shadow: 0 -1px 1px $text-shadow-hover;\n background-clip: padding-box;\n }\n\n &:active:not(:disabled),\n &:focus:not(:disabled) {\n $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);\n $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);\n $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);\n $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);\n $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);\n\n @if $grayscale == true {\n $active-color: grayscale($active-color);\n $border-active: grayscale($border-active);\n $border-bottom-active: grayscale($border-bottom-active);\n $inset-shadow-active: grayscale($inset-shadow-active);\n $text-shadow-active: grayscale($text-shadow-active);\n }\n\n background: $active-color;\n border: 1px solid $border-active;\n border-bottom: 1px solid $border-bottom-active;\n box-shadow: inset 0 0 6px 3px $inset-shadow-active;\n text-shadow: 0 -1px 1px $text-shadow-active;\n }\n}\n\n\n\n// Flat Button\n//************************************************************************//\n@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {\n $color: hsl(0, 0, 100%);\n\n @if is-light($base-color) {\n $color: hsl(0, 0, 20%);\n }\n\n background-color: $base-color;\n border-radius: 3px;\n border: none;\n color: $color;\n display: inline-block;\n font-size: inherit;\n font-weight: bold;\n padding: 7px 18px;\n text-decoration: none;\n background-clip: padding-box;\n\n &:hover:not(:disabled){\n $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%);\n\n @if $grayscale == true {\n $base-color-hover: grayscale($base-color-hover);\n }\n\n background-color: $base-color-hover;\n cursor: pointer;\n }\n\n &:active:not(:disabled),\n &:focus:not(:disabled) {\n $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);\n\n @if $grayscale == true {\n $base-color-active: grayscale($base-color-active);\n }\n\n background-color: $base-color-active;\n cursor: pointer;\n }\n}\n","// Modern micro clearfix provides an easy way to contain floats without adding additional markup.\n//\n// Example usage:\n//\n// // Contain all floats within .wrapper\n// .wrapper {\n// @include clearfix;\n// .content,\n// .sidebar {\n// float : left;\n// }\n// }\n\n@mixin clearfix {\n &:after {\n content:\"\";\n display:table;\n clear:both;\n }\n}\n\n// Acknowledgements\n// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)\n","// directional-property mixins are shorthands\n// for writing properties like the following\n//\n// @include margin(null 0 10px);\n// ------\n// margin-right: 0;\n// margin-bottom: 10px;\n// margin-left: 0;\n//\n// - or -\n//\n// @include border-style(dotted null);\n// ------\n// border-top-style: dotted;\n// border-bottom-style: dotted;\n//\n// ------\n//\n// Note: You can also use false instead of null\n\n@function collapse-directionals($vals) {\n $output: null;\n\n $A: nth( $vals, 1 );\n $B: if( length($vals) < 2, $A, nth($vals, 2));\n $C: if( length($vals) < 3, $A, nth($vals, 3));\n $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) ));\n\n @if $A == 0 { $A: 0 }\n @if $B == 0 { $B: 0 }\n @if $C == 0 { $C: 0 }\n @if $D == 0 { $D: 0 }\n\n @if $A == $B and $A == $C and $A == $D { $output: $A }\n @else if $A == $C and $B == $D { $output: $A $B }\n @else if $B == $D { $output: $A $B $C }\n @else { $output: $A $B $C $D }\n\n @return $output;\n}\n\n@function contains-falsy($list) {\n @each $item in $list {\n @if not $item {\n @return true;\n }\n }\n\n @return false;\n}\n\n@mixin directional-property($pre, $suf, $vals) {\n // Property Names\n $top: $pre + \"-top\" + if($suf, \"-#{$suf}\", \"\");\n $bottom: $pre + \"-bottom\" + if($suf, \"-#{$suf}\", \"\");\n $left: $pre + \"-left\" + if($suf, \"-#{$suf}\", \"\");\n $right: $pre + \"-right\" + if($suf, \"-#{$suf}\", \"\");\n $all: $pre + if($suf, \"-#{$suf}\", \"\");\n\n $vals: collapse-directionals($vals);\n\n @if contains-falsy($vals) {\n @if nth($vals, 1) { #{$top}: nth($vals, 1); }\n\n @if length($vals) == 1 {\n @if nth($vals, 1) { #{$right}: nth($vals, 1); }\n } @else {\n @if nth($vals, 2) { #{$right}: nth($vals, 2); }\n }\n\n // prop: top/bottom right/left\n @if length($vals) == 2 {\n @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }\n @if nth($vals, 2) { #{$left}: nth($vals, 2); }\n\n // prop: top right/left bottom\n } @else if length($vals) == 3 {\n @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }\n @if nth($vals, 2) { #{$left}: nth($vals, 2); }\n\n // prop: top right bottom left\n } @else if length($vals) == 4 {\n @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }\n @if nth($vals, 4) { #{$left}: nth($vals, 4); }\n }\n\n // prop: top/right/bottom/left\n } @else {\n #{$all}: $vals;\n }\n}\n\n@mixin margin($vals...) {\n @include directional-property(margin, false, $vals...);\n}\n\n@mixin padding($vals...) {\n @include directional-property(padding, false, $vals...);\n}\n\n@mixin border-style($vals...) {\n @include directional-property(border, style, $vals...);\n}\n\n@mixin border-color($vals...) {\n @include directional-property(border, color, $vals...);\n}\n\n@mixin border-width($vals...) {\n @include directional-property(border, width, $vals...);\n}\n","@mixin ellipsis($width: 100%) {\n display: inline-block;\n max-width: $width;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","$georgia: Georgia, Cambria, \"Times New Roman\", Times, serif;\n$helvetica: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n$lucida-grande: \"Lucida Grande\", Tahoma, Verdana, Arial, sans-serif;\n$monospace: \"Bitstream Vera Sans Mono\", Consolas, Courier, monospace;\n$verdana: Verdana, Geneva, sans-serif;\n","@mixin hide-text {\n overflow: hidden;\n\n &:before {\n content: \"\";\n display: block;\n width: 0;\n height: 100%;\n }\n}\n","//************************************************************************//\n// Generate a variable ($all-text-inputs) with a list of all html5\n// input types that have a text-based input, excluding textarea.\n// http://diveintohtml5.org/forms.html\n//************************************************************************//\n$inputs-list: 'input[type=\"email\"]',\n 'input[type=\"number\"]',\n 'input[type=\"password\"]',\n 'input[type=\"search\"]',\n 'input[type=\"tel\"]',\n 'input[type=\"text\"]',\n 'input[type=\"url\"]',\n\n // Webkit & Gecko may change the display of these in the future\n 'input[type=\"color\"]',\n 'input[type=\"date\"]',\n 'input[type=\"datetime\"]',\n 'input[type=\"datetime-local\"]',\n 'input[type=\"month\"]',\n 'input[type=\"time\"]',\n 'input[type=\"week\"]';\n\n// Bare inputs\n//************************************************************************//\n$all-text-inputs: assign-inputs($inputs-list);\n\n// Hover Pseudo-class\n//************************************************************************//\n$all-text-inputs-hover: assign-inputs($inputs-list, hover);\n\n// Focus Pseudo-class\n//************************************************************************//\n$all-text-inputs-focus: assign-inputs($inputs-list, focus);\n\n\n\n// You must use interpolation on the variable:\n// #{$all-text-inputs}\n// #{$all-text-inputs-hover}\n// #{$all-text-inputs-focus}\n\n// Example\n//************************************************************************//\n// #{$all-text-inputs}, textarea {\n// border: 1px solid red;\n// }\n\n\n\n//************************************************************************//\n// Generate a variable ($all-button-inputs) with a list of all html5\n// input types that have a button-based input, excluding button.\n//************************************************************************//\n$inputs-button-list: 'input[type=\"button\"]',\n 'input[type=\"reset\"]',\n 'input[type=\"submit\"]';\n\n// Bare inputs\n//************************************************************************//\n$all-button-inputs: assign-inputs($inputs-button-list);\n\n// Hover Pseudo-class\n//************************************************************************//\n$all-button-inputs-hover: assign-inputs($inputs-button-list, hover);\n\n// Focus Pseudo-class\n//************************************************************************//\n$all-button-inputs-focus: assign-inputs($inputs-button-list, focus);\n\n// Active Pseudo-class\n//************************************************************************//\n$all-button-inputs-active: assign-inputs($inputs-button-list, active);\n\n\n\n// You must use interpolation on the variable:\n// #{$all-button-inputs}\n// #{$all-button-inputs-hover}\n// #{$all-button-inputs-focus}\n// #{$all-button-inputs-active}\n\n// Example\n//************************************************************************//\n// #{$all-button-inputs}, button {\n// border: 1px solid red;\n// }\n","@mixin position ($position: relative, $coordinates: null null null null) {\n\n @if type-of($position) == list {\n $coordinates: $position;\n $position: relative;\n }\n\n $coordinates: unpack($coordinates);\n\n $top: nth($coordinates, 1);\n $right: nth($coordinates, 2);\n $bottom: nth($coordinates, 3);\n $left: nth($coordinates, 4);\n\n position: $position;\n\n @if ($top and $top == auto) or (type-of($top) == number) {\n top: $top;\n }\n\n @if ($right and $right == auto) or (type-of($right) == number) {\n right: $right;\n }\n\n @if ($bottom and $bottom == auto) or (type-of($bottom) == number) {\n bottom: $bottom;\n }\n\n @if ($left and $left == auto) or (type-of($left) == number) {\n left: $left;\n }\n}\n","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: false) {\n @if $asset-pipeline {\n background-image: image-url(\"#{$filename}.#{$extension}\");\n }\n @else {\n background-image: url(\"#{$filename}.#{$extension}\");\n }\n\n @include hidpi {\n @if $asset-pipeline {\n @if $retina-filename {\n background-image: image-url(\"#{$retina-filename}.#{$extension}\");\n }\n @else {\n background-image: image-url(\"#{$filename}#{$retina-suffix}.#{$extension}\");\n }\n }\n\n @else {\n @if $retina-filename {\n background-image: url(\"#{$retina-filename}.#{$extension}\");\n }\n @else {\n background-image: url(\"#{$filename}#{$retina-suffix}.#{$extension}\");\n }\n }\n\n background-size: $background-size;\n\n }\n}\n","@mixin size($size) {\n $height: nth($size, 1);\n $width: $height;\n\n @if length($size) > 1 {\n $height: nth($size, 2);\n }\n\n @if $height == auto or (type-of($height) == number and not unitless($height)) {\n height: $height;\n }\n\n @if $width == auto or (type-of($height) == number and not unitless($width)) {\n width: $width;\n }\n}\n","// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)\n// Timing functions are the same as demo'ed here: http://jqueryui.com/demos/effect/easing.html\n\n// EASE IN\n$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);\n$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);\n$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);\n$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);\n$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);\n$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);\n\n// EASE OUT\n$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);\n$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);\n$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);\n$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);\n$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);\n$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);\n$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);\n\n// EASE IN OUT\n$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);\n$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);\n$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);\n$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);\n$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);\n$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);\n$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);\n$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);\n","@mixin triangle ($size, $color, $direction) {\n height: 0;\n width: 0;\n\n $width: nth($size, 1);\n $height: nth($size, length($size));\n\n $foreground-color: nth($color, 1);\n $background-color: if(length($color) == 2, nth($color, 2), transparent);\n\n @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {\n\n $width: $width / 2;\n $height: if(length($size) > 1, $height, $height/2);\n\n @if $direction == up {\n border-left: $width solid $background-color;\n border-right: $width solid $background-color;\n border-bottom: $height solid $foreground-color;\n\n } @else if $direction == right {\n border-top: $width solid $background-color;\n border-bottom: $width solid $background-color;\n border-left: $height solid $foreground-color;\n\n } @else if $direction == down {\n border-left: $width solid $background-color;\n border-right: $width solid $background-color;\n border-top: $height solid $foreground-color;\n\n } @else if $direction == left {\n border-top: $width solid $background-color;\n border-bottom: $width solid $background-color;\n border-right: $height solid $foreground-color;\n }\n }\n\n @else if ($direction == up-right) or ($direction == up-left) {\n border-top: $height solid $foreground-color;\n\n @if $direction == up-right {\n border-left: $width solid $background-color;\n\n } @else if $direction == up-left {\n border-right: $width solid $background-color;\n }\n }\n\n @else if ($direction == down-right) or ($direction == down-left) {\n border-bottom: $height solid $foreground-color;\n\n @if $direction == down-right {\n border-left: $width solid $background-color;\n\n } @else if $direction == down-left {\n border-right: $width solid $background-color;\n }\n }\n\n @else if ($direction == inset-up) {\n border-width: $height $width;\n border-style: solid;\n border-color: $background-color $background-color $foreground-color;\n }\n\n @else if ($direction == inset-down) {\n border-width: $height $width;\n border-style: solid;\n border-color: $foreground-color $background-color $background-color;\n }\n\n @else if ($direction == inset-right) {\n border-width: $width $height;\n border-style: solid;\n border-color: $background-color $background-color $background-color $foreground-color;\n }\n\n @else if ($direction == inset-left) {\n border-width: $width $height;\n border-style: solid;\n border-color: $background-color $foreground-color $background-color $background-color;\n }\n}\n","@mixin word-wrap($wrap: break-word) {\n word-wrap: $wrap;\n\n @if $wrap == break-word {\n overflow-wrap: break-word;\n word-break: break-all;\n }\n}\n","//************************************************************************//\n// These mixins/functions are deprecated\n// They will be removed in the next MAJOR version release\n//************************************************************************//\n@mixin inline-block {\n display: inline-block;\n @warn \"inline-block mixin is deprecated and will be removed in the next major version release\";\n}\n","// Core\n@import \"core\";\n\n// Breakpoints\n@import \"breakpoints\";\n\n// Layout\n@import \"layout\";\n\n// Typography\n@import \"typography\";\n\n// Nav\n@import \"nav\";","// Border Radius\n$core-border-radius:\t\t\trem(3) !default;","// Media Device Breakpoints\n$large-desktop-container:\t\t75.000em !default;\n$desktop-container:\t\t\t\t60.000em !default;\n$tablet-container:\t\t\t\t48.000em !default;\n$large-mobile-container:\t\t30.000em !default;\n$mobile-container:\t\t\t\t100% !default;\n\n// Breakpoint Variables For Particles\n$media: \"all\" !default;\n$mobile-only: \"#{$media} and (max-width:#{$tablet-container - 0.062})\" !default;\n$no-mobile: \"#{$media} and (min-width:#{$tablet-container})\" !default;\n$small-mobile-range: \"#{$media} and (max-width:#{$large-mobile-container})\" !default;\n$large-mobile-range: \"#{$media} and (min-width:#{$large-mobile-container + 0.063}) and (max-width:#{$tablet-container - 0.062})\" !default;\n$tablet-range: \"#{$media} and (min-width:#{$tablet-container}) and (max-width:#{$desktop-container - 0.062})\" !default;\n$desktop-range: \"#{$media} and (min-width:#{$desktop-container}) and (max-width:#{$large-desktop-container - 0.062})\" !default;\n$large-desktop-range: \"#{$media} and (min-width:#{$large-desktop-container})\" !default;\n","// Content Block Spacing Variables\n$content-margin:\t\t\t\t0.625rem !default;\n$content-padding:\t\t\t\t0.938rem !default;\n\n// Fixed Block Variables\n$fixed-block-full:\t\t\t\tpercentage(1/4) !default;\n$fixed-block-desktop:\t\t\tpercentage(1/3) !default;\n$fixed-block-tablet:\t\t\tpercentage(1/2) !default;","// Base Sizes\n$core-font-size:\t\t\t\t.9rem !default;\n$core-line-height:\t\t\t\t1.5 !default;\n\n// Heading Sizes\n$h1-font-size:\t\t\t\t\t$core-font-size + 2.20 !default;\n$h2-font-size:\t\t\t\t\t$core-font-size + 1.50 !default;\n$h3-font-size:\t\t\t\t\t$core-font-size + 1.10 !default;\n$h4-font-size:\t\t\t\t\t$core-font-size + 0.75 !default;\n$h5-font-size:\t\t\t\t\t$core-font-size + 0.35 !default;\n$h6-font-size:\t\t\t\t\t$core-font-size - 0.15 !default;\n\n// Spacing\n$leading-margin:\t\t\t\t$core-line-height * 1rem !default;\n","// Dropdowns\n$dropdown-width:\t\t\t\t140px !default;\n$flyout-width:\t\t\t\t\t140px !default;","@import \"direction\";\n@import \"range\";","@function opposite-direction($dir) {\n\t@if $dir == 'left' {\n\t\t@return right;\n\t}\n\t@else if $dir == 'right' {\n\t\t@return left;\n\t}\n\t@else if $dir == 'ltr' {\n\t\t@return rtl;\n\t}\n\t@else if $dir == 'rtl' {\n\t\t@return ltr;\n\t}\n\t@else if $dir == 'top' {\n\t\t@return bottom;\n\t}\n\t@else if $dir == 'bottom' {\n\t\t@return top;\n\t}\n\t@else {\n\t\t@warn \"#{$dir} is not a direction! Make sure your direction is all lowercase!\";\n\t\t@return false;\n\t}\n}\n\n@function named-direction($dir) {\n\t@if $dir == 'ltr' {\n\t\t@return left;\n\t}\n\t@else if $dir == 'rtl' {\n\t\t@return right;\n\t}\n\t@else {\n\t\t@warn \"#{$dir} is not a valid HTML direction! Make sure you are using a valid HTML direction\";\n\t\t@return false;\n\t}\n}","@function lower-bound($range){\n\t@if length($range) <= 0 {\n\t\t@return 0;\n\t}\n\t@return nth($range,1);\n}\n\n@function upper-bound($range) {\n\t@if length($range) < 2 {\n\t\t@return 999999999999;\n\t}\n\t@return nth($range, 2);\n}","@import \"breakpoints\";\n@import \"utilities\";","// Breakpoints\n@mixin breakpoint($breakpoints, $media: all) {\n @each $breakpoint in $breakpoints {\n @if $breakpoint == large-desktop-range {\n @media only #{$media} and (min-width: $large-desktop-container) { @content; }\n }\n @else if $breakpoint == desktop-range {\n @media only #{$media} and (min-width: $desktop-container) and (max-width: $large-desktop-container - 0.062) { @content; }\n }\n @else if $breakpoint == tablet-range {\n @media only #{$media} and (min-width: $tablet-container) and (max-width: $desktop-container - 0.062) { @content; }\n }\n @else if $breakpoint == large-mobile-range {\n @media only #{$media} and (min-width: $large-mobile-container + 0.063) and (max-width: $tablet-container - 0.062) { @content; }\n }\n @else if $breakpoint == mini-nav-range {\n @media only #{$media} and (min-width: $tablet-container - 0.062) and (max-width: $large-desktop-container - 0.062) { @content; }\n }\n @else if $breakpoint == small-mobile-range {\n @media only #{$media} and (max-width: $large-mobile-container) { @content; }\n }\n @else if $breakpoint == no-mobile {\n @media only #{$media} and (min-width: $tablet-container) { @content; }\n }\n @else if $breakpoint == mobile-only {\n @media only #{$media} and (max-width: $tablet-container - 0.062) { @content; }\n }\n @else if $breakpoint == desktop-only {\n @media only #{$media} and (max-width: $desktop-container - 0.062) { @content; }\n }\n @else if $breakpoint == mobile-plus {\n @media only #{$media} and (min-width: $mobile-container - 0.062) { @content; }\n }\n @else if $breakpoint == tablet-plus {\n @media only #{$media} and (min-width: $tablet-container - 0.062) { @content; }\n }\n @else if $breakpoint == desktop-plus {\n @media only #{$media} and (min-width: $desktop-container - 0.062) { @content; }\n }\n @else if $breakpoint == large-desktop-plus {\n @media only #{$media} and (min-width: $large-desktop-container - 0.062) { @content; }\n }\n }\n}\n","\n\n// List Reset\n%list-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n// Vertical Centering\n%vertical-align {\n\tposition: relative;\n\ttop: 50%;\n\t-webkit-transform: translateY(-50%);\n\t-moz-transform: translateY(-50%);\n\t-o-transform: translateY(-50%);\n\t-ms-transform: translateY(-50%);\n\ttransform: translateY(-50%);\n}\n\n// Columns\n@mixin columns($columns) {\n\twidth: percentage(1/$columns);\n}\n\n// Float with margin variable\n@mixin float($direction, $margin: 0) {\n\tfloat: $direction;\n\tmargin-#{opposite-direction($direction)}: $margin;\n}\n","*, *::before, *::after {\n\t@include box-sizing(border-box);\n}\n\n@-webkit-viewport{width:device-width}\n@-moz-viewport{width:device-width}\n@-ms-viewport{width:device-width}\n@-o-viewport{width:device-width}\n@viewport{width:device-width}\n\nhtml {\n\tfont-size: 100%;\n\t-ms-text-size-adjust: 100%;\n\t-webkit-text-size-adjust: 100%;\n}\n\nbody {\n\tmargin: 0;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n\tdisplay: block;\n}\n\naudio,\ncanvas,\nprogress,\nvideo {\n\tdisplay: inline-block;\n\tvertical-align: baseline;\n}\n\naudio:not([controls]) {\n\tdisplay: none;\n\theight: 0;\n}\n\n[hidden],\ntemplate {\n\tdisplay: none;\n}\n\na {\n\tbackground: transparent;\n\ttext-decoration: none;\n}\n\na:active,\na:hover {\n\toutline: 0;\n}\n\nabbr[title] {\n\tborder-bottom: 1px dotted;\n}\n\nb,\nstrong {\n\tfont-weight: bold;\n}\n\ndfn {\n\tfont-style: italic;\n}\n\nmark {\n\tbackground: #ff0;\n\tcolor: #000;\n}\n\nsub,\nsup {\n\tfont-size: $core-font-size - 0.250;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nimg {\n\tborder: 0;\n\tmax-width: 100%;\n}\n\nsvg:not(:root) {\n\toverflow: hidden;\n}\n\nfigure {\n\tmargin: 1em 40px;\n}\n\nhr {\n\theight: 0;\n}\n\npre {\n\toverflow: auto;\n}\n\ncode,\nkbd,\npre,\nsamp {\n\tfont-size: $core-font-size;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tcolor: inherit;\n\tfont: inherit;\n\tmargin: 0;\n}\n\nbutton {\n\toverflow: visible;\n}\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n\t-webkit-appearance: button;\n\tcursor: pointer;\n}\n\nbutton[disabled],\nhtml input[disabled] {\n\tcursor: default;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n\ninput {\n\tline-height: normal;\n}\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n\tpadding: 0;\n}\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n\theight: auto;\n}\n\ninput[type=\"search\"] {\n\t-webkit-appearance: textfield;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\nlegend {\n\tborder: 0;\n\tpadding: 0;\n}\n\ntextarea {\n\toverflow: auto;\n}\n\noptgroup {\n\tfont-weight: bold;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n\ttable-layout: fixed;\n\twidth: 100%;\n}\n\ntr, td, th {\n\tvertical-align: middle;\n}\n\nth, td {\n\tpadding: ($leading-margin / 4) 0;\n}\n\nth {\n\ttext-align: left;\n}\n","// Page Container\n.container {\n\twidth: $large-desktop-container;\n\tmargin: 0 auto;\n\tpadding: 0;\n\t@include breakpoint(desktop-range) {\n\t\twidth: $desktop-container;\n\t}\n\t@include breakpoint(tablet-range) {\n\t\twidth: $tablet-container;\n\t}\n\t@include breakpoint(large-mobile-range) {\n\t\twidth: $large-mobile-container;\n\t}\n\t@include breakpoint(small-mobile-range) {\n\t\twidth: $mobile-container;\n\t}\n}\n\n// Grid Row and Column Setup\n.grid {\n\t@include display(flex);\n\t@include flex-flow(row);\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n\t@include breakpoint(mobile-only) {\n\t\t@include flex-flow(row wrap);\n\t}\n}\n\n.block {\n\t@include flex(1);\n\t@include breakpoint(mobile-only) {\n\t\t@include flex(0 100%);\n\t}\n}\n\n// Content Block Spacing\n.content {\n\tmargin: $content-margin;\n\tpadding: $content-padding;\n}\n\nbody [class*=\"size-\"] {\n\t@include breakpoint(mobile-only) {\n\t\t@include flex(0 100%);\n\t}\n}\n\n// Custom Size Modifiers\n.size-1-2 {\n\t@include flex(0 percentage(1/2));\n}\n\n.size-1-3 {\n\t@include flex(0 percentage(1/3));\n}\n\n.size-1-4 {\n\t@include flex(0 percentage(1/4));\n}\n\n.size-1-5 {\n\t@include flex(0 percentage(1/5));\n}\n\n.size-1-6 {\n\t@include flex(0 percentage(1/6));\n}\n\n.size-1-7 {\n\t@include flex(0 percentage(1/7));\n}\n\n.size-1-8 {\n\t@include flex(0 percentage(1/8));\n}\n\n.size-1-9 {\n\t@include flex(0 percentage(1/9));\n}\n\n.size-1-10 {\n\t@include flex(0 percentage(1/10));\n}\n\n.size-1-11 {\n\t@include flex(0 percentage(1/11));\n}\n\n.size-1-12 {\n\t@include flex(0 percentage(1/12));\n}\n\n@include breakpoint(tablet-range) {\n\t.size-tablet-1-2 {\n\t\t@include flex(0 percentage(1/2));\n\t}\n\n\t.size-tablet-1-3 {\n\t\t@include flex(0 percentage(1/3));\n\t}\n\n\t.size-tablet-1-4 {\n\t\t@include flex(0 percentage(1/4));\n\t}\n\n\t.size-tablet-1-5 {\n\t\t@include flex(0 percentage(1/5));\n\t}\n\n\t.size-tablet-1-6 {\n\t\t@include flex(0 percentage(1/6));\n\t}\n\n\t.size-tablet-1-7 {\n\t\t@include flex(0 percentage(1/7));\n\t}\n\n\t.size-tablet-1-8 {\n\t\t@include flex(0 percentage(1/8));\n\t}\n\n\t.size-tablet-1-9 {\n\t\t@include flex(0 percentage(1/9));\n\t}\n\n\t.size-tablet-1-10 {\n\t\t@include flex(0 percentage(1/10));\n\t}\n\n\t.size-tablet-1-11 {\n\t\t@include flex(0 percentage(1/11));\n\t}\n\n\t.size-tablet-1-12 {\n\t\t@include flex(0 percentage(1/12));\n\t}\n}\n\n// Fix for Firefox versions 27 and below\n@include breakpoint(mobile-only) {\n\t@supports not (flex-wrap: wrap) {\n\t\t.grid {\n\t\t\tdisplay: block;\n\t\t\t@include flex-wrap(inherit);\n\t\t}\n\t\t.block {\n\t\t\tdisplay: block;\n\t\t\t@include flex(inherit);\n\t\t}\n\t}\n}\n\n// Reordering\n.first-block {\n -webkit-box-ordinal-group: 0;\n -webkit-order: -1;\n -ms-flex-order: -1;\n order: -1;\n}\n\n.last-block {\n -webkit-box-ordinal-group: 2;\n -webkit-order: 1;\n -ms-flex-order: 1;\n order: 1;\n}\n\n// Fixed Grid Style\n.fixed-blocks {\n\t@include flex-flow(row wrap);\n\t.block {\n\t\t@include flex(inherit);\n\t\twidth: $fixed-block-full;\n\t\t@include breakpoint(desktop-range) {\n\t\t\twidth: $fixed-block-desktop;\n\t\t}\n\t\t@include breakpoint(tablet-range) {\n\t\t\twidth: $fixed-block-tablet;\n\t\t}\n\t\t@include breakpoint(mobile-only) {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n// Fix for browsers that don't support flex-wrap\n@supports not (flex-wrap: wrap) {\n\t.fixed-blocks {\n\t\tdisplay: block;\n\t\t@include flex-flow(inherit);\n\t}\n}","// Body Base\nbody {\n\tfont-size: $core-font-size;\n\tline-height: $core-line-height;\n}\n\n// Headings\nh1, h2, h3, h4, h5, h6 {\n\tmargin: $leading-margin 0 $leading-margin / 2 0;\n\ttext-rendering: optimizeLegibility;\n}\n\nh1 {\n\tfont-size: $h1-font-size;\n}\n\nh2 {\n\tfont-size: $h2-font-size;\n}\n\nh3 {\n\tfont-size: $h3-font-size;\n}\n\nh4 {\n\tfont-size: $h4-font-size;\n}\n\nh5 {\n\tfont-size: $h5-font-size;\n}\n\nh6 {\n\tfont-size: $h6-font-size;\n}\n\n// Paragraph\np {\n\tmargin: $leading-margin / 2 0 $leading-margin ;\n}\n\n// Lists\nul, ol {\n\tmargin-top: $leading-margin;\n\tmargin-bottom: $leading-margin;\n\tul, ol {\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 0;\n\t}\n}\n\n// Blockquote\nblockquote {\n\tmargin: $leading-margin 0;\n\tpadding-left: $leading-margin / 2;\n}\n\ncite {\n\tdisplay: block;\n\tfont-size: $core-font-size - 0.125;\n\t&:before {\n content: \"\\2014 \\0020\";\n }\n}\n\n// Inline and Code\npre {\n\tmargin: $leading-margin 0;\n \tpadding: $content-padding;\n}\n\ncode {\n\tvertical-align: bottom;\n}\n\n// Extras\nsmall {\n\tfont-size: $core-font-size - 0.125;\n}\n\nhr {\n\tborder-left: none;\n\tborder-right: none;\n\tborder-top: none;\n\tmargin: $leading-margin 0;\n}\n","fieldset {\n\tborder: 0;\n\tpadding: $content-padding;\n\tmargin: 0 0 $leading-margin 0;\n}\n\ninput,\nlabel,\nselect {\n\tdisplay: block;\n}\n\nlabel {\n\tmargin-bottom: $leading-margin / 4;\n\n\t&.required:after {\n\t\tcontent: \"*\";\n\t}\n\n\tabbr {\n\t\tdisplay: none;\n\t}\n}\n\ntextarea, #{$all-text-inputs}, select[multiple=multiple] {\n\t@include transition(border-color);\n\tborder-radius: $core-border-radius;\n\tpadding: ($leading-margin / 4) ($leading-margin / 4);\n\twidth: 100%;\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n\ntextarea {\n\tresize: vertical;\n}\n\ninput[type=\"checkbox\"], input[type=\"radio\"] {\n\tdisplay: inline;\n\tmargin-right: $leading-margin / 4;\n}\n\ninput[type=\"file\"] {\n\twidth: 100%;\n}\n\nselect {\n\twidth: auto;\n\tmax-width: 100%;\n\tmargin-bottom: $leading-margin;\n}\n\nbutton,\ninput[type=\"submit\"] {\n\tcursor: pointer;\n\tuser-select: none;\n\tvertical-align: middle;\n\twhite-space: nowrap;\n\tborder: inherit;\n}\n"],"names":[],"mappings":"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"}