diff --git a/composer.json b/composer.json index b71ec011ab49ec4ce37d647b8b01978f57dc8535..ea805831398c79676e46ead3ce87f07a23220c53 100644 --- a/composer.json +++ b/composer.json @@ -13,19 +13,16 @@ { "type": "composer", "url": "https://packages.drupal.org/8" - }, - { - "type": "vcs", - "url": "https://github.com/it-osu-web/it-osu-pl-drupal.git" } ], - "minimum-stability": "dev", + "minimum-stability": "alpha", "prefer-stable": true, "require": { "composer/installers": "^1.7", "oomphinc/composer-installers-extender": "^1.1", "drupal/bamboo_twig": "^4.1", - "drupal/components": "^1.1" + "drupal/components": "^1.1", + "it-osu-web/it-osu-pl-drupal": "v1.0.0-alpha" }, "require-dev": { "drupal/twig_vardumper": "^1.2" diff --git a/composer.lock b/composer.lock index eeb2347701c9246beeaca05899b3749f3714838a..c0b729545c74fbcd5a7522b804bae210a810f67b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "27453d4838199ad44cac241b3e919f80", + "content-hash": "93fab4620bc655303e6550e0d903440a", "packages": [ { "name": "asm89/stack-cors", @@ -1561,6 +1561,37 @@ ], "time": "2019-07-01T23:21:34+00:00" }, + { + "name": "it-osu-web/it-osu-pl-drupal", + "version": "v1.0.0-alpha", + "source": { + "type": "git", + "url": "https://github.com/it-osu-web/it-osu-pl-drupal.git", + "reference": "15fb9127fcaab2e5548ce528cb469dd80c3cfcb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/it-osu-web/it-osu-pl-drupal/zipball/15fb9127fcaab2e5548ce528cb469dd80c3cfcb5", + "reference": "15fb9127fcaab2e5548ce528cb469dd80c3cfcb5", + "shasum": "" + }, + "require": { + "composer/installers": "^1.6" + }, + "type": "design-system", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "M Miller", + "email": "miller.2676@gmail.com" + } + ], + "description": "IT@OSU Pattern Lab assets for Drupal 8 theming", + "time": "2020-03-05T18:37:46+00:00" + }, { "name": "masterminds/html5", "version": "2.7.0", @@ -4096,8 +4127,10 @@ } ], "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], + "minimum-stability": "alpha", + "stability-flags": { + "it-osu-web/it-osu-pl-drupal": 15 + }, "prefer-stable": true, "prefer-lowest": false, "platform": [], diff --git a/libraries/it-osu-pl-drupal/00-base/global/00-intro/introduction.twig b/libraries/it-osu-pl-drupal/00-base/global/00-intro/introduction.twig new file mode 100644 index 0000000000000000000000000000000000000000..f24f8151bf2f3a96e4a6eae2e7b7dc8b14bbb0cf --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/00-intro/introduction.twig @@ -0,0 +1,16 @@ +<h1>IT@OSU PatternLab</h1> + +<p>This is the official design library for IT@OSU.</p> + +<p>It is structured following the principles of the Atomic Design Theory:</p> + +<ul> + <li><a href="/patterns/00-base">Base elements</a></li> + <li><a href="/patterns/01-atoms">Atoms</a></li> + <li><a href="/patterns/02-molecules">Molecules</a></li> + <li><a href="/patterns/03-organisms">Organisms</a></li> + <li><a href="/patterns/04-templates">Templates</a></li> + <li><a href="/patterns/05-pages">Pages</a></li> +</ul> + +<p>For more information, consult our <a href="https://github.com/it-osu-web/it-osu-pl">github repo</a>.</p> diff --git a/libraries/it-osu-pl-drupal/00-base/global/01-colors/_color-vars.scss b/libraries/it-osu-pl-drupal/00-base/global/01-colors/_color-vars.scss new file mode 100644 index 0000000000000000000000000000000000000000..ff31c7063e76290078746469cc09fb73638dcf99 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/01-colors/_color-vars.scss @@ -0,0 +1,26 @@ +$clear: rgba(0, 0, 0, 0); +$white: #fff; +$near-white: #f7f7f7; +$gray-lightest: #eaeaea; +$gray-lighter: #ccc; +$gray-light: #999; +$gray: #666; +$gray-dark: #444446; +$gray-darker: #303033; +$gray-darkest: #202024; +$black: #000; + +//colors +$red: #b00; +$red-dark: #830000; + +$orange: #d65828; +$orange-dark: #c04f24; + +$green: #909738; +$green-dark: #73792d; +$teal: #1c7c89; + +$purple: #5d3f82; +$blue-dark: #476c97; +$violet: #851e5e; diff --git a/libraries/it-osu-pl-drupal/00-base/global/01-colors/_colors-used.scss b/libraries/it-osu-pl-drupal/00-base/global/01-colors/_colors-used.scss new file mode 100644 index 0000000000000000000000000000000000000000..331ff6c85b237ad2b12c2a1334357dad878fd93d --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/01-colors/_colors-used.scss @@ -0,0 +1 @@ +$color-border: $gray-light; diff --git a/libraries/it-osu-pl-drupal/00-base/global/01-colors/colors.twig b/libraries/it-osu-pl-drupal/00-base/global/01-colors/colors.twig new file mode 100644 index 0000000000000000000000000000000000000000..e33c61583c7799fe62da5df411d3525eb10750b3 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/01-colors/colors.twig @@ -0,0 +1,11 @@ +<ul class="sg-colors"> + {% for item in items %} + <li> + <div class="sg-colors__sample" style="background-color: {{item.value}};"></div> + <div class="sg-colors__info"> + <code>{{item.value}}</code> <br/> + <code>{{item.name}}</code> + </div> + </li> + {% endfor %} +</ul> diff --git a/libraries/it-osu-pl-drupal/00-base/global/02-typography/_typography.scss b/libraries/it-osu-pl-drupal/00-base/global/02-typography/_typography.scss new file mode 100644 index 0000000000000000000000000000000000000000..2d695f375551eb2535d0023cb245ee15275d3d55 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/02-typography/_typography.scss @@ -0,0 +1,9 @@ +$proxima: 'proximanova', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif; +$capita: 'Capita', 'Times New Roman', serif; + +// Fonts +$font-body: $proxima; +$font-heading: $proxima; + +$font: $proxima; +$font-alt: $capita; diff --git a/libraries/it-osu-pl-drupal/00-base/global/02-typography/typography.twig b/libraries/it-osu-pl-drupal/00-base/global/02-typography/typography.twig new file mode 100644 index 0000000000000000000000000000000000000000..497ed46747402fd4dd0af70d8e1db1f1472c90dc --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/02-typography/typography.twig @@ -0,0 +1,44 @@ +<div class="sg-typography"> + {% for item in items %} + + <div class="sg-typography__group"> + <div class="sg-info"> + <span style="font-weight: 100; font-family: {{item.value}}">{{item.name}} 100</span> + </div> + <div class="sg-info"> + <span style="font-weight: 300; font-family: {{item.value}}">{{item.name}} 300</span> + </div> + <div class="sg-info"> + <span style="font-weight: 400; font-family: {{item.value}}">{{item.name}} 400</span> + </div> + <div class="sg-info"> + <span style="font-weight: 600; font-family: {{item.value}}">{{item.name}} 600</span> + </div> + <div class="sg-info"> + <span style="font-weight: 700; font-family: {{item.value}}">{{item.name}} 700</span> + </div> + </div> + + <div class="sg-typography__group"> + <div class="sg-info"> + <span style="font-weight: 100; font-style: italic; font-family: {{item.value}}">{{item.name}} 100 italic</span> + </div> + <div class="sg-info"> + <span style="font-weight: 300; font-style: italic; font-family: {{item.value}}">{{item.name}} 300 italic</span> + </div> + <div class="sg-info"> + <span style="font-weight: 400; font-style: italic; font-family: {{item.value}}">{{item.name}} 400 italic</span> + </div> + <div class="sg-info"> + <span style="font-weight: 600; font-style: italic; font-family: {{item.value}}">{{item.name}} 600 italic</span> + </div> + <div class="sg-info"> + <span style="font-weight: 700; font-style: italic; font-family: {{item.value}}">{{item.name}} 700 italic</span> + </div> + </div> + + {% endfor %} +</div> +{% if meta %} + <p> <small>{{ meta.description }}</small> </p> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/00-base/global/03-grid/_grid.scss b/libraries/it-osu-pl-drupal/00-base/global/03-grid/_grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..7d122ec1a8985a18c2b0edc8f9fe6c808c8e6be7 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/03-grid/_grid.scss @@ -0,0 +1,13 @@ +.sample-grid { + margin-bottom: 2em; + .cell { + background: $gray-lightest; + padding: 10px 15px; + min-height: 80px; + } +} + +// Helper classes. +.grid-grow { + flex-grow: 1 !important; +} diff --git a/libraries/it-osu-pl-drupal/00-base/global/03-grid/grid.twig b/libraries/it-osu-pl-drupal/00-base/global/03-grid/grid.twig new file mode 100644 index 0000000000000000000000000000000000000000..f70bef65dc042f78d2bef80252739b277a2e59b1 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/03-grid/grid.twig @@ -0,0 +1,28 @@ +<div class="sample-grid"> + <h4>Evenly Divided</h4> + <div class="grid-x grid-margin-x"> + <div class="cell auto">One</div> + <div class="cell auto">Two</div> + <div class="cell auto">Three</div> + <div class="cell auto">Four</div> + <div class="cell auto">Five</div> + <div class="cell auto">Six</div> + </div> +</div> + +<div class="sample-grid"> + <h4>Spans 4 Cells + Auto Width</h4> + <div class="grid-x grid-margin-x"> + <div class="cell small-4">4 cells</div> + <div class="cell auto">Whatever's left!</div> + </div> +</div> + +<div class="sample-grid"> + <h4>Content + Sidebars </h4> + <div class="grid-x grid-margin-x"> + <div class="cell small-3">Sidebar 1</div> + <div class="cell auto">Content</div> + <div class="cell small-3">Sidebar 2</div> + </div> +</div> diff --git a/libraries/it-osu-pl-drupal/00-base/global/04-animations/_animation.scss b/libraries/it-osu-pl-drupal/00-base/global/04-animations/_animation.scss new file mode 100644 index 0000000000000000000000000000000000000000..4022766491034847b78274686644be08294ceb09 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/04-animations/_animation.scss @@ -0,0 +1,29 @@ +/// Mixin - Transition +@mixin transition($transition-property, $transition-time, $method) { + -webkit-transition: $transition-property $transition-time $method; + -moz-transition: $transition-property $transition-time $method; + -ms-transition: $transition-property $transition-time $method; + -o-transition: $transition-property $transition-time $method; + transition: $transition-property $transition-time $method; +} + +.animate-fade { + @include transition(opacity, 0.3s, ease-out); + + &:hover { + opacity: 0; + } +} + +.animate-move { + > .demo-shape { + @include transition(all, 0.8s, ease-in-out); + } +} + +.demo-animate { + background-color: $gray-lightest; + cursor: pointer; + padding: 1em; + text-align: center; +} diff --git a/libraries/it-osu-pl-drupal/00-base/global/04-animations/animations.twig b/libraries/it-osu-pl-drupal/00-base/global/04-animations/animations.twig new file mode 100644 index 0000000000000000000000000000000000000000..50771ec2afb6011502752ae325633ff5124d97e2 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/global/04-animations/animations.twig @@ -0,0 +1 @@ +<div class="demo-animate animate-fade"><strong>Fade:</strong> Duration: 0.3s Easing: ease-out (Hover to see effect)</div> diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_01-variables.scss b/libraries/it-osu-pl-drupal/00-base/utils/_01-variables.scss new file mode 100644 index 0000000000000000000000000000000000000000..ef7ceffc4915943839192b4cfc57dcbf0c233046 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_01-variables.scss @@ -0,0 +1,43 @@ +////////////////////////// +// General Variables +// Note: colors should go into +// components/_patterns/00-base/global/01-colors/_color-vars.scss +// and typography into +// components/_patterns/00-base/global/typography/_typography.scss + +// Vertical spacing (y). +$space-y: rem-calc(20); + +// More space. +$space-y-plus-half: $space-y * 1.5; +$space-y-double: $space-y * 2; +$space-y-triple: $space-y * 3; + +// Less space. +$space-y-two-thirds: $space-y * 0.667; +$space-y-half: $space-y / 2; +$space-y-third: $space-y / 3; +$space-y-quarter: $space-y / 4; + +// Horizontal spacing (x). +$space-x: rem-calc(26); + +// Less space. +$space-x-half: $space-x / 2; +$space-x-third: $space-x / 3; +$space-x-quarter: $space-x / 4; + +// Typography spacing. +$header-margin-after: rem-calc(16); +$header-margin-after-less: rem-calc(8); + +// Box spacing. +$padding-y: rem-calc(18); +$padding-x: rem-calc(22); +$padding-y-bottom: rem-calc(6); + +// Grid spacing. +$grid-margin-after: rem-calc(24); + +// Shadows. +$drop-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_03-mixins.scss b/libraries/it-osu-pl-drupal/00-base/utils/_03-mixins.scss new file mode 100644 index 0000000000000000000000000000000000000000..7aa1e27a780c4184c652c737f83868996fbe36f5 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_03-mixins.scss @@ -0,0 +1,83 @@ +///////////////////// +// General Mixins (put specific ones in component files where applicable) + +/// Mixin - Clearfix. +/// Adds clearfix based on http://bourbon.io/docs/#clearfix +/// use example = @include cleafix + +@mixin clearfix { + &::after { + clear: both; + content: ''; + display: table; + } +} + +/// Mixin - list-reset +/// Reset list item defaults when no margin, padding, list styles needed +@mixin list-reset { + list-style: none; + margin: 0; + padding: 0; +} + +/// Mixin - With Icon +/// Precede Text with SVG icon +@mixin with-icon { + background-size: cover; + content: ''; + display: inline-block; + margin-right: 0.1em; + padding: 0.8em; +} + +/// Mixin - Wrapper +/// Outer container mixin for large screens +@mixin wrapper( + $container-max-width: $max-width, + $outer-container-break: $small, + $v-margin: 0, + $v-padding: 0, + $h-padding: 4%, + $h-padding-large: $h-padding +) { + max-width: #{$container-max-width}; + width: 100%; + margin: #{$v-margin} auto; + padding: #{$v-padding} #{$h-padding}; + + @include breakpoint($outer-container-break) { + padding: #{$v-padding} #{$h-padding-large}; + } + + @include breakpoint($container-max-width) { + padding-left: calc( + #{$h-padding-large} + calc(-50vw + calc(#{$container-max-width} / 2)) + ); + padding-right: calc( + #{$h-padding-large} + calc(-50vw + calc(#{$container-max-width} / 2)) + ); + } +} + +/// Use the breakout mixin for elements that should be edge-to-edge +/// Even when a parent container uses the wrapper mixin +@mixin breakout($v-padding: 5rem) { + margin-left: calc(-50vw + 50%); + margin-right: calc(-50vw + 50%); + padding-left: calc(#{$v-padding} + calc(-50vw + 50%)); + padding-right: calc(#{$v-padding} + calc(-50vw + 50%)); +} + +/// Mixin - Standard Margin +@mixin margin { + margin-bottom: 1em; +} + +@mixin no-bottom { + margin-bottom: 0; +} + +@mixin short-bottom { + margin-bottom: 0.25em; +} diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_04-base.scss b/libraries/it-osu-pl-drupal/00-base/utils/_04-base.scss new file mode 100644 index 0000000000000000000000000000000000000000..a2fa6fa63b133aea2c9749643911c325e4a4c962 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_04-base.scss @@ -0,0 +1,44 @@ +html { + box-sizing: border-box; +} + +*, +*::after, +*::before { + box-sizing: inherit; +} + +// Background color for main content. Body color is set by footer color. +.layout-container, +.layout__wrapper--main { + background: white; +} + +body.footer-color { + &--dk-gray { + background: $gray-darkest; + } + + &--md-gray { + background: $gray; + } + + &--lt-gray { + background: $gray-lightest; + } + + &--white { + background: white; + } +} + +$grid-container-padding: rem-calc(40); + +.grid-container { + padding-right: $grid-container-padding; + padding-left: $grid-container-padding; +} + +.layout__wrapper--main { + background: white; +} diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_05-accessibility.scss b/libraries/it-osu-pl-drupal/00-base/utils/_05-accessibility.scss new file mode 100644 index 0000000000000000000000000000000000000000..dfd02135197cd6650416cd157854bac3e33fecb0 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_05-accessibility.scss @@ -0,0 +1,34 @@ +// Hide only visually, but have it available for screenreaders: h5bp.com/v +// +@mixin visually-hidden($focusable: false) { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + // Extends the `visually-hidden` class to allow the element to be focusable + // when navigated to via the keyboard: h5bp.com/p + @if $focusable == true { + &:active, + &:focus { + clip: auto !important; + height: auto !important; + margin: 0 !important; + overflow: visible !important; + position: static !important; + width: auto !important; + } + } +} + +.visually-hidden, +.visuallyhidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); +} diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_06-resets.scss b/libraries/it-osu-pl-drupal/00-base/utils/_06-resets.scss new file mode 100644 index 0000000000000000000000000000000000000000..dd9464610d2f3a0100ab4273ec5765dc924bc2f6 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_06-resets.scss @@ -0,0 +1,3 @@ +address { + font-style: normal !important; +} diff --git a/libraries/it-osu-pl-drupal/00-base/utils/_pl-base.scss b/libraries/it-osu-pl-drupal/00-base/utils/_pl-base.scss new file mode 100644 index 0000000000000000000000000000000000000000..22364e4d19924801a7a739431b10b0e5c1433b03 --- /dev/null +++ b/libraries/it-osu-pl-drupal/00-base/utils/_pl-base.scss @@ -0,0 +1,92 @@ +// These styles are specifically for Pattern Lab. + +.sg-main { + padding: 0 4%; + font-family: $proxima; +} + +.sg-tabs-panel { + min-height: 25em !important; +} + +.sg-pattern-extra-code { + width: 100% !important; +} + +.sg-pattern-extra-code .language-markup { + font-size: 85% !important; +} + +#sg-patterns { + .sg-subtype h2 { + font-size: 1.75rem; + font-weight: 700; + text-transform: uppercase; + margin-bottom: 5px; + clear: both; + background: $gray-lightest; + @include breakout; + padding: 6px 0 0 4.5%; + margin-top: 2.5em; + a { + color: $red; + font-weight: 700; + text-decoration: none; + &:hover { + color: $teal; + } + } + } + .sg-subtype:first-child h2 { + margin-top: 0; + } +} + +.sg-pattern-title a { + font-family: $proxima !important; + color: $gray-dark; + font-size: 1.375rem; + text-transform: uppercase; +} + +.sg-colors { + display: flex; + flex-wrap: wrap; + list-style: none; + padding: 0; + margin: 0; + + li { + flex: auto; + padding: 0.3em; + margin: 0 0.3em 1em; + min-width: 9em; + max-width: 10em; + } + + &__sample { + display: block; + height: 100px; + margin-bottom: 0.3em; + border: 1px solid $gray-lighter; + } +} + +.sg-typography { + display: flex; + flex-wrap: wrap; + + .sg-typography__group { + padding: 1em 0.25em; + min-width: 40%; + + .sg-info { + padding: 10px; + font-size: 30px; + } + } +} + +#viewall-base-utils { + display: none; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_heading.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_heading.twig new file mode 100644 index 0000000000000000000000000000000000000000..8631106e6c729c44fe1a26ef3c57ee280502d2d3 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_heading.twig @@ -0,0 +1,41 @@ +{# +/** + * Available variables: + * - heading_level - the header level 1-6 (produces h1, h2, etc.) + * - heading_base_class - the base class + * - heading_modifiers - array of modifiers to add to the base classname + * - heading - the content of the heading (typically text) + + * - heading_url - (optional) the url the heading should poing to + * - heading_link_attributes - key/value attributes to pass to link + * - heading_link_base_class - override the link base class + * - heading_link_modifiers - override the link modifiers + * - heading_link_blockname - override the link block name (defaults to heading_base_class) + */ +#} +{% set heading_base_class = heading_base_class|default('h' ~ heading_level) %} +{% set classes_array = [heading_base_class] %} + +{% if heading_modifiers is defined %} + {% for heading_modifier in heading_modifiers %} + {% set classes_array = classes_array|merge(["#{heading_base_class}--#{heading_modifier}"]) %} + {% endfor %} + {% set heading_classes = classes_array|join(' ') %} +{% else %} + {% set heading_classes = heading_base_class %} +{% endif %} + + +<h{{ heading_level }}> + {% if heading_url %} + {% include "@atoms/01-links/link/link.twig" with { + "link_content": heading, + "link_url": heading_url, + "link_attributes": heading_link_attributes, + "link_base_class": heading_link_base_class, + "link_modifiers": heading_link_modifiers, + } %} + {% else %} + {{ heading }} + {% endif %} +</h{{ heading_level }}> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_headings.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_headings.scss new file mode 100644 index 0000000000000000000000000000000000000000..143ec2a876922568613cd02991bef7f11daf5bb1 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/_headings.scss @@ -0,0 +1,101 @@ +@mixin heading( + $size: 36, + $weight: $header-font-weight, + $color: $header-color, + $font-family: $header-font-family, + $line-height: $header-lineheight, + $color-link: inherit, + $color-link-hover: $header-color--hover +) { + font-size: rem-calc($size); + font-weight: $weight; + color: $color; + font-family: $proxima; + line-height: $line-height; + a, + &__link { + color: $color-link; + text-decoration: none; + font-weight: $weight; + + &:hover { + color: $color-link-hover; + } + + &:focus { + outline: 1px dotted $color-link-hover; + outline-offset: 2px; + } + } +} + +h1, +.h1 { + @include heading(42, 800, $line-height: 1.1); +} + +h2, +.h2 { + @include heading(32, 700); +} + +h3, +.h3 { + @include heading(26); +} + +h4, +.h4 { + @include heading(22); +} + +h5, +.h5 { + @include heading(20, 400); +} + +h6, +.h6 { + @include heading(18, 400); +} + +h1.page-title { + margin-top: $space-y; + margin-bottom: $space-y-half; +} + +// Headers within long text. +.field--type-text-long { + h2, + h3, + h4, + h5, + h6 { + margin-top: $space-y-half; + margin-bottom: $space-y-half; + } + + p ~ h2, + p ~ h3, + p ~ h4, + p ~ h5, + p ~ h6 { + margin-top: $space-y-plus-half; + } + + ul ~ h2, + ul ~ h3, + ul ~ h4, + ul ~ h5, + ul ~ h6 { + margin-top: $space-y-plus-half; + } + + ol ~ h2, + ol ~ h3, + ol ~ h4, + ol ~ h5, + ol ~ h6 { + margin-top: $space-y-plus-half; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/headings.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/headings.twig new file mode 100644 index 0000000000000000000000000000000000000000..08081514e389d377f446b91b1de5ff77371cd411 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/00-headings/headings.twig @@ -0,0 +1,11 @@ +<div class="sg-header-styles"> + {% for i in 1..6 %} + <div class="sg-pattern pl-heading-examples"> + <h3 class="sg-pattern-title">h{{ i }}</h3> + <h{{ i }} class="h{{ i }}">This is a Header {{ i }} example</h{{ i }}> + </div> + {% endfor %} +</div> +{% if meta %} + <p> <small>{{ meta.description }}</small> </p> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/_tagline.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/_tagline.scss new file mode 100644 index 0000000000000000000000000000000000000000..f1e7494028b694067f68c98391a904a06db209f4 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/_tagline.scss @@ -0,0 +1,12 @@ +.tagline { + font-family: $capita; + font-size: rem-calc(28); + font-style: italic; + font-weight: 400; + line-height: 1.4; + margin-bottom: $space-y; +} + +.tagline--small { + font-size: rem-calc(22); +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/tagline.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/tagline.twig new file mode 100644 index 0000000000000000000000000000000000000000..cf623fe7dd93378479e50502203d3edfb32a9c14 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/01-tagline/tagline.twig @@ -0,0 +1,2 @@ +<div class="tagline">Short text which serves to clarify or summarize a thought.</div> +<div class="tagline tagline--small">Add class 'tagline--small' for a smaller version.</div> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/_blockquote.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/_blockquote.scss new file mode 100644 index 0000000000000000000000000000000000000000..0322b464d18fb7d823a016dbce2bb08e481704b4 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/_blockquote.scss @@ -0,0 +1,40 @@ +.blockquote { + border-left: solid 3px $gray-lighter; + margin: 2em 0 2em 2em; + padding-left: 1em; + padding-right: 3em; + p { + line-height: 1.6; + } +} + +blockquote:not(.pull-quote) { + @extend .blockquote; +} + +.pull-quote { + border: 0; + padding: 2em; + padding-right: 4em; + margin: 2em 0; + position: relative; +} + +.pull-quote__icon { + color: $gray-lighter; + position: absolute; + top: 0.8em; +} + +.pull-quote__text { + font-family: $capita; + font-style: italic; + font-weight: 300; + font-size: 115%; + padding: 0; + padding-left: 3.5em; + + p { + line-height: 1.6; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/blockquote.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/blockquote.twig new file mode 100644 index 0000000000000000000000000000000000000000..4275bb9e9572e44d2ed9deeee5567e1d301691b8 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/02-blockquote/blockquote.twig @@ -0,0 +1,37 @@ +{# +/** + * Available variables: + * - blockquote_base_class - the base classname + * - blockquote_modifiers - array of modifiers to add to the base classname + * - blockquote_content - the content of the blockquote (typically text) + * + * Available blocks: + * - blockquote_content - used to replace the content of the blockquote with something other than text + * for example: A formatted text field in Drupal + */ +#} + +{% set blockquote_base_class = blockquote_base_class|default('blockquote') %} +{% set classes_array = [blockquote_base_class] %} + +{% if blockquote_modifiers is defined %} + {% for blockquote_modifier in blockquote_modifiers %} + {% set classes_array = classes_array|merge(["#{blockquote_base_class}--#{blockquote_modifier}"]) %} + {% endfor %} + {% set blockquote_classes = classes_array|join(' ') %} +{% else %} + {% set blockquote_classes = blockquote_base_class %} +{% endif %} + + + +<blockquote class="{{ blockquote_classes }}"> + {% block blockquote_content %} + {% if blockquote_base_class == 'pull-quote' %} + <div class="pull-quote__icon"><i class="fas fa-quote-left fa-3x"></i></div> + <div class="pull-quote__text"><p>{{ blockquote_content }}</p></div> + {% else %} + <p>{{ blockquote_content }}</p> + {% endif %} + {% endblock %} +</blockquote> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/_section-header.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/_section-header.scss new file mode 100644 index 0000000000000000000000000000000000000000..c6efdf3633025d35933044f4b53bde11175d626d --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/_section-header.scss @@ -0,0 +1,6 @@ +.section-header { + font-size: rem-calc(28); + font-weight: 400; + text-transform: uppercase; + margin-bottom: $space-y; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/section-header.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/section-header.twig new file mode 100644 index 0000000000000000000000000000000000000000..b1d49c94630e1e5009c60498e9211969310bbdcb --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/03-section-header/section-header.twig @@ -0,0 +1 @@ +<div class="section-header">{{ section_header }}</div> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/_paragraph.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/_paragraph.scss new file mode 100644 index 0000000000000000000000000000000000000000..f46dae4abbb945f5a6c72760de165b678f65d297 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/_paragraph.scss @@ -0,0 +1,19 @@ +p, +.paragraph { + line-height: 1.4; +} + +.paragraph--center { + text-align: center; + width: 85%; + margin-right: auto !important; + margin-left: auto !important; +} + +.paragraph--intro { + font-family: $capita; + font-style: italic; + font-weight: 400; + font-size: rem-calc(20); + line-height: 1.75; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/paragraph.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/paragraph.twig new file mode 100644 index 0000000000000000000000000000000000000000..a2a89c7aa56c6bc76ee94d1b66f4905cf39b5af0 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/04-paragraph/paragraph.twig @@ -0,0 +1,25 @@ +{# +/** + * Available variables: + * - paragraph_content - the content of the paragraph + * - paragraph_base_class - the base class name + * - paragraph_modifiers - array of modifiers to add to the base classname +#} + +{% set paragraph_base_class = paragraph_base_class|default('paragraph') %} +{% set classes_array = [paragraph_base_class] %} + +{% if paragraph_modifiers is defined %} + {% for paragraph_modifier in paragraph_modifiers %} + {% set classes_array = classes_array|merge(["#{paragraph_base_class}--#{paragraph_modifier}"]) %} + {% endfor %} + {% set paragraph_classes = classes_array|join(' ') %} +{% else %} + {% set paragraph_classes = paragraph_base_class %} +{% endif %} + +<p class="{{ paragraph_classes }}"> + {% block paragraph_content %} + {{ paragraph_content }} + {% endblock %} +</p> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/00-inline-elements.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/00-inline-elements.twig new file mode 100644 index 0000000000000000000000000000000000000000..152fc22059e164a8e2b3ae27049cf015437625c7 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/00-inline-elements.twig @@ -0,0 +1,49 @@ +{# +/** + * This is strictly an exmaple file to demonstrate markup in Pattern Lab. + * It is not intended to be included in any other component. + */ +#} +<div class="text"> + <p class="paragraph"><a class="link" href="#">This is a text link</a></p> + + <p class="paragraph"><strong>Strong is used to indicate strong importance</strong></p> + + <p class="paragraph"><em>This text has added emphasis</em></p> + + <p class="paragraph">The <b>b element</b> is stylistically different text from normal text, without any special importance</p> + + <p class="paragraph">The <i>i element</i> is text that is set off from the normal text</p> + + <p class="paragraph">The <u>u element</u> is text with an unarticulated, though explicitly rendered, non-textual annotation</p> + + <p class="paragraph"><del>This text is deleted</del> and <ins>This text is inserted</ins></p> + + <p class="paragraph"><s>This text has a strikethrough</s></p> + + <p class="paragraph">Superscript<sup>®</sup></p> + + <p class="paragraph">Subscript for things like H<sub>2</sub>O</p> + + <p class="paragraph"><small>This text is small for fine print, etc.</small></p> + + <p class="paragraph">Abbreviation: <abbr title="HyperText Markup Language">HTML</abbr></p> + + <p class="paragraph">Keybord input: <kbd>Cmd</kbd></p> + + <p class="paragraph"><q cite="https://developer.mozilla.org/en-US/docs/HTML/Element/q">This text is a short inline quotation</q></p> + + <p class="paragraph"><cite>This is a citation</cite></p> + + <p class="paragraph">The <dfn>dfn element</dfn> indicates a definition.</p> + + <p class="paragraph">The <mark>mark element</mark> indicates a highlight</p> + + <p class="paragraph"><code>This is what inline code looks like.</code></p> + + <p class="paragraph"><samp>This is sample output from a computer program</samp></p> + + <p class="paragraph">The <var>variarble element</var>, such as <var>x</var> = <var>y</var></p> + + <p class="paragraph">The span class "pipe" can be used to separate elements such as, Element 1 <span class="pipe"> | </span> Element 2. +</div><!--end .text--> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/01-preformatted-text.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/01-preformatted-text.twig new file mode 100644 index 0000000000000000000000000000000000000000..9fa1d31a130c100dc44a000600146808c3540a05 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/01-preformatted-text.twig @@ -0,0 +1,15 @@ +{# +/** + * This is strictly an exmaple file to demonstrate markup in Pattern Lab. + * It is not intended to be included in any other component. + */ +#} +<pre> +P R E F O R M A T T E D T E X T +! " # $ % & ' ( ) * + , - . / +0 1 2 3 4 5 6 7 8 9 : ; < = > ? +@ A B C D E F G H I J K L M N O +P Q R S T U V W X Y Z [ \ ] ^ _ +` a b c d e f g h i j k l m n o +p q r s t u v w x y z { | } ~ +</pre> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/02-hr.twig b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/02-hr.twig new file mode 100644 index 0000000000000000000000000000000000000000..50e14d626e214d2a99b27b6bde5ea6cb5eefd05b --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/02-hr.twig @@ -0,0 +1 @@ +<hr class="hr" /> diff --git a/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/_text.scss b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/_text.scss new file mode 100644 index 0000000000000000000000000000000000000000..ffd101985d131a5355bbd06f21f122cf45a74c4c --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/00-text/05-text/_text.scss @@ -0,0 +1,9 @@ +.pipe { + margin: 0 3px; + color: $red; + font-weight: 700; +} + +code { + font-size: 0.875em; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/01-links/link/_link.scss b/libraries/it-osu-pl-drupal/01-atoms/01-links/link/_link.scss new file mode 100644 index 0000000000000000000000000000000000000000..db9d837da8f357935da0c8afc74afc2a3b87bf48 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/01-links/link/_link.scss @@ -0,0 +1,34 @@ +/// Link +$color-link: $red; +$color-link--hover: $teal; + +@mixin link { + color: $color-link; + text-decoration: underline; + font-weight: 400; + + &:hover { + color: $color-link--hover; + } + + &:focus { + outline: 1px dotted $color-link--hover; + outline-offset: 2px; + } +} + +a, +.link { + @include link; +} + +span.ext { + margin-left: 4px; +} + +//fixes extlink buttons in Chrome +a.button { + span.link-content { + float: left; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/01-links/link/link.twig b/libraries/it-osu-pl-drupal/01-atoms/01-links/link/link.twig new file mode 100644 index 0000000000000000000000000000000000000000..b68cae227d420ac798dcf42d2327b22729f7b565 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/01-links/link/link.twig @@ -0,0 +1,33 @@ +{# +/** + * Available variables: + * - link_content - the content of the link (typically text) + * - link_url - the url this link should poing to + * - link_attributes - array of attribute,value pairs + * - link_base_class - the base class name + * - link_modifiers - array of modifiers to add to the base classname +#} + +{% set link_base_class = link_base_class|default('link') %} +{% set classes_array = [link_base_class] %} + +{% if link_modifiers is defined %} + {% for link_modifier in link_modifiers %} + {% set classes_array = classes_array|merge(["#{link_base_class}--#{link_modifier}"]) %} + {% endfor %} + {% set link_classes = classes_array|join(' ') %} +{% else %} + {% set link_classes = link_base_class %} +{% endif %} + +<a + class="{{ link_classes }}" + {% for attribute,value in link_attributes %} + {{ attribute }}="{{ value }}" + {% endfor %} + href="{{ link_url }}" + > + {% block link_content %} + <span class="link-content">{{ link_content }}</span> + {% endblock %} +</a> diff --git a/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/_social-media-link.scss b/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/_social-media-link.scss new file mode 100644 index 0000000000000000000000000000000000000000..e8cd85bfae71e76a71c39902941d07be85793d1c --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/_social-media-link.scss @@ -0,0 +1,49 @@ +.social-media__item { + display: inline-block; + padding: 0; + margin: 0; +} + +.social-media__item a { + float: left; + background: $gray; + color: $white; + width: 2.65em; + margin: 0.35em 0.7em 0.15em 0; + text-align: center; + padding: 0.625em 0 0.45em; + font-size: 105%; +} + +.social-media__item a span.ext { + display: none; +} + +// focus +.social-media__item a:focus { + outline: 2px dotted black; + outline-offset: 0; +} + +//hover colors +.social-media__item a:hover { + background: $gray-dark; +} +.social-media__item--Twitter a:hover { + background: #00aced; +} +.social-media__item--Facebook a:hover { + background: #1877f2; +} +.social-media__item--LinkedIn a:hover { + background: #007bb6; +} +.social-media__item--YouTube a:hover { + background: #f00; +} +.social-media__item--Instagram a:hover { + background: #c13584; +} +.social-media__item--Photo-sharing a:hover { + background: #6eb800; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/social-media-link.twig b/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/social-media-link.twig new file mode 100644 index 0000000000000000000000000000000000000000..d586445d6be91a9ed578277e4eb2ee8ac86e6e6d --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/01-links/social-media-link/social-media-link.twig @@ -0,0 +1,5 @@ +<li class="social-media__item social-media__item--{{ social_link.name }} social-media__item--{{ loop.index }}" > + <a href="{{ social_link.url }}" title="{{ social_link.name }} profile link."> + <i class="{{ social_link.prefix }} fa-fw fa-lg fa-{{ social_link.icon }}"></i> + </a> +</li> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/01-atoms/02-buttons/01-button.twig b/libraries/it-osu-pl-drupal/01-atoms/02-buttons/01-button.twig new file mode 100644 index 0000000000000000000000000000000000000000..e87dfec72b9e234c7485055b3500b768ffd97bd8 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/02-buttons/01-button.twig @@ -0,0 +1,38 @@ +{# +/** + * Available variables: + * - button_base_class - the base class name + * - button_modifiers - array of modifiers to add to the base classname + * - button_attributes - array of attribute,value pairs + * - button_url - the url this button should poing to + * - button_content - the content of the button (typically text) + * + * Available blocks: + * - button_content - used to replace the content of the button with something other than text + * for example: to insert an icon + */ +#} + +{% set button_base_class = button_base_class|default('button') %} +{% set classes_array = [button_base_class] %} + +{% if button_modifiers is defined %} + {% for button_modifier in button_modifiers %} + {% set classes_array = classes_array|merge(["#{button_base_class}--#{button_modifier}"]) %} + {% endfor %} + {% set button_classes = classes_array|join(' ') %} +{% else %} + {% set button_classes = button_base_class %} +{% endif %} + +<button + class="{{ button_classes }}" + {% for attribute,value in button_attributes %} + {{ attribute }}="{{ value }}" + {% endfor %} + href="{{ button_url }}" +> + {% block button_content %} + {{ button_content }} + {% endblock %} +</button> diff --git a/libraries/it-osu-pl-drupal/01-atoms/02-buttons/_buttons.scss b/libraries/it-osu-pl-drupal/01-atoms/02-buttons/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..2c9257d679b338dd4fda165d279fa00c2089d6cf --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/02-buttons/_buttons.scss @@ -0,0 +1,96 @@ +@mixin button-std($bg: $red, $color: $white) { + background-color: $bg; + color: $color; + font-size: 14px; + font-weight: 600; + line-height: 1.25; + text-align: center; + text-transform: uppercase; + text-decoration: none; + padding: 11px 16px 10px; + margin-bottom: 16px; + display: inline-block; + position: relative; + cursor: pointer; + + &:active { + position: relative; + top: 1px; + background-color: darken($bg, 5%) !important; + } + + &:hover { + background-color: lighten($bg, 3%); + } + + &:focus { + background-color: lighten($bg, 3%); + outline: 2px dotted $gray-darkest; + outline-offset: 0; + } +} + +@mixin button-rev($bg: $white, $color: $red) { + background-color: $bg; + color: $color; + border: 1px solid $color; + padding: 11px 16px 10px; + + &:active { + border: 1px solid $color; + background-color: darken($color, 5%) !important; + padding: 12px 16px 11px; + top: 0; + } + + &:hover { + background-color: $color; + } + &:focus { + background-color: $color; + } +} + +@mixin button-gray { + @include button-std($gray); +} + +@mixin button-teal { + @include button-std($teal); +} + +@mixin button-alt-teal { + @include button-rev($white, $teal); +} + +@mixin button-alt-gray { + @include button-rev($white, $gray); +} + +.button { + @include button-std; + + &--gray { + @include button-gray; + } + + &--teal { + @include button-teal; + } + + &--alt { + @include button-rev; + } + + &--alt-gray { + @include button-alt-gray; + } + + &--alt-teal { + @include button-alt-teal; + } +} + +.more-link { + @include button; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/00-ul.twig b/libraries/it-osu-pl-drupal/01-atoms/03-lists/00-ul.twig new file mode 100644 index 0000000000000000000000000000000000000000..9ba9f2f22f6e2ebe22c1b323bc86f3963111b251 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/00-ul.twig @@ -0,0 +1,36 @@ +{# +/** + * Available variables: + * - ul_base_class - the base classname + * - ul_modifiers - array of modifiers to add to the base classname + * - ul_blockname - blockname prepended to the base classname + * + * - listItems - TBD + */ +#} +{% set ul_base_class = ul_base_class|default('ul') %} +{% set classes_array = [ul_base_class] %} + +{% if ul_modifiers is defined %} + {% for ul_modifier in ul_modifiers %} + {% set classes_array = classes_array|merge(["#{ul_base_class}--#{ul_modifier}"]) %} + {% endfor %} + {% set ul_classes = classes_array|join(' ') %} +{% else %} + {% set ul_classes = ul_base_class %} +{% endif %} + +<ul class="{{ ul_classes }}"> + {% block list_content %} + {% for ul_item in ul_items %} + {% include "@atoms/03-lists/_list-item.twig" with { + "list_item_label": ul_item.label, + "list_item_content": ul_item.content, + "li_base_class": ul_item.li_base_class, + "li_base_class": ul_item.li_base_class, + "li_modifiers": ul_item.li_modifiers, + "li_blockname": ul_item.li_blockname, + } %} + {% endfor %} + {% endblock %} +</ul> diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/01-ol.twig b/libraries/it-osu-pl-drupal/01-atoms/03-lists/01-ol.twig new file mode 100644 index 0000000000000000000000000000000000000000..c129d79e29e3ab0c150823ffb2b1b9f636a8ecf9 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/01-ol.twig @@ -0,0 +1,47 @@ +{# +/** + * Available variables: + * - ol_base_class - the base classname + * - ol_modifiers - array of modifiers to add to the base classname + * + * - listItems - TBD + */ +#} +{% set ol_base_class = ol_base_class|default('ol') %} +{% set classes_array = [ol_base_class] %} + +{% if ol_modifiers is defined %} + {% for ol_modifier in ol_modifiers %} + {% set classes_array = classes_array|merge(["#{ol_base_class}--#{ol_modifier}"]) %} + {% endfor %} + {% set ol_classes = classes_array|join(' ') %} +{% else %} + {% set ol_classes = ol_base_class %} +{% endif %} + +<ol class="{{ ol_classes }}"> + {% for ol_item in ol_items %} + {% include "@atoms/03-lists/_list-item.twig" with { + "list_item_label": ol_item.label, + "list_item_content": ol_item.content, + "li_base_class": ol_item.li_base_class, + "li_base_class": ol_item.li_base_class, + "li_modifiers": ol_item.li_modifiers, + } %} + {% endfor %} +</ol> + +</br> +<b>Another Sample List with levels</b> +<ol> + <li class="list-item">Snackwave synth affogato, la croix slow-carb cronut neutra green juice yuccie pitchfork. </li> + <ol> + <li class="list-item">Man bun tumblr chia gluten-free flannel photo booth humblebrag.</li> + <li class="list-item">Schlitz fixie post-ironic green juice cornhole, migas hoodie. </li> + <ol> + <li class="list-item">Knausgaard pickled cornhole palo Santo hexagon.</li> + <li class="list-item">Bicycle rights ugh neutra sartorial artisan coloring book migas prism.</li> + </ol> + </ol> + <li class="list-item">Forage shabby chic narwhal put a bird on it, venmo before they sold out vaporware VHS ugh.</li> +</ol> diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/02-dl.twig b/libraries/it-osu-pl-drupal/01-atoms/03-lists/02-dl.twig new file mode 100644 index 0000000000000000000000000000000000000000..d42c2eb32fc1c0135bb87ff696a7e8296d8b80d5 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/02-dl.twig @@ -0,0 +1,33 @@ +{# +/** + * Available variables: + * - dl_base_class - the base classname + * - dl_modifiers - array of modifiers to add to the base classname + * + * - listItems - TBD + */ +#} +{% set dl_base_class = dl_base_class|default('dl') %} +{% set classes_array = [dl_base_class] %} + +{% if dl_modifiers is defined %} + {% for dl_modifier in dl_modifiers %} + {% set classes_array = classes_array|merge(["#{dl_base_class}--#{dl_modifier}"]) %} + {% endfor %} + {% set dl_classes = classes_array|join(' ') %} +{% else %} + {% set dl_classes = dl_base_class %} +{% endif %} + +<dl class="{{ dl_classes }}"> + {% for dl_item in dl_items %} + {% include "@atoms/03-lists/_list-item-definition.twig" with { + "dl_term": dl_item.dl_term, + "dl_def": dl_item.dl_def, + "dl_term_base_class": dl_item.dl_term_base_class, + "dl_def_base_class": dl_item.dl_def_base_class, + "dl_term_modifiers": dl_item.dl_term_modifiers, + "dl_def_modifiers": dl_item.dl_def_modifiers, + } %} + {% endfor %} +</dl> diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item-definition.twig b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item-definition.twig new file mode 100644 index 0000000000000000000000000000000000000000..3c78ba6ce4c11f3a4a03a537b0e09fd93b0fefcd --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item-definition.twig @@ -0,0 +1,5 @@ +{% set dl_term_base_class = dl_term_base_class|default('dl-term') %} +{% set dl_def_base_class = dl_def_base_class|default('dl-def') %} + +<dt class="{{ dl_term_base_class }}">{{ dl_term }}</dt> +<dd class="{{ dl_def_base_class }}">{{ dl_def }}</dd> diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item.twig b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..76b6c5a857d54746ae8ddafd7553c61714f2a465 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_list-item.twig @@ -0,0 +1,31 @@ +{# +/** + * Available variables: + * - li_base_class - the base classname + * - li_modifiers - array of modifiers to add to the base classname + * - list_item_label - (optional) a <strong> label before the list item itself + * - list_item_content - the content of the list_item (typically text) + * + * Available blocks: + * - list_item_content - used to replace the content of the list_item with something other than text + * for example: to insert the image and/or link components + */ +#} +{% set li_base_class = li_base_class|default('list-item') %} +{% set classes_array = [li_base_class] %} + +{% if li_modifiers is defined %} + {% for li_modifier in li_modifiers %} + {% set classes_array = classes_array|merge(["#{li_base_class}--#{li_modifier}"]) %} + {% endfor %} + {% set li_classes = classes_array|join(' ') %} +{% else %} + {% set li_classes = li_base_class %} +{% endif %} + +<li class="{{ li_classes }}"> + {% block list_item_content %} + {% if list_item_label %}<strong>{{ list_item_label }}</strong> {% endif %} + {{ list_item_content }} + {% endblock %} +</li> diff --git a/libraries/it-osu-pl-drupal/01-atoms/03-lists/_lists.scss b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_lists.scss new file mode 100644 index 0000000000000000000000000000000000000000..711e04d98be2edee1f0c1b68b3373e4f37c79127 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/03-lists/_lists.scss @@ -0,0 +1,52 @@ +/// Mixin - list-reset +/// Reset list item defaults when no margin, padding, list styles needed +@mixin list-reset { + list-style: none; + margin: 0; + padding: 0; +} + +.list-item { + margin-bottom: $space-y-third; + padding-left: $space-x-quarter; +} + +.dl-term { + font-weight: 700; + margin-bottom: 0; +} + +.dl-def { + margin-left: $space-x-half; + margin-bottom: $space-y-half; +} + +ul, +ol { + padding-left: $space-x-third; +} + +ul { + list-style-type: disc; +} + +ol { + list-style-type: decimal; +} + +ol ol { + list-style-type: lower-alpha; +} + +ol ol ol { + list-style-type: lower-roman; +} + +.field--type-text-long { + ol, + ul { + li { + @extend .list-item; + } + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/04-tables/_tables.scss b/libraries/it-osu-pl-drupal/01-atoms/04-tables/_tables.scss new file mode 100644 index 0000000000000000000000000000000000000000..3c2d28e21fe5d558869dcc4ae535d0d677803ee6 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/04-tables/_tables.scss @@ -0,0 +1,11 @@ +.table__caption { + text-align: left; + margin-bottom: 0.5em; +} + +.table__heading-cell { + font-weight: 700; + &[scope='row'] { + text-align: left; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/04-tables/tables.twig b/libraries/it-osu-pl-drupal/01-atoms/04-tables/tables.twig new file mode 100644 index 0000000000000000000000000000000000000000..6d785e491f344c0d0518590573a42ccef482b492 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/04-tables/tables.twig @@ -0,0 +1,38 @@ +{# +/** + * This is strictly an exmaple file to demonstrate markup in Pattern Lab. + * It is not intended to be included in any other component. + */ +#} +<table class="table"> + <caption class="table__caption">This is a table caption.</caption> + <thead> + <tr> + <th scope="col" class="table__heading-cell">Column 1</th> + <th scope="col" class="table__heading-cell">Column 2</th> + <th scope="col" class="table__heading-cell">Column 3</th> + </tr> + </thead> + <tbody> + <tr class="table__row"> + <th scope="row" class="table__heading-cell">Row 1</th> + <td class="table__cell">Information about something</td> + <td class="table__cell">And this is important</td> + </tr> + <tr class="table__row"> + <th scope="row" class="table__heading-cell">Row 2</th> + <td class="table__cell">Information about something</td> + <td class="table__cell">And this is important</td> + </tr> + <tr class="table__row"> + <th scope="row" class="table__heading-cell">Row 3</th> + <td class="table__cell">Information about something</td> + <td class="table__cell">And this is important</td> + </tr> + <tr class="table__row"> + <th scope="row" class="table__heading-cell">Row 4</th> + <td class="table__cell">Information about something</td> + <td class="table__cell">And this is important</td> + </tr> + </tbody> +</table> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_fieldset.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_fieldset.twig new file mode 100644 index 0000000000000000000000000000000000000000..914297c189b9dbef024844e4ac78c9e1002f5bea --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_fieldset.twig @@ -0,0 +1,48 @@ +{# +/** + * @file + * Theme override for a fieldset element and its children. + * + * Available variables: + * - attributes: HTML attributes for the fieldset element. + * - errors: (optional) Any errors for this fieldset element, may not be set. + * - required: Boolean indicating whether the fieldeset element is required. + * - legend: The legend element containing the following properties: + * - title: Title of the fieldset, intended for use as the text of the legend. + * - attributes: HTML attributes to apply to the legend. + * - description: The description element containing the following properties: + * - content: The description content of the fieldset. + * - attributes: HTML attributes to apply to the description container. + * - children: The rendered child elements of the fieldset. + * - prefix: The content to add before the fieldset children. + * - suffix: The content to add after the fieldset children. + * + * @see template_preprocess_fieldset() + */ +#} +<fieldset{{ attributes.addClass('form-fieldset') }}> + {% + set legend_classes = [ + 'h2', + required ? 'js-form-required', + required ? 'form-required', + ] + %} + {# Always wrap fieldset legends in a SPAN for CSS positioning. #} + <legend{{ legend.attributes.addClass(legend_classes) }}>{{ legend.title }}</legend> + {% if errors %} + <div> + {{ errors }} + </div> + {% endif %} + {% if prefix %} + <span class="field-prefix">{{ prefix }}</span> + {% endif %} + {{ children }} + {% if suffix %} + <span class="field-suffix">{{ suffix }}</span> + {% endif %} + {% if description.content %} + <div{{ description.attributes.addClass('description') }}>{{ description.content }}</div> + {% endif %} +</fieldset> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.scss new file mode 100644 index 0000000000000000000000000000000000000000..050b3a0f12688f96eb2756835aca6c6bd5c44054 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.scss @@ -0,0 +1,37 @@ +//common styles for all form elements +.form-item { + color: $gray-darker; + margin-bottom: 0.5em; + + @include clearfix; +} + +.form-item__label { + display: block; + font-weight: 600; + + // @include xs { + // display: block; + // margin-right: 2%; + // padding: 0.6em 0 0.3em 0; + // } +} + +.form-item__description { + font-size: rem-calc(14); + margin-top: -0.5em; + margin-bottom: 1.5em; +} + +// Styling for the required fields + +[aria-required='true']:before { + content: '*'; + color: $red; + padding-right: 5px; +} + +// Remove margin on the second of nested form-items. +.form-item > .form-item { + margin-bottom: 0; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.twig new file mode 100644 index 0000000000000000000000000000000000000000..f1e1ff08e834acecbceaafacef3341e088e901b0 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-elements.twig @@ -0,0 +1,88 @@ +{# +/** + * @file + * Theme override for a form element. + * + * Available variables: + * - attributes: HTML attributes for the containing element. + * - errors: (optional) Any errors for this form element, may not be set. + * - prefix: (optional) The form element prefix, may not be set. + * - suffix: (optional) The form element suffix, may not be set. + * - required: The required marker, or empty if the associated form element is + * not required. + * - type: The type of the element. + * - name: The name of the element. + * - label: A rendered label element. + * - label_display: Label display setting. It can have these values: + * - before: The label is output before the element. This is the default. + * The label includes the #title and the required marker, if #required. + * - after: The label is output after the element. For example, this is used + * for radio and checkbox #type elements. If the #title is empty but the + * field is #required, the label will contain only the required marker. + * - invisible: Labels are critical for screen readers to enable them to + * properly navigate through forms but can be visually distracting. This + * property hides the label for everyone except screen readers. + * - attribute: Set the title attribute on the element to create a tooltip but + * output no label element. This is supported only for checkboxes and radios + * in \Drupal\Core\Render\Element\CompositeFormElementTrait::preRenderCompositeFormElement(). + * It is used where a visual label is not needed, such as a table of + * checkboxes where the row and column provide the context. The tooltip will + * include the title and required marker. + * - description: (optional) A list of description properties containing: + * - content: A description of the form element, may not be set. + * - attributes: (optional) A list of HTML attributes to apply to the + * description content wrapper. Will only be set when description is set. + * - description_display: Description display setting. It can have these values: + * - before: The description is output before the element. + * - after: The description is output after the element. This is the default + * value. + * - invisible: The description is output after the element, hidden visually + * but available to screen readers. + * - disabled: True if the element is disabled. + * - title_display: Title display setting. + * + * @see template_preprocess_form_element() + */ +#} +{% + set classes = [ + 'js-form-item', + 'form-item', + ] +%} +{% + set description_classes = [ + 'form-item__description', + description_display == 'invisible' ? 'visually-hidden', + ] +%} +<div{{ attributes.addClass(classes) }}> + {% if label_display in ['before', 'invisible'] %} + {{ label }} + {% endif %} + {% if prefix is not empty %} + <span class="field-prefix">{{ prefix }}</span> + {% endif %} + {% if description_display == 'before' and description.content %} + <div{{ description.attributes }}> + {{ description.content }} + </div> + {% endif %} + {{ children }} + {% if suffix is not empty %} + <span class="field-suffix">{{ suffix }}</span> + {% endif %} + {% if label_display == 'after' %} + {{ label }} + {% endif %} + {% if errors %} + <div class="form-item--error-message"> + {{ errors }} + </div> + {% endif %} + {% if description_display in ['after', 'invisible'] and description.content %} + <div{{ description.attributes.addClass(description_classes) }}> + {{ description.content }} + </div> + {% endif %} +</div> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-label.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-label.twig new file mode 100644 index 0000000000000000000000000000000000000000..516aec35889c8ac733795222f56c47a75364f4c7 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_form-label.twig @@ -0,0 +1,26 @@ +{# +/** + * @file + * Theme override for a form element label. + * + * Available variables: + * - title: The label's text. + * - title_display: Elements title_display setting. + * - required: An indicator for whether the associated form element is required. + * - attributes: A list of HTML attributes for the label. + * + * @see template_preprocess_form_element_label() + */ +#} +{% + set classes = [ + title_display == 'after' ? 'option', + title_display == 'invisible' ? 'visually-hidden', + required ? 'js-form-required', + required ? 'form-required', + 'form-item__label', + ] +%} +{% if title is not empty or required -%} + <label{{ attributes.addClass(classes) }}>{{ title }}</label> +{%- endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_multi-value.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_multi-value.twig new file mode 100644 index 0000000000000000000000000000000000000000..60134ff59e5564d63ef148aac585a0222973b3a2 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/_multi-value.twig @@ -0,0 +1,36 @@ +{# +/** + * @file + * Theme override for an individual form element. + * + * Available variables for all fields: + * - multiple: Whether there are multiple instances of the field. + * + * Available variables for single cardinality fields: + * - elements: Form elements to be rendered. + * + * Available variables when there are multiple fields. + * - table: Table of field items. + * - description: The description element containing the following properties: + * - content: The description content of the form element. + * - attributes: HTML attributes to apply to the description container. + * - button: "Add another item" button. + * + * @see template_preprocess_field_multiple_value_form() + */ +#} +{% if multiple %} + <div class="js-form-item form-item"> + {{ table }} + {% if description.content %} + <div{{ description.attributes.addClass('form-item__description') }} >{{ description.content }}</div> + {% endif %} + {% if button %} + {{ button }} + {% endif %} + </div> +{% else %} + {% for element in elements %} + {{ element }} + {% endfor %} +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox-item.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..5bf4df4d9fc7fb485bbf8396a019d018175e6224 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox-item.twig @@ -0,0 +1,5 @@ +<li class="form-item--checkbox__item"> + <label for="checkbox{{ key }}"> + <input id="checkbox{{ key }}" name="checkbox" type="checkbox" checked="checked"> {{ checkbox_item }} + </label> +</li> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox.scss new file mode 100644 index 0000000000000000000000000000000000000000..5fd47e0fc400b7c9e1e08f584e61e4cd58fa75d2 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/_checkbox.scss @@ -0,0 +1,6 @@ +.form-item--checkboxes, +.form-item--checkbox__item { + @include list-reset; + + @extend .form-options-list; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/checkbox.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/checkbox.twig new file mode 100644 index 0000000000000000000000000000000000000000..dbb613802698f7e4471b7f85989cd79487f8672a --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/checkbox/checkbox.twig @@ -0,0 +1,14 @@ +{% if not attributes %} +<div class="form-item form-item--checkbox"> + <legend>Options as Checkboxes</legend> + <ul class="form-item--checkboxes"> +{% endif %} + {% for key, listItem in listItems.four %} + {% include "@atoms/05-form-elements/checkbox/_checkbox-item.twig" with { + "checkbox_item": listItem.title + } %} + {% endfor %} +{% if not attributes %} + </ul> +</div> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio-item.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..47043e9dfd2f43406863499998b529e1b162bc65 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio-item.twig @@ -0,0 +1,5 @@ +<li class="form-item--radio__item"> + <label for="radio{{ key }}"> + <input id="radio{{ key }}" name="radio" type="radio" class="radio" checked="checked"> {{ radio_item }} + </label> +</li> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio.scss new file mode 100644 index 0000000000000000000000000000000000000000..f9a73d15535235f732537b241589dca7a6e10fa4 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/_radio.scss @@ -0,0 +1,6 @@ +.form-item--radios, +.form-item--radio__item { + @include list-reset; + + @extend .form-options-list; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/radio.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/radio.twig new file mode 100644 index 0000000000000000000000000000000000000000..859b849b637f8b15800b3dd99e4646f75172cff8 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/radio/radio.twig @@ -0,0 +1,14 @@ +{% if not attributes %} +<div class="form-item form-item--radio"> + <legend>Options as Radio Buttons</legend> + <ul class="form-item--radios"> +{% endif %} + {% for key, listItem in listItems.four %} + {% include "@atoms/05-form-elements/radio/_radio-item.twig" with { + "radio_item": listItem.title + } %} + {% endfor %} +{% if not attributes %} + </ul> +</div> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select-item.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..f257838ce2ba1f57f593d0011a9dc991fae3b2f8 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select-item.twig @@ -0,0 +1 @@ +<option>{{ select_item.option }}</option> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select.scss new file mode 100644 index 0000000000000000000000000000000000000000..dcab5adb11b138e3b3d9f36b7408df9d35a3ba14 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/_select.scss @@ -0,0 +1,76 @@ +// CSS-only select styling (from https://github.com/filamentgroup/select-css) + +.form-item__dropdown { + border: 1px solid $gray-lighter; + background-color: $white; + display: block; + position: relative; + + &::after { + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 9px solid $gray; + content: ' '; + position: absolute; + top: 41%; + right: 1em; + z-index: 2; + + /* These hacks make the select behind the arrow clickable in some browsers */ + pointer-events: none; + display: none; + } + + &:hover { + border-color: $gray-light; + + &::after { + border-top: 9px solid $gray-dark; + } + } +} + +.form-item__select { + border: 1px solid $gray-lightest; + font-size: rem-calc(14); + margin: 0; + outline: none; + padding: 0.63em 0.8em; + width: 100%; + + :focus { + border-color: $color-link--hover; + border-radius: 0; + border-style: dotted; + border-width: 1px; + } +} + +@supports (-webkit-appearance: none) or (appearance: none) or + ((-moz-appearance: none) and (mask-type: alpha)) { + /* Show custom arrow */ + .form-item__dropdown::after { + display: block; + } + + /* Remove select styling */ + .form-item__select { + padding-right: 2em; /* Match-01 */ + + /* inside @supports so that iOS <= 8 display the native arrow */ + background: none; /* Match-04 */ + + /* inside @supports so that Android <= 4.3 display the native arrow */ + border: 1px solid transparent; /* Match-05 */ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + + &:focus { + border-color: $color-link--hover; + border-radius: 0; + border-style: dotted; + border-width: 2px; + } + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/select.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/select.twig new file mode 100644 index 0000000000000000000000000000000000000000..718aa6dddce1acb7cc42788dfba305b13ab50e6e --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/select/select.twig @@ -0,0 +1,16 @@ +{% if not attributes %} +<div class="form-item"> + <label for="select" class="form-item__label form-item__label--textfield">{{field_label}}</label> + <div class="form-item__dropdown"> + <select class="form-item__select"> + <optgroup label="{{dropdown_label}}"> +{% endif %} + {% for select_item in list_items %} + {% include "@atoms/05-form-elements/select/_select-item.twig" %} + {% endfor %} +{% if not attributes %} + </optgroup> + </select> + </div> +</div> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/_textarea.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/_textarea.scss new file mode 100644 index 0000000000000000000000000000000000000000..6847cb155617a0e2f3bddd4222c9ef76ead5df3f --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/_textarea.scss @@ -0,0 +1,9 @@ +.form-item__textarea { + font-family: $font; + font-size: 0.9em; + + &:focus { + border: 2px solid $gray; + outline: none; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/textarea.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/textarea.twig new file mode 100644 index 0000000000000000000000000000000000000000..41b8d2434bef40425dc399b17fca69eab77a78ac --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textarea/textarea.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Theme override for a 'textarea' #type form element. + * + * Available variables + * - wrapper_attributes: A list of HTML attributes for the wrapper element. + * - attributes: A list of HTML attributes for the textarea element. + * - resizable: An indicator for whether the textarea is resizable. + * - required: An indicator for whether the textarea is required. + * - value: The textarea content. + * + * @see template_preprocess_textarea() + */ +#} + +<div{{ wrapper_attributes }}> + <textarea class="form-item__textarea">{{ value }}</textarea> +</div> diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/_textfield.scss b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/_textfield.scss new file mode 100644 index 0000000000000000000000000000000000000000..b32d46093bcded34634f87b7488c0e18715cd08d --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/_textfield.scss @@ -0,0 +1,45 @@ +/* Styling for the text areas */ + +.form-item__textfield { + border: 1px solid $gray-lighter; + padding: 0.625em 1em; + margin-bottom: 1em; + font-size: rem-calc(14); + line-height: 1.5; + width: 100%; + + &:focus { + border: 2px solid $gray; + outline: none; + } + + &.has-placeholder { + &:not(:placeholder-shown):invalid { + border: 2px solid $red; + } + + &:not(:placeholder-shown):valid { + border: 2px solid $teal; + } + } + + &::-webkit-input-placeholder { + color: $gray-light; + } + + &:-moz-placeholder { + color: $gray-light; + } + + &::-moz-placeholder { + color: $gray; + } + + &:-ms-input-placeholder { + color: $gray; + } + + &:-moz-ui-invalid { + box-shadow: none; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/textfield.twig b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/textfield.twig new file mode 100644 index 0000000000000000000000000000000000000000..68e700fe1686330752485d6dfae34594edc59204 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/05-form-elements/textfield/textfield.twig @@ -0,0 +1,49 @@ +{# +/** + * @file + * Theme override for a form element text field.. + * + * Available variables: + * - field_base_class - the base class name + * - field_modifiers - array of modifiers to add to the base classname + * - field_attributes - array of attribute,value pairs + * - field_placeholder - placeholder text for the field + * + * @see template_preprocess_form_element_label() + */ +#} + +{% set field_base_class = field_base_class|default('form-item__textfield') %} +{% set classes_array = [field_base_class] %} + +{% if field_modifiers is defined or field_placeholder %} + {% for field_modifier in field_modifiers %} + {% set classes_array = classes_array|merge(["#{field_base_class}--#{field_modifier}"]) %} + {% endfor %} + + {% if field_placeholder %} + {% set classes_array = classes_array|merge(["has-placeholder"]) %} + {% endif %} + + {% set field_classes = classes_array|join(' ') %} + +{% else %} + {% set field_classes = field_base_class %} +{% endif %} + + +<label for="{{ field_id }}" class="form-item__label form-item__label--textfield" aria-required="{{ textfield_data.aria-required }}">{{ field_label }}</label> + +<input + class="{{ field_classes }}" id="{{ field_id }}" + {% for attribute,value in field_attributes %} + {{ attribute }}="{{ value }}" + {% endfor %} + placeholder="{{ field_placeholder }}" +> + +{% if field_description %} + <div class="form-item__description"> + {{ field_description }} + </div> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/06-images/00-responsive-image/responsive-image.twig b/libraries/it-osu-pl-drupal/01-atoms/06-images/00-responsive-image/responsive-image.twig new file mode 100644 index 0000000000000000000000000000000000000000..264639275cffaa19c301ae45db4d8a6b86ea87b3 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/06-images/00-responsive-image/responsive-image.twig @@ -0,0 +1,42 @@ +{# +/** + * @file + * Default theme implementation of a responsive image. + * + * Available variables: + * - sources: The attributes of the <source> tags for this <picture> tag. + * - img_element: The controlling image, with the fallback image in srcset. + * - output_image_tag: Whether or not to output an <img> tag instead of a + * <picture> tag. + * + * @see template_preprocess() + * @see template_preprocess_responsive_image() + * + * @ingroup themeable + */ +#} +{% set responsive_image_base_class = responsive_image_base_class|default('image') %} + +{% if output_image_tag %} + {% include "@atoms/06-images/_image.twig" with { + image_base_class: responsive_image_base_class, + image_modifiers: responsive_image_modifiers, + image_blockname: responsive_image_blockname, + img_srcset: img_srcset|default(img_element['#attributes'].srcset), + img_sizes: img_sizes|default(img_element['#attributes'].sizes), + img_src: img_src|default(img_element['#uri']), + img_alt: img_alt|default(img_element['#alt']), + img_title: img_title|default(img_element['#title']), + } %} +{% else %} + {% include "@atoms/06-images/_picture.twig" with { + picture_base_class: responsive_image_base_class, + picture_modifiers: responsive_image_modifiers, + picture_blockname: responsive_image_blockname, + img_srcset: img_srcset|default(img_element['#attributes'].srcset), + img_sizes: img_sizes|default(img_element['#attributes'].sizes), + img_src: img_src|default(img_element['#uri']), + img_alt: img_alt|default(img_element['#alt']), + img_title: img_title|default(img_element['#title']), + } %} +{% endif %} diff --git a/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.scss b/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.scss new file mode 100644 index 0000000000000000000000000000000000000000..8fa6af5beb2864a7070a4de5db7803dff140c451 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.scss @@ -0,0 +1,22 @@ +@mixin img { + display: block; + height: auto; + max-width: 100%; +} + +img, +picture { + @include img; +} + +img { + border: 1px solid $gray; +} + +figure { + margin: 0; //override normalize +} + +.figure__caption { + font-style: italic; +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.twig b/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.twig new file mode 100644 index 0000000000000000000000000000000000000000..ab01c34bb6b5dc2d628d0cbffff0da36ca59e288 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/06-images/_image.twig @@ -0,0 +1,28 @@ +{% set image_base_class = image_base_class|default('img') %} +{% set classes_array = [img_base_class] %} + +{% if img_modifiers is defined %} + {% for img_modifier in img_modifiers %} + {% set classes_array = classes_array|merge(["#{img_base_class}--#{img_modifier}"]) %} + {% endfor %} + {% set img_classes = classes_array|join(' ') %} +{% else %} + {% set img_classes = img_base_class %} +{% endif %} + +<img + class="{{ img_classes }}" + {% if img_srcset %} + srcset="{{ img_srcset }}" + {% endif %} + {% if img_sizes %} + sizes="{{ img_sizes }}" + {% endif %} + src="{{ img_src }}" + {% if img_alt %} + alt="{{ img_alt }}" + {% endif %} + {% if img_title %} + title="{{ img_title }}" + {% endif %} +/> diff --git a/libraries/it-osu-pl-drupal/01-atoms/06-images/_picture.twig b/libraries/it-osu-pl-drupal/01-atoms/06-images/_picture.twig new file mode 100644 index 0000000000000000000000000000000000000000..126471a61e97dd684e27e6b92d72078a79d31b44 --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/06-images/_picture.twig @@ -0,0 +1,30 @@ +{% set picture_base_class = picture_base_class|default('picture') %} +{% set classes_array = [picture_base_class] %} + +{% if picture_modifiers is defined %} + {% for picture_modifier in picture_modifiers %} + {% set classes_array = classes_array|merge(["#{picture_base_class}--#{picture_modifier}"]) %} + {% endfor %} + {% set picture_classes = classes_array|join(' ') %} +{% else %} + {% set picture_classes = picture_base_class %} +{% endif %} + + +<picture class="{{ picture_classes }}"> + {% if sources %} + {# + Internet Explorer 9 doesn't recognise source elements that are wrapped in + picture tags. See http://scottjehl.github.io/picturefill/#ie9 + #} + <!--[if IE 9]><video style="display: none;"><![endif]--> + {% for source_attributes in sources %} + <source{{ source_attributes }}/> + {% endfor %} + <!--[if IE 9]></video><![endif]--> + {% endif %} + {# The controlling image, with the fallback image in srcset. #} + {% include "@atoms/06-images/_image.twig" with { + image_blockname: picture_image_blockname|default(picture_blockname), + } %} +</picture> diff --git a/libraries/it-osu-pl-drupal/01-atoms/07-video/_video.scss b/libraries/it-osu-pl-drupal/01-atoms/07-video/_video.scss new file mode 100644 index 0000000000000000000000000000000000000000..b16bbd3bc43aced08944c31e4e893e3e8a5f06fb --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/07-video/_video.scss @@ -0,0 +1,20 @@ +// Responsive Video using CSS only +.video { + height: 0; + overflow: hidden; + padding-top: 35px; + padding-bottom: 56.25%; // 56.25% = 16x9 + position: relative; + + &--full { + padding-bottom: 75%; // 75% = 4x3 + } + + iframe { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + } +} diff --git a/libraries/it-osu-pl-drupal/01-atoms/07-video/video.twig b/libraries/it-osu-pl-drupal/01-atoms/07-video/video.twig new file mode 100644 index 0000000000000000000000000000000000000000..e2800bbf84cc47292e22bd4a840707cf83d5402c --- /dev/null +++ b/libraries/it-osu-pl-drupal/01-atoms/07-video/video.twig @@ -0,0 +1,30 @@ +{# +/** + * Available variables: + * - video_modifiers - array of modifiers to add to the base classname + * - video_content - the content of the video (typically an iframe) + * the "|raw" filter is applied so that the iframe is rendered instead + * of simply passing the iframe as plain text. + * + * Available blocks: + * - video_content - used to replace the content of the video with something other than the typical iframe + * for example: to insert an html5 video component + */ +#} +{% set video_base_class = video_base_class|default('video') %} +{% set classes_array = [video_base_class] %} + +{% if video_modifiers is defined %} + {% for video_modifier in video_modifiers %} + {% set classes_array = classes_array|merge(["#{video_base_class}--#{video_modifier}"]) %} + {% endfor %} + {% set video_classes = classes_array|join(' ') %} +{% else %} + {% set video_classes = video_base_class %} +{% endif %} + +<div class="{{ video_classes }}"> + {% block video_content %} + {{ video_content|raw }} + {% endblock %} +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/address-block/_address-block.scss b/libraries/it-osu-pl-drupal/02-molecules/address-block/_address-block.scss new file mode 100644 index 0000000000000000000000000000000000000000..ad3ccaa6ff4beb5a182e01d4fe03f6d3b9366495 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/address-block/_address-block.scss @@ -0,0 +1,31 @@ +.address-block__wordmark { + margin-bottom: 0.5em; + + img { + width: 280px; + border: none; + } +} +.address-block__address { + p { + margin: 0; + font-size: 0.875rem; + line-height: 1.375; + font-weight: 300; + } + + .site-name { + font-weight: 600; + font-size: 1rem; + margin-bottom: 2px; + } + + .pipe { + font-size: 120%; + vertical-align: -2%; + } + + span.mailto { + display: none; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/address-block/address-block.twig b/libraries/it-osu-pl-drupal/02-molecules/address-block/address-block.twig new file mode 100644 index 0000000000000000000000000000000000000000..95303afed7bfd431bee5c12d3c1f770f86efd1d4 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/address-block/address-block.twig @@ -0,0 +1,55 @@ +{# +/** + * @file + * Pattern for address-block. + * + */ +#} + +<div class="address-block"> + <div class="address-block__wordmark"> + <a href="http://osu.edu" target="_blank"><img src="{{ base_path ~ directory }}/images/osu-logos/wordmark/osu-footer-wordmark-{{ footer_color }}.svg" alt="The Ohio State University" /></a> + </div> + <address class="address-block__address"> + <p class="site-name">{{ site_name_prefix }} {{ site_name }}</p> + + <p class="address-line"> + {% if address_1|length and address_2|length %} + {{ address_1 }}<span class="pipe"> | </span>{{ address_2 }} + {% else %} + {{ address_1 }}{{ address_2 }} + {% endif %} + + {% if city|length and state|length %} + <span class="pipe"> | </span>{{ city }}, {{ state }} {{ zip }} + {% elseif city|length or state|length or zip|length %} + <span class="pipe"> | </span>{{ city }} {{ state }} {{ zip }} + {% endif %} + </p> + + {% if phone|length or fax|length or tty|length %} + <p class="phone-line"> + {% if phone|length %} + Phone: <a href="tel:{{ phone }}">{{ phone }}</a> + {% if fax|length or tty|length %} + <span class="pipe"> | </span> + {% endif %} + {% endif %}{# end phone length #} + {% if fax|length %} + Fax: {{ fax }} + {% if tty|length %} + <span class="pipe"> | </span> + {% endif %} + {% endif %} {# end fax length #} + {% if tty|length %} + Text Telephone for the Deaf: <a href="tel:+1{{ tty }}" data-rel="external">{{ tty }}</a> + {% endif %} {# end tty length #} + </p> + {% endif %} {# end all three #} + + {% if contact_email|length %} + <p>Email: <a href="mailto:{{ contact_email }}">{{ contact_email }}</a></p> + {% endif %} + + </address> +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/callout/_callout.scss b/libraries/it-osu-pl-drupal/02-molecules/callout/_callout.scss new file mode 100644 index 0000000000000000000000000000000000000000..ad075142d1d038bb7cd4d006e68be2778521aae3 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/callout/_callout.scss @@ -0,0 +1,48 @@ +@mixin callout($color: $gray-light) { + border: 1px solid $color; + margin: 2em 0.625em; + display: flex; + align-items: stretch; + + .callout__icon { + float: left; + background: $color; + color: white; + text-align: center; + display: flex; + align-items: center; + } + + .svg-inline--fa { + font-size: 1.5em; + margin: 0 0.5em; + + &.fa-exclamation { + font-size: 1.625em; + margin: 0 0.6875em; + } + } + + .callout__body { + margin: 1em 1.25em 1em 1.5em; + line-height: 1.4; + } +} + +.callout { + @include callout(); +} + +.callout--caution { + @include callout($orange); +} + +.callout--ux-tip { + @include callout($violet); +} + +.callout { + p:last-child { + margin-bottom: 0; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/callout/callout.twig b/libraries/it-osu-pl-drupal/02-molecules/callout/callout.twig new file mode 100644 index 0000000000000000000000000000000000000000..c86478c48cc1cfdfeeeefb90c878995b7271bf8d --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/callout/callout.twig @@ -0,0 +1,8 @@ +<div class="callout callout--{{ callout_type }}"> + <div class="callout__icon"> + <i class="fas {{ callout_icon }}"></i> + </div> + <div class="callout__body"> + {{ content }} + </div> +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/card/_card.scss b/libraries/it-osu-pl-drupal/02-molecules/card/_card.scss new file mode 100644 index 0000000000000000000000000000000000000000..f5fb375cda26bd9d9add70394c35922b4ba0484c --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/card/_card.scss @@ -0,0 +1,53 @@ +/* Card styling */ + +.card { + display: inline-block; + margin-bottom: $grid-margin-after; + overflow: hidden; + background-color: $white; + box-shadow: $drop-shadow; + width: 100%; +} + +.card__inner { + padding: $padding-y $padding-x $padding-y-bottom; +} + +.card__image { + border: none; + height: 200px; + width: 100%; + margin-left: auto; + margin-right: auto; + object-fit: cover; +} + +.card__title { + @include heading(26); + margin-bottom: $header-margin-after-less; +} + +.card__content { + font-weight: 400; +} + +.card button { + margin-top: $space-y-half; +} + +// Card sizes. +// Adjust a bit based on breakpoints. +@include breakpoint(medium) { + .card--small { + max-width: 320px; + } + + .card--medium { + max-width: 440px; + } +} +@include breakpoint(large) { + .card--large { + max-width: 640px; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/card/card.twig b/libraries/it-osu-pl-drupal/02-molecules/card/card.twig new file mode 100644 index 0000000000000000000000000000000000000000..d204bc468392bddbe6b71227486e1fee5b3bc766 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/card/card.twig @@ -0,0 +1,51 @@ +{# +/** + * + * Pattern for the card molecule + * + * Available variables: + * - card_modifiers: array of modifiers to add to the base classname + * - card_size: card size, either small, medium or large + * - card_extra_classes: string of extra classes to add to main div + * - card_image: url for the card's header image + * - card_title: text string for the card's title + * - card_text: text string for the card's content + * - card_button_content: text string for the button label + * - card_button_modifiers: modifiers for the button class, defaults to "alt" + * + */ +#} + +{% set card_base_class = card_base_class|default('card') %} +{% set classes_array = [card_base_class] %} + +{% if (card_modifiers is defined) or (card_size is defined) %} + {% if card_modifiers is defined %} + {% for card_modifier in card_modifiers %} + {% set classes_array = classes_array|merge(["#{card_base_class}--#{card_modifier}"]) %} + {% endfor %} + {% endif %} + {% set card_classes = classes_array|join(' ') %} + {% if card_size is defined %} + {% set classes_array = classes_array|merge(["#{card_base_class}--#{card_size}"]) %} + {% endif %} + {% set card_classes = classes_array|join(' ') %} +{% else %} + {% set card_classes = card_base_class %} +{% endif %} + +<div class="{{ card_classes }} {{ card_extra_classes }}"> + <img class="card__image" alt="Card Image" src="{{ card_image }}"/> + <div class="{{card_base_class}}__inner"> + <h2 class="card__title">{{ card_title }}</h2> + <p class="card__content">{{ card_text }}</p> + + {# Card button #} + {% + include "@atoms/02-buttons/01-button.twig" with { + "button_content": card_button_content, + "button_url": card_button_url, + "button_modifiers": card_button_modifiers|default(['alt']), + } %} + </div> +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/details/_details.scss b/libraries/it-osu-pl-drupal/02-molecules/details/_details.scss new file mode 100644 index 0000000000000000000000000000000000000000..cdc1f69c55fabebb72223f5d17d4e04f8e3d8b00 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/details/_details.scss @@ -0,0 +1,96 @@ +// Details-item. +details, +.details-item { + margin-bottom: 3px; + border: 1px solid $gray-lightest; + + summary { + background: $gray-lightest; + padding: 0.675em 1em; + font-size: rem-calc(18); + font-weight: 600; + + &:hover, + &[aria-expanded='true'] { + background: darken($gray-lightest, 5%); + } + + &:focus { + outline: 1px dotted $teal; + } + } + + .details__inner { + padding: 1em; + } +} + +// Plus variation. +.details-item--plus { + summary { + // Hide arrows. + list-style: none; + list-style-image: none; + &::-webkit-details-marker { + display: none; + } + + .summary__inner { + display: flex; + align-items: center; + position: relative; + } + + // Plus/Minus. + .summary__controls { + position: absolute; + right: 18px; + + .pm-control { + position: relative; + height: 24px; + width: 2px; + + &.plus { + background: $gray-darkest; + -webkit-transition: all 0.8s ease; + -moz-transition: all 0.8s ease; + -o-transition: all 0.8s ease; + transition: all 0.8s ease; + } + + &.minus { + background: $clear; + -webkit-transition: all 0.4s ease; + -moz-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + transition: all 0.4s ease; + } + + &:after { + background: $gray-darkest; + content: ''; + position: absolute; + height: 2px; + width: 24px; + left: -11px; + top: 11px; + } + } + } + } +} + +// If icon. +.summary__icon { + display: inline-block; + width: 36px; + line-height: 1; + margin-right: 16px; + text-align: center; + + .svg-inline--fa { + font-size: 26px; + color: $red; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/details/details-item.twig b/libraries/it-osu-pl-drupal/02-molecules/details/details-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..65754544cb789b5dd0bdc944757e141ce1350c37 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/details/details-item.twig @@ -0,0 +1,39 @@ +{% if variant %} + <details{{ attributes }} class="details-item details-item--{{ variant }}"> +{% else %} + <details{{ attributes }} class="details-item"> +{% endif %} + + {% + set summary_classes = [ + required ? 'js-form-required', + required ? 'form-required', + ] + %} + {%- if title -%} + {% if variant == 'plus' %} + <summary{{ summary_attributes.addClass(summary_classes) }} class="summary--plus"> + <div class="summary__inner"> + {% if details_icon %} + <span class="summary__icon"><i class="{{ details_icon }}"></i></span> + {% endif %} + <span class="summary__text">{{ details_summary }}</span> + <div class="summary__controls"> + <div class="pm-control plus"></div> + </div> + </div> + </summary> + {% else %} + <summary{{ summary_attributes.addClass(summary_classes) }}>{{ details_summary }}</summary> + {% endif %} + {%- endif -%} + + {% if errors %} + <div> + {{ errors }} + </div> + {% endif %} + <div class="details__inner"> + {{ details_content }} + </div> +</details> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/02-molecules/forms/_forms.scss b/libraries/it-osu-pl-drupal/02-molecules/forms/_forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..cb5c55c1aaf4ad461c2e96a7fc1e0d43d37992c7 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/forms/_forms.scss @@ -0,0 +1,54 @@ +input { + margin-bottom: 5px !important; +} + +legend { + font-weight: 600; +} + +.label { + background: none; + color: inherit; + padding: 0; + font-size: inherit; +} + +.form-item label { + @extend .form-item__label; +} + +.form-item { + max-width: none; +} + +.form-fieldset { + border: 0; + margin: 2em 0 1em; + padding: 1em 1.5em; + background-color: $gray-lightest; + + legend { + text-transform: uppercase; + } + + .button { + margin-top: 0.5em; + margin-bottom: 0.5em; + } +} + +//reusable classes +.form-options-list { + line-height: 160%; + + input { + margin: 0 4px 0 1px; + } +} + +// If in PL +.sg-main { + .form-fieldset { + max-width: 600px; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/forms/form-address/form-address.twig b/libraries/it-osu-pl-drupal/02-molecules/forms/form-address/form-address.twig new file mode 100644 index 0000000000000000000000000000000000000000..8a0488a511de6f5cc614a6394f3359d976cf2b83 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/forms/form-address/form-address.twig @@ -0,0 +1,32 @@ +<form> + <fieldset class="form-fieldset form-fieldset--address "> + + <legend>Address</legend> + + <div class="form-item cell"> + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with {field_label:address_field.field_label, + field_placeholder:address_field.field_placeholder + } %} + </div> + + <div class="form-items--inline grid-x grid-margin-x"> + <div class="form-item form-item--inline cell medium-3"> + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with {field_label:zip_field.field_label, + field_placeholder:zip_field.field_placeholder + } %} + </div> + + <div class="form-item form-item--inline cell medium-4"> + {% include "@atoms/05-form-elements/select/select.twig" + with {field_label:state_dropdown.field_label, + list_items:state_dropdown.list_items + } %} + </div> + </div> + + {% include "@atoms/02-buttons/01-button.twig" %} + + </fieldset> +</form> diff --git a/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/_form-drupal-login.scss b/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/_form-drupal-login.scss new file mode 100644 index 0000000000000000000000000000000000000000..b124328eeec176fb78a46a16c0e3f24c638fc455 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/_form-drupal-login.scss @@ -0,0 +1,29 @@ +.login-box { + background: $gray-lightest; + padding: 1em 1.25em 0.5em; +} +.login-box--osu { + margin-bottom: 1.25em; +} +.login-box__header { + font-size: rem-calc(20); + margin-bottom: 0.5em; +} +.login-box__header--drupal { + display: inline; +} +.login-form { + padding-top: 0.5em; + .button { + margin-top: 0.5em; + margin-bottom: 0; + } +} +.details__inner--drupal { + background-color: $gray-lightest; +} + +// Hide SAML login link because it is already displayed further up the page. +#edit-simplesamlphp-auth-login-link { + display: none; +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/form-drupal-login.twig b/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/form-drupal-login.twig new file mode 100644 index 0000000000000000000000000000000000000000..cdf8b87f14e9824adc44505ce3d99846514f35d4 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/forms/form-drupal-login/form-drupal-login.twig @@ -0,0 +1,42 @@ +{# +/** + * @file + * Theme override for a 'form' element. + * + * Available variables + * - attributes: A list of HTML attributes for the wrapper element. + * - children: The child elements of the form. + * + * @see template_preprocess_form() + */ +#} +<form{{ attributes }}> + <div class="login-box login-box--osu"> + <h2 class="login-box__header login-box__header--osu">Ohio State Users</h2> + <a class="button" href="/saml_login">Log in with your Ohio State credentials</a> + </div> + <details class="details-item login-box--drupal"> + <summary> + <h2 class="login-box__header login-box__header--drupal">Non-Ohio State Users</h2> + </summary> + <div class="details__inner details__inner--drupal"> + {% if pl == '1' %} + <div class="login-form"> + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with { + field_label:user_field.field_label, + field_description: user_field.field_description + } %} + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with { + field_label:password_field.field_label, + field_description: password_field.field_description + } %} + {% include "@atoms/02-buttons/01-button.twig" %} + </div> + {% else %} + <div class="login-form">{{ children }}</div> + {% endif %} + </div> + </details> +</form> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/02-molecules/forms/form-login/form-login.twig b/libraries/it-osu-pl-drupal/02-molecules/forms/form-login/form-login.twig new file mode 100644 index 0000000000000000000000000000000000000000..256edebc2f1daec72bb3cab7476d8ba7ee38f978 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/forms/form-login/form-login.twig @@ -0,0 +1,23 @@ +<form> + <fieldset class="form-fieldset"> + + <legend>Login Form</legend> + + <div class="form-item"> + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with {field_label:email_field.field_label, + field_placeholder:email_field.field_placeholder + } %} + </div> + + <div class="form-item"> + {% include "@atoms/05-form-elements/textfield/textfield.twig" + with {field_label:password_field.field_label, + field_placeholder:password_field.field_placeholder + } %} + </div> + + {% include "@atoms/02-buttons/01-button.twig" %} + + </fieldset> +</form> diff --git a/libraries/it-osu-pl-drupal/02-molecules/info-box/_info-box.scss b/libraries/it-osu-pl-drupal/02-molecules/info-box/_info-box.scss new file mode 100644 index 0000000000000000000000000000000000000000..c1f286be1f2488433c100455cfe92daf2b71842a --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/info-box/_info-box.scss @@ -0,0 +1,42 @@ +@mixin info-box($background: $gray-lightest, $color: $gray-darkest) { + background-color: $background; + color: $color; + margin-bottom: $grid-margin-after; + padding: $padding-y $padding-x $padding-y-bottom; + width: 100%; + + .info-box__title { + @include heading(26); + color: $color; + margin-bottom: $header-margin-after-less; + } + + @if $background == $white { + border: 1px solid $gray-lightest; + } +} + +.info-box { + @include info-box(); +} + +.info-box--white { + @include info-box($white); +} + +// Infobox sizes. +// Adjust a bit based on breakpoints. +@include breakpoint(medium) { + .info-box--small { + max-width: 320px; + } + + .info-box--medium { + max-width: 440px; + } +} +@include breakpoint(large) { + .info-box--large { + max-width: 640px; + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/info-box/info-box.twig b/libraries/it-osu-pl-drupal/02-molecules/info-box/info-box.twig new file mode 100644 index 0000000000000000000000000000000000000000..500f6194e4dd216132953071e2c1a1c6490c699d --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/info-box/info-box.twig @@ -0,0 +1,47 @@ +{# +/** + * + * Pattern for the card molecule + * + * Available variables: + * - infobox_modifiers - array of modifiers to add to the base classname + * - infobox_size: card size, either small, medium or large + * - infobox_extra_classes: string of extra classes to add to main div + * - infobox_heading_level: defaults to 2 + * - infobox_title: title + * - infobox_link: link from title (leave blank for no link) + * - infobox_text: the content of the paragraph(s) +#} + +{% set infobox_base_class = infobox_base_class|default('info-box') %} +{% set classes_array = [infobox_base_class] %} + +{% if (infobox_modifiers is defined) or (infobox_size is defined) %} + {% if infobox_modifiers is defined %} + {% for infobox_modifier in infobox_modifiers %} + {% set classes_array = classes_array|merge(["#{infobox_base_class}--#{infobox_modifier}"]) %} + {% endfor %} + {% endif %} + {% set infobox_classes = classes_array|join(' ') %} + {% if infobox_size is defined %} + {% set classes_array = classes_array|merge(["#{infobox_base_class}--#{infobox_size}"]) %} + {% endif %} + {% set infobox_classes = classes_array|join(' ') %} +{% else %} + {% set infobox_classes = infobox_base_class %} +{% endif %} + + +<div class="{{ infobox_classes }} {{ infobox_extra_classes }}"> + <div class="info-box__title"> + {% include "@atoms/00-text/00-headings/_heading.twig" with { + "heading_level": infobox_heading_level|default(2), + "heading": infobox_title, + } %} + </div> + <div class="info-box__body"> + {% include "@atoms/00-text/04-paragraph/paragraph.twig" with { + "paragraph_content": infobox_text, + } %} + </div> +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/_menu-item.twig b/libraries/it-osu-pl-drupal/02-molecules/menus/_menu-item.twig new file mode 100644 index 0000000000000000000000000000000000000000..b9edefeb34095c85c4875490795156b1f0ea9f63 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/_menu-item.twig @@ -0,0 +1,38 @@ +{% if not item_modifiers %} + {% set item_modifiers = [] %} +{% endif %} +{# Pass original item modifiers down to children #} +{% set original_item_modifiers = item_modifiers %} +{% if item.in_active_trail == TRUE %} + {% set item_modifiers = item_modifiers|merge(['active']) %} +{% endif %} +{% if menu_level > 0 %} + {% set item_modifiers = item_modifiers|merge(['sub', 'sub-' ~ menu_level]) %} +{% endif %} +{% if item.below %} + {% set item_modifiers = item_modifiers|merge(['with-sub']) %} +{% endif %} +{# below could maybe be done without a loop? #} +{% for modifier in item.modifiers %} + {% set item_modifiers = item_modifiers|merge([modifier]) %} +{% endfor %} + +{% embed "@atoms/03-lists/_list-item.twig" with { + "list_item_label": item_label, + "li_base_class": item_base_class|default(menu_class ~ '__item'), + "li_modifiers": item_modifiers, + "li_blockname": item_blockname, +} %} + {% block list_item_content %} + {% include "@atoms/01-links/link/link.twig" with { + "link_content": item.title, + "link_url": item.url, + "link_base_class": item_base_class|default(menu_class ~ '__link'), + "link_modifiers": item_modifiers, + } %} + {% if item.below %} + <span class="expand-sub"></span> + {{ menus.menu_links(item.below, attributes, menu_level + 1, menu_class, menu_modifiers, menu_blockname, item_base_class, original_item_modifiers, item_blockname) }} + {% endif %} + {% endblock %} +{% endembed %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/_menu.twig b/libraries/it-osu-pl-drupal/02-molecules/menus/_menu.twig new file mode 100644 index 0000000000000000000000000000000000000000..3439c929b0bb8605dbb11cc84bcec9f6d7ba5128 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/_menu.twig @@ -0,0 +1,59 @@ +{# +/** + * @file + * Theme override to display a menu. + * + * Available variables: + * - menu_name: The machine name of the menu. + * - items: A nested list of menu items. Each menu item contains: + * - attributes: HTML attributes for the menu item. + * - below: The menu item child items. + * - title: The menu link title. + * - url: The menu link url, instance of \Drupal\Core\Url + * - localized_options: Menu link localized options. + * - is_expanded: TRUE if the link has visible children within the current + * menu tree. + * - is_collapsed: TRUE if the link has children within the current menu tree + * that are not currently visible. + * - in_active_trail: TRUE if the link is in the active trail. + */ +#} +{% import _self as menus %} + +{# + We call a macro which calls itself to render the full tree. + @see http://twig.sensiolabs.org/doc/tags/macro.html +#} +{{ menus.menu_links(items, attributes, 0, menu_class, menu_modifiers, menu_blockname, item_base_class, item_modifiers, item_blockname) }} + +{% macro menu_links(items, attributes, menu_level, menu_class, menu_modifiers, menu_blockname, item_base_class, item_modifiers, item_blockname) %} + {% import _self as menus %} + {% if items %} + + {# Set classes #} + {% set menu_class = menu_class|default('menu') %} + {% if not menu_modifiers %} + {% set menu_modifiers = [] %} + {% endif %} + {% if menu_level > 0 %} + {% set menu_modifiers = menu_modifiers|merge(['sub', 'sub-' ~ menu_level]) %} + {% endif %} + + {# List #} + {% embed "@atoms/03-lists/00-ul.twig" with { + ul_base_class: menu_class, + ul_modifiers: menu_modifiers, + ul_blockname: menu_blockname + } %} + {% block list_content %} + {% for item in items %} + {% include "@molecules/menus/_menu-item.twig" with { + li_base_class: item_base_class, + li_modifiers: item_modifiers, + li_blockname: item_blockname, + } %} + {% endfor %} + {% endblock %} + {% endembed %} + {% endif %} +{% endmacro %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/_breadcrumbs.scss b/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/_breadcrumbs.scss new file mode 100644 index 0000000000000000000000000000000000000000..bcfd8b2ee43012b90641a88058d151b11a4268b0 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/_breadcrumbs.scss @@ -0,0 +1,44 @@ +.breadcrumb { + @include list-reset; + padding: $space-y-half 0 $space-y; +} + +.breadcrumb__item, +.breadcrumb__link, +.breadcrumb__link:link, +.breadcrumb__link:visited, +.breadcrumb__link:focus { + color: $gray; + font-weight: 400; + text-decoration: none; +} + +.breadcrumb__link:hover { + text-decoration: underline; + color: $gray-darkest; +} + +.breadcrumb__item { + display: inline-block; + font-size: rem-calc(14); + font-weight: 400; + + &::after { + content: '|'; + color: $red; + font-weight: 700; + margin: 0 3px; + } + + &:last-child { + color: $gray-darkest; + + &::after { + content: none; + } + } +} + +.breadcrumb_link:active { + color: $red; +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/breadcrumbs.twig b/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/breadcrumbs.twig new file mode 100644 index 0000000000000000000000000000000000000000..aaac50e8fe7899b85644ff5c22fd154323acf5de --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/breadcrumbs/breadcrumbs.twig @@ -0,0 +1,25 @@ +{# +/** + * @file + * Theme override for a breadcrumb trail. + * + * Available variables: + * - breadcrumb: Breadcrumb trail items. + */ +#} +{% if breadcrumb %} + <nav role="navigation" aria-labelledby="system-breadcrumb"> + <h2 class="visually-hidden">{{ 'Breadcrumb'|t }}</h2> + <ol class="breadcrumb"> + {% for item in breadcrumb %} + <li class="breadcrumb__item"> + {% if item.url %} + <a class="breadcrumb__link" href="{{ item.url }}">{{ item.text }}</a> + {% else %} + {{ item.text }} + {% endif %} + </li> + {% endfor %} + </ol> + </nav> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/_main-menu.scss b/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/_main-menu.scss new file mode 100644 index 0000000000000000000000000000000000000000..2ec354b08eafb1090a50c14e570634dd93497b3c --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/_main-menu.scss @@ -0,0 +1,504 @@ +//adapted from https://code.osu.edu/ocio_odee_web/a11y-navbar + +//translate variables for this theme +$lt-gray: $gray-lightest; +$md-gray: $gray; +$dk-gray: $gray-darkest; + +//from original sass/mixins/_visually-hidden.scss +// Hide only visually, but have it available for screenreaders: h5bp.com/v +@mixin visually-hidden($focusable: false) { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + // Extends the `visually-hidden` class to allow the element to be focusable + // when navigated to via the keyboard: h5bp.com/p + @if $focusable == true { + &:active, + &:focus { + clip: auto !important; + height: auto !important; + margin: 0 !important; + overflow: visible !important; + position: static !important; + width: auto !important; + } + } +} + +//from original sass/reset/_button-reset.scss +@mixin button-reset { + padding: 0; + border: none; + font: inherit; + color: inherit; + background-color: transparent; + cursor: pointer; +} + +//excerpt from original sass/reset/_reset-src.scss +@mixin element-reset { + border: 0; + font-size: 100%; + vertical-align: baseline; +} + +// from original sass/base/_navbar.scss -- altered for this theme +nav.a11y-navbar { + @include element-reset(); + + /* + Reset potentially nested elements. + */ + div, + span, + ul, + ol, + li, + a, + p { + @include element-reset(); + } + + ul, + ol, + li { + @include list-reset(); + } + + font-family: $proxima; + display: block; + position: relative; + width: 100%; + overflow: visible; + + ul.a11y-navbar-menubar { + background-color: $lt-gray; + list-style-type: none; + + li { + list-style-type: none; + position: relative; + + a[role='menuitem'] { + color: $dk-gray; + text-decoration: none; + background-color: $lt-gray; + line-height: 2.25rem; + padding: 0 1rem; + display: block; + height: 2.25rem; + text-transform: uppercase; + position: relative; + z-index: 99; + margin-bottom: 1px; + + &:focus, + &:hover { + color: $lt-gray; + background-color: $dk-gray; + outline-offset: -1px; + outline-color: white; + z-index: 999; + } + } + + ul[role='menu'] { + opacity: 0; + + &.a11y-navbar-menu-open { + display: block; + min-width: 10rem; + width: 100%; + position: absolute; + opacity: 1; + transition: opacity 0.4s linear; + z-index: 9999; + + li { + display: block; + width: 100%; + + a[aria-haspopup='true'] { + &::after { + // Right arrows + content: ''; + width: 0; + height: 0; + border-top: 0.25rem solid transparent; + border-bottom: 0.25rem solid transparent; + border-left: 0.25rem solid $dk-gray; + position: absolute; + right: 0.5rem; + top: 0.75rem; + } + + &:focus::after, + &:hover::after { + border-left: 0.25rem solid $lt-gray; + } + } + } + } + + &.a11y-navbar-menu-closed { + @include visually-hidden(); + } + } + } + + &.a11y-navbar-orientation-horizontal { + li { + display: inline-block; + + a[role='menuitem'] { + &.a11y-navbar-menuitem { + border-bottom: none; + + &[aria-haspopup='true'] { + padding-right: 1.5rem; + + &::after { + // Down arrows + content: ''; + width: 0; + height: 0; + border-top: 0.25rem solid $dk-gray; + border-right: 0.25rem solid transparent; + border-left: 0.25rem solid transparent; + position: absolute; + right: 0.5rem; + top: 1rem; + } + + &:focus::after, + &:hover::after { + border-top: 0.25rem solid $lt-gray; + } + } + } + } + + ul[role='menu'] { + &.a11y-navbar-menu-open { + top: 2.325rem; + left: 0; + background: white; + + li { + a[role='menuitem'] { + // Second-level menu items + background-color: darken($lt-gray, 10%); + + &:focus, + &:hover { + background-color: $dk-gray; + } + } + + ul[role='menu'] { + top: 0; + left: 100%; + + li { + a[role='menuitem'] { + // Third-level menu items + background-color: darken($lt-gray, 20%); + + &:focus, + &:hover { + background-color: $dk-gray; + } + } + } + } + } + } + } + } + } + + &.a11y-navbar-orientation-vertical { + width: 10rem; + + a[role='menuitem'] { + &[aria-haspopup='true'] { + &::after { + // Right arrows + content: ''; + width: 0; + height: 0; + border-top: 0.25rem solid transparent; + border-bottom: 0.25rem solid transparent; + border-left: 0.25rem solid $dk-gray; + position: absolute; + right: 0.25rem; + top: 0.5rem; + } + } + } + + li { + border: 1px solid $md-gray; + border-bottom: none; + + &:last-child { + border-bottom: 1px solid $md-gray; + } + + ul[role='menu'] { + &.a11y-navbar-menu-open { + top: -1px; + left: 100%; + } + } + } + } + } + + &.a11y-navbar-responsive { + & div.a11y-navbar-instructions-show { + // Keep instructions visually hidden in responsive menu. + @include visually-hidden(); + } + + ul.a11y-navbar-menubar { + // Responsive menu should be identical whether vertical or horizontal initially. + border-top: 1px solid white; + background: white; + + &.a11y-navbar-orientation-horizontal, + &.a11y-navbar-orientation-vertical { + // Undo aria-orientation="vertical" ul[role=menubar] width setting. + width: auto; + + li { + // Undo aria-orientation="vertical" li border setting. + border: none; + display: block; + + a[role='menuitem'] { + &.a11y-navbar-menuitem { + color: $dk-gray; + background-color: darken($lt-gray, 7%); + border-right: none; + position: relative; + z-index: 99; + height: 2.5rem; + line-height: 2.5; + margin-bottom: 1px; + } + + &:focus, + &:hover { + outline: 2px dotted $teal; + outline-offset: -2px; + z-index: 999; + } + + &[aria-haspopup='true'] { + padding-right: 1.5rem; + + &::after { + // Down arrows + content: ''; + width: 0; + height: 0; + border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles + border-right: 0.25rem solid transparent; + border-left: 0.25rem solid transparent; + position: absolute; + right: 1.325rem; + top: 1rem; + } + + &:focus::after, + &:hover::after { + border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles + } + } + } + + ul[role='menu'] { + opacity: 1; + max-height: 0; + overflow: hidden; + position: static; + width: 100%; + + &.a11y-navbar-menu-open { + max-height: 9999px; + transition: max-height 1s ease-in; + } + + li { + a[role='menuitem'] { + // Second-level menuitems. + color: $dk-gray; + background-color: darken($lt-gray, 15%); + padding-left: 1.875rem; + height: 2.5rem; + line-height: 2.5; + margin-bottom: 1px; + + &:focus, + &:hover { + background-color: darken($lt-gray, 15%); + outline: 2px dotted $teal; + outline-offset: -2px; + } + // Override default right arrows on submenus. + &[aria-haspopup='true'] { + padding-right: 1.5rem; + + &::after { + // Down arrows + content: ''; + width: 0; + height: 0; + border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles + border-right: 0.25rem solid transparent; + border-left: 0.25rem solid transparent; + position: absolute; + right: 1.325rem; + top: 1rem; + } + + &:focus::after, + &:hover::after { + border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles + } + } + } + + ul[role='menu'] { + li { + a[role='menuitem'] { + // Third-level menuitems. + color: darken($dk-gray, 10%); + background-color: darken($lt-gray, 25%); + padding-left: 2.75rem; + + &:focus, + &:hover { + color: darken($dk-gray, 10%); + background-color: darken($lt-gray, 25%); + } + } + } + } + } + } + + button.a11y-navbar-submenu-toggle { + position: absolute; + right: 0.75rem; + top: 0.1875rem; + height: 2.125rem; + width: 2.125rem; + z-index: 9999; + box-shadow: none; + border: none; + border-radius: 0; + background-color: transparent; + padding: 0; + + &:focus { + outline: 1px dotted $dk-gray; + } + + span { + @include visually-hidden(); + } + + &::after { + // Pure CSS Chevron. + content: ''; + display: inline-block; + border-right: 2px solid $dk-gray; + border-bottom: 2px solid $dk-gray; + width: 10px; + height: 10px; + background-color: transparent; + position: relative; + } + + &[aria-expanded='true'] { + &::after { + transform: rotate(225deg); + top: 3px; + } + } + + &[aria-expanded='false'] { + &::after { + transform: rotate(45deg); + top: -2px; + } + } + } + } + } + } + } + + &.a11y-navbar-closed { + @include visually-hidden(); + } + + div.a11y-navbar-instructions { + @include visually-hidden(); + } +} + +button.a11y-navbar-toggle { + @include button-reset(); + + font-family: $proxima; + background-color: $lt-gray; + color: $dk-gray; + width: 100%; + padding: 0.5rem 1.125rem; + text-align: left; + position: relative; + text-transform: uppercase; + + &:focus { + outline: 2px dotted $teal; + outline-offset: -2px; + z-index: 999; + } + + // Hamburger icon. + span { + position: absolute; + right: 1.125rem; + top: 45%; + + &, + &::after, + &::before { + cursor: pointer; + border-radius: 1px; + height: 3px; + width: 20px; + background: $dk-gray; + position: absolute; + display: block; + content: ''; + } + + &::before { + top: -5px; + } + + &::after { + bottom: -5px; + } + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/main-menu.twig b/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/main-menu.twig new file mode 100644 index 0000000000000000000000000000000000000000..ca9dd62853227af98e359cfea19aa54619293290 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/menus/main-menu/main-menu.twig @@ -0,0 +1,93 @@ +{# +/** + * @file + * Theme override to display a menu. + * + * Available variables: + * - menu_name: The machine name of the menu. + * - items: A nested list of menu items. Each menu item contains: + * - attributes: HTML attributes for the menu item. + * - below: The menu item child items. + * - title: The menu link title. + * - url: The menu link url, instance of \Drupal\Core\Url + * - localized_options: Menu link localized options. + * - is_expanded: TRUE if the link has visible children within the current + * menu tree. + * - is_collapsed: TRUE if the link has children within the current menu tree + * that are not currently visible. + * - in_active_trail: TRUE if the link is in the active trail. + */ +#} + +{% if pl == '1' %} + <nav id="main-nav"> + <div class="main-nav--inner"> + <ul> + <li><a href="/toolsets" data-drupal-link-system-path="toolsets">Toolsets</a> + <ul> + <li><a href="/toolsets/mediasite" data-drupal-link-system-path="node/28">Mediasite</a> + </li> + <li><a href="/toolsets/top-hat" data-drupal-link-system-path="node/33">Top Hat</a> + </li> + </ul> + </li> + <li><a href="/learning-topics" data-drupal-link-system-path="learning-topics">Learning Topics</a> + </li> + <li><a href="#">Item 3</a> + <ul> + <li><a href="#">Item 3.1 Longer Title</a></li> + <li><a href="#">Item 3.2</a> + <ul> + <li><a href="#">Item 3.2.1</a></li> + <li><a href="#">Item 3.2.2</a></li> + </ul> + </li> + <li><a href="#">Item 3.3</a></li> + <li><a href="#">Item 3.4</a></li> + <li><a href="#">Item 3.5</a></li> + </ul> + </li> + </ul> + </div> + </nav> + +{% else %} + + <nav id="main-nav"> + <div class="main-nav--inner"> + + {% import _self as menus %} + + {# + We call a macro which calls itself to render the full tree. + @see http://twig.sensiolabs.org/doc/tags/macro.html + #} + + {{ menus.menu_links(items, attributes, 0) }} + + {% macro menu_links(items, attributes, menu_level) %} + {% import _self as menus %} + {% if items %} + <ul> + {% for item in items %} + {% + set classes = [ + 'menu-item', + item.in_active_trail ? 'menu-item--active-trail', + ] + %} + <li{{ item.attributes.addClass(classes) }}> + {{ link(item.title, item.url) }} + {% if item.below %} + {{ menus.menu_links(item.below, attributes, menu_level + 1) }} + {% endif %} + </li> + {% endfor %} + </ul> + {% endif %} + {% endmacro %} + + </div> + </nav> + +{% endif %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/pager/_pager.scss b/libraries/it-osu-pl-drupal/02-molecules/pager/_pager.scss new file mode 100644 index 0000000000000000000000000000000000000000..f91046731c0c25de3401dd7c02a02185a8fc815e --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/pager/_pager.scss @@ -0,0 +1,43 @@ +.pager { + margin: 2em 0; +} + +.pager__items { + @include list-reset; + text-align: center; +} + +.pager__item { + display: inline-block; + margin: 0 0.75em; +} + +.pager__link, +.pager__link:link, +.pager__link:visited { + border: 1px solid $red; + font-weight: 600; + text-decoration: none; + line-height: 1; + padding: 8px; + display: block; + min-width: 36px; + + &.is-active, + &:hover { + color: $white; + background: $red; + } + + &:focus { + outline: 2px dotted $gray-darkest; + outline-offset: 0; + border-color: $clear; + } +} + +.pager__link--prev { + svg { + transform: rotate(180deg); + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/pager/pager.twig b/libraries/it-osu-pl-drupal/02-molecules/pager/pager.twig new file mode 100644 index 0000000000000000000000000000000000000000..884d5fe2cf7bbdb0a4c652f6193a3f62081f3dfa --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/pager/pager.twig @@ -0,0 +1,80 @@ +{# +/** + * @file + * Theme override to display a pager. + * + * Available variables: + * - items: List of pager items. + * The list is keyed by the following elements: + * - first: Item for the first page; not present on the first page of results. + * - previous: Item for the previous page; not present on the first page + * of results. + * - next: Item for the next page; not present on the last page of results. + * - last: Item for the last page; not present on the last page of results. + * - pages: List of pages, keyed by page number. + * Sub-sub elements: + * items.first, items.previous, items.next, items.last, and each item inside + * items.pages contain the following elements: + * - href: URL with appropriate query parameters for the item. + * - attributes: A keyed list of HTML attributes for the item. + * - text: The visible text used for the item link, such as "‹ Previous" + * or "Next ›". + * - current: The page number of the current page. + * - ellipses: If there are more pages than the quantity allows, then an + * ellipsis before or after the listed pages may be present. + * - previous: Present if the currently visible list of pages does not start + * at the first page. + * - next: Present if the visible list of pages ends before the last page. + * + * @see template_preprocess_pager() + */ +#} +{% if items %} + <nav class="pager" role="navigation" aria-labelledby="pagination-heading"> + <h4 id="pagination-heading" class="visually-hidden">{{ 'Pagination'|t }}</h4> + <ul class="pager__items js-pager__items"> + {# Print previous item if we are not on the first page. #} + {% if items.previous %} + <li class="pager__item pager__item--previous"> + <a class="pager__link pager__link--prev" href="{{ items.previous.href }}" title="{{ 'Go to previous page'|t }}" rel="prev"{{ items.previous.attributes|without('href', 'title', 'rel') }}> + <span class="visually-hidden">{{ 'Previous page'|t }}</span> + <span aria-hidden="true"><i class="fas fa-chevron-right"></i></span> + </a> + </li> + {% endif %} + {# Add an ellipsis if there are further previous pages. #} + {% if ellipses.previous %} + <li class="pager__item pager__item--ellipsis" role="presentation">…</li> + {% endif %} + {# Now generate the actual pager piece. #} + {% for key, item in items.pages %} + <li class="pager__item{{ current == key ? ' is-active' : '' }}"> + {% if current == key %} + {% set title = 'Current page'|t %} + {% else %} + {% set title = 'Go to page @key'|t({'@key': key}) %} + {% endif %} + <a class="pager__link{{ current == key ? ' is-active' : '' }}" href="{{ item.href }}" title="{{ title }}"{{ item.attributes|without('href', 'title') }}> + <span class="visually-hidden"> + {{ current == key ? 'Current page'|t : 'Page'|t }} + </span> + {{- key -}} + </a> + </li> + {% endfor %} + {# Add an ellipsis if there are further next pages. #} + {% if ellipses.next %} + <li class="pager__item pager__item--ellipsis" role="presentation">…</li> + {% endif %} + {# Print next item if we are not on the last page. #} + {% if items.next %} + <li class="pager__item pager__item--next"> + <a class="pager__link pager__link--next" href="{{ items.next.href }}" title="{{ 'Go to next page'|t }}" rel="next"{{ items.next.attributes|without('href', 'title', 'rel') }}> + <span class="visually-hidden">{{ 'Next page'|t }}</span> + <span aria-hidden="true"><i class="fas fa-chevron-right"></i></span> + </a> + </li> + {% endif %} + </ul> + </nav> +{% endif %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/social-media-links/_social-media-links.scss b/libraries/it-osu-pl-drupal/02-molecules/social-media-links/_social-media-links.scss new file mode 100644 index 0000000000000000000000000000000000000000..ff14937b600d44c06751913b47f78688999b0ef1 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/social-media-links/_social-media-links.scss @@ -0,0 +1,5 @@ +.social-media-links__list { + list-style: none; + padding: 0; + margin: 0; +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/social-media-links/social-media-links.twig b/libraries/it-osu-pl-drupal/02-molecules/social-media-links/social-media-links.twig new file mode 100644 index 0000000000000000000000000000000000000000..825d67625b2fdb4ce804351e86769443ec6a7c78 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/social-media-links/social-media-links.twig @@ -0,0 +1,28 @@ +{# +/** + * @file + * Pattern for a block of social-media-links. + * + */ +#} + +{% if pl != '1' %} + {% set social_links = [ + { 'name':'Twitter', 'url': twitter, 'icon': 'twitter', 'prefix': 'fab' }, + { 'name':'Facebook', 'url': facebook, 'icon': 'facebook-f', 'prefix': 'fab' }, + { 'name':'LinkedIn', 'url': linkedin, 'icon': 'linkedin-in', 'prefix': 'fab' }, + { 'name':'YouTube', 'url': youtube, 'icon': 'youtube', 'prefix': 'fab' }, + { 'name':'Instagram', 'url': instagram, 'icon': 'instagram', 'prefix': 'fab' }, + { 'name':'Photo-sharing', 'url': photos, 'icon': 'camera', 'prefix': 'fas' } + ] %} +{% endif %} + +<div class="social-media-links"> + <ul class="social-media-links__list"> + {% for social_link in social_links %} + {% if social_link.url is not empty %} + {% include "@atoms/01-links/social-media-link/social-media-link.twig" %} + {% endif %} + {% endfor %} + </ul> +</div> diff --git a/libraries/it-osu-pl-drupal/02-molecules/status-message/_status-message.scss b/libraries/it-osu-pl-drupal/02-molecules/status-message/_status-message.scss new file mode 100644 index 0000000000000000000000000000000000000000..14ff0ae51f5c0e31763fe7bf8dc739ce7fbe284b --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/status-message/_status-message.scss @@ -0,0 +1,48 @@ +$statuses: ( + 'status': $teal, + 'warning': $orange-dark, + 'error': $violet, +) !default; + +@each $status-type, $color in $statuses { + .status--#{$status-type} { + background: $color; + color: $white; + font-size: 1rem; + font-weight: 600; + display: block; + margin-bottom: 2em; + padding: 1.5em; + + a { + color: $gray-lighter; + font-weight: 600; + text-decoration: underline; + + &:focus, + &:hover { + color: $white; + } + } + + ul { + padding: 0; + margin: 0; + } + + .icon { + float: left; + margin-right: 1.25em; + } + + .svg-inline--fa { + font-size: 2rem; + margin-top: -0.1375em; + } + + .placeholder { + font-style: normal; + font-weight: 700; + } + } +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/status-message/status-message.twig b/libraries/it-osu-pl-drupal/02-molecules/status-message/status-message.twig new file mode 100644 index 0000000000000000000000000000000000000000..4068376510f9506c1ee67f04c80e8ba0cc3b5a0b --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/status-message/status-message.twig @@ -0,0 +1,59 @@ +{# +/** + * @file + * Theme override for status messages. + * + * Displays status, error, and warning messages, grouped by type. + * + * An invisible heading identifies the messages for assistive technology. + * Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html + * for info. + * + * Add an ARIA label to the contentinfo area so that assistive technology + * user agents will better describe this landmark. + * + * Available variables: + * - message_list: List of messages to be displayed, grouped by type. + * - status_headings: List of all status types. + * - display: (optional) May have a value of 'status' or 'error' when only + * displaying messages of that specific type. + * - attributes: HTML attributes for the element, including: + * - class: HTML classes. + */ +#} + +{% set error_icon = 'fas fa-times-circle' %} +{% set warning_icon = 'fas fa-exclamation-triangle' %} +{% set status_icon = 'fas fa-info-circle' %} + +{% for type, messages in message_list %} + + {% if type == 'error' %} + {% set icon = error_icon %} + {% elseif type == 'warning' %} + {% set icon = warning_icon %} + {% else %} + {% set icon = status_icon %} + {% endif %} + + <div class="status-box" role="contentinfo" aria-label="{{ status_headings[type] }}"{{ attributes|without('role', 'aria-label') }}> + {% if type == 'error' %} + <div role="alert"> + {% endif %} + {% if status_headings[type] %} + <h2 class="visually-hidden">{{ status_headings[type] }}</h2> + {% endif %} + {% if messages|length > 1 %} + <ul> + {% for message in messages %} + <li class="status status--{{ type }}">{{ message }}</li> + {% endfor %} + </ul> + {% else %} + <div class="status status--{{ type }}"><div class="icon"><i class="{{ icon }}"></i></div>{{ messages|first }}</div> + {% endif %} + {% if type == 'error' %} + </div> + {% endif %} + </div> +{% endfor %} diff --git a/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.scss b/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.scss new file mode 100644 index 0000000000000000000000000000000000000000..858403bf1fe8b958078d18a48fcaaf58164ec747 --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.scss @@ -0,0 +1,50 @@ +@mixin tile($background: $gray-lightest, $color: $gray-darkest) { + background-color: $background; + color: $color; + margin-bottom: $grid-margin-after; + padding: $padding-y $padding-x $padding-y-bottom; + width: 100%; + text-align: center; + display: block; + text-decoration: none; + color: $color; + + &:hover { + background: darken($background, 2%); + } + + .tile__icon { + max-width: rem-calc(100); + height: auto; + margin: $space-y-half auto $space-y; + } + + .tile__title { + color: $color; + margin-top: 3px; + + h2, + h3, + h4 { + @include heading(26, 700); + margin-bottom: $header-margin-after-less; + } + } + .tile__body { + font-family: $capita; + font-style: italic; + font-weight: 300; + } + + @if $background == $white { + border: 1px solid $gray-lightest; + } +} + +a.tile { + @include tile(); +} + +a.tile--white { + @include tile($white); +} diff --git a/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.twig b/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.twig new file mode 100644 index 0000000000000000000000000000000000000000..82de803a99e3e742f3f635b6dec7d3df5f00008c --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/tile/_tile.twig @@ -0,0 +1,53 @@ +{# +/** + * Available variables: + * - tile_modifiers - array of modifiers to add to the base classname + * - tile_extra_classes - string of extra classes to add to main div + * - tile_heading_level - defaults to 2 + * - tile_title - title + * - tile_link - link from title (leave blank for no link) + * - tile_text - the content of the paragraph +#} + +{% set tile_base_class = tile_base_class|default('tile') %} +{% set classes_array = [tile_base_class] %} + +{% if (tile_modifiers is defined) or (tile_icon is defined) %} + + {% if tile_icon is defined %} + {% set classes_array = classes_array|merge(["#{tile_base_class}--with-icon"]) %} + {% endif %} + + {% if tile_modifiers is defined %} + {% for tile_modifier in tile_modifiers %} + {% set classes_array = classes_array|merge(["#{tile_base_class}--#{tile_modifier}"]) %} + {% endfor %} + {% endif %} + + {% set tile_classes = classes_array|join(' ') %} + +{% else %} + {% set tile_classes = tile_base_class %} +{% endif %} + + +<a href="{{ tile_link }}" class="{{ tile_classes }} {{ tile_extra_classes }}"> + {% if tile_icon %} + <div class="tile__icon"> + <img src="{{ tile_icon }}" alt="{{ tile_icon_alt }}" /> + </div> + {% endif %} + <div class="tile__title"> + {% include "@atoms/00-text/00-headings/_heading.twig" with { + "heading_level": tile_heading_level|default(2), + "heading": tile_title, + } %} + </div> + {% if tile_text %} + <div class="tile__body"> + {% include "@atoms/00-text/04-paragraph/paragraph.twig" with { + "paragraph_content": tile_text, + } %} + </div> + {% endif %} +</a> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/02-molecules/tile/tile.twig b/libraries/it-osu-pl-drupal/02-molecules/tile/tile.twig new file mode 100644 index 0000000000000000000000000000000000000000..6a58aef77cf20584a2a994797a5d46e04c03c5fe --- /dev/null +++ b/libraries/it-osu-pl-drupal/02-molecules/tile/tile.twig @@ -0,0 +1,52 @@ +{# +/** + * Available variables: + * - tile_modifiers - array of modifiers to add to the base classname + * - tile_extra_classes - string of extra classes to add to main div + * - tile_heading_level - defaults to 2 + * - tile_title - title + * - tile_link - link from title (leave blank for no link) + * - tile_text - the content of the paragraph +#} + +{% set classes_array = ['card'] %} + +{% if (tile_modifiers is defined) or (tile_icon is defined) %} + + {% if tile_icon is defined %} + {% set classes_array = classes_array|merge(["card--with-icon"]) %} + {% endif %} + + {# {% if tile_modifiers is defined %} + {% for tile_modifier in tile_modifiers %} + {% set classes_array = classes_array|merge(["card--#{tile_modifier}"]) %} + {% endfor %} + {% endif %} #} + + {% set tile_classes = classes_array|join(' ') %} + +{% else %} + {% set tile_classes = tile_base_class %} +{% endif %} + + +<a href="{{ tile_link }}" class="{{ tile_classes }} {{ tile_extra_classes }}"> + {% if tile_icon %} + <div class="tile__icon"> + <img src="{{ tile_icon }}" alt="{{ tile_icon_alt }}" /> + </div> + {% endif %} + <div class="tile__title"> + {% include "@atoms/00-text/00-headings/_heading.twig" with { + "heading_level": tile_heading_level|default(2), + "heading": tile_title, + } %} + </div> + {% if tile_text %} + <div class="tile__body"> + {% include "@atoms/00-text/04-paragraph/paragraph.twig" with { + "paragraph_content": tile_text, + } %} + </div> + {% endif %} +</a> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/03-organisms/card-grid/_card-grid.scss b/libraries/it-osu-pl-drupal/03-organisms/card-grid/_card-grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..8d21b26e902c7a9f5db07635bf8fe0701e7c9b80 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/card-grid/_card-grid.scss @@ -0,0 +1,3 @@ +.card-grid { + margin-top: $space-y; +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/card-grid/card-grid.twig b/libraries/it-osu-pl-drupal/03-organisms/card-grid/card-grid.twig new file mode 100644 index 0000000000000000000000000000000000000000..afd9ce6b213c821cbcf15a53a03cf3e27275d3a2 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/card-grid/card-grid.twig @@ -0,0 +1,19 @@ +<div class="card-grid grid-x grid-margin-x"> + {% for card in card_data %} + {% if loop.length > 5 %} + {% set item_classes = 'cell small-12 medium-6 large-4 xlarge-3 grid-grow' %} + {% else %} + {% set item_classes = 'cell small-12 medium-auto' %} + {% endif %} + {% include "@molecules/card/card.twig" with { + "card_modifiers": box.card_modifiers, + "card_extra_classes": item_classes, + "card_image": card.card_image, + "card_title": card.card_title, + "card_text": card.card_text, + "card_button_content": card.card_button_content, + "card_button_url": card.card_button_url, + "card_button_modifiers": card_button_modifiers|default(['alt']), + } %} + {% endfor %} +</div> diff --git a/libraries/it-osu-pl-drupal/03-organisms/details-group/details-group.twig b/libraries/it-osu-pl-drupal/03-organisms/details-group/details-group.twig new file mode 100644 index 0000000000000000000000000000000000000000..8c2cda07dbbd0466144ae5a32081af115eb8bf3d --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/details-group/details-group.twig @@ -0,0 +1,9 @@ +<div class="details-group"> + {% for item in items %} + {% include "@molecules/details/details-item.twig" with { + details_icon: item.details_icon, + details_summary: item.details_summary, + details_content: item.details_content, + }%} + {% endfor %} +</div> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.scss b/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..1c0d40457a9593a50f899b1aa86196910a2ab807 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.scss @@ -0,0 +1,3 @@ +.info-box-grid { + margin-top: $space-y; +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.twig b/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.twig new file mode 100644 index 0000000000000000000000000000000000000000..6202aa0400449ff3df8ec1dd39d9d3cfea90ff83 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/info-box-grid/_info-box-grid.twig @@ -0,0 +1,16 @@ +<div class="info-box-grid grid-x grid-margin-x"> + {% for box in info_box_data %} + {% if loop.length > 5 %} + {% set item_classes = 'cell small-12 medium-6 large-4 xlarge-3 grid-grow' %} + {% else %} + {% set item_classes = 'cell small-12 medium-auto' %} + {% endif %} + {% include "@molecules/info-box/info-box.twig" with { + "infobox_modifiers": box.infobox_modifiers, + "infobox_extra_classes": item_classes, + "infobox_heading_level": box.heading_level, + "infobox_title": box.infobox_title, + "infobox_text": box.infobox_text, + } %} + {% endfor %} +</div> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.scss b/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.scss new file mode 100644 index 0000000000000000000000000000000000000000..02a664076df9812875ea3cb3e98e663d908e3cf3 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.scss @@ -0,0 +1,163 @@ +//common elements +.masthead { + @include clearfix; +} + +.masthead__inner { +} + +#site-name { + display: table; +} + +.site-name__inner { + display: table-cell; + vertical-align: middle; +} + +.site-name__prefix { + display: block; +} + +#site-logo { + display: none; + float: right; + + @include breakpoint(medium) { + display: block; + } +} + +//mixin for masthead--standard +@mixin masthead-standard($bg-color: $gray-darkest, $text-color: $white) { + background: $bg-color; + padding: 0.75em 0; + + #site-name { + @include breakpoint(medium) { + padding-right: 2em; + height: 135px; + } + } + + .site-name__prefix { + font-size: rem-calc(18); + font-weight: 400; + color: $text-color; + letter-spacing: 0.0125em; + margin-left: 2px; + } + + .site-name__link { + @include heading(42, 700); + line-height: 105%; + text-decoration: none; + color: $text-color; + letter-spacing: 0.0125em; + + @include breakpoint(large) { + font-size: rem-calc(48); + } + } + + .site-name__link--long { + font-size: rem-calc(30); + } + + .site-logo__image { + width: auto; + border: none; + float: right; + @include breakpoint(medium) { + height: 125px; + } + @include breakpoint(large) { + height: 135px; + } + } +} + +//mixin for masthead--slim +@mixin masthead-slim($bg-color: $gray-darkest, $text-color: $white) { + background: $bg-color; + + #site-name { + min-height: 90px; + padding: 0.75em 0; + + @include breakpoint(medium) { + padding-right: 2em; + height: 120px; + } + } + + .site-name__prefix { + font-size: 1rem; + font-weight: 300; + color: $text-color; + margin-bottom: -3px; + margin-left: 2px; + } + + .site-name__link { + @include heading(42, 700); + line-height: 105%; + text-decoration: none; + color: $text-color; + letter-spacing: 0.0125em; + + @include breakpoint(large) { + font-size: rem-calc(48); + } + } + + .site-name__link--long { + font-size: rem-calc(30); + } + + .site-logo__image { + height: 90px; + width: auto; + border: none; + box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5); + float: right; + } +} + +// apply mixins based on class +.masthead--standard, +.masthead--standard.masthead--dk-gray { + @include masthead-standard; +} + +.masthead--standard.masthead--md-gray { + @include masthead-standard($gray); +} + +.masthead--standard.masthead--lt-gray { + @include masthead-standard($gray-lightest, $gray-darker); +} + +.masthead--standard.masthead--white { + @include masthead-standard($white, $gray-dark); +} + +.masthead--slim, +.masthead--slim.masthead--dk-gray { + @include masthead-slim; +} + +.masthead--slim, +.masthead--slim.masthead--md-gray { + @include masthead-slim($gray); +} + +.masthead--slim, +.masthead--slim.masthead--lt-gray { + @include masthead-slim($gray-lightest, $gray-darker); +} + +.masthead--slim, +.masthead--slim.masthead--white { + @include masthead-slim($white, $gray-dark); +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.twig b/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.twig new file mode 100644 index 0000000000000000000000000000000000000000..e21e5611c28b1b0d56e8b8bda41111461ca1e982 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/masthead/_masthead.twig @@ -0,0 +1,44 @@ +{# +/** + * @file + * Pattern for masthead. + * + */ +#} + +<div class="masthead masthead--{{ masthead_variant }} masthead--{{ masthead_color }}"> + <div class="masthead__inner grid-container"> + <div class="grid-x grid-margin-x"> + + {% if masthead_variant == 'slim' %} + <div id="site-name" class="cell medium-9 large-10"> + {% else %} + <div id="site-name" class="cell medium-9"> + {% endif %} + + <div class="site-name__inner"> + {% if site_name_prefix|length %} + <span class="site-name__prefix">{{ site_name_prefix }}</span> + {% endif %} + + {% if site_name|length > 30 %} + <a class="site-name__link site-name__link--long" href="/" title="home" rel="home">{{ site_name }}</a> + {% else %} + <a class="site-name__link" href="/" title="home" rel="home">{{ site_name }}</a> + {% endif %} + </div> + </div> + + {% if masthead_variant == 'slim' %} + <div id="site-logo" class="site-logo--slim cell medium-3 large-2"> + <a class="site-logo__link" href="http://osu.edu" target="_blank"><img class="site-logo__image" src="{{ base_path ~ directory }}/images/osu-logos/block-o/block-o.svg" alt="The Ohio State University" /></a> + </div> + {% else %} + <div id="site-logo" class="site-logo--standard cell medium-3"> + <a class="site-logo__link" href="http://osu.edu" target="_blank"><img class="site-logo__image" src="{{ base_path ~ directory }}/images/osu-logos/stacked/osu-stacked-{{ masthead_color }}.svg" alt="The Ohio State University" /></a> + </div> + {% endif %} + + </div> + </div> + </div> diff --git a/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.scss b/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.scss new file mode 100644 index 0000000000000000000000000000000000000000..c432147dcfdba9b76cc2248af4850692a4bc0883 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.scss @@ -0,0 +1,146 @@ +@mixin osu-navbar( + $bg-color: $gray-lightest, + $text-color: $gray-darker, + $image-src: '/images/' +) { + background: $bg-color; + color: $text-color; + border-bottom: 5px solid $red; + + @include clearfix; + + p { + font-size: 13px; + line-height: 1.5; + margin: 0; + padding: 0; + } + + .univ_info { + float: left; + padding: 0.875em 0 0.9em; + } + + .univ_name a { + height: 14px; + width: 80px; + margin-left: 0; + display: block; + text-indent: -9999px; + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}osu_name.png) + 0 0 no-repeat; + + @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}osu_name@2x.png) + 0 0 no-repeat; + background-size: contain; + } + } + + .univ_links { + float: right; + clear: none; + padding: 0.875em 0 0; + + .links { + float: left; + + ul { + margin: 0; + margin-top: -2px; + + li { + font-size: 0.84375em; + list-style: none; + float: left; + margin-right: 0.5em; + + @include breakpoint(large) { + margin-right: 1.2em; + } + + &:last-child { + margin-right: 0; + } + + a { + height: 23px; + width: 23px; + display: block; + overflow: hidden; + text-indent: -999px; + background: 0 0 no-repeat; + color: $text-color; + text-decoration: none; + + @include breakpoint(large) { + text-indent: 0; + width: auto; + background: none !important; + + &:hover { + text-decoration: underline; + } + } + + &.help { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-help.png); + } + &.buckeyelink { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-buckeyelink.png); + } + &.map { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-map.png); + } + &.findpeople { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-findpeople.png); + } + &.webmail { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-webmail.png); + } + &.search { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}/resp-search.png); + } + + @media (-webkit-min-device-pixel-ratio: 2), + (min-resolution: 192dpi) { + &.help { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-help@2x.png); + } + &.buckeyelink { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-buckeyelink@2x.png); + } + &.map { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-map@2x.png); + } + &.findpeople { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-findpeople@2x.png); + } + &.webmail { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-webmail@2x.png); + } + &.search { + background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-search@2x.png); + } + + -webkit-background-size: 23px !important; + -moz-background-size: 23px !important; + background-size: 23px !important; + } + } + } + } + } + } +} + +#osu_navbar, +#osu_navbar.light { + @include osu-navbar; + + background: linear-gradient(to bottom, #e3e3e3 0, #b9b9ba 100%); +} + +#osu_navbar.dark { + @include osu-navbar($gray-darker, $white, '/images/white/'); +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.twig b/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.twig new file mode 100644 index 0000000000000000000000000000000000000000..023fc81744e64bda4db54f49432cb47e134bd8b9 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/osu-navbar/_osu-navbar.twig @@ -0,0 +1,34 @@ +{# +/** + * @file + * Pattern for osu-navbar. + */ +#} + + +<div role="navigation" id="osu_navbar" class="{{ osu_navbar_color }}" aria-labelledby="osu_navbar_heading"> + + <h2 id="osu_navbar_heading" class="visually-hidden">Ohio State nav bar</h2> + + <div class="navbar__inner grid-container"> + + <div class="univ_info"> + <p class="univ_name"><a href="http://osu.edu" title="The Ohio State University">The Ohio State University</a></p> + </div><!-- /univ_info --> + + <div class="univ_links"> + <div class="links"> + <ul> + <li><a href="http://www.osu.edu/help.php" class="help">Help</a></li> + <li><a href="http://buckeyelink.osu.edu/" class="buckeyelink" >BuckeyeLink</a></li> + <li><a href="http://www.osu.edu/map/" class="map">Map</a></li> + <li><a href="http://www.osu.edu/findpeople.php" class="findpeople">Find People</a></li> + <li><a href="https://email.osu.edu/" class="webmail">Webmail</a></li> + <li><a href="http://www.osu.edu/search/" class="search">Search Ohio State</a></li> + </ul> + </div><!-- /links --> + </div><!-- /univ_links --> + + </div><!-- /navbar_inner --> + +</div><!-- /osu_navbar --> diff --git a/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.scss b/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.scss new file mode 100644 index 0000000000000000000000000000000000000000..110ecebada4549ec8538eb892167b142757ac4d2 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.scss @@ -0,0 +1,97 @@ +//footer layout +.site-footer { + padding: 1.5em 0; +} + +.site-footer__social-media { + margin-bottom: 1.75em; +} + +.site-footer__address-block { + margin-bottom: 1.5em; +} + +//layout after large breakpoint +@include breakpoint(large) { + .site-footer__social-media { + float: right; + } +} + +//footer text +.footer-text { + line-height: 125%; + font-size: 0.875rem; +} + +.site-footer__ada-statement, +.site-footer__footer-text { + @extend .footer-text; +} + +//footer login +.site-footer__login-link { + margin-top: 2em; + + a { + text-transform: uppercase; + font-size: 0.75rem; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } +} + +//mixin for colors +@mixin footer( + $bg-color: $gray-darkest, + $text-color: $white, + $link-hover: $gray-lighter, + $pipe-color: $gray-lighter +) { + background: $bg-color; + color: $text-color; + + a { + color: $text-color; + } + + a:hover { + color: $link-hover; + } + + .pipe { + color: $pipe-color; + } + + .social-media__item a { + color: white; + } +} + +.site-footer, +.site-footer--dk-gray { + @include footer; + + .social-media__item a:focus { + outline: 2px dotted $white; + } +} + +.site-footer--md-gray { + @include footer($gray, $white, $gray-lightest, $gray-lightest); + + .social-media__item a { + border: 1px solid $gray-lighter; + } +} + +.site-footer--lt-gray { + @include footer($gray-lightest, $gray-darker, $red, $red); +} + +.site-footer--white { + @include footer($white, $gray-dark, $red, $red); +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.twig b/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.twig new file mode 100644 index 0000000000000000000000000000000000000000..84052d92404f362c6a1b4c6a5ea54f34d0810761 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/site-footer/_site-footer.twig @@ -0,0 +1,31 @@ +<footer id="site-footer" class="site-footer site-footer--{{ footer_color }}"> + <div class="site-footer__inner grid-container"> + + <div class="site-footer__social-media"> + {% include "@molecules/social-media-links/social-media-links.twig" %} + </div> + + <div class="site-footer__address-block"> + {% include "@molecules/address-block/address-block.twig" %} + </div> + + <div class="site-footer__ada-statement"> + <p>If you have trouble accessing this page and need to request an alternate format, contact <a href="mailto:{{ ada_email }}?subject=Accessibility%20Assistance">{{ ada_email }}</a>.</p> + </div> + + {# <div class="site-footer__footer-text"> + <p>{{ footer_text }}</p> + </div> #} + + + {# show admin_link for Drupal sites if selected and user is not logged in #} + {% if admin_link == 1 %} + {% if not logged_in %} + <div class="site-footer__login-link"> + <a href="/user/login">Admin Login</a> + </div> + {% endif %} + {% endif %} + + </div> +</footer> diff --git a/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.scss b/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..7f06945ec65d7b919ec1261a83c4ffe780e33b9c --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.scss @@ -0,0 +1,3 @@ +.tile-grid { + margin-top: $space-y; +} diff --git a/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.twig b/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.twig new file mode 100644 index 0000000000000000000000000000000000000000..149cb5540047bb693a8942462b7676c5492dc7a1 --- /dev/null +++ b/libraries/it-osu-pl-drupal/03-organisms/tile-grid/_tile-grid.twig @@ -0,0 +1,19 @@ +<div class="tile-grid grid-x grid-margin-x"> + {% for tile in tile_data %} + {% if loop.length > 5 %} + {% set item_classes = 'cell small-12 medium-6 large-4 xlarge-3 grid-grow' %} + {% else %} + {% set item_classes = 'cell small-12 medium-auto' %} + {% endif %} + {% include "@molecules/tile/_tile.twig" with { + "tile_modifiers": tile.tile_modifiers, + "tile_extra_classes": item_classes, + "tile_heading_level": tile.heading_level, + "tile_link": tile.tile_link, + "tile_icon": tile.tile_icon, + "tile_icon_alt": tile.tile_icon_alt, + "tile_title": tile.tile_title, + "tile_text": tile.tile_text, + } %} + {% endfor %} +</div> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/04-templates/drupal/page-template.twig b/libraries/it-osu-pl-drupal/04-templates/drupal/page-template.twig new file mode 100644 index 0000000000000000000000000000000000000000..39068afada5aa849bba5b600168ddb2020869c23 --- /dev/null +++ b/libraries/it-osu-pl-drupal/04-templates/drupal/page-template.twig @@ -0,0 +1,55 @@ +<header role="banner" id="site-header"> + {% include "@organisms/osu-navbar/_osu-navbar.twig" %} + {% include "@organisms/masthead/_masthead.twig" %} + {{ page.header }} +</header> + +{% block primary_menu %} +<div class="region region--primary_menu"> + {{ page.primary_menu }} +</div> +{% endblock %} + +{% block hero %} +<div class="region region--hero"> + {{ page.hero }} +</div> +{% endblock %} + +{# start layout container #} + +{{ page.breadcrumb }} + +{{ page.highlighted }} + +{{ page.help }} + +<main role="main"> + <a id="main-content" tabindex="-1"></a>{# link is in html.html.twig #} + + <div class="layout-content"> + {{ page.content }} + </div>{# /.layout-content #} + + {% if page.sidebar_first %} + <aside class="layout-sidebar-first" role="complementary"> + {{ page.sidebar_first }} + </aside> + {% endif %} + + {% if page.sidebar_second %} + <aside class="layout-sidebar-second" role="complementary"> + {{ page.sidebar_second }} + </aside> + {% endif %} + +</main> + + <footer role="contentinfo"> + {% if page.footer %} + {{ page.footer }} + {% endif %} + {% include "@organisms/site-footer/_site-footer.twig" %} + </footer> + + diff --git a/libraries/it-osu-pl-drupal/README.md b/libraries/it-osu-pl-drupal/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ca88d9308aa898a9c035c07e5fdaa2de90b6ed2a --- /dev/null +++ b/libraries/it-osu-pl-drupal/README.md @@ -0,0 +1,2 @@ +# it-osu-pl-drupal +IT@OSU Pattern Lab assets for use in a Drupal 8 theme. diff --git a/libraries/it-osu-pl-drupal/_settings.scss b/libraries/it-osu-pl-drupal/_settings.scss new file mode 100644 index 0000000000000000000000000000000000000000..65e2efe2c8a84fe9f6cb7bd86ea705c0ff2f663f --- /dev/null +++ b/libraries/it-osu-pl-drupal/_settings.scss @@ -0,0 +1,815 @@ +// Foundation for Sites Settings +// ----------------------------- +// +// Table of Contents: +// +// 1. Global +// 2. Breakpoints +// 3. The Grid +// 4. Base Typography +// 5. Typography Helpers +// 6. Abide +// 7. Accordion +// 8. Accordion Menu +// 9. Badge +// 10. Breadcrumbs +// 11. Button +// 12. Button Group +// 13. Callout +// 14. Card +// 15. Close Button +// 16. Drilldown +// 17. Dropdown +// 18. Dropdown Menu +// 19. Flexbox Utilities +// 20. Forms +// 21. Label +// 22. Media Object +// 23. Menu +// 24. Meter +// 25. Off-canvas +// 26. Orbit +// 27. Pagination +// 28. Progress Bar +// 29. Prototype Arrow +// 30. Prototype Border-Box +// 31. Prototype Border-None +// 32. Prototype Bordered +// 33. Prototype Display +// 34. Prototype Font-Styling +// 35. Prototype List-Style-Type +// 36. Prototype Overflow +// 37. Prototype Position +// 38. Prototype Rounded +// 39. Prototype Separator +// 40. Prototype Shadow +// 41. Prototype Sizing +// 42. Prototype Spacing +// 43. Prototype Text-Decoration +// 44. Prototype Text-Transformation +// 45. Prototype Text-Utilities +// 46. Responsive Embed +// 47. Reveal +// 48. Slider +// 49. Switch +// 50. Table +// 51. Tabs +// 52. Thumbnail +// 53. Title Bar +// 54. Tooltip +// 55. Top Bar +// 56. Xy Grid + +@import '../../node_modules/foundation-sites/scss/util/util'; +@import '00-base/utils/_01-variables.scss'; +@import '00-base/global/01-colors/_color-vars.scss'; +@import '00-base/global/02-typography/_typography.scss'; + +// 1. Global +// --------- + +$global-font-size: 100%; +$global-width: rem-calc(1200); +$global-lineheight: 1.5; +$foundation-palette: ( + primary: $red, + secondary: $gray, + success: $teal, + warning: $orange, + alert: $violet, +); +$light-gray: $gray-lightest; +$medium-gray: $gray-lighter; +$dark-gray: $gray-darker; +$body-background: $white; +$body-font-color: $gray-darkest; +$body-font-family: $proxima; +$body-antialiased: true; +$global-margin: 1rem; +$global-padding: 1rem; +$global-position: 1rem; +$global-weight-normal: 400; +$global-weight-bold: 700; +$global-radius: 0; +$global-menu-padding: 0.7rem 1rem; +$global-menu-nested-margin: 1rem; +$global-text-direction: ltr; +$global-flexbox: true; +$global-prototype-breakpoints: false; +$global-button-cursor: auto; +$global-color-pick-contrast-tolerance: 0; +$print-transparent-backgrounds: true; + +@include add-foundation-colors; +$print-hrefs: true; + +// 2. Breakpoints +// -------------- + +$breakpoints: ( + small: 0, + medium: 640px, + large: 960px, + xlarge: 1280px, + xxlarge: 1440px, +); +$print-breakpoint: large; +$breakpoint-classes: (small medium large xlarge); + +// 3. The Grid +// ----------- + +$grid-row-width: $global-width; +$grid-column-count: 12; +$grid-column-gutter: $space-x; +$grid-column-align-edge: true; +$grid-column-alias: 'columns'; +$block-grid-max: 8; + +// 4. Base Typography +// ------------------ + +$header-font-family: $proxima; +$header-font-weight: 600; +$header-font-style: normal; +$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace; +$header-color: $gray-darkest; +$header-color--hover: $teal; +$header-lineheight: 1.2; +$header-margin-bottom: $space-y; +$header-text-rendering: optimizeLegibility; +$small-font-size: 85%; +$header-small-font-color: $gray; +$paragraph-lineheight: 1.6; +$paragraph-margin-bottom: 1rem; +$paragraph-text-rendering: optimizeLegibility; +$code-color: $black; +$code-font-family: $font-family-monospace; +$code-font-weight: $global-weight-normal; +$code-background: none; +$code-border: none; +$code-padding: rem-calc(2 5); +$anchor-color: $primary-color; +$anchor-color-hover: scale-color($anchor-color, $lightness: -14%); +$anchor-text-decoration: none; +$anchor-text-decoration-hover: none; +$hr-width: $global-width; +$hr-border: 1px solid $medium-gray; +$hr-margin: rem-calc(20) auto; +$list-lineheight: $paragraph-lineheight; +$list-margin-bottom: $paragraph-margin-bottom; +$list-style-type: disc; +$list-style-position: outside; +$list-side-margin: 1.25rem; +$list-nested-side-margin: 1.25rem; +$defnlist-margin-bottom: 1rem; +$defnlist-term-weight: $global-weight-bold; +$defnlist-term-margin-bottom: 0.3rem; +$blockquote-color: $dark-gray; +$blockquote-padding: rem-calc(9 20 0 19); +$blockquote-border: 1px solid $medium-gray; +$cite-font-size: rem-calc(13); +$cite-color: $dark-gray; +$cite-pseudo-content: '\2014 \0020'; +$keystroke-font: $font-family-monospace; +$keystroke-color: $black; +$keystroke-background: $light-gray; +$keystroke-padding: rem-calc(2 4 0); +$keystroke-radius: $global-radius; +$abbr-underline: 1px dotted $black; + +// 5. Typography Helpers +// --------------------- + +$lead-font-size: $global-font-size * 1.25; +$lead-lineheight: 1.6; +$subheader-lineheight: 1.4; +$subheader-color: $dark-gray; +$subheader-font-weight: $global-weight-normal; +$subheader-margin-top: 0.2rem; +$subheader-margin-bottom: 0.5rem; +$stat-font-size: 2.5rem; + +// 6. Abide +// -------- + +$abide-inputs: true; +$abide-labels: true; +$input-background-invalid: get-color(alert); +$form-label-color-invalid: get-color(alert); +$input-error-color: get-color(alert); +$input-error-font-size: rem-calc(12); +$input-error-font-weight: $global-weight-bold; + +// 7. Accordion +// ------------ + +$accordion-background: $white; +$accordion-plusminus: true; +$accordion-title-font-size: rem-calc(12); +$accordion-item-color: $primary-color; +$accordion-item-background-hover: $light-gray; +$accordion-item-padding: 1.25rem 1rem; +$accordion-content-background: $white; +$accordion-content-border: 1px solid $light-gray; +$accordion-content-color: $body-font-color; +$accordion-content-padding: 1rem; + +// 8. Accordion Menu +// ----------------- + +$accordionmenu-padding: $global-menu-padding; +$accordionmenu-nested-margin: $global-menu-nested-margin; +$accordionmenu-submenu-padding: $accordionmenu-padding; +$accordionmenu-arrows: true; +$accordionmenu-arrow-color: $primary-color; +$accordionmenu-item-background: null; +$accordionmenu-border: null; +$accordionmenu-submenu-toggle-background: null; +$accordion-submenu-toggle-border: $accordionmenu-border; +$accordionmenu-submenu-toggle-width: 40px; +$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width; +$accordionmenu-arrow-size: 6px; + +// 9. Badge +// -------- + +$badge-background: $primary-color; +$badge-color: $white; +$badge-color-alt: $black; +$badge-palette: $foundation-palette; +$badge-padding: 0.3em; +$badge-minwidth: 2.1em; +$badge-font-size: 0.6rem; + +// 10. Breadcrumbs +// --------------- + +$breadcrumbs-margin: 0 0 $global-margin 0; +$breadcrumbs-item-font-size: rem-calc(11); +$breadcrumbs-item-color: $primary-color; +$breadcrumbs-item-color-current: $black; +$breadcrumbs-item-color-disabled: $medium-gray; +$breadcrumbs-item-margin: 0.75rem; +$breadcrumbs-item-uppercase: true; +$breadcrumbs-item-separator: true; +$breadcrumbs-item-separator-item: '/'; +$breadcrumbs-item-separator-item-rtl: '\\'; +$breadcrumbs-item-separator-color: $medium-gray; + +// 11. Button +// ---------- + +$button-font-family: inherit; +$button-padding: 0.85em 1em; +$button-margin: 0 0 $global-margin 0; +$button-fill: solid; +$button-background: $primary-color; +$button-background-hover: scale-color($button-background, $lightness: -15%); +$button-color: $white; +$button-color-alt: $black; +$button-radius: $global-radius; +$button-hollow-border-width: 1px; +$button-sizes: ( + tiny: 0.6rem, + small: 0.75rem, + default: 0.9rem, + large: 1.25rem, +); +$button-palette: $foundation-palette; +$button-opacity-disabled: 0.25; +$button-background-hover-lightness: -20%; +$button-hollow-hover-lightness: -50%; +$button-transition: background-color 0.25s ease-out, color 0.25s ease-out; +$button-responsive-expanded: false; + +// 12. Button Group +// ---------------- + +$buttongroup-margin: 1rem; +$buttongroup-spacing: 1px; +$buttongroup-child-selector: '.button'; +$buttongroup-expand-max: 6; +$buttongroup-radius-on-each: true; + +// 13. Callout +// ----------- +// Foundation Callouts are mostly overridden in /02-molecules/callout + +$callout-background: $white; +$callout-background-fade: 0; +$callout-border: 1px solid; +$callout-margin: 0; +$callout-padding: 0; +$callout-font-color: $body-font-color; +$callout-font-color-alt: $body-background; +$callout-radius: $global-radius; +$callout-link-tint: 0; + +// 14. Card +// -------- + +$card-background: $white; +$card-font-color: $body-font-color; +$card-divider-background: $light-gray; +$card-border: 1px solid $light-gray; +$card-shadow: none; +$card-border-radius: $global-radius; +$card-padding: $global-padding; +$card-margin-bottom: $global-margin; + +// 15. Close Button +// ---------------- + +$closebutton-position: right top; +$closebutton-offset-horizontal: ( + small: 0.66rem, + medium: 1rem, +); +$closebutton-offset-vertical: ( + small: 0.33em, + medium: 0.5rem, +); +$closebutton-size: ( + small: 1.5em, + medium: 2em, +); +$closebutton-lineheight: 1; +$closebutton-color: $dark-gray; +$closebutton-color-hover: $black; + +// 16. Drilldown +// ------------- + +$drilldown-transition: transform 0.15s linear; +$drilldown-arrows: true; +$drilldown-padding: $global-menu-padding; +$drilldown-nested-margin: 0; +$drilldown-background: $white; +$drilldown-submenu-padding: $drilldown-padding; +$drilldown-submenu-background: $white; +$drilldown-arrow-color: $primary-color; +$drilldown-arrow-size: 6px; + +// 17. Dropdown +// ------------ + +$dropdown-padding: 1rem; +$dropdown-background: $body-background; +$dropdown-border: 1px solid $medium-gray; +$dropdown-font-size: 1rem; +$dropdown-width: 300px; +$dropdown-radius: $global-radius; +$dropdown-sizes: ( + tiny: 100px, + small: 200px, + large: 400px, +); + +// 18. Dropdown Menu +// ----------------- + +$dropdownmenu-arrows: true; +$dropdownmenu-arrow-color: $anchor-color; +$dropdownmenu-arrow-size: 6px; +$dropdownmenu-arrow-padding: 1.5rem; +$dropdownmenu-min-width: 200px; +$dropdownmenu-background: null; +$dropdownmenu-submenu-background: $white; +$dropdownmenu-padding: $global-menu-padding; +$dropdownmenu-nested-margin: 0; +$dropdownmenu-submenu-padding: $dropdownmenu-padding; +$dropdownmenu-border: 1px solid $medium-gray; +$dropdown-menu-item-color-active: get-color(primary); +$dropdown-menu-item-background-active: transparent; + +// 19. Flexbox Utilities +// --------------------- + +$flex-source-ordering-count: 6; +$flexbox-responsive-breakpoints: true; + +// 20. Forms +// --------- + +$fieldset-border: 1px solid $medium-gray; +$fieldset-padding: rem-calc(20); +$fieldset-margin: rem-calc(18 0); +$legend-padding: rem-calc(0 3); +$form-spacing: rem-calc(16); +$helptext-color: $black; +$helptext-font-size: rem-calc(13); +$helptext-font-style: italic; +$input-prefix-color: $black; +$input-prefix-background: $light-gray; +$input-prefix-border: 1px solid $medium-gray; +$input-prefix-padding: 1rem; +$form-label-color: $black; +$form-label-font-size: rem-calc(14); +$form-label-font-weight: $global-weight-normal; +$form-label-line-height: 1.8; +$select-background: $white; +$select-triangle-color: $dark-gray; +$select-radius: $global-radius; +$input-color: $black; +$input-placeholder-color: $medium-gray; +$input-font-family: inherit; +$input-font-size: rem-calc(16); +$input-font-weight: $global-weight-normal; +$input-line-height: $global-lineheight; +$input-background: $white; +$input-background-focus: $white; +$input-background-disabled: $light-gray; +$input-border: 1px solid $medium-gray; +$input-border-focus: 1px solid $dark-gray; +$input-padding: $form-spacing / 2; +$input-shadow: inset 0 1px 2px rgba($black, 0.1); +$input-shadow-focus: 0 0 5px $medium-gray; +$input-cursor-disabled: not-allowed; +$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +$input-number-spinners: true; +$input-radius: $global-radius; +$form-button-radius: $global-radius; + +// 21. Label +// --------- + +$label-background: $primary-color; +$label-color: $white; +$label-color-alt: $black; +$label-palette: $foundation-palette; +$label-font-size: 0.8rem; +$label-padding: 0.33333rem 0.5rem; +$label-radius: $global-radius; + +// 22. Media Object +// ---------------- + +$mediaobject-margin-bottom: $global-margin; +$mediaobject-section-padding: $global-padding; +$mediaobject-image-width-stacked: 100%; + +// 23. Menu +// -------- + +$menu-margin: 0; +$menu-nested-margin: $global-menu-nested-margin; +$menu-items-padding: $global-menu-padding; +$menu-simple-margin: 1rem; +$menu-item-color-active: $white; +$menu-item-background-active: get-color(primary); +$menu-icon-spacing: 0.25rem; +$menu-state-back-compat: true; +$menu-centered-back-compat: true; +$menu-icons-back-compat: true; + +// 24. Meter +// --------- + +$meter-height: 1rem; +$meter-radius: $global-radius; +$meter-background: $medium-gray; +$meter-fill-good: $success-color; +$meter-fill-medium: $warning-color; +$meter-fill-bad: $alert-color; + +// 25. Off-canvas +// -------------- + +$offcanvas-sizes: ( + small: 250px, +); +$offcanvas-vertical-sizes: ( + small: 250px, +); +$offcanvas-background: $light-gray; +$offcanvas-shadow: 0 0 10px rgba($black, 0.7); +$offcanvas-inner-shadow-size: 20px; +$offcanvas-inner-shadow-color: rgba($black, 0.25); +$offcanvas-overlay-zindex: 11; +$offcanvas-push-zindex: 12; +$offcanvas-overlap-zindex: 13; +$offcanvas-reveal-zindex: 12; +$offcanvas-transition-length: 0.5s; +$offcanvas-transition-timing: ease; +$offcanvas-fixed-reveal: true; +$offcanvas-exit-background: rgba($white, 0.25); +$maincontent-class: 'off-canvas-content'; + +// 26. Orbit +// --------- + +$orbit-bullet-background: $medium-gray; +$orbit-bullet-background-active: $dark-gray; +$orbit-bullet-diameter: 1.2rem; +$orbit-bullet-margin: 0.1rem; +$orbit-bullet-margin-top: 0.8rem; +$orbit-bullet-margin-bottom: 0.8rem; +$orbit-caption-background: rgba($black, 0.5); +$orbit-caption-padding: 1rem; +$orbit-control-background-hover: rgba($black, 0.5); +$orbit-control-padding: 1rem; +$orbit-control-zindex: 10; + +// 27. Pagination +// -------------- + +$pagination-font-size: rem-calc(14); +$pagination-margin-bottom: $global-margin; +$pagination-item-color: $black; +$pagination-item-padding: rem-calc(3 10); +$pagination-item-spacing: rem-calc(1); +$pagination-radius: $global-radius; +$pagination-item-background-hover: $light-gray; +$pagination-item-background-current: $primary-color; +$pagination-item-color-current: $white; +$pagination-item-color-disabled: $medium-gray; +$pagination-ellipsis-color: $black; +$pagination-mobile-items: false; +$pagination-mobile-current-item: false; +$pagination-arrows: true; + +// 28. Progress Bar +// ---------------- + +$progress-height: 1rem; +$progress-background: $medium-gray; +$progress-margin-bottom: $global-margin; +$progress-meter-background: $primary-color; +$progress-radius: $global-radius; + +// 29. Prototype Arrow +// ------------------- + +$prototype-arrow-directions: (down, up, right, left); +$prototype-arrow-size: 0.4375rem; +$prototype-arrow-color: $black; + +// 30. Prototype Border-Box +// ------------------------ + +$prototype-border-box-breakpoints: $global-prototype-breakpoints; + +// 31. Prototype Border-None +// ------------------------- + +$prototype-border-none-breakpoints: $global-prototype-breakpoints; + +// 32. Prototype Bordered +// ---------------------- + +$prototype-bordered-breakpoints: $global-prototype-breakpoints; +$prototype-border-width: rem-calc(1); +$prototype-border-type: solid; +$prototype-border-color: $medium-gray; + +// 33. Prototype Display +// --------------------- + +$prototype-display-breakpoints: $global-prototype-breakpoints; +$prototype-display: (inline, inline-block, block, table, table-cell); + +// 34. Prototype Font-Styling +// -------------------------- + +$prototype-font-breakpoints: $global-prototype-breakpoints; +$prototype-wide-letter-spacing: rem-calc(4); +$prototype-font-normal: $global-weight-normal; +$prototype-font-bold: $global-weight-bold; + +// 35. Prototype List-Style-Type +// ----------------------------- + +$prototype-list-breakpoints: $global-prototype-breakpoints; +$prototype-style-type-unordered: (disc, circle, square); +$prototype-style-type-ordered: ( + decimal, + lower-alpha, + lower-latin, + lower-roman, + upper-alpha, + upper-latin, + upper-roman +); + +// 36. Prototype Overflow +// ---------------------- + +$prototype-overflow-breakpoints: $global-prototype-breakpoints; +$prototype-overflow: (visible, hidden, scroll); + +// 37. Prototype Position +// ---------------------- + +$prototype-position-breakpoints: $global-prototype-breakpoints; +$prototype-position: (static, relative, absolute, fixed); +$prototype-position-z-index: 975; + +// 38. Prototype Rounded +// --------------------- + +$prototype-rounded-breakpoints: $global-prototype-breakpoints; +$prototype-border-radius: rem-calc(3); + +// 39. Prototype Separator +// ----------------------- + +$prototype-separator-breakpoints: $global-prototype-breakpoints; +$prototype-separator-align: center; +$prototype-separator-height: rem-calc(2); +$prototype-separator-width: 3rem; +$prototype-separator-background: $primary-color; +$prototype-separator-margin-top: $global-margin; + +// 40. Prototype Shadow +// -------------------- + +$prototype-shadow-breakpoints: $global-prototype-breakpoints; +$prototype-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), + 0 2px 10px 0 rgba(0, 0, 0, 0.12); + +// 41. Prototype Sizing +// -------------------- + +$prototype-sizing-breakpoints: $global-prototype-breakpoints; +$prototype-sizing: (width, height); +$prototype-sizes: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100%, +); + +// 42. Prototype Spacing +// --------------------- + +$prototype-spacing-breakpoints: $global-prototype-breakpoints; +$prototype-spacers-count: 3; + +// 43. Prototype Text-Decoration +// ----------------------------- + +$prototype-decoration-breakpoints: $global-prototype-breakpoints; +$prototype-text-decoration: (overline, underline, line-through); + +// 44. Prototype Text-Transformation +// --------------------------------- + +$prototype-transformation-breakpoints: $global-prototype-breakpoints; +$prototype-text-transformation: (lowercase, uppercase, capitalize); + +// 45. Prototype Text-Utilities +// ---------------------------- + +$prototype-utilities-breakpoints: $global-prototype-breakpoints; +$prototype-text-overflow: ellipsis; + +// 46. Responsive Embed +// -------------------- + +$responsive-embed-margin-bottom: rem-calc(16); +$responsive-embed-ratios: ( + default: 4 by 3, + widescreen: 16 by 9, +); + +// 47. Reveal +// ---------- + +$reveal-background: $white; +$reveal-width: 600px; +$reveal-max-width: $global-width; +$reveal-padding: $global-padding; +$reveal-border: 1px solid $medium-gray; +$reveal-radius: $global-radius; +$reveal-zindex: 1005; +$reveal-overlay-background: rgba($black, 0.45); + +// 48. Slider +// ---------- + +$slider-width-vertical: 0.5rem; +$slider-transition: all 0.2s ease-in-out; +$slider-height: 0.5rem; +$slider-background: $light-gray; +$slider-fill-background: $medium-gray; +$slider-handle-height: 1.4rem; +$slider-handle-width: 1.4rem; +$slider-handle-background: $primary-color; +$slider-opacity-disabled: 0.25; +$slider-radius: $global-radius; + +// 49. Switch +// ---------- + +$switch-background: $medium-gray; +$switch-background-active: $primary-color; +$switch-height: 2rem; +$switch-height-tiny: 1.5rem; +$switch-height-small: 1.75rem; +$switch-height-large: 2.5rem; +$switch-radius: $global-radius; +$switch-margin: $global-margin; +$switch-paddle-background: $white; +$switch-paddle-offset: 0.25rem; +$switch-paddle-radius: $global-radius; +$switch-paddle-transition: all 0.25s ease-out; + +// 50. Table +// --------- + +$table-background: $white; +$table-color-scale: 5%; +$table-border: 1px solid smart-scale($table-background, $table-color-scale); +$table-padding: rem-calc(8 10 10); +$table-hover-scale: 2%; +$table-row-hover: darken($table-background, $table-hover-scale); +$table-row-stripe-hover: darken( + $table-background, + $table-color-scale + $table-hover-scale +); +$table-is-striped: true; +$table-striped-background: smart-scale($table-background, $table-color-scale); +$table-stripe: even; +$table-head-background: smart-scale($table-background, $table-color-scale / 2); +$table-head-row-hover: darken($table-head-background, $table-hover-scale); +$table-foot-background: smart-scale($table-background, $table-color-scale); +$table-foot-row-hover: darken($table-foot-background, $table-hover-scale); +$table-head-font-color: $body-font-color; +$table-foot-font-color: $body-font-color; +$show-header-for-stacked: false; +$table-stack-breakpoint: medium; + +// 51. Tabs +// -------- + +$tab-margin: 0; +$tab-background: $white; +$tab-color: $primary-color; +$tab-background-active: $light-gray; +$tab-active-color: $primary-color; +$tab-item-font-size: rem-calc(12); +$tab-item-background-hover: $white; +$tab-item-padding: 1.25rem 1.5rem; +$tab-content-background: $white; +$tab-content-border: $light-gray; +$tab-content-color: $body-font-color; +$tab-content-padding: 1rem; + +// 52. Thumbnail +// ------------- + +$thumbnail-border: 4px solid $white; +$thumbnail-margin-bottom: $global-margin; +$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2); +$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5); +$thumbnail-transition: box-shadow 200ms ease-out; +$thumbnail-radius: $global-radius; + +// 53. Title Bar +// ------------- + +$titlebar-background: $black; +$titlebar-color: $white; +$titlebar-padding: 0.5rem; +$titlebar-text-font-weight: bold; +$titlebar-icon-color: $white; +$titlebar-icon-color-hover: $medium-gray; +$titlebar-icon-spacing: 0.25rem; + +// 54. Tooltip +// ----------- + +$has-tip-cursor: help; +$has-tip-font-weight: $global-weight-bold; +$has-tip-border-bottom: dotted 1px $dark-gray; +$tooltip-background-color: $black; +$tooltip-color: $white; +$tooltip-padding: 0.75rem; +$tooltip-max-width: 10rem; +$tooltip-font-size: $small-font-size; +$tooltip-pip-width: 0.75rem; +$tooltip-pip-height: $tooltip-pip-width * 0.866; +$tooltip-radius: $global-radius; + +// 55. Top Bar +// ----------- + +$topbar-padding: 0.5rem; +$topbar-background: $light-gray; +$topbar-submenu-background: $topbar-background; +$topbar-title-spacing: 0.5rem 1rem 0.5rem 0; +$topbar-input-width: 200px; +$topbar-unstack-breakpoint: medium; + +// 56. Xy Grid +// ----------- + +$xy-grid: true; +$grid-container: $global-width; +$grid-columns: 12; +$grid-margin-gutters: $space-x; +$grid-padding-gutters: $grid-margin-gutters; +$grid-container-padding: $grid-padding-gutters; +$grid-container-max: $global-width; +$xy-block-grid-max: 8; diff --git a/libraries/it-osu-pl-drupal/composer.json b/libraries/it-osu-pl-drupal/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..8f202e3167a6ff527443cc2cfc28ce4baeea3358 --- /dev/null +++ b/libraries/it-osu-pl-drupal/composer.json @@ -0,0 +1,15 @@ +{ + "name": "it-osu-web/it-osu-pl-drupal", + "description": "IT@OSU Pattern Lab assets for Drupal 8 theming", + "type": "design-system", + "require": { + "composer/installers": "^1.6" + }, + "license": "MIT", + "authors": [ + { + "name": "M Miller", + "email": "miller.2676@gmail.com" + } + ] +} diff --git a/libraries/it-osu-pl-drupal/css/style.css b/libraries/it-osu-pl-drupal/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..58a047a181e02a6360a9467a34a9f8929753a5ee --- /dev/null +++ b/libraries/it-osu-pl-drupal/css/style.css @@ -0,0 +1,4 @@ +@charset "UTF-8";@media print,screen and (min-width:40em){.reveal,.reveal.large,.reveal.small,.reveal.tiny{right:auto;left:auto;margin:0 auto}} + +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=60em&xlarge=80em&xxlarge=90em"}html{font-size:100%}body{margin:0;padding:0;background:#fff;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5;color:#202024;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{box-sizing:border-box;width:100%}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput=mouse] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block!important}.is-hidden{display:none!important}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #ccc;border-radius:0;background-color:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#000;-webkit-transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{outline:none;border:1px solid #303033;background-color:#fff;box-shadow:0 0 5px #ccc;-webkit-transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#eaeaea;cursor:not-allowed}[type=button],[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type=search]{box-sizing:border-box}::-webkit-input-placeholder{color:#ccc}::-moz-placeholder{color:#ccc}:-ms-input-placeholder{color:#ccc}::-ms-input-placeholder{color:#ccc}::placeholder{color:#ccc}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#000}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#000}.input-group{display:-webkit-box;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:first-child.input-group-button>*,.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 0 0 0}.input-group-button,.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label,.input-group-field,.input-group-label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #ccc;background:#eaeaea;color:#000;text-align:center;white-space:nowrap;display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto}.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label{align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #ccc}.fieldset legend{margin:0 0 0 -.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ccc;border-radius:0;background-color:#fff;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2848, 48, 51%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding:.5rem 1.5rem .5rem .5rem;-webkit-transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #303033;background-color:#fff;box-shadow:0 0 5px #ccc;-webkit-transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}select:disabled{background-color:#eaeaea;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#851e5e;background-color:#f3e9ef}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#851e5e}.is-invalid-input:not(:focus)::-moz-placeholder{color:#851e5e}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#851e5e}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#851e5e}.is-invalid-input:not(:focus)::placeholder{color:#851e5e}.form-error,.is-invalid-label{color:#851e5e}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:85%;line-height:inherit}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:600;color:#202024;text-rendering:optimizeLegibility}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{line-height:0;color:#666}.h1,h1{font-size:1.5rem;line-height:1.2}.h1,.h2,h1,h2{margin-top:0;margin-bottom:1.25rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.1875rem}.h3,.h4,h3,h4{margin-top:0;margin-bottom:1.25rem}.h4,h4{font-size:1.125rem}.h5,h5{font-size:1.0625rem}.h5,.h6,h5,h6{margin-top:0;margin-bottom:1.25rem}.h6,h6{font-size:1rem}@media print,screen and (min-width:40em){.h1,h1{font-size:3rem}.h2,h2{font-size:2.5rem}.h3,h3{font-size:1.9375rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{line-height:inherit;color:#b00;text-decoration:none;cursor:pointer}a:focus,a:hover{color:#a10000}a img,hr{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-bottom:1px solid #ccc}dl,ol,ul{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ccc}blockquote,blockquote p{line-height:1.6;color:#303033}cite{display:block;font-size:.8125rem;color:#303033}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #000;cursor:help;text-decoration:none}code{padding:.125rem .3125rem;border:none;background-color:none;font-weight:400}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#000}kbd{margin:0;padding:.125rem .25rem 0;background-color:#eaeaea}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#303033}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ol.no-bullet,ul.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print,screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print,screen and (min-width:60em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}@media screen and (min-width:80em){.xlarge-text-left{text-align:left}.xlarge-text-right{text-align:right}.xlarge-text-center{text-align:center}.xlarge-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #303033;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{max-width:75rem}.grid-container,.grid-container.fluid{padding-right:.8125rem;padding-left:.8125rem;margin-left:auto;margin-right:auto}.grid-container.fluid{max-width:100%}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.cell{-webkit-box-flex:0;flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{-webkit-box-flex:1;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-x>.auto,.grid-x>.shrink{width:auto}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-full,.grid-x>.small-shrink{flex-basis:auto}@media print,screen and (min-width:40em){.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-full,.grid-x>.medium-shrink{flex-basis:auto}}@media print,screen and (min-width:60em){.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-full,.grid-x>.large-shrink{flex-basis:auto}}@media screen and (min-width:80em){.grid-x>.xlarge-1,.grid-x>.xlarge-2,.grid-x>.xlarge-3,.grid-x>.xlarge-4,.grid-x>.xlarge-5,.grid-x>.xlarge-6,.grid-x>.xlarge-7,.grid-x>.xlarge-8,.grid-x>.xlarge-9,.grid-x>.xlarge-10,.grid-x>.xlarge-11,.grid-x>.xlarge-12,.grid-x>.xlarge-full,.grid-x>.xlarge-shrink{flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-box-flex:0;flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width:40em){.grid-x>.medium-auto{-webkit-box-flex:1;flex:1 1 0px;width:auto}.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width:60em){.grid-x>.large-auto{-webkit-box-flex:1;flex:1 1 0px;width:auto}.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}@media screen and (min-width:80em){.grid-x>.xlarge-auto{-webkit-box-flex:1;flex:1 1 0px;width:auto}.grid-x>.xlarge-1,.grid-x>.xlarge-2,.grid-x>.xlarge-3,.grid-x>.xlarge-4,.grid-x>.xlarge-5,.grid-x>.xlarge-6,.grid-x>.xlarge-7,.grid-x>.xlarge-8,.grid-x>.xlarge-9,.grid-x>.xlarge-10,.grid-x>.xlarge-11,.grid-x>.xlarge-12,.grid-x>.xlarge-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-x>.xlarge-shrink{width:auto}.grid-x>.xlarge-1{width:8.33333%}.grid-x>.xlarge-2{width:16.66667%}.grid-x>.xlarge-3{width:25%}.grid-x>.xlarge-4{width:33.33333%}.grid-x>.xlarge-5{width:41.66667%}.grid-x>.xlarge-6{width:50%}.grid-x>.xlarge-7{width:58.33333%}.grid-x>.xlarge-8{width:66.66667%}.grid-x>.xlarge-9{width:75%}.grid-x>.xlarge-10{width:83.33333%}.grid-x>.xlarge-11{width:91.66667%}.grid-x>.xlarge-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.8125rem;margin-right:-.8125rem}.grid-margin-x>.cell{width:calc(100% - 1.625rem);margin-left:.8125rem;margin-right:.8125rem}.grid-margin-x>.auto,.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.625rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.625rem)}.grid-margin-x>.small-3{width:calc(25% - 1.625rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.625rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.625rem)}.grid-margin-x>.small-6{width:calc(50% - 1.625rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.625rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.625rem)}.grid-margin-x>.small-9{width:calc(75% - 1.625rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.625rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.625rem)}.grid-margin-x>.small-12{width:calc(100% - 1.625rem)}@media print,screen and (min-width:40em){.grid-margin-x>.medium-auto,.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.625rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.625rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.625rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.625rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.625rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.625rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.625rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.625rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.625rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.625rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.625rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.625rem)}}@media print,screen and (min-width:60em){.grid-margin-x>.large-auto,.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.625rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.625rem)}.grid-margin-x>.large-3{width:calc(25% - 1.625rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.625rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.625rem)}.grid-margin-x>.large-6{width:calc(50% - 1.625rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.625rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.625rem)}.grid-margin-x>.large-9{width:calc(75% - 1.625rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.625rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.625rem)}.grid-margin-x>.large-12{width:calc(100% - 1.625rem)}}@media screen and (min-width:80em){.grid-margin-x>.xlarge-auto,.grid-margin-x>.xlarge-shrink{width:auto}.grid-margin-x>.xlarge-1{width:calc(8.33333% - 1.625rem)}.grid-margin-x>.xlarge-2{width:calc(16.66667% - 1.625rem)}.grid-margin-x>.xlarge-3{width:calc(25% - 1.625rem)}.grid-margin-x>.xlarge-4{width:calc(33.33333% - 1.625rem)}.grid-margin-x>.xlarge-5{width:calc(41.66667% - 1.625rem)}.grid-margin-x>.xlarge-6{width:calc(50% - 1.625rem)}.grid-margin-x>.xlarge-7{width:calc(58.33333% - 1.625rem)}.grid-margin-x>.xlarge-8{width:calc(66.66667% - 1.625rem)}.grid-margin-x>.xlarge-9{width:calc(75% - 1.625rem)}.grid-margin-x>.xlarge-10{width:calc(83.33333% - 1.625rem)}.grid-margin-x>.xlarge-11{width:calc(91.66667% - 1.625rem)}.grid-margin-x>.xlarge-12{width:calc(100% - 1.625rem)}}.grid-container:not(.full)>.grid-padding-x,.grid-padding-x .grid-padding-x{margin-right:-.8125rem;margin-left:-.8125rem}.grid-padding-x>.cell{padding-right:.8125rem;padding-left:.8125rem}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width:40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width:60em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}@media screen and (min-width:80em){.xlarge-up-1>.cell{width:100%}.xlarge-up-2>.cell{width:50%}.xlarge-up-3>.cell{width:33.33333%}.xlarge-up-4>.cell{width:25%}.xlarge-up-5>.cell{width:20%}.xlarge-up-6>.cell{width:16.66667%}.xlarge-up-7>.cell{width:14.28571%}.xlarge-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.625rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.625rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.625rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.625rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.625rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.625rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.625rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.625rem)}@media print,screen and (min-width:40em){.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.625rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.625rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.625rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.625rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.625rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.625rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.625rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.625rem)}}@media print,screen and (min-width:60em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.625rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.625rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.625rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.625rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.625rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.625rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.625rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.625rem)}}@media screen and (min-width:80em){.grid-margin-x.xlarge-up-1>.cell{width:calc(100% - 1.625rem)}.grid-margin-x.xlarge-up-2>.cell{width:calc(50% - 1.625rem)}.grid-margin-x.xlarge-up-3>.cell{width:calc(33.33333% - 1.625rem)}.grid-margin-x.xlarge-up-4>.cell{width:calc(25% - 1.625rem)}.grid-margin-x.xlarge-up-5>.cell{width:calc(20% - 1.625rem)}.grid-margin-x.xlarge-up-6>.cell{width:calc(16.66667% - 1.625rem)}.grid-margin-x.xlarge-up-7>.cell{width:calc(14.28571% - 1.625rem)}.grid-margin-x.xlarge-up-8>.cell{width:calc(12.5% - 1.625rem)}}.small-margin-collapse,.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width:40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:60em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}@media screen and (min-width:80em){.small-margin-collapse>.xlarge-1{width:8.33333%}.small-margin-collapse>.xlarge-2{width:16.66667%}.small-margin-collapse>.xlarge-3{width:25%}.small-margin-collapse>.xlarge-4{width:33.33333%}.small-margin-collapse>.xlarge-5{width:41.66667%}.small-margin-collapse>.xlarge-6{width:50%}.small-margin-collapse>.xlarge-7{width:58.33333%}.small-margin-collapse>.xlarge-8{width:66.66667%}.small-margin-collapse>.xlarge-9{width:75%}.small-margin-collapse>.xlarge-10{width:83.33333%}.small-margin-collapse>.xlarge-11{width:91.66667%}.small-margin-collapse>.xlarge-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print,screen and (min-width:40em){.medium-margin-collapse,.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width:40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:60em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media screen and (min-width:80em){.medium-margin-collapse>.xlarge-1{width:8.33333%}.medium-margin-collapse>.xlarge-2{width:16.66667%}.medium-margin-collapse>.xlarge-3{width:25%}.medium-margin-collapse>.xlarge-4{width:33.33333%}.medium-margin-collapse>.xlarge-5{width:41.66667%}.medium-margin-collapse>.xlarge-6{width:50%}.medium-margin-collapse>.xlarge-7{width:58.33333%}.medium-margin-collapse>.xlarge-8{width:66.66667%}.medium-margin-collapse>.xlarge-9{width:75%}.medium-margin-collapse>.xlarge-10{width:83.33333%}.medium-margin-collapse>.xlarge-11{width:91.66667%}.medium-margin-collapse>.xlarge-12{width:100%}}@media print,screen and (min-width:40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print,screen and (min-width:60em){.large-margin-collapse,.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width:60em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:60em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:60em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media screen and (min-width:80em){.large-margin-collapse>.xlarge-1{width:8.33333%}.large-margin-collapse>.xlarge-2{width:16.66667%}.large-margin-collapse>.xlarge-3{width:25%}.large-margin-collapse>.xlarge-4{width:33.33333%}.large-margin-collapse>.xlarge-5{width:41.66667%}.large-margin-collapse>.xlarge-6{width:50%}.large-margin-collapse>.xlarge-7{width:58.33333%}.large-margin-collapse>.xlarge-8{width:66.66667%}.large-margin-collapse>.xlarge-9{width:75%}.large-margin-collapse>.xlarge-10{width:83.33333%}.large-margin-collapse>.xlarge-11{width:91.66667%}.large-margin-collapse>.xlarge-12{width:100%}}@media print,screen and (min-width:60em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}@media screen and (min-width:80em){.xlarge-margin-collapse,.xlarge-margin-collapse>.cell{margin-right:0;margin-left:0}}@media screen and (min-width:80em){.xlarge-margin-collapse>.small-1{width:8.33333%}.xlarge-margin-collapse>.small-2{width:16.66667%}.xlarge-margin-collapse>.small-3{width:25%}.xlarge-margin-collapse>.small-4{width:33.33333%}.xlarge-margin-collapse>.small-5{width:41.66667%}.xlarge-margin-collapse>.small-6{width:50%}.xlarge-margin-collapse>.small-7{width:58.33333%}.xlarge-margin-collapse>.small-8{width:66.66667%}.xlarge-margin-collapse>.small-9{width:75%}.xlarge-margin-collapse>.small-10{width:83.33333%}.xlarge-margin-collapse>.small-11{width:91.66667%}.xlarge-margin-collapse>.small-12{width:100%}}@media screen and (min-width:80em){.xlarge-margin-collapse>.medium-1{width:8.33333%}.xlarge-margin-collapse>.medium-2{width:16.66667%}.xlarge-margin-collapse>.medium-3{width:25%}.xlarge-margin-collapse>.medium-4{width:33.33333%}.xlarge-margin-collapse>.medium-5{width:41.66667%}.xlarge-margin-collapse>.medium-6{width:50%}.xlarge-margin-collapse>.medium-7{width:58.33333%}.xlarge-margin-collapse>.medium-8{width:66.66667%}.xlarge-margin-collapse>.medium-9{width:75%}.xlarge-margin-collapse>.medium-10{width:83.33333%}.xlarge-margin-collapse>.medium-11{width:91.66667%}.xlarge-margin-collapse>.medium-12{width:100%}}@media screen and (min-width:80em){.xlarge-margin-collapse>.large-1{width:8.33333%}.xlarge-margin-collapse>.large-2{width:16.66667%}.xlarge-margin-collapse>.large-3{width:25%}.xlarge-margin-collapse>.large-4{width:33.33333%}.xlarge-margin-collapse>.large-5{width:41.66667%}.xlarge-margin-collapse>.large-6{width:50%}.xlarge-margin-collapse>.large-7{width:58.33333%}.xlarge-margin-collapse>.large-8{width:66.66667%}.xlarge-margin-collapse>.large-9{width:75%}.xlarge-margin-collapse>.large-10{width:83.33333%}.xlarge-margin-collapse>.large-11{width:91.66667%}.xlarge-margin-collapse>.large-12{width:100%}}@media screen and (min-width:80em){.xlarge-margin-collapse>.xlarge-1{width:8.33333%}.xlarge-margin-collapse>.xlarge-2{width:16.66667%}.xlarge-margin-collapse>.xlarge-3{width:25%}.xlarge-margin-collapse>.xlarge-4{width:33.33333%}.xlarge-margin-collapse>.xlarge-5{width:41.66667%}.xlarge-margin-collapse>.xlarge-6{width:50%}.xlarge-margin-collapse>.xlarge-7{width:58.33333%}.xlarge-margin-collapse>.xlarge-8{width:66.66667%}.xlarge-margin-collapse>.xlarge-9{width:75%}.xlarge-margin-collapse>.xlarge-10{width:83.33333%}.xlarge-margin-collapse>.xlarge-11{width:91.66667%}.xlarge-margin-collapse>.xlarge-12{width:100%}}@media screen and (min-width:80em){.xlarge-padding-collapse{margin-right:0;margin-left:0}.xlarge-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0}.grid-margin-x>.small-offset-0{margin-left:.8125rem}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .8125rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .8125rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .8125rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .8125rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .8125rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .8125rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .8125rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .8125rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .8125rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .8125rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .8125rem)}@media print,screen and (min-width:40em){.medium-offset-0{margin-left:0}.grid-margin-x>.medium-offset-0{margin-left:.8125rem}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .8125rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .8125rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .8125rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .8125rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .8125rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .8125rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .8125rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .8125rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .8125rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .8125rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .8125rem)}}@media print,screen and (min-width:60em){.large-offset-0{margin-left:0}.grid-margin-x>.large-offset-0{margin-left:.8125rem}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .8125rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .8125rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .8125rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .8125rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .8125rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .8125rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .8125rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .8125rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .8125rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .8125rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .8125rem)}}@media screen and (min-width:80em){.xlarge-offset-0{margin-left:0}.grid-margin-x>.xlarge-offset-0{margin-left:.8125rem}.xlarge-offset-1{margin-left:8.33333%}.grid-margin-x>.xlarge-offset-1{margin-left:calc(8.33333% + .8125rem)}.xlarge-offset-2{margin-left:16.66667%}.grid-margin-x>.xlarge-offset-2{margin-left:calc(16.66667% + .8125rem)}.xlarge-offset-3{margin-left:25%}.grid-margin-x>.xlarge-offset-3{margin-left:calc(25% + .8125rem)}.xlarge-offset-4{margin-left:33.33333%}.grid-margin-x>.xlarge-offset-4{margin-left:calc(33.33333% + .8125rem)}.xlarge-offset-5{margin-left:41.66667%}.grid-margin-x>.xlarge-offset-5{margin-left:calc(41.66667% + .8125rem)}.xlarge-offset-6{margin-left:50%}.grid-margin-x>.xlarge-offset-6{margin-left:calc(50% + .8125rem)}.xlarge-offset-7{margin-left:58.33333%}.grid-margin-x>.xlarge-offset-7{margin-left:calc(58.33333% + .8125rem)}.xlarge-offset-8{margin-left:66.66667%}.grid-margin-x>.xlarge-offset-8{margin-left:calc(66.66667% + .8125rem)}.xlarge-offset-9{margin-left:75%}.grid-margin-x>.xlarge-offset-9{margin-left:calc(75% + .8125rem)}.xlarge-offset-10{margin-left:83.33333%}.grid-margin-x>.xlarge-offset-10{margin-left:calc(83.33333% + .8125rem)}.xlarge-offset-11{margin-left:91.66667%}.grid-margin-x>.xlarge-offset-11{margin-left:calc(91.66667% + .8125rem)}}.grid-y{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column nowrap}.grid-y>.cell{width:auto;max-width:none}.grid-y>.auto,.grid-y>.shrink{height:auto}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-full,.grid-y>.small-shrink{flex-basis:auto}@media print,screen and (min-width:40em){.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-full,.grid-y>.medium-shrink{flex-basis:auto}}@media print,screen and (min-width:60em){.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-full,.grid-y>.large-shrink{flex-basis:auto}}@media screen and (min-width:80em){.grid-y>.xlarge-1,.grid-y>.xlarge-2,.grid-y>.xlarge-3,.grid-y>.xlarge-4,.grid-y>.xlarge-5,.grid-y>.xlarge-6,.grid-y>.xlarge-7,.grid-y>.xlarge-8,.grid-y>.xlarge-9,.grid-y>.xlarge-10,.grid-y>.xlarge-11,.grid-y>.xlarge-12,.grid-y>.xlarge-full,.grid-y>.xlarge-shrink{flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-box-flex:0;flex:0 0 auto}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width:40em){.grid-y>.medium-auto{-webkit-box-flex:1;flex:1 1 0px;height:auto}.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width:60em){.grid-y>.large-auto{-webkit-box-flex:1;flex:1 1 0px;height:auto}.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}@media screen and (min-width:80em){.grid-y>.xlarge-auto{-webkit-box-flex:1;flex:1 1 0px;height:auto}.grid-y>.xlarge-1,.grid-y>.xlarge-2,.grid-y>.xlarge-3,.grid-y>.xlarge-4,.grid-y>.xlarge-5,.grid-y>.xlarge-6,.grid-y>.xlarge-7,.grid-y>.xlarge-8,.grid-y>.xlarge-9,.grid-y>.xlarge-10,.grid-y>.xlarge-11,.grid-y>.xlarge-12,.grid-y>.xlarge-shrink{-webkit-box-flex:0;flex:0 0 auto}.grid-y>.xlarge-shrink{height:auto}.grid-y>.xlarge-1{height:8.33333%}.grid-y>.xlarge-2{height:16.66667%}.grid-y>.xlarge-3{height:25%}.grid-y>.xlarge-4{height:33.33333%}.grid-y>.xlarge-5{height:41.66667%}.grid-y>.xlarge-6{height:50%}.grid-y>.xlarge-7{height:58.33333%}.grid-y>.xlarge-8{height:66.66667%}.grid-y>.xlarge-9{height:75%}.grid-y>.xlarge-10{height:83.33333%}.grid-y>.xlarge-11{height:91.66667%}.grid-y>.xlarge-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.8125rem;margin-bottom:-.8125rem}.grid-padding-y>.cell{padding-top:.8125rem;padding-bottom:.8125rem}.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%}.cell-block,.cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%}.cell-block-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}@media print,screen and (min-width:40em){.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print,screen and (min-width:60em){.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media screen and (min-width:80em){.xlarge-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;width:100vw}.cell .xlarge-grid-frame{width:100%}.xlarge-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.xlarge-cell-block-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:100%}.xlarge-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.xlarge-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;height:100vh}@media print,screen and (min-width:40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;height:100vh}}@media print,screen and (min-width:60em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;height:100vh}}@media screen and (min-width:80em){.grid-y.xlarge-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width:40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width:60em){.cell .grid-y.large-grid-frame{height:100%}}@media screen and (min-width:80em){.cell .grid-y.xlarge-grid-frame{height:100%}}.grid-margin-y{margin-top:-.8125rem;margin-bottom:-.8125rem}.grid-margin-y>.cell{height:calc(100% - 1.625rem);margin-top:.8125rem;margin-bottom:.8125rem}.grid-margin-y>.auto,.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.625rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.625rem)}.grid-margin-y>.small-3{height:calc(25% - 1.625rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.625rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.625rem)}.grid-margin-y>.small-6{height:calc(50% - 1.625rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.625rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.625rem)}.grid-margin-y>.small-9{height:calc(75% - 1.625rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.625rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.625rem)}.grid-margin-y>.small-12{height:calc(100% - 1.625rem)}@media print,screen and (min-width:40em){.grid-margin-y>.medium-auto,.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.625rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.625rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.625rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.625rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.625rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.625rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.625rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.625rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.625rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.625rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.625rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.625rem)}}@media print,screen and (min-width:60em){.grid-margin-y>.large-auto,.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.625rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.625rem)}.grid-margin-y>.large-3{height:calc(25% - 1.625rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.625rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.625rem)}.grid-margin-y>.large-6{height:calc(50% - 1.625rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.625rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.625rem)}.grid-margin-y>.large-9{height:calc(75% - 1.625rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.625rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.625rem)}.grid-margin-y>.large-12{height:calc(100% - 1.625rem)}}@media screen and (min-width:80em){.grid-margin-y>.xlarge-auto,.grid-margin-y>.xlarge-shrink{height:auto}.grid-margin-y>.xlarge-1{height:calc(8.33333% - 1.625rem)}.grid-margin-y>.xlarge-2{height:calc(16.66667% - 1.625rem)}.grid-margin-y>.xlarge-3{height:calc(25% - 1.625rem)}.grid-margin-y>.xlarge-4{height:calc(33.33333% - 1.625rem)}.grid-margin-y>.xlarge-5{height:calc(41.66667% - 1.625rem)}.grid-margin-y>.xlarge-6{height:calc(50% - 1.625rem)}.grid-margin-y>.xlarge-7{height:calc(58.33333% - 1.625rem)}.grid-margin-y>.xlarge-8{height:calc(66.66667% - 1.625rem)}.grid-margin-y>.xlarge-9{height:calc(75% - 1.625rem)}.grid-margin-y>.xlarge-10{height:calc(83.33333% - 1.625rem)}.grid-margin-y>.xlarge-11{height:calc(91.66667% - 1.625rem)}.grid-margin-y>.xlarge-12{height:calc(100% - 1.625rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.625rem)}@media print,screen and (min-width:40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.625rem)}}@media print,screen and (min-width:60em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.625rem)}}@media screen and (min-width:80em){.grid-margin-y.xlarge-grid-frame{height:calc(100vh + 1.625rem)}}.button{vertical-align:middle;margin:0 0 1rem;padding:.85em 1em;border:1px solid transparent;border-radius:0;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:.9rem;-webkit-appearance:none;line-height:1}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#9f0000;color:#fff}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#b00;color:#fff}.button.primary:focus,.button.primary:hover{background-color:#960000;color:#fff}.button.secondary{background-color:#666;color:#fff}.button.secondary:focus,.button.secondary:hover{background-color:#525252;color:#fff}.button.success{background-color:#1c7c89;color:#fff}.button.success:focus,.button.success:hover{background-color:#16636e;color:#fff}.button.warning{background-color:#d65828;color:#000}.button.warning:focus,.button.warning:hover{background-color:#ab4620;color:#000}.button.alert{background-color:#851e5e;color:#fff}.button.alert:focus,.button.alert:hover{background-color:#6a184b;color:#fff}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover{background-color:#b00;color:#fff}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.button.disabled.primary:focus,.button.disabled.primary:hover,.button[disabled].primary,.button[disabled].primary:focus,.button[disabled].primary:hover{background-color:#b00;color:#fff}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.button.disabled.secondary:focus,.button.disabled.secondary:hover,.button[disabled].secondary,.button[disabled].secondary:focus,.button[disabled].secondary:hover{background-color:#666;color:#fff}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.button.disabled.success:focus,.button.disabled.success:hover,.button[disabled].success,.button[disabled].success:focus,.button[disabled].success:hover{background-color:#1c7c89;color:#fff}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.button.disabled.warning:focus,.button.disabled.warning:hover,.button[disabled].warning,.button[disabled].warning:focus,.button[disabled].warning:hover{background-color:#d65828;color:#000}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.button.disabled.alert:focus,.button.disabled.alert:hover,.button[disabled].alert,.button[disabled].alert:focus,.button[disabled].alert:hover{background-color:#851e5e;color:#fff}.button.hollow{border:1px solid #b00;color:#b00}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#5e0000;color:#5e0000}.button.hollow.primary,.button.hollow:focus.disabled,.button.hollow:focus[disabled],.button.hollow:hover.disabled,.button.hollow:hover[disabled]{border:1px solid #b00;color:#b00}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#5e0000;color:#5e0000}.button.hollow.primary:focus.disabled,.button.hollow.primary:focus[disabled],.button.hollow.primary:hover.disabled,.button.hollow.primary:hover[disabled]{border:1px solid #b00;color:#b00}.button.hollow.secondary{border:1px solid #666;color:#666}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#333;color:#333}.button.hollow.secondary:focus.disabled,.button.hollow.secondary:focus[disabled],.button.hollow.secondary:hover.disabled,.button.hollow.secondary:hover[disabled]{border:1px solid #666;color:#666}.button.hollow.success{border:1px solid #1c7c89;color:#1c7c89}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#0e3e45;color:#0e3e45}.button.hollow.success:focus.disabled,.button.hollow.success:focus[disabled],.button.hollow.success:hover.disabled,.button.hollow.success:hover[disabled]{border:1px solid #1c7c89;color:#1c7c89}.button.hollow.warning{border:1px solid #d65828;color:#d65828}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#6b2c14;color:#6b2c14}.button.hollow.warning:focus.disabled,.button.hollow.warning:focus[disabled],.button.hollow.warning:hover.disabled,.button.hollow.warning:hover[disabled]{border:1px solid #d65828;color:#d65828}.button.hollow.alert{border:1px solid #851e5e;color:#851e5e}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#430f2f;color:#430f2f}.button.hollow.alert:focus.disabled,.button.hollow.alert:focus[disabled],.button.hollow.alert:hover.disabled,.button.hollow.alert:hover[disabled]{border:1px solid #851e5e;color:#851e5e}.button.clear{border:1px solid #b00;color:#b00}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{background-color:transparent}.button.clear:focus,.button.clear:hover{border-color:#5e0000;color:#5e0000}.button.clear:focus.disabled,.button.clear:focus[disabled],.button.clear:hover.disabled,.button.clear:hover[disabled]{border:1px solid #b00;color:#b00}.button.clear,.button.clear.disabled,.button.clear:focus,.button.clear:focus.disabled,.button.clear:focus[disabled],.button.clear:hover,.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear[disabled]{border-color:transparent}.button.clear.primary{border:1px solid #b00;color:#b00}.button.clear.primary:focus,.button.clear.primary:hover{border-color:#5e0000;color:#5e0000}.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled],.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled]{border:1px solid #b00;color:#b00}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary:focus,.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled],.button.clear.primary:hover,.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary[disabled]{border-color:transparent}.button.clear.secondary{border:1px solid #666;color:#666}.button.clear.secondary:focus,.button.clear.secondary:hover{border-color:#333;color:#333}.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled],.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled]{border:1px solid #666;color:#666}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary:focus,.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled],.button.clear.secondary:hover,.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary[disabled]{border-color:transparent}.button.clear.success{border:1px solid #1c7c89;color:#1c7c89}.button.clear.success:focus,.button.clear.success:hover{border-color:#0e3e45;color:#0e3e45}.button.clear.success:focus.disabled,.button.clear.success:focus[disabled],.button.clear.success:hover.disabled,.button.clear.success:hover[disabled]{border:1px solid #1c7c89;color:#1c7c89}.button.clear.success,.button.clear.success.disabled,.button.clear.success:focus,.button.clear.success:focus.disabled,.button.clear.success:focus[disabled],.button.clear.success:hover,.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success[disabled]{border-color:transparent}.button.clear.warning{border:1px solid #d65828;color:#d65828}.button.clear.warning:focus,.button.clear.warning:hover{border-color:#6b2c14;color:#6b2c14}.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled],.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled]{border:1px solid #d65828;color:#d65828}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning:focus,.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled],.button.clear.warning:hover,.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning[disabled]{border-color:transparent}.button.clear.alert{border:1px solid #851e5e;color:#851e5e}.button.clear.alert:focus,.button.clear.alert:hover{border-color:#430f2f;color:#430f2f}.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled],.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled]{border:1px solid #851e5e;color:#851e5e}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert:focus,.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled],.button.clear.alert:hover,.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert[disabled]{border-color:transparent}.button.dropdown:after{display:block;width:0;height:0;content:"";border-color:#fff transparent transparent;border-style:solid inset inset;border-width:.4em .4em 0;position:relative;top:.4em;display:inline-block;float:right;margin-left:1em}.button.dropdown.clear.primary:after,.button.dropdown.clear:after,.button.dropdown.hollow.primary:after,.button.dropdown.hollow:after{border-top-color:#b00}.button.dropdown.clear.secondary:after,.button.dropdown.hollow.secondary:after{border-top-color:#666}.button.dropdown.clear.success:after,.button.dropdown.hollow.success:after{border-top-color:#1c7c89}.button.dropdown.clear.warning:after,.button.dropdown.hollow.warning:after{border-top-color:#d65828}.button.dropdown.clear.alert:after,.button.dropdown.hollow.alert:after{border-top-color:#851e5e}.button.arrow-only:after{top:-.1em;float:none;margin-left:0}a.button:focus,a.button:hover{text-decoration:none}.button-group{margin-bottom:1rem;display:-webkit-box;display:flex;flex-wrap:nowrap;-webkit-box-align:stretch;align-items:stretch}.button-group:after,.button-group:before{display:table;content:" ";flex-basis:0;-webkit-box-ordinal-group:2;order:1}.button-group:after{clear:both}.button-group .button{margin:0 1px 1px 0;font-size:.9rem;-webkit-box-flex:0;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;flex:1 1 0px}.button-group.primary .button{background-color:#b00;color:#fff}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#960000;color:#fff}.button-group.secondary .button{background-color:#666;color:#fff}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#525252;color:#fff}.button-group.success .button{background-color:#1c7c89;color:#fff}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#16636e;color:#fff}.button-group.warning .button{background-color:#d65828;color:#000}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#ab4620;color:#000}.button-group.alert .button{background-color:#851e5e;color:#fff}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#6a184b;color:#fff}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{flex-wrap:wrap}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{-webkit-box-flex:0;flex:0 0 100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked.expanded .button{-webkit-box-flex:1;flex:1 1 0px}@media print,screen and (min-width:40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;flex:0 0 auto;margin-bottom:0}}@media print,screen and (min-width:60em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;flex:0 0 auto;margin-bottom:0}}@media screen and (max-width:39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media screen and (max-width:59.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{position:absolute;color:#303033;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#000}.close-button.small{right:.66rem;top:.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:.33333rem .5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default}.label,.label.primary{background:#b00;color:#fff}.label.secondary{background:#666;color:#fff}.label.success{background:#1c7c89;color:#fff}.label.warning{background:#d65828;color:#000}.label.alert{background:#851e5e;color:#fff}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#ccc}.progress.primary .progress-meter{background-color:#b00}.progress.secondary .progress-meter{background-color:#666}.progress.success .progress-meter{background-color:#1c7c89}.progress.warning .progress-meter{background-color:#d65828}.progress.alert .progress-meter{background-color:#851e5e}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#b00}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:0;font-size:.75rem;font-weight:700;color:#fff;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#eaeaea;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#ccc;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#b00;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;touch-action:manipulation}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#9f0000}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:700;color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#ccc;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle:after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0;background:#fff;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;content:""}input:checked~.switch-paddle{background:#b00}input:checked~.switch-paddle:after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:0}tbody,tfoot,thead{border:1px solid #f2f2f2;background-color:#fff}caption{padding:.5rem .625rem .625rem;font-weight:700}thead{background:#f9f9f9}tfoot,thead{color:#202024}tfoot{background:#f2f2f2}tfoot tr,thead tr{background:transparent}tfoot td,tfoot th,thead td,thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}tbody tr:nth-child(2n){border-bottom:0;background-color:#f2f2f2}table.unstriped tbody{background-color:#fff}table.unstriped tbody tr{border-bottom:1px solid #f2f2f2;background-color:#fff}@media screen and (max-width:59.99875em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f4f4f4}table.hover tfoot tr:hover{background-color:#ededed}table.hover tbody tr:hover{background-color:#fafafa}table.hover:not(.unstriped) tr:nth-of-type(2n):hover{background-color:#ededed}.table-scroll{overflow-x:auto}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center}.badge,.badge.primary{background:#b00;color:#fff}.badge.secondary{background:#666;color:#fff}.badge.success{background:#1c7c89;color:#fff}.badge.warning{background:#d65828;color:#000}.badge.alert{background:#851e5e;color:#fff}.breadcrumbs{margin:0 0 1rem;list-style:none}.breadcrumbs:after,.breadcrumbs:before{display:table;content:" ";flex-basis:0;-webkit-box-ordinal-group:2;order:1}.breadcrumbs:after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#000;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#ccc}.breadcrumbs a{color:#b00}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#ccc;cursor:not-allowed}.callout{position:relative;margin:0;padding:0;border:1px solid;border-radius:0;background-color:#fff;color:#202024}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#b00;color:#fff}.callout.secondary{background-color:#666;color:#fff}.callout.success{background-color:#1c7c89;color:#fff}.callout.warning{background-color:#d65828;color:#fff}.callout.alert{background-color:#851e5e;color:#fff}.callout.small{padding:.5rem}.callout.large{padding:3rem}.card{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex-grow:1;margin-bottom:1rem;border:1px solid #eaeaea;border-radius:0;background:#fff;box-shadow:none;color:#202024}.card>:last-child{margin-bottom:0}.card-divider{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 1 auto;padding:1rem;background:#eaeaea}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #ccc;border-radius:0;background-color:#fff;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.pagination{margin-left:0;margin-bottom:1rem}.pagination:after,.pagination:before{display:table;content:" ";flex-basis:0;-webkit-box-ordinal-group:2;order:1}.pagination:after{clear:both}.pagination li{margin-right:.0625rem;border-radius:0;font-size:.875rem;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media print,screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#000}.pagination a:hover,.pagination button:hover{background:#eaeaea}.pagination .current{padding:.1875rem .625rem;background:#b00;color:#fff;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#ccc;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{padding:.1875rem .625rem;content:"\2026";color:#000}.pagination-previous.disabled:before,.pagination-previous a:before{display:inline-block;margin-right:.5rem;content:"\00ab"}.pagination-next.disabled:after,.pagination-next a:after{display:inline-block;margin-left:.5rem;content:"\00bb"}.has-tip{position:relative;display:inline-block;border-bottom:1px dotted #303033;font-weight:700;cursor:help}.tooltip{top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#000;font-size:85%;color:#fff}.tooltip,.tooltip:before{position:absolute}.tooltip.bottom:before{display:block;width:0;height:0;content:"";border-color:transparent transparent #000;border-style:inset inset solid;border-width:0 .75rem .75rem;bottom:100%}.tooltip.bottom.align-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before{display:block;width:0;height:0;content:"";border-color:#000 transparent transparent;border-style:solid inset inset;border-width:.75rem .75rem 0;top:100%;bottom:auto}.tooltip.top.align-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left:before{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #000;border-style:inset inset inset solid;border-width:.75rem 0 .75rem .75rem;left:100%}.tooltip.left.align-center:before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{display:block;width:0;height:0;content:"";border-color:transparent #000 transparent transparent;border-style:inset solid inset inset;border-width:.75rem .75rem .75rem 0;right:100%;left:auto}.tooltip.right.align-center:before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top:before{bottom:auto;top:10%}.tooltip.align-bottom:before{bottom:10%;top:auto}.tooltip.align-left:before{left:10%;right:auto}.tooltip.align-right:before{left:auto;right:10%}.accordion{margin-left:0;background:#fff;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #eaeaea;border-bottom:0;font-size:.75rem;line-height:1;color:#b00}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #eaeaea;border-radius:0 0 0 0}.accordion-title:focus,.accordion-title:hover{background-color:#eaeaea}.accordion-title:before{position:absolute;top:50%;right:1rem;margin-top:-.5rem;content:"+"}.is-active>.accordion-title:before{content:"\2013"}.accordion-content{display:none;padding:1rem;border:1px solid #eaeaea;border-bottom:0;background-color:#fff;color:#202024}:last-child>.accordion-content:last-child{border-bottom:1px solid #eaeaea}.media-object{display:-webkit-box;display:flex;margin-bottom:1rem;flex-wrap:nowrap}.media-object img{max-width:none}@media screen and (max-width:39.99875em){.media-object.stack-for-small{flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media screen and (max-width:39.99875em){.stack-for-small .media-object-section{padding:0 0 1rem;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;flex:1 1 0px}.orbit,.orbit-container{position:relative}.orbit-container{height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%;position:absolute}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(0,0,0,.5);color:#fff}.orbit-next,.orbit-previous{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10;padding:1rem;color:#fff}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:rgba(0,0,0,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;border-radius:50%;background-color:#ccc}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#303033}.flex-video,.responsive-embed{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video,.responsive-embed embed,.responsive-embed iframe,.responsive-embed object,.responsive-embed video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen,.responsive-embed.widescreen{padding-bottom:56.25%}.tabs{margin:0;border:1px solid #eaeaea;background:#fff;list-style-type:none}.tabs:after,.tabs:before{display:table;content:" ";flex-basis:0;-webkit-box-ordinal-group:2;order:1}.tabs:after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#b00}.tabs.primary>li>a{color:#fff}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#cb0000}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#b00}[data-whatinput=mouse] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fff;color:#a10000}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#eaeaea;color:#b00}.tabs-content{border:1px solid #eaeaea;border-top:0;background:#fff;color:#202024;-webkit-transition:all .5s ease;transition:all .5s ease}.tabs-content.vertical{border:1px solid #eaeaea;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:4px solid #fff;border-radius:0;box-shadow:0 0 0 1px rgba(0,0,0,.2);line-height:0}a.thumbnail{-webkit-transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out}a.thumbnail:focus,a.thumbnail:hover{box-shadow:0 0 6px 1px rgba(187,0,0,.5)}a.thumbnail image{box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:flex;flex-wrap:wrap}[data-whatinput=mouse] .menu li{outline:0}.menu .button,.menu a{line-height:1;text-decoration:none;display:block;padding:.7rem 1rem}.menu a,.menu button,.menu input,.menu select{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.menu.vertical{flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;flex:1 1 0px}.menu.simple{-webkit-box-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print,screen and (min-width:40em){.menu.medium-horizontal{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.menu.medium-vertical{flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.menu.medium-expanded li,.menu.medium-simple li{-webkit-box-flex:1;flex:1 1 0px}}@media print,screen and (min-width:60em){.menu.large-horizontal{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.menu.large-vertical{flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.menu.large-expanded li,.menu.large-simple li{-webkit-box-flex:1;flex:1 1 0px}}@media screen and (min-width:80em){.menu.xlarge-horizontal{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.menu.xlarge-vertical{flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.menu.xlarge-expanded li,.menu.xlarge-simple li{-webkit-box-flex:1;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icon-bottom a,.menu.icon-left a,.menu.icon-right a,.menu.icon-top a,.menu.icons a{display:-webkit-box;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap}.menu.icon-left li a i,.menu.icon-left li a img,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap}.menu.icon-right li a i,.menu.icon-right li a img,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column nowrap}.menu.icon-top li a i,.menu.icon-top li a img,.menu.icon-top li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column nowrap}.menu.icon-bottom li a i,.menu.icon-bottom li a img,.menu.icon-bottom li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .active>a,.menu .is-active>a{background:#b00;color:#fff}.menu.align-left{-webkit-box-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;justify-content:flex-start}.menu .menu-text{padding:.7rem 1rem;font-weight:700;line-height:1;color:inherit}.menu-centered>.menu,.menu-centered>.menu li{-webkit-box-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:flex}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon:after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fff;box-shadow:0 7px 0 #fff,0 14px 0 #fff;content:""}.menu-icon:hover:after{background:#ccc;box-shadow:0 7px 0 #ccc,0 14px 0 #ccc}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark:after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#000;box-shadow:0 7px 0 #000,0 14px 0 #000;content:""}.menu-icon.dark:hover:after{background:#303033;box-shadow:0 7px 0 #303033,0 14px 0 #303033}.accordion-menu li{width:100%}.accordion-menu .is-accordion-submenu a,.accordion-menu a{padding:.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a:after{right:1rem;left:auto}.accordion-menu.align-right .is-accordion-submenu-parent>a:after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;width:40px;height:40px;cursor:pointer}.submenu-toggle:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded=true]:after{-webkit-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height .5s;transition:height .5s}.drilldown a{padding:.7rem 1rem;background:#fff}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fff;-webkit-transition:-webkit-transform .15s linear;transition:-webkit-transform .15s linear;transition:transform .15s linear;transition:transform .15s linear,-webkit-transform .15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a:after{position:absolute;top:50%;margin-top:-6px}.drilldown.align-left .is-drilldown-submenu-parent>a:after,.drilldown .is-drilldown-submenu-parent>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px;right:1rem}.drilldown.align-left .is-drilldown-submenu-parent>a:after{left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a:after{display:block;right:auto;left:1rem}.drilldown.align-right .is-drilldown-submenu-parent>a:after,.drilldown .js-drilldown-back>a:before{width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0}.drilldown .js-drilldown-back>a:before{display:block;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;right:5px;left:auto;margin-top:-3px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:.7rem 1rem}.dropdown.menu>li.is-active>a{background:transparent;color:#b00}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{right:14px}.dropdown.menu.vertical>li.opens-left>a:after{display:block;width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px}@media print,screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a:after{display:block;width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px}}@media print,screen and (min-width:60em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a:after{display:block;width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px}}@media screen and (min-width:80em){.dropdown.menu.xlarge-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.xlarge-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.xlarge-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.xlarge-horizontal>li.is-dropdown-submenu-parent>a:after{display:block;width:0;height:0;content:"";border-color:#b00 transparent transparent;border-style:solid inset inset;border-width:6px 6px 0;right:5px;left:auto;margin-top:-3px}.dropdown.menu.xlarge-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.xlarge-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.xlarge-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.xlarge-vertical>li>a:after{right:14px}.dropdown.menu.xlarge-vertical>li.opens-left>a:after{display:block;width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0;right:auto;left:5px}.dropdown.menu.xlarge-vertical>li.opens-right>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #ccc;background:#fff}.dropdown .is-dropdown-submenu a{padding:.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{display:block;width:0;height:0;content:"";border-color:transparent #b00 transparent transparent;border-style:inset solid inset inset;border-width:6px 6px 6px 0;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{display:block;width:0;height:0;content:"";border-color:transparent transparent transparent #b00;border-style:inset inset inset solid;border-width:6px 0 6px 6px}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:hsla(0,0%,100%,.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#eaeaea}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(0,0,0,.7)}.off-canvas.is-open{-webkit-transform:translate(0);transform:translate(0)}.off-canvas-absolute{position:absolute;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#eaeaea}[data-whatinput=mouse] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(0,0,0,.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0);transform:translate(0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px}.off-canvas-content .off-canvas.position-left,.position-left{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px rgba(0,0,0,.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px}.off-canvas-content .off-canvas.position-right,.position-right{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px rgba(0,0,0,.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px}.off-canvas-content .off-canvas.position-top,.position-top{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px rgba(0,0,0,.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px}.off-canvas-content .off-canvas.position-bottom,.position-bottom{-webkit-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px rgba(0,0,0,.25)}.off-canvas-content{-webkit-transform:none;transform:none;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-push,.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0);transform:translate(0)}@media print,screen and (min-width:40em){.position-left.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left,.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right,.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top,.position-top.reveal-for-medium~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom,.position-bottom.reveal-for-medium~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:60em){.position-left.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left,.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right,.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top,.position-top.reveal-for-large~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom,.position-bottom.reveal-for-large~.off-canvas-content{margin-bottom:250px}}@media screen and (min-width:80em){.position-left.reveal-for-xlarge{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-left.reveal-for-xlarge{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left,.position-left.reveal-for-xlarge~.off-canvas-content{margin-left:250px}.position-right.reveal-for-xlarge{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-right.reveal-for-xlarge{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right,.position-right.reveal-for-xlarge~.off-canvas-content{margin-right:250px}.position-top.reveal-for-xlarge{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-top.reveal-for-xlarge{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top,.position-top.reveal-for-xlarge~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-xlarge{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-xlarge .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-xlarge{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom,.position-bottom.reveal-for-xlarge~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:40em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-medium.position-bottom,.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top{box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print,screen and (min-width:60em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-large.position-bottom,.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top{box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}@media screen and (min-width:80em){.off-canvas.in-canvas-for-xlarge{visibility:visible;height:auto;position:static;background:none;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-xlarge.position-bottom,.off-canvas.in-canvas-for-xlarge.position-left,.off-canvas.in-canvas-for-xlarge.position-right,.off-canvas.in-canvas-for-xlarge.position-top{box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-xlarge .close-button{display:none}}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;background-color:rgba(0,0,0,.45)}.reveal,.reveal-overlay{display:none;overflow-y:auto}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;padding:1rem;border:1px solid #ccc;border-radius:0;background-color:#fff;position:relative;top:100px;margin-right:auto;margin-left:auto}[data-whatinput=mouse] .reveal{outline:0}@media print,screen and (min-width:40em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}.reveal.collapse{padding:0}@media print,screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media print,screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media print,screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.sticky,.sticky-container{position:relative}.sticky{z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{padding:.5rem;background:#000;color:#fff;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:700}.top-bar{display:-webkit-box;display:flex;flex-wrap:nowrap;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;padding:.5rem;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#eaeaea}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}@media print,screen and (min-width:40em){.top-bar{flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;flex:0 1 auto;margin-left:auto}}@media screen and (max-width:59.99875em){.top-bar.stacked-for-medium{flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}}@media screen and (max-width:79.99875em){.top-bar.stacked-for-large{flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}}@media screen and (max-width:89.99875em){.top-bar.stacked-for-xlarge{flex-wrap:wrap}.top-bar.stacked-for-xlarge .top-bar-left,.top-bar.stacked-for-xlarge .top-bar-right{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}}.top-bar-title{margin:.5rem 1rem .5rem 0}.top-bar-left,.top-bar-right,.top-bar-title{-webkit-box-flex:0;flex:0 0 auto}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix:after,.clearfix:before{display:table;content:" ";flex-basis:0;-webkit-box-ordinal-group:2;order:1}.clearfix:after{clear:both}.align-left{-webkit-box-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;justify-content:space-between}.align-spaced{justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;justify-content:center}.align-top{-webkit-box-align:start;align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{-webkit-box-align:end;align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{-webkit-box-align:center;align-items:center}.align-self-middle{align-self:center}.align-stretch{-webkit-box-align:stretch;align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;order:1}.small-order-2{-webkit-box-ordinal-group:3;order:2}.small-order-3{-webkit-box-ordinal-group:4;order:3}.small-order-4{-webkit-box-ordinal-group:5;order:4}.small-order-5{-webkit-box-ordinal-group:6;order:5}.small-order-6{-webkit-box-ordinal-group:7;order:6}@media print,screen and (min-width:40em){.medium-order-1{-webkit-box-ordinal-group:2;order:1}.medium-order-2{-webkit-box-ordinal-group:3;order:2}.medium-order-3{-webkit-box-ordinal-group:4;order:3}.medium-order-4{-webkit-box-ordinal-group:5;order:4}.medium-order-5{-webkit-box-ordinal-group:6;order:5}.medium-order-6{-webkit-box-ordinal-group:7;order:6}}@media print,screen and (min-width:60em){.large-order-1{-webkit-box-ordinal-group:2;order:1}.large-order-2{-webkit-box-ordinal-group:3;order:2}.large-order-3{-webkit-box-ordinal-group:4;order:3}.large-order-4{-webkit-box-ordinal-group:5;order:4}.large-order-5{-webkit-box-ordinal-group:6;order:5}.large-order-6{-webkit-box-ordinal-group:7;order:6}}@media screen and (min-width:80em){.xlarge-order-1{-webkit-box-ordinal-group:2;order:1}.xlarge-order-2{-webkit-box-ordinal-group:3;order:2}.xlarge-order-3{-webkit-box-ordinal-group:4;order:3}.xlarge-order-4{-webkit-box-ordinal-group:5;order:4}.xlarge-order-5{-webkit-box-ordinal-group:6;order:5}.xlarge-order-6{-webkit-box-ordinal-group:7;order:6}}.flex-container{display:-webkit-box;display:flex}.flex-child-auto{-webkit-box-flex:1;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}@media print,screen and (min-width:40em){.medium-flex-container{display:-webkit-box;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}}@media print,screen and (min-width:60em){.large-flex-container{display:-webkit-box;display:flex}.large-flex-child-auto{-webkit-box-flex:1;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}}@media screen and (min-width:80em){.xlarge-flex-container{display:-webkit-box;display:flex}.xlarge-flex-child-auto{-webkit-box-flex:1;flex:1 1 auto}.xlarge-flex-child-grow{-webkit-box-flex:1;flex:1 0 auto}.xlarge-flex-child-shrink{-webkit-box-flex:0;flex:0 1 auto}.xlarge-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.xlarge-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.xlarge-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.xlarge-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:59.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),screen and (min-width:60em){.show-for-medium-only{display:none!important}}@media print,screen and (min-width:60em){.hide-for-large{display:none!important}}@media screen and (max-width:59.99875em){.show-for-large{display:none!important}}@media screen and (min-width:60em) and (max-width:79.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:59.99875em),screen and (min-width:80em){.show-for-large-only{display:none!important}}@media screen and (min-width:80em){.hide-for-xlarge{display:none!important}}@media screen and (max-width:79.99875em){.show-for-xlarge{display:none!important}}@media screen and (min-width:80em) and (max-width:89.99875em){.hide-for-xlarge-only{display:none!important}}@media screen and (max-width:79.99875em),screen and (min-width:90em){.show-for-xlarge-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.show-on-focus:active,.show-on-focus:focus{position:static!important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.sample-grid{margin-bottom:2em}.sample-grid .cell{background:#eaeaea;padding:10px 15px;min-height:80px}.grid-grow{-webkit-box-flex:1!important;flex-grow:1!important}.animate-fade{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.animate-fade:hover{opacity:0}.animate-move>.demo-shape{-webkit-transition:all .8s ease-in-out;transition:all .8s ease-in-out}.demo-animate{background-color:#eaeaea;cursor:pointer;padding:1em;text-align:center}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}.layout-container,.layout__wrapper--main{background:#fff}body.footer-color--dk-gray{background:#202024}body.footer-color--md-gray{background:#666}body.footer-color--lt-gray{background:#eaeaea}body.footer-color--white{background:#fff}.grid-container{padding-right:2.5rem;padding-left:2.5rem}.layout__wrapper--main{background:#fff}.visually-hidden,.visuallyhidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}address{font-style:normal!important}.sg-main{padding:0 4%;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif}.sg-tabs-panel{min-height:25em!important}.sg-pattern-extra-code{width:100%!important}.sg-pattern-extra-code .language-markup{font-size:85%!important}#sg-patterns .sg-subtype h2{font-size:1.75rem;font-weight:700;text-transform:uppercase;clear:both;background:#eaeaea;padding:6px 0 0 4.5%;margin:2.5em calc(-50vw + 50%) 5px}#sg-patterns .sg-subtype h2 a{color:#b00;font-weight:700;text-decoration:none}#sg-patterns .sg-subtype h2 a:hover{color:#1c7c89}#sg-patterns .sg-subtype:first-child h2{margin-top:0}.sg-pattern-title a{font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif!important;color:#444446;font-size:1.375rem;text-transform:uppercase}.sg-colors{display:-webkit-box;display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}.sg-colors li{-webkit-box-flex:1;flex:auto;padding:.3em;margin:0 .3em 1em;min-width:9em;max-width:10em}.sg-colors__sample{display:block;height:100px;margin-bottom:.3em;border:1px solid #ccc}.sg-typography{display:-webkit-box;display:flex;flex-wrap:wrap}.sg-typography .sg-typography__group{padding:1em .25em;min-width:40%}.sg-typography .sg-typography__group .sg-info{padding:10px;font-size:30px}#viewall-base-utils{display:none}.h1,h1{font-size:2.625rem;font-weight:800;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.1}.h1 a,.h1__link,h1 a,h1__link{color:inherit;text-decoration:none;font-weight:800}.h1 a:hover,.h1__link:hover,h1 a:hover,h1__link:hover{color:#1c7c89}.h1 a:focus,.h1__link:focus,h1 a:focus,h1__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}.h2,h2{font-size:2rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2}.h2 a,.h2__link,h2 a,h2__link{color:inherit;text-decoration:none;font-weight:700}.h2 a:hover,.h2__link:hover,h2 a:hover,h2__link:hover{color:#1c7c89}.h2 a:focus,.h2__link:focus,h2 a:focus,h2__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}.h3,h3{font-size:1.625rem;font-weight:600;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2}.h3 a,.h3__link,h3 a,h3__link{color:inherit;text-decoration:none;font-weight:600}.h3 a:hover,.h3__link:hover,h3 a:hover,h3__link:hover{color:#1c7c89}.h3 a:focus,.h3__link:focus,h3 a:focus,h3__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}.h4,h4{font-size:1.375rem;font-weight:600;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2}.h4 a,.h4__link,h4 a,h4__link{color:inherit;text-decoration:none;font-weight:600}.h4 a:hover,.h4__link:hover,h4 a:hover,h4__link:hover{color:#1c7c89}.h4 a:focus,.h4__link:focus,h4 a:focus,h4__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}.h5,h5{font-size:1.25rem;font-weight:400;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2}.h5 a,.h5__link,h5 a,h5__link{color:inherit;text-decoration:none;font-weight:400}.h5 a:hover,.h5__link:hover,h5 a:hover,h5__link:hover{color:#1c7c89}.h5 a:focus,.h5__link:focus,h5 a:focus,h5__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}.h6,h6{font-size:1.125rem;font-weight:400;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2}.h6 a,.h6__link,h6 a,h6__link{color:inherit;text-decoration:none;font-weight:400}.h6 a:hover,.h6__link:hover,h6 a:hover,h6__link:hover{color:#1c7c89}.h6 a:focus,.h6__link:focus,h6 a:focus,h6__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}h1.page-title{margin-top:1.25rem;margin-bottom:.625rem}.field--type-text-long h2,.field--type-text-long h3,.field--type-text-long h4,.field--type-text-long h5,.field--type-text-long h6{margin-top:.625rem;margin-bottom:.625rem}.field--type-text-long ol~h2,.field--type-text-long ol~h3,.field--type-text-long ol~h4,.field--type-text-long ol~h5,.field--type-text-long ol~h6,.field--type-text-long p~h2,.field--type-text-long p~h3,.field--type-text-long p~h4,.field--type-text-long p~h5,.field--type-text-long p~h6,.field--type-text-long ul~h2,.field--type-text-long ul~h3,.field--type-text-long ul~h4,.field--type-text-long ul~h5,.field--type-text-long ul~h6{margin-top:1.875rem}.tagline{font-family:Capita,Times New Roman,serif;font-size:1.75rem;font-style:italic;font-weight:400;line-height:1.4;margin-bottom:1.25rem}.tagline--small{font-size:1.375rem}.blockquote,blockquote:not(.pull-quote){border-left:3px solid #ccc;margin:2em 0 2em 2em;padding-left:1em;padding-right:3em}.blockquote p,blockquote:not(.pull-quote) p{line-height:1.6}.pull-quote{border:0;padding:2em 4em 2em 2em;margin:2em 0;position:relative}.pull-quote__icon{color:#ccc;position:absolute;top:.8em}.pull-quote__text{font-family:Capita,Times New Roman,serif;font-style:italic;font-weight:300;font-size:115%;padding:0 0 0 3.5em}.pull-quote__text p{line-height:1.6}.section-header{font-size:1.75rem;font-weight:400;text-transform:uppercase;margin-bottom:1.25rem}.paragraph,p{line-height:1.4}.paragraph--center{text-align:center;width:85%;margin-right:auto!important;margin-left:auto!important}.paragraph--intro{font-family:Capita,Times New Roman,serif;font-style:italic;font-weight:400;font-size:1.25rem;line-height:1.75}.pipe{margin:0 3px;color:#b00;font-weight:700}code{font-size:.875em}.link,a{color:#b00;text-decoration:underline;font-weight:400}.link:hover,a:hover{color:#1c7c89}.link:focus,a:focus{outline:1px dotted #1c7c89;outline-offset:2px}span.ext{margin-left:4px}a.button span.link-content{float:left}.social-media__item{display:inline-block;padding:0;margin:0}.social-media__item a{float:left;background:#666;color:#fff;width:2.65em;margin:.35em .7em .15em 0;text-align:center;padding:.625em 0 .45em;font-size:105%}.social-media__item a span.ext{display:none}.social-media__item a:focus{outline:2px dotted #000;outline-offset:0}.social-media__item a:hover{background:#444446}.social-media__item--Twitter a:hover{background:#00aced}.social-media__item--Facebook a:hover{background:#1877f2}.social-media__item--LinkedIn a:hover{background:#007bb6}.social-media__item--YouTube a:hover{background:red}.social-media__item--Instagram a:hover{background:#c13584}.social-media__item--Photo-sharing a:hover{background:#6eb800}.button{background-color:#b00;color:#fff;font-size:14px;font-weight:600;line-height:1.25;text-align:center;text-transform:uppercase;text-decoration:none;padding:11px 16px 10px;margin-bottom:16px;display:inline-block;position:relative;cursor:pointer}.button:active{position:relative;top:1px;background-color:#a20000!important}.button:focus,.button:hover{background-color:#ca0000}.button:focus{outline:2px dotted #202024;outline-offset:0}.button--gray{background-color:#666;color:#fff;font-size:14px;font-weight:600;line-height:1.25;text-align:center;text-transform:uppercase;text-decoration:none;padding:11px 16px 10px;margin-bottom:16px;display:inline-block;position:relative;cursor:pointer}.button--gray:active{position:relative;top:1px;background-color:#595959!important}.button--gray:focus,.button--gray:hover{background-color:#6e6e6e}.button--gray:focus{outline:2px dotted #202024;outline-offset:0}.button--teal{background-color:#1c7c89;color:#fff;font-size:14px;font-weight:600;line-height:1.25;text-align:center;text-transform:uppercase;text-decoration:none;padding:11px 16px 10px;margin-bottom:16px;display:inline-block;position:relative;cursor:pointer}.button--teal:active{position:relative;top:1px;background-color:#186974!important}.button--teal:focus,.button--teal:hover{background-color:#1f8796}.button--teal:focus{outline:2px dotted #202024;outline-offset:0}.button--alt{background-color:#fff;color:#b00;border:1px solid #b00;padding:11px 16px 10px}.button--alt:active{border:1px solid #b00;background-color:#a20000!important;padding:12px 16px 11px;top:0}.button--alt:focus,.button--alt:hover{background-color:#b00}.button--alt-gray{background-color:#fff;color:#666;border:1px solid #666;padding:11px 16px 10px}.button--alt-gray:active{border:1px solid #666;background-color:#595959!important;padding:12px 16px 11px;top:0}.button--alt-gray:focus,.button--alt-gray:hover{background-color:#666}.button--alt-teal{background-color:#fff;color:#1c7c89;border:1px solid #1c7c89;padding:11px 16px 10px}.button--alt-teal:active{border:1px solid #1c7c89;background-color:#186974!important;padding:12px 16px 11px;top:0}.button--alt-teal:focus,.button--alt-teal:hover{background-color:#1c7c89}.more-link{display:inline-block;vertical-align:middle;margin:0 0 1rem;padding:.85em 1em;border:1px solid transparent;border-radius:0;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:.9rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer;background-color:#b00;color:#fff}[data-whatinput=mouse] .more-link{outline:0}.more-link:focus,.more-link:hover{background-color:#9f0000;color:#fff}.field--type-text-long ol li,.field--type-text-long ul li,.list-item{margin-bottom:.41667rem;padding-left:.40625rem}.dl-term{font-weight:700;margin-bottom:0}.dl-def{margin-left:.8125rem;margin-bottom:.625rem}ol,ul{padding-left:.54167rem}ul{list-style-type:disc}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.table__caption{text-align:left;margin-bottom:.5em}.table__heading-cell{font-weight:700}.table__heading-cell[scope=row]{text-align:left}.form-item{color:#303033;margin-bottom:.5em}.form-item:after{clear:both;content:"";display:table}.form-item__label,.form-item label{display:block;font-weight:600}.form-item__description{font-size:.875rem;margin-top:-.5em;margin-bottom:1.5em}[aria-required=true]:before{content:"*";color:#b00;padding-right:5px}.form-item>.form-item{margin-bottom:0}.form-item--checkbox__item,.form-item--checkboxes,.form-item--radio__item,.form-item--radios{list-style:none;margin:0;padding:0}.form-item__dropdown{border:1px solid #ccc;background-color:#fff;display:block;position:relative}.form-item__dropdown:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:9px solid #666;content:" ";position:absolute;top:41%;right:1em;z-index:2;pointer-events:none;display:none}.form-item__dropdown:hover{border-color:#999}.form-item__dropdown:hover:after{border-top:9px solid #444446}.form-item__select{border:1px solid #eaeaea;font-size:.875rem;margin:0;outline:none;padding:.63em .8em;width:100%}.form-item__select :focus{border-radius:0;border:1px dotted #1c7c89}@supports ((-webkit-appearance:none) or (-moz-appearance:none) or (appearance:none)) or ((-moz-appearance:none) and (mask-type:alpha)){.form-item__dropdown:after{display:block}.form-item__select{padding-right:2em;background:none;border:1px solid transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-item__select:focus{border-radius:0;border:2px dotted #1c7c89}}.form-item__textarea{font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;font-size:.9em}.form-item__textarea:focus{border:2px solid #666;outline:none}.form-item__textfield{border:1px solid #ccc;padding:.625em 1em;margin-bottom:1em;font-size:.875rem;line-height:1.5;width:100%}.form-item__textfield:focus{border:2px solid #666;outline:none}.form-item__textfield.has-placeholder:not(:placeholder-shown):invalid{border:2px solid #b00}.form-item__textfield.has-placeholder:not(:placeholder-shown):valid{border:2px solid #1c7c89}.form-item__textfield::-webkit-input-placeholder{color:#999}.form-item__textfield:-moz-placeholder{color:#999}.form-item__textfield::-moz-placeholder{color:#666}.form-item__textfield:-ms-input-placeholder{color:#666}.form-item__textfield:-moz-ui-invalid{box-shadow:none}img,picture{display:block;height:auto;max-width:100%}img{border:1px solid #666}figure{margin:0}.figure__caption{font-style:italic}.video{height:0;overflow:hidden;padding-top:35px;padding-bottom:56.25%;position:relative}.video--full{padding-bottom:75%}.video iframe{height:100%;left:0;position:absolute;top:0;width:100%}.address-block__wordmark{margin-bottom:.5em}.address-block__wordmark img{width:280px;border:none}.address-block__address p{margin:0;font-size:.875rem;line-height:1.375;font-weight:300}.address-block__address .site-name{font-weight:600;font-size:1rem;margin-bottom:2px}.address-block__address .pipe{font-size:120%;vertical-align:-2%}.address-block__address span.mailto{display:none}.callout{border:1px solid #999;margin:2em .625em;display:-webkit-box;display:flex;-webkit-box-align:stretch;align-items:stretch}.callout .callout__icon{float:left;background:#999;color:#fff;text-align:center;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.callout .svg-inline--fa{font-size:1.5em;margin:0 .5em}.callout .svg-inline--fa.fa-exclamation{font-size:1.625em;margin:0 .6875em}.callout .callout__body{margin:1em 1.25em 1em 1.5em;line-height:1.4}.callout--caution{border:1px solid #d65828;margin:2em .625em;display:-webkit-box;display:flex;-webkit-box-align:stretch;align-items:stretch}.callout--caution .callout__icon{float:left;background:#d65828;color:#fff;text-align:center;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.callout--caution .svg-inline--fa{font-size:1.5em;margin:0 .5em}.callout--caution .svg-inline--fa.fa-exclamation{font-size:1.625em;margin:0 .6875em}.callout--caution .callout__body{margin:1em 1.25em 1em 1.5em;line-height:1.4}.callout--ux-tip{border:1px solid #851e5e;margin:2em .625em;display:-webkit-box;display:flex;-webkit-box-align:stretch;align-items:stretch}.callout--ux-tip .callout__icon{float:left;background:#851e5e;color:#fff;text-align:center;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.callout--ux-tip .svg-inline--fa{font-size:1.5em;margin:0 .5em}.callout--ux-tip .svg-inline--fa.fa-exclamation{font-size:1.625em;margin:0 .6875em}.callout--ux-tip .callout__body{margin:1em 1.25em 1em 1.5em;line-height:1.4}.callout p:last-child{margin-bottom:0}.card{display:inline-block;margin-bottom:1.5rem;overflow:hidden;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1);width:100%}.card__inner{padding:1.125rem 1.375rem .375rem}.card__image{border:none;height:200px;width:100%;margin-left:auto;margin-right:auto;-o-object-fit:cover;object-fit:cover}.card__title{font-size:1.625rem;font-weight:600;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;margin-bottom:.5rem}.card__title__link,.card__title a{color:inherit;text-decoration:none;font-weight:600}.card__title__link:hover,.card__title a:hover{color:#1c7c89}.card__title__link:focus,.card__title a:focus{outline:1px dotted #1c7c89;outline-offset:2px}.card__content{font-weight:400}.card button{margin-top:.625rem}@media print,screen and (min-width:40em){.card--small{max-width:320px}.card--medium{max-width:440px}}@media print,screen and (min-width:60em){.card--large{max-width:640px}}.details-item,details{margin-bottom:3px;border:1px solid #eaeaea}.details-item summary,details summary{background:#eaeaea;padding:.675em 1em;font-size:1.125rem;font-weight:600}.details-item summary:hover,.details-item summary[aria-expanded=true],details summary:hover,details summary[aria-expanded=true]{background:#ddd}.details-item summary:focus,details summary:focus{outline:1px dotted #1c7c89}.details-item .details__inner,details .details__inner{padding:1em}.details-item--plus summary{list-style:none;list-style-image:none}.details-item--plus summary::-webkit-details-marker{display:none}.details-item--plus summary .summary__inner{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative}.details-item--plus summary .summary__controls{position:absolute;right:18px}.details-item--plus summary .summary__controls .pm-control{position:relative;height:24px;width:2px}.details-item--plus summary .summary__controls .pm-control.plus{background:#202024;-webkit-transition:all .8s ease;transition:all .8s ease}.details-item--plus summary .summary__controls .pm-control.minus{background:transparent;-webkit-transition:all .4s ease;transition:all .4s ease}.details-item--plus summary .summary__controls .pm-control:after{background:#202024;content:"";position:absolute;height:2px;width:24px;left:-11px;top:11px}.summary__icon{display:inline-block;width:36px;line-height:1;margin-right:16px;text-align:center}.summary__icon .svg-inline--fa{font-size:26px;color:#b00}input{margin-bottom:5px!important}legend{font-weight:600}.label{background:none;color:inherit;padding:0;font-size:inherit}.form-item{max-width:none}.form-fieldset{border:0;margin:2em 0 1em;padding:1em 1.5em;background-color:#eaeaea}.form-fieldset legend{text-transform:uppercase}.form-fieldset .button{margin-top:.5em;margin-bottom:.5em}.form-item--checkbox__item,.form-item--checkboxes,.form-item--radio__item,.form-item--radios,.form-options-list{line-height:160%}.form-item--checkbox__item input,.form-item--checkboxes input,.form-item--radio__item input,.form-item--radios input,.form-options-list input{margin:0 4px 0 1px}.sg-main .form-fieldset{max-width:600px}.login-box{background:#eaeaea;padding:1em 1.25em .5em}.login-box--osu{margin-bottom:1.25em}.login-box__header{font-size:1.25rem;margin-bottom:.5em}.login-box__header--drupal{display:inline}.login-form{padding-top:.5em}.login-form .button{margin-top:.5em;margin-bottom:0}.details__inner--drupal{background-color:#eaeaea}#edit-simplesamlphp-auth-login-link{display:none}.info-box{background-color:#eaeaea;color:#202024;margin-bottom:1.5rem;padding:1.125rem 1.375rem .375rem;width:100%}.info-box .info-box__title{font-size:1.625rem;font-weight:600;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;color:#202024;margin-bottom:.5rem}.info-box .info-box__title__link,.info-box .info-box__title a{color:inherit;text-decoration:none;font-weight:600}.info-box .info-box__title__link:hover,.info-box .info-box__title a:hover{color:#1c7c89}.info-box .info-box__title__link:focus,.info-box .info-box__title a:focus{outline:1px dotted #1c7c89;outline-offset:2px}.info-box--white{background-color:#fff;color:#202024;margin-bottom:1.5rem;padding:1.125rem 1.375rem .375rem;width:100%;border:1px solid #eaeaea}.info-box--white .info-box__title{font-size:1.625rem;font-weight:600;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;color:#202024;margin-bottom:.5rem}.info-box--white .info-box__title__link,.info-box--white .info-box__title a{color:inherit;text-decoration:none;font-weight:600}.info-box--white .info-box__title__link:hover,.info-box--white .info-box__title a:hover{color:#1c7c89}.info-box--white .info-box__title__link:focus,.info-box--white .info-box__title a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:40em){.info-box--small{max-width:320px}.info-box--medium{max-width:440px}}@media print,screen and (min-width:60em){.info-box--large{max-width:640px}}.breadcrumb{list-style:none;margin:0;padding:.625rem 0 1.25rem}.breadcrumb__item,.breadcrumb__link,.breadcrumb__link:focus,.breadcrumb__link:link,.breadcrumb__link:visited{color:#666;font-weight:400;text-decoration:none}.breadcrumb__link:hover{text-decoration:underline;color:#202024}.breadcrumb__item{display:inline-block;font-size:.875rem;font-weight:400}.breadcrumb__item:after{content:"|";color:#b00;font-weight:700;margin:0 3px}.breadcrumb__item:last-child{color:#202024}.breadcrumb__item:last-child:after{content:none}.breadcrumb_link:active{color:#b00}nav.a11y-navbar{font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;display:block;position:relative;width:100%;overflow:visible}nav.a11y-navbar,nav.a11y-navbar a,nav.a11y-navbar div,nav.a11y-navbar li,nav.a11y-navbar ol,nav.a11y-navbar p,nav.a11y-navbar span,nav.a11y-navbar ul{border:0;font-size:100%;vertical-align:baseline}nav.a11y-navbar li,nav.a11y-navbar ol,nav.a11y-navbar ul{list-style:none;margin:0;padding:0}nav.a11y-navbar ul.a11y-navbar-menubar{background-color:#eaeaea;list-style-type:none}nav.a11y-navbar ul.a11y-navbar-menubar li{list-style-type:none;position:relative}nav.a11y-navbar ul.a11y-navbar-menubar li a[role=menuitem]{color:#202024;text-decoration:none;background-color:#eaeaea;line-height:2.25rem;padding:0 1rem;display:block;height:2.25rem;text-transform:uppercase;position:relative;z-index:99;margin-bottom:1px}nav.a11y-navbar ul.a11y-navbar-menubar li a[role=menuitem]:focus,nav.a11y-navbar ul.a11y-navbar-menubar li a[role=menuitem]:hover{color:#eaeaea;background-color:#202024;outline-offset:-1px;outline-color:#fff;z-index:999}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu]{opacity:0}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-open{display:block;min-width:10rem;width:100%;position:absolute;opacity:1;-webkit-transition:opacity .4s linear;transition:opacity .4s linear;z-index:9999}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-open li{display:block;width:100%}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-open li a[aria-haspopup=true]:after{content:"";width:0;height:0;border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-left:.25rem solid #202024;position:absolute;right:.5rem;top:.75rem}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-open li a[aria-haspopup=true]:focus:after,nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-open li a[aria-haspopup=true]:hover:after{border-left:.25rem solid #eaeaea}nav.a11y-navbar ul.a11y-navbar-menubar li ul[role=menu].a11y-navbar-menu-closed{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li{display:inline-block}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem{border-bottom:none}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem[aria-haspopup=true]{padding-right:1.5rem}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem[aria-haspopup=true]:after{content:"";width:0;height:0;border-top:.25rem solid #202024;border-right:.25rem solid transparent;border-left:.25rem solid transparent;position:absolute;right:.5rem;top:1rem}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem[aria-haspopup=true]:focus:after,nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem[aria-haspopup=true]:hover:after{border-top:.25rem solid #eaeaea}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open{top:2.325rem;left:0;background:#fff}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li a[role=menuitem]{background-color:#d1d1d1}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li a[role=menuitem]:focus,nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li a[role=menuitem]:hover{background-color:#202024}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li ul[role=menu]{top:0;left:100%}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li ul[role=menu] li a[role=menuitem]{background-color:#b7b7b7}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li ul[role=menu] li a[role=menuitem]:focus,nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open li ul[role=menu] li a[role=menuitem]:hover{background-color:#202024}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical{width:10rem}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical a[role=menuitem][aria-haspopup=true]:after{content:"";width:0;height:0;border-top:.25rem solid transparent;border-bottom:.25rem solid transparent;border-left:.25rem solid #202024;position:absolute;right:.25rem;top:.5rem}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li{border:1px solid #666;border-bottom:none}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li:last-child{border-bottom:1px solid #666}nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu].a11y-navbar-menu-open{top:-1px;left:100%}nav.a11y-navbar.a11y-navbar-responsive div.a11y-navbar-instructions-show{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar{border-top:1px solid #fff;background:#fff}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical{width:auto}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li{border:none;display:block}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem].a11y-navbar-menuitem,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem].a11y-navbar-menuitem{color:#202024;background-color:#d8d8d8;border-right:none;position:relative;z-index:99;height:2.5rem;line-height:2.5;margin-bottom:1px}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem]:hover,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem]:hover{outline:2px dotted #1c7c89;outline-offset:-2px;z-index:999}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem][aria-haspopup=true],nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem][aria-haspopup=true]{padding-right:1.5rem}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem][aria-haspopup=true]:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem][aria-haspopup=true]:after{content:"";width:0;height:0;border-top:.25rem solid transparent;border-right:.25rem solid transparent;border-left:.25rem solid transparent;position:absolute;right:1.325rem;top:1rem}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem][aria-haspopup=true]:focus:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role=menuitem][aria-haspopup=true]:hover:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem][aria-haspopup=true]:focus:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role=menuitem][aria-haspopup=true]:hover:after{border-top:.25rem solid transparent}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu],nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu]{opacity:1;max-height:0;overflow:hidden;position:static;width:100%}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu].a11y-navbar-menu-open,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu].a11y-navbar-menu-open{max-height:9999px;-webkit-transition:max-height 1s ease-in;transition:max-height 1s ease-in}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem],nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem]{color:#202024;background-color:#c4c4c4;padding-left:1.875rem;height:2.5rem;line-height:2.5;margin-bottom:1px}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem]:hover,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem]:hover{background-color:#c4c4c4;outline:2px dotted #1c7c89;outline-offset:-2px}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem][aria-haspopup=true],nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem][aria-haspopup=true]{padding-right:1.5rem}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:after{content:"";width:0;height:0;border-top:.25rem solid transparent;border-right:.25rem solid transparent;border-left:.25rem solid transparent;position:absolute;right:1.325rem;top:1rem}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:focus:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:hover:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:focus:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li a[role=menuitem][aria-haspopup=true]:hover:after{border-top:.25rem solid transparent}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li ul[role=menu] li a[role=menuitem],nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li ul[role=menu] li a[role=menuitem]{color:#080809;background-color:#aaa;padding-left:2.75rem}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li ul[role=menu] li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role=menu] li ul[role=menu] li a[role=menuitem]:hover,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li ul[role=menu] li a[role=menuitem]:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role=menu] li ul[role=menu] li a[role=menuitem]:hover{color:#080809;background-color:#aaa}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle{position:absolute;right:.75rem;top:.1875rem;height:2.125rem;width:2.125rem;z-index:9999;box-shadow:none;border:none;border-radius:0;background-color:transparent;padding:0}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle:focus,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle:focus{outline:1px dotted #202024}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle span,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle span{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle:after{content:"";display:inline-block;border-right:2px solid #202024;border-bottom:2px solid #202024;width:10px;height:10px;background-color:transparent;position:relative}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle[aria-expanded=true]:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle[aria-expanded=true]:after{-webkit-transform:rotate(225deg);transform:rotate(225deg);top:3px}nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle[aria-expanded=false]:after,nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle[aria-expanded=false]:after{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:-2px}nav.a11y-navbar.a11y-navbar-closed,nav.a11y-navbar div.a11y-navbar-instructions{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}button.a11y-navbar-toggle{border:none;font:inherit;color:inherit;background-color:transparent;cursor:pointer;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;background-color:#eaeaea;color:#202024;width:100%;padding:.5rem 1.125rem;text-align:left;position:relative;text-transform:uppercase}button.a11y-navbar-toggle:focus{outline:2px dotted #1c7c89;outline-offset:-2px;z-index:999}button.a11y-navbar-toggle span{position:absolute;right:1.125rem;top:45%}button.a11y-navbar-toggle span,button.a11y-navbar-toggle span:after,button.a11y-navbar-toggle span:before{cursor:pointer;border-radius:1px;height:3px;width:20px;background:#202024;position:absolute;display:block;content:""}button.a11y-navbar-toggle span:before{top:-5px}button.a11y-navbar-toggle span:after{bottom:-5px}.pager{margin:2em 0}.pager__items{list-style:none;margin:0;padding:0;text-align:center}.pager__item{display:inline-block;margin:0 .75em}.pager__link,.pager__link:link,.pager__link:visited{border:1px solid #b00;font-weight:600;text-decoration:none;line-height:1;padding:8px;display:block;min-width:36px}.pager__link.is-active,.pager__link:hover,.pager__link:link.is-active,.pager__link:link:hover,.pager__link:visited.is-active,.pager__link:visited:hover{color:#fff;background:#b00}.pager__link:focus,.pager__link:link:focus,.pager__link:visited:focus{outline:2px dotted #202024;outline-offset:0;border-color:transparent}.pager__link--prev svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.social-media-links__list{list-style:none;padding:0;margin:0}.status--status{background:#1c7c89;color:#fff;font-size:1rem;font-weight:600;display:block;margin-bottom:2em;padding:1.5em}.status--status a{color:#ccc;font-weight:600;text-decoration:underline}.status--status a:focus,.status--status a:hover{color:#fff}.status--status ul{padding:0;margin:0}.status--status .icon{float:left;margin-right:1.25em}.status--status .svg-inline--fa{font-size:2rem;margin-top:-.1375em}.status--status .placeholder{font-style:normal;font-weight:700}.status--warning{background:#c04f24;color:#fff;font-size:1rem;font-weight:600;display:block;margin-bottom:2em;padding:1.5em}.status--warning a{color:#ccc;font-weight:600;text-decoration:underline}.status--warning a:focus,.status--warning a:hover{color:#fff}.status--warning ul{padding:0;margin:0}.status--warning .icon{float:left;margin-right:1.25em}.status--warning .svg-inline--fa{font-size:2rem;margin-top:-.1375em}.status--warning .placeholder{font-style:normal;font-weight:700}.status--error{background:#851e5e;color:#fff;font-size:1rem;font-weight:600;display:block;margin-bottom:2em;padding:1.5em}.status--error a{color:#ccc;font-weight:600;text-decoration:underline}.status--error a:focus,.status--error a:hover{color:#fff}.status--error ul{padding:0;margin:0}.status--error .icon{float:left;margin-right:1.25em}.status--error .svg-inline--fa{font-size:2rem;margin-top:-.1375em}.status--error .placeholder{font-style:normal;font-weight:700}a.tile{background-color:#eaeaea;margin-bottom:1.5rem;padding:1.125rem 1.375rem .375rem;width:100%;text-align:center;display:block;text-decoration:none;color:#202024}a.tile:hover{background:#e5e5e5}a.tile .tile__icon{max-width:6.25rem;height:auto;margin:.625rem auto 1.25rem}a.tile .tile__title{color:#202024;margin-top:3px}a.tile .tile__title h2,a.tile .tile__title h3,a.tile .tile__title h4{font-size:1.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;margin-bottom:.5rem}a.tile .tile__title h2 a,a.tile .tile__title h2__link,a.tile .tile__title h3 a,a.tile .tile__title h3__link,a.tile .tile__title h4 a,a.tile .tile__title h4__link{color:inherit;text-decoration:none;font-weight:700}a.tile .tile__title h2 a:hover,a.tile .tile__title h2__link:hover,a.tile .tile__title h3 a:hover,a.tile .tile__title h3__link:hover,a.tile .tile__title h4 a:hover,a.tile .tile__title h4__link:hover{color:#1c7c89}a.tile .tile__title h2 a:focus,a.tile .tile__title h2__link:focus,a.tile .tile__title h3 a:focus,a.tile .tile__title h3__link:focus,a.tile .tile__title h4 a:focus,a.tile .tile__title h4__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}a.tile .tile__body{font-family:Capita,Times New Roman,serif;font-style:italic;font-weight:300}a.tile--white{background-color:#fff;margin-bottom:1.5rem;padding:1.125rem 1.375rem .375rem;width:100%;text-align:center;display:block;text-decoration:none;color:#202024;border:1px solid #eaeaea}a.tile--white:hover{background:#fafafa}a.tile--white .tile__icon{max-width:6.25rem;height:auto;margin:.625rem auto 1.25rem}a.tile--white .tile__title{color:#202024;margin-top:3px}a.tile--white .tile__title h2,a.tile--white .tile__title h3,a.tile--white .tile__title h4{font-size:1.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;margin-bottom:.5rem}a.tile--white .tile__title h2 a,a.tile--white .tile__title h2__link,a.tile--white .tile__title h3 a,a.tile--white .tile__title h3__link,a.tile--white .tile__title h4 a,a.tile--white .tile__title h4__link{color:inherit;text-decoration:none;font-weight:700}a.tile--white .tile__title h2 a:hover,a.tile--white .tile__title h2__link:hover,a.tile--white .tile__title h3 a:hover,a.tile--white .tile__title h3__link:hover,a.tile--white .tile__title h4 a:hover,a.tile--white .tile__title h4__link:hover{color:#1c7c89}a.tile--white .tile__title h2 a:focus,a.tile--white .tile__title h2__link:focus,a.tile--white .tile__title h3 a:focus,a.tile--white .tile__title h3__link:focus,a.tile--white .tile__title h4 a:focus,a.tile--white .tile__title h4__link:focus{outline:1px dotted #1c7c89;outline-offset:2px}a.tile--white .tile__body{font-family:Capita,Times New Roman,serif;font-style:italic;font-weight:300}.card-grid,.info-box-grid{margin-top:1.25rem}.masthead:after{clear:both;content:"";display:table}#site-name{display:table}.site-name__inner{display:table-cell;vertical-align:middle}.site-name__prefix{display:block}#site-logo{display:none;float:right}@media print,screen and (min-width:40em){#site-logo{display:block}}.masthead--standard,.masthead--standard.masthead--dk-gray{background:#202024;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--standard #site-name,.masthead--standard.masthead--dk-gray #site-name{padding-right:2em;height:135px}}.masthead--standard.masthead--dk-gray .site-name__prefix,.masthead--standard .site-name__prefix{font-size:1.125rem;font-weight:400;color:#fff;letter-spacing:.0125em;margin-left:2px}.masthead--standard.masthead--dk-gray .site-name__link,.masthead--standard .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#fff;letter-spacing:.0125em}.masthead--standard.masthead--dk-gray .site-name__link__link,.masthead--standard.masthead--dk-gray .site-name__link a,.masthead--standard .site-name__link__link,.masthead--standard .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--standard.masthead--dk-gray .site-name__link__link:hover,.masthead--standard.masthead--dk-gray .site-name__link a:hover,.masthead--standard .site-name__link__link:hover,.masthead--standard .site-name__link a:hover{color:#1c7c89}.masthead--standard.masthead--dk-gray .site-name__link__link:focus,.masthead--standard.masthead--dk-gray .site-name__link a:focus,.masthead--standard .site-name__link__link:focus,.masthead--standard .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--standard.masthead--dk-gray .site-name__link,.masthead--standard .site-name__link{font-size:3rem}}.masthead--standard.masthead--dk-gray .site-name__link--long,.masthead--standard .site-name__link--long{font-size:1.875rem}.masthead--standard.masthead--dk-gray .site-logo__image,.masthead--standard .site-logo__image{width:auto;border:none;float:right}@media print,screen and (min-width:40em){.masthead--standard.masthead--dk-gray .site-logo__image,.masthead--standard .site-logo__image{height:125px}}@media print,screen and (min-width:60em){.masthead--standard.masthead--dk-gray .site-logo__image,.masthead--standard .site-logo__image{height:135px}}.masthead--standard.masthead--md-gray{background:#666;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--standard.masthead--md-gray #site-name{padding-right:2em;height:135px}}.masthead--standard.masthead--md-gray .site-name__prefix{font-size:1.125rem;font-weight:400;color:#fff;letter-spacing:.0125em;margin-left:2px}.masthead--standard.masthead--md-gray .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#fff;letter-spacing:.0125em}.masthead--standard.masthead--md-gray .site-name__link__link,.masthead--standard.masthead--md-gray .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--standard.masthead--md-gray .site-name__link__link:hover,.masthead--standard.masthead--md-gray .site-name__link a:hover{color:#1c7c89}.masthead--standard.masthead--md-gray .site-name__link__link:focus,.masthead--standard.masthead--md-gray .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--standard.masthead--md-gray .site-name__link{font-size:3rem}}.masthead--standard.masthead--md-gray .site-name__link--long{font-size:1.875rem}.masthead--standard.masthead--md-gray .site-logo__image{width:auto;border:none;float:right}@media print,screen and (min-width:40em){.masthead--standard.masthead--md-gray .site-logo__image{height:125px}}@media print,screen and (min-width:60em){.masthead--standard.masthead--md-gray .site-logo__image{height:135px}}.masthead--standard.masthead--lt-gray{background:#eaeaea;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--standard.masthead--lt-gray #site-name{padding-right:2em;height:135px}}.masthead--standard.masthead--lt-gray .site-name__prefix{font-size:1.125rem;font-weight:400;color:#303033;letter-spacing:.0125em;margin-left:2px}.masthead--standard.masthead--lt-gray .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#303033;letter-spacing:.0125em}.masthead--standard.masthead--lt-gray .site-name__link__link,.masthead--standard.masthead--lt-gray .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--standard.masthead--lt-gray .site-name__link__link:hover,.masthead--standard.masthead--lt-gray .site-name__link a:hover{color:#1c7c89}.masthead--standard.masthead--lt-gray .site-name__link__link:focus,.masthead--standard.masthead--lt-gray .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--standard.masthead--lt-gray .site-name__link{font-size:3rem}}.masthead--standard.masthead--lt-gray .site-name__link--long{font-size:1.875rem}.masthead--standard.masthead--lt-gray .site-logo__image{width:auto;border:none;float:right}@media print,screen and (min-width:40em){.masthead--standard.masthead--lt-gray .site-logo__image{height:125px}}@media print,screen and (min-width:60em){.masthead--standard.masthead--lt-gray .site-logo__image{height:135px}}.masthead--standard.masthead--white{background:#fff;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--standard.masthead--white #site-name{padding-right:2em;height:135px}}.masthead--standard.masthead--white .site-name__prefix{font-size:1.125rem;font-weight:400;color:#444446;letter-spacing:.0125em;margin-left:2px}.masthead--standard.masthead--white .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#444446;letter-spacing:.0125em}.masthead--standard.masthead--white .site-name__link__link,.masthead--standard.masthead--white .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--standard.masthead--white .site-name__link__link:hover,.masthead--standard.masthead--white .site-name__link a:hover{color:#1c7c89}.masthead--standard.masthead--white .site-name__link__link:focus,.masthead--standard.masthead--white .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--standard.masthead--white .site-name__link{font-size:3rem}}.masthead--standard.masthead--white .site-name__link--long{font-size:1.875rem}.masthead--standard.masthead--white .site-logo__image{width:auto;border:none;float:right}@media print,screen and (min-width:40em){.masthead--standard.masthead--white .site-logo__image{height:125px}}@media print,screen and (min-width:60em){.masthead--standard.masthead--white .site-logo__image{height:135px}}.masthead--slim,.masthead--slim.masthead--dk-gray{background:#202024}.masthead--slim #site-name,.masthead--slim.masthead--dk-gray #site-name{min-height:90px;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--slim #site-name,.masthead--slim.masthead--dk-gray #site-name{padding-right:2em;height:120px}}.masthead--slim.masthead--dk-gray .site-name__prefix,.masthead--slim .site-name__prefix{font-size:1rem;font-weight:300;color:#fff;margin-bottom:-3px;margin-left:2px}.masthead--slim.masthead--dk-gray .site-name__link,.masthead--slim .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#fff;letter-spacing:.0125em}.masthead--slim.masthead--dk-gray .site-name__link__link,.masthead--slim.masthead--dk-gray .site-name__link a,.masthead--slim .site-name__link__link,.masthead--slim .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--slim.masthead--dk-gray .site-name__link__link:hover,.masthead--slim.masthead--dk-gray .site-name__link a:hover,.masthead--slim .site-name__link__link:hover,.masthead--slim .site-name__link a:hover{color:#1c7c89}.masthead--slim.masthead--dk-gray .site-name__link__link:focus,.masthead--slim.masthead--dk-gray .site-name__link a:focus,.masthead--slim .site-name__link__link:focus,.masthead--slim .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--slim.masthead--dk-gray .site-name__link,.masthead--slim .site-name__link{font-size:3rem}}.masthead--slim.masthead--dk-gray .site-name__link--long,.masthead--slim .site-name__link--long{font-size:1.875rem}.masthead--slim.masthead--dk-gray .site-logo__image,.masthead--slim .site-logo__image{height:90px;width:auto;border:none;box-shadow:0 1px 6px 0 rgba(49,49,49,.5);float:right}.masthead--slim,.masthead--slim.masthead--md-gray{background:#666}.masthead--slim #site-name,.masthead--slim.masthead--md-gray #site-name{min-height:90px;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--slim #site-name,.masthead--slim.masthead--md-gray #site-name{padding-right:2em;height:120px}}.masthead--slim.masthead--md-gray .site-name__prefix,.masthead--slim .site-name__prefix{font-size:1rem;font-weight:300;color:#fff;margin-bottom:-3px;margin-left:2px}.masthead--slim.masthead--md-gray .site-name__link,.masthead--slim .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#fff;letter-spacing:.0125em}.masthead--slim.masthead--md-gray .site-name__link__link,.masthead--slim.masthead--md-gray .site-name__link a,.masthead--slim .site-name__link__link,.masthead--slim .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--slim.masthead--md-gray .site-name__link__link:hover,.masthead--slim.masthead--md-gray .site-name__link a:hover,.masthead--slim .site-name__link__link:hover,.masthead--slim .site-name__link a:hover{color:#1c7c89}.masthead--slim.masthead--md-gray .site-name__link__link:focus,.masthead--slim.masthead--md-gray .site-name__link a:focus,.masthead--slim .site-name__link__link:focus,.masthead--slim .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--slim.masthead--md-gray .site-name__link,.masthead--slim .site-name__link{font-size:3rem}}.masthead--slim.masthead--md-gray .site-name__link--long,.masthead--slim .site-name__link--long{font-size:1.875rem}.masthead--slim.masthead--md-gray .site-logo__image,.masthead--slim .site-logo__image{height:90px;width:auto;border:none;box-shadow:0 1px 6px 0 rgba(49,49,49,.5);float:right}.masthead--slim,.masthead--slim.masthead--lt-gray{background:#eaeaea}.masthead--slim #site-name,.masthead--slim.masthead--lt-gray #site-name{min-height:90px;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--slim #site-name,.masthead--slim.masthead--lt-gray #site-name{padding-right:2em;height:120px}}.masthead--slim.masthead--lt-gray .site-name__prefix,.masthead--slim .site-name__prefix{font-size:1rem;font-weight:300;color:#303033;margin-bottom:-3px;margin-left:2px}.masthead--slim.masthead--lt-gray .site-name__link,.masthead--slim .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#303033;letter-spacing:.0125em}.masthead--slim.masthead--lt-gray .site-name__link__link,.masthead--slim.masthead--lt-gray .site-name__link a,.masthead--slim .site-name__link__link,.masthead--slim .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--slim.masthead--lt-gray .site-name__link__link:hover,.masthead--slim.masthead--lt-gray .site-name__link a:hover,.masthead--slim .site-name__link__link:hover,.masthead--slim .site-name__link a:hover{color:#1c7c89}.masthead--slim.masthead--lt-gray .site-name__link__link:focus,.masthead--slim.masthead--lt-gray .site-name__link a:focus,.masthead--slim .site-name__link__link:focus,.masthead--slim .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--slim.masthead--lt-gray .site-name__link,.masthead--slim .site-name__link{font-size:3rem}}.masthead--slim.masthead--lt-gray .site-name__link--long,.masthead--slim .site-name__link--long{font-size:1.875rem}.masthead--slim.masthead--lt-gray .site-logo__image,.masthead--slim .site-logo__image{height:90px;width:auto;border:none;box-shadow:0 1px 6px 0 rgba(49,49,49,.5);float:right}.masthead--slim,.masthead--slim.masthead--white{background:#fff}.masthead--slim #site-name,.masthead--slim.masthead--white #site-name{min-height:90px;padding:.75em 0}@media print,screen and (min-width:40em){.masthead--slim #site-name,.masthead--slim.masthead--white #site-name{padding-right:2em;height:120px}}.masthead--slim.masthead--white .site-name__prefix,.masthead--slim .site-name__prefix{font-size:1rem;font-weight:300;color:#444446;margin-bottom:-3px;margin-left:2px}.masthead--slim.masthead--white .site-name__link,.masthead--slim .site-name__link{font-size:2.625rem;font-weight:700;color:#202024;font-family:proximanova,HelveticaNeue,Helvetica,Arial,sans-serif;line-height:1.2;line-height:105%;text-decoration:none;color:#444446;letter-spacing:.0125em}.masthead--slim.masthead--white .site-name__link__link,.masthead--slim.masthead--white .site-name__link a,.masthead--slim .site-name__link__link,.masthead--slim .site-name__link a{color:inherit;text-decoration:none;font-weight:700}.masthead--slim.masthead--white .site-name__link__link:hover,.masthead--slim.masthead--white .site-name__link a:hover,.masthead--slim .site-name__link__link:hover,.masthead--slim .site-name__link a:hover{color:#1c7c89}.masthead--slim.masthead--white .site-name__link__link:focus,.masthead--slim.masthead--white .site-name__link a:focus,.masthead--slim .site-name__link__link:focus,.masthead--slim .site-name__link a:focus{outline:1px dotted #1c7c89;outline-offset:2px}@media print,screen and (min-width:60em){.masthead--slim.masthead--white .site-name__link,.masthead--slim .site-name__link{font-size:3rem}}.masthead--slim.masthead--white .site-name__link--long,.masthead--slim .site-name__link--long{font-size:1.875rem}.masthead--slim.masthead--white .site-logo__image,.masthead--slim .site-logo__image{height:90px;width:auto;border:none;box-shadow:0 1px 6px 0 rgba(49,49,49,.5);float:right}#osu_navbar,#osu_navbar.light{background:#eaeaea;color:#303033;border-bottom:5px solid #b00;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e3e3e3),to(#b9b9ba));background:linear-gradient(180deg,#e3e3e3 0,#b9b9ba)}#osu_navbar.light:after,#osu_navbar:after{clear:both;content:"";display:table}#osu_navbar.light p,#osu_navbar p{font-size:13px;line-height:1.5;margin:0;padding:0}#osu_navbar.light .univ_info,#osu_navbar .univ_info{float:left;padding:.875em 0 .9em}#osu_navbar.light .univ_name a,#osu_navbar .univ_name a{height:14px;width:80px;margin-left:0;display:block;text-indent:-9999px;background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/osu_name.png) 0 0 no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#osu_navbar.light .univ_name a,#osu_navbar .univ_name a{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/osu_name@2x.png) 0 0 no-repeat;background-size:contain}}#osu_navbar.light .univ_links,#osu_navbar .univ_links{float:right;clear:none;padding:.875em 0 0}#osu_navbar.light .univ_links .links,#osu_navbar .univ_links .links{float:left}#osu_navbar.light .univ_links .links ul,#osu_navbar .univ_links .links ul{margin:-2px 0 0}#osu_navbar.light .univ_links .links ul li,#osu_navbar .univ_links .links ul li{font-size:.84375em;list-style:none;float:left;margin-right:.5em}@media print,screen and (min-width:60em){#osu_navbar.light .univ_links .links ul li,#osu_navbar .univ_links .links ul li{margin-right:1.2em}}#osu_navbar.light .univ_links .links ul li:last-child,#osu_navbar .univ_links .links ul li:last-child{margin-right:0}#osu_navbar.light .univ_links .links ul li a,#osu_navbar .univ_links .links ul li a{height:23px;width:23px;display:block;overflow:hidden;text-indent:-999px;background:0 0 no-repeat;color:#303033;text-decoration:none}@media print,screen and (min-width:60em){#osu_navbar.light .univ_links .links ul li a,#osu_navbar .univ_links .links ul li a{text-indent:0;width:auto;background:none!important}#osu_navbar.light .univ_links .links ul li a:hover,#osu_navbar .univ_links .links ul li a:hover{text-decoration:underline}}#osu_navbar.light .univ_links .links ul li a.help,#osu_navbar .univ_links .links ul li a.help{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-help.png)}#osu_navbar.light .univ_links .links ul li a.buckeyelink,#osu_navbar .univ_links .links ul li a.buckeyelink{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-buckeyelink.png)}#osu_navbar.light .univ_links .links ul li a.map,#osu_navbar .univ_links .links ul li a.map{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-map.png)}#osu_navbar.light .univ_links .links ul li a.findpeople,#osu_navbar .univ_links .links ul li a.findpeople{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-findpeople.png)}#osu_navbar.light .univ_links .links ul li a.webmail,#osu_navbar .univ_links .links ul li a.webmail{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-webmail.png)}#osu_navbar.light .univ_links .links ul li a.search,#osu_navbar .univ_links .links ul li a.search{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images//resp-search.png)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#osu_navbar.light .univ_links .links ul li a,#osu_navbar .univ_links .links ul li a{background-size:23px!important}#osu_navbar.light .univ_links .links ul li a.help,#osu_navbar .univ_links .links ul li a.help{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-help@2x.png)}#osu_navbar.light .univ_links .links ul li a.buckeyelink,#osu_navbar .univ_links .links ul li a.buckeyelink{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-buckeyelink@2x.png)}#osu_navbar.light .univ_links .links ul li a.map,#osu_navbar .univ_links .links ul li a.map{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-map@2x.png)}#osu_navbar.light .univ_links .links ul li a.findpeople,#osu_navbar .univ_links .links ul li a.findpeople{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-findpeople@2x.png)}#osu_navbar.light .univ_links .links ul li a.webmail,#osu_navbar .univ_links .links ul li a.webmail{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-webmail@2x.png)}#osu_navbar.light .univ_links .links ul li a.search,#osu_navbar .univ_links .links ul li a.search{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-search@2x.png)}}#osu_navbar.dark{background:#303033;color:#fff;border-bottom:5px solid #b00}#osu_navbar.dark:after{clear:both;content:"";display:table}#osu_navbar.dark p{font-size:13px;line-height:1.5;margin:0;padding:0}#osu_navbar.dark .univ_info{float:left;padding:.875em 0 .9em}#osu_navbar.dark .univ_name a{height:14px;width:80px;margin-left:0;display:block;text-indent:-9999px;background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/osu_name.png) 0 0 no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#osu_navbar.dark .univ_name a{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/osu_name@2x.png) 0 0 no-repeat;background-size:contain}}#osu_navbar.dark .univ_links{float:right;clear:none;padding:.875em 0 0}#osu_navbar.dark .univ_links .links{float:left}#osu_navbar.dark .univ_links .links ul{margin:-2px 0 0}#osu_navbar.dark .univ_links .links ul li{font-size:.84375em;list-style:none;float:left;margin-right:.5em}@media print,screen and (min-width:60em){#osu_navbar.dark .univ_links .links ul li{margin-right:1.2em}}#osu_navbar.dark .univ_links .links ul li:last-child{margin-right:0}#osu_navbar.dark .univ_links .links ul li a{height:23px;width:23px;display:block;overflow:hidden;text-indent:-999px;background:0 0 no-repeat;color:#fff;text-decoration:none}@media print,screen and (min-width:60em){#osu_navbar.dark .univ_links .links ul li a{text-indent:0;width:auto;background:none!important}#osu_navbar.dark .univ_links .links ul li a:hover{text-decoration:underline}}#osu_navbar.dark .univ_links .links ul li a.help{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-help.png)}#osu_navbar.dark .univ_links .links ul li a.buckeyelink{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-buckeyelink.png)}#osu_navbar.dark .univ_links .links ul li a.map{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-map.png)}#osu_navbar.dark .univ_links .links ul li a.findpeople{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-findpeople.png)}#osu_navbar.dark .univ_links .links ul li a.webmail{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-webmail.png)}#osu_navbar.dark .univ_links .links ul li a.search{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-search.png)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){#osu_navbar.dark .univ_links .links ul li a{background-size:23px!important}#osu_navbar.dark .univ_links .links ul li a.help{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-help@2x.png)}#osu_navbar.dark .univ_links .links ul li a.buckeyelink{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-buckeyelink@2x.png)}#osu_navbar.dark .univ_links .links ul li a.map{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-map@2x.png)}#osu_navbar.dark .univ_links .links ul li a.findpeople{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-findpeople@2x.png)}#osu_navbar.dark .univ_links .links ul li a.webmail{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-webmail@2x.png)}#osu_navbar.dark .univ_links .links ul li a.search{background:url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-search@2x.png)}}.site-footer{padding:1.5em 0}.site-footer__social-media{margin-bottom:1.75em}.site-footer__address-block{margin-bottom:1.5em}@media print,screen and (min-width:60em){.site-footer__social-media{float:right}}.footer-text,.site-footer__ada-statement,.site-footer__footer-text{line-height:125%;font-size:.875rem}.site-footer__login-link{margin-top:2em}.site-footer__login-link a{text-transform:uppercase;font-size:.75rem;text-decoration:none}.site-footer__login-link a:hover{text-decoration:underline}.site-footer,.site-footer--dk-gray{background:#202024;color:#fff}.site-footer--dk-gray a,.site-footer a{color:#fff}.site-footer--dk-gray .pipe,.site-footer--dk-gray a:hover,.site-footer .pipe,.site-footer a:hover{color:#ccc}.site-footer--dk-gray .social-media__item a,.site-footer .social-media__item a{color:#fff}.site-footer--dk-gray .social-media__item a:focus,.site-footer .social-media__item a:focus{outline:2px dotted #fff}.site-footer--md-gray{background:#666;color:#fff}.site-footer--md-gray a{color:#fff}.site-footer--md-gray .pipe,.site-footer--md-gray a:hover{color:#eaeaea}.site-footer--md-gray .social-media__item a{color:#fff;border:1px solid #ccc}.site-footer--lt-gray{background:#eaeaea;color:#303033}.site-footer--lt-gray a{color:#303033}.site-footer--lt-gray .pipe,.site-footer--lt-gray a:hover{color:#b00}.site-footer--lt-gray .social-media__item a{color:#fff}.site-footer--white{background:#fff;color:#444446}.site-footer--white a{color:#444446}.site-footer--white .pipe,.site-footer--white a:hover{color:#b00}.site-footer--white .social-media__item a{color:#fff}.tile-grid{margin-top:1.25rem} +/*# sourceMappingURL=style.css.map */ diff --git a/libraries/it-osu-pl-drupal/css/style.css.map b/libraries/it-osu-pl-drupal/css/style.css.map new file mode 100644 index 0000000000000000000000000000000000000000..faa548672e97330956d0a9f8f8e101258512ab28 --- /dev/null +++ b/libraries/it-osu-pl-drupal/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../node_modules/foundation-sites/scss/typography/_base.scss","_settings.scss","../../node_modules/foundation-sites/scss/util/_breakpoint.scss","../../node_modules/foundation-sites/scss/components/_reveal.scss","../../node_modules/foundation-sites/scss/vendor/normalize.scss","style.css","../../node_modules/foundation-sites/scss/_global.scss","00-base/global/01-colors/_color-vars.scss","00-base/global/02-typography/_typography.scss","../../node_modules/foundation-sites/scss/util/_mixins.scss","../../node_modules/foundation-sites/scss/forms/_text.scss","../../node_modules/foundation-sites/scss/util/_unit.scss","../../node_modules/foundation-sites/scss/forms/_checkbox.scss","../../node_modules/foundation-sites/scss/forms/_label.scss","../../node_modules/foundation-sites/scss/forms/_help-text.scss","../../node_modules/foundation-sites/scss/forms/_input-group.scss","../../node_modules/foundation-sites/scss/forms/_fieldset.scss","../../node_modules/foundation-sites/scss/forms/_select.scss","../../node_modules/foundation-sites/scss/forms/_error.scss","../../node_modules/foundation-sites/scss/typography/_helpers.scss","../../node_modules/foundation-sites/scss/typography/_alignment.scss","../../node_modules/foundation-sites/scss/typography/_print.scss","../../node_modules/foundation-sites/scss/xy-grid/_classes.scss","../../node_modules/foundation-sites/scss/xy-grid/_grid.scss","../../node_modules/foundation-sites/scss/xy-grid/_gutters.scss","../../node_modules/foundation-sites/scss/xy-grid/_cell.scss","../../node_modules/foundation-sites/scss/xy-grid/_layout.scss","../../node_modules/foundation-sites/scss/xy-grid/_collapse.scss","../../node_modules/foundation-sites/scss/xy-grid/_position.scss","../../node_modules/foundation-sites/scss/xy-grid/_frame.scss","../../node_modules/foundation-sites/scss/components/_button.scss","../../node_modules/foundation-sites/scss/components/_button-group.scss","../../node_modules/foundation-sites/scss/components/_close-button.scss","../../node_modules/foundation-sites/scss/components/_label.scss","../../node_modules/foundation-sites/scss/components/_progress-bar.scss","../../node_modules/foundation-sites/scss/components/_slider.scss","../../node_modules/foundation-sites/scss/components/_switch.scss","../../node_modules/foundation-sites/scss/components/_table.scss","../../node_modules/foundation-sites/scss/util/_color.scss","../../node_modules/foundation-sites/scss/components/_badge.scss","../../node_modules/foundation-sites/scss/components/_breadcrumbs.scss","../../node_modules/foundation-sites/scss/components/_callout.scss","../../node_modules/foundation-sites/scss/components/_card.scss","../../node_modules/foundation-sites/scss/components/_dropdown.scss","../../node_modules/foundation-sites/scss/components/_pagination.scss","../../node_modules/foundation-sites/scss/components/_tooltip.scss","../../node_modules/foundation-sites/scss/components/_accordion.scss","../../node_modules/foundation-sites/scss/components/_media-object.scss","../../node_modules/foundation-sites/scss/components/_orbit.scss","../../node_modules/foundation-sites/scss/components/_responsive-embed.scss","../../node_modules/foundation-sites/scss/util/_math.scss","../../node_modules/foundation-sites/scss/components/_tabs.scss","../../node_modules/foundation-sites/scss/components/_thumbnail.scss","../../node_modules/foundation-sites/scss/components/_menu.scss","../../node_modules/foundation-sites/scss/components/_menu-icon.scss","../../node_modules/foundation-sites/scss/components/_accordion-menu.scss","../../node_modules/foundation-sites/scss/components/_drilldown.scss","../../node_modules/foundation-sites/scss/components/_dropdown-menu.scss","../../node_modules/foundation-sites/scss/components/_off-canvas.scss","../../node_modules/foundation-sites/scss/components/_sticky.scss","../../node_modules/foundation-sites/scss/components/_title-bar.scss","../../node_modules/foundation-sites/scss/components/_top-bar.scss","../../node_modules/foundation-sites/scss/components/_float.scss","../../node_modules/foundation-sites/scss/components/_flex.scss","../../node_modules/foundation-sites/scss/util/_flex.scss","../../node_modules/foundation-sites/scss/components/_visibility.scss","00-base/global/03-grid/_grid.scss","00-base/global/04-animations/_animation.scss","00-base/utils/_04-base.scss","00-base/utils/_05-accessibility.scss","00-base/utils/_06-resets.scss","00-base/utils/_pl-base.scss","01-atoms/00-text/00-headings/_headings.scss","00-base/utils/_01-variables.scss","01-atoms/00-text/01-tagline/_tagline.scss","01-atoms/00-text/02-blockquote/_blockquote.scss","01-atoms/00-text/03-section-header/_section-header.scss","01-atoms/00-text/04-paragraph/_paragraph.scss","01-atoms/00-text/05-text/_text.scss","01-atoms/01-links/link/_link.scss","01-atoms/01-links/social-media-link/_social-media-link.scss","01-atoms/02-buttons/_buttons.scss","01-atoms/03-lists/_lists.scss","01-atoms/04-tables/_tables.scss","01-atoms/05-form-elements/_form-elements.scss","00-base/utils/_03-mixins.scss","01-atoms/05-form-elements/radio/_radio.scss","01-atoms/05-form-elements/select/_select.scss","01-atoms/05-form-elements/textarea/_textarea.scss","01-atoms/05-form-elements/textfield/_textfield.scss","01-atoms/06-images/_image.scss","01-atoms/07-video/_video.scss","02-molecules/address-block/_address-block.scss","02-molecules/callout/_callout.scss","02-molecules/card/_card.scss","02-molecules/details/_details.scss","02-molecules/forms/_forms.scss","02-molecules/forms/form-drupal-login/_form-drupal-login.scss","02-molecules/info-box/_info-box.scss","02-molecules/menus/breadcrumbs/_breadcrumbs.scss","02-molecules/menus/main-menu/_main-menu.scss","02-molecules/pager/_pager.scss","02-molecules/social-media-links/_social-media-links.scss","02-molecules/status-message/_status-message.scss","02-molecules/tile/_tile.scss","03-organisms/info-box-grid/_info-box-grid.scss","03-organisms/masthead/_masthead.scss","03-organisms/osu-navbar/_osu-navbar.scss","03-organisms/site-footer/_site-footer.scss","03-organisms/tile-grid/_tile-grid.scss"],"names":[],"mappings":"AA4cE,gBChSiC,CCN7B,yCCzHJ,iDACE,UAAW,CACX,SAAU,CACV,aAAc,CACf;;AChDD,2EAAA,CAQA,KACE,gBAAiB,CACjB,6BAA8B,CAehC,GACE,aAAc,CACd,cAAgB,CASlB,GACE,sBAAuB,CAEvB,gBAAiB,CAMnB,IACE,+BAAiC,CACjC,aAAc,CAQhB,EACE,4BAA6B,CAM/B,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,wCAAiC,CAAjC,gCAAiC,CAKnC,SAEE,kBAAmB,CAMrB,cAGE,+BAAiC,CACjC,aAAc,CAKhB,MACE,aAAc,CAMhB,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBAAwB,CAG1B,IACE,aAAe,CAGjB,IACE,SAAW,CAQb,IACE,iBAAkB,CASpB,sCAME,cAAe,CACf,gBAAiB,CACjB,QAAS,CAMX,aAEE,gBAAiB,CAMnB,cAEE,mBAAoB,CAKtB,gDAIE,yBAA0B,CAK5B,wHAIE,iBAAkB,CAClB,SAAU,CAKZ,4GAIE,6BAA8B,CAKhC,SACE,0BAA8B,CAQhC,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CAEd,SAAU,CACV,kBAAmB,CAKrB,SACE,uBAAwB,CAK1B,SACE,aAAc,CCrFlB,6BD6FI,qBAAsB,CACtB,SAAU,CCzFd,kFDgGI,WAAY,CC5FhB,cDmGI,4BAA6B,CAC7B,mBAAoB,CChGxB,yCDsGI,uBAAwB,CAM1B,6BACE,yBAA0B,CAC1B,YAAa,CAQf,QACE,aAAc,CAKhB,QACE,iBAAkB,CC7GtB,kBD4HI,YAAa,CE3If,eACE,uEAAgD,CFnIlD,KEwIE,cL3EmB,CGnDrB,KE0IE,QAAS,CACT,SAAU,CAEV,eC/JQ,CDiKR,gEElKsE,CFmKtE,eLzEsB,CK0EtB,eL5FmB,CK6FnB,aC5JkB,CD+JhB,kCAAmC,CACnC,iCAAkC,CFrDtC,IE2DE,oBAAqB,CACrB,qBAAsB,CAGtB,cAAe,CACf,WAAY,CACZ,8BAA+B,CF4BjC,SEvBE,WAAY,CACZ,eAAgB,CAChB,eLhGa,CKoGf,OACE,qBAAsB,CACtB,ULtGa,CK4Gf,6GAKI,wBAA0B,CAK9B,OAEE,SAAU,CACV,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CAChB,QAAS,CACT,eL3Ha,CK4Hb,sBAAuB,CACvB,aAAc,CACd,WLxHuB,CImHzB,8BIXE,SAAU,CL5JZ,IEiLE,aAAc,CFjGhB,sCE0GE,mBAAoB,CAItB,YACE,uBAAyB,CAG3B,WACE,sBAAwB,CDT5B,wMKjJE,aAAc,CACd,qBAAsB,CACtB,UAAW,CACX,gBALsJ,CAMtJ,eCHuD,CDIvD,aT4U+B,CS1U/B,qBH1FiB,CG2FjB,eTHe,CSIf,qBH/FU,CGgGV,yCHvFU,CGyFV,mBT4TyB,CS3TzB,cCZuD,CDavD,eTXwB,CSYxB,eT9BqB,CS+BrB,UH7FU,CGgGR,+DTkU8D,CSlU9D,uDTkU8D,CS7S9D,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CL4HlB,kSK5IE,YAAa,CACb,wBHxGiB,CGyGjB,qBHhHQ,CGiHR,uBH9Ge,CGiHb,+DTuT4D,CSvT5D,uDTuT4D,CG3NhE,SM7EE,cAAe,CADjB,eAII,WAAY,CAIhB,oEAKI,wBH7IiB,CG8IjB,kBT0R6B,CI7JnC,4BKtHI,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CAChB,eT7Da,CSiEf,mBACE,qBAAsB,CAiBxB,4BACE,UH5Ke,CG2KjB,mBACE,UH5Ke,CG2KjB,uBACE,UH5Ke,CG2KjB,wBACE,UH5Ke,CG2KjB,cACE,UH5Ke,CFqRnB,yCO7QI,eD4EqD,CNsMzD,yCO5QI,oBAAqB,CACrB,uBAAwB,CAExB,iBAAkD,CAClD,iBDkEqD,CCjErD,eAAgB,CP8QlB,mDO3QI,cAAe,CAKnB,yCAEE,kBAAmD,CP4QvD,YOvQI,UAAW,CCIb,MAjBA,aAAc,CACd,QAAS,CAET,iBF4DuD,CE3DvD,eZ6DwB,CY5DxB,eZ2X0B,CY1X1B,UNrBU,CMgCV,aALA,eFmDuD,CElDvD,kBAA8D,CCjB9D,WAGE,iBAFuC,CAGvC,kBH+DqD,CG9DrD,iBbuXwB,CatXxB,UPjBQ,CQgBV,aACE,mBAAiC,CAAjC,YAAiC,CACjC,UAAW,CACX,kBJ2DqD,CIxDnD,yBAAoB,CAApB,mBAAoB,CANxB,gJAiBM,qBAAiH,CAKvH,+JACE,QAAS,CACT,kBAAmB,CAQrB,mBAEE,cdyVuB,CcxVvB,qBRzDe,CQ0Df,kBR3DmB,CQ6DnB,URtDQ,CQuDR,iBAAkB,CAClB,kBAAmB,CAGjB,mBAAa,CAAb,YAAa,CACb,kBAAc,CAAd,aAAc,CACd,wBAAmB,CAAnB,kBAAmB,CAbvB,+BAsBM,cAAiC,CAtBvC,8BA0BM,aAAgC,CAKtC,mBAEE,eAAgB,CAGd,kBAAa,CAAb,YAAa,CACb,WAAY,CAIhB,oBAEE,aAAc,CACd,gBAAiB,CACjB,iBAAkB,CAGhB,mBAAa,CAAb,YAAa,CACb,kBAAc,CAAd,aAAc,CARlB,qGAsBM,kBAAmB,CACnB,WAAY,CAKd,aAAc,CACd,gBAAiB,CACjB,cJzCmD,CP+FvD,SYhJE,QAAS,CACT,SAAU,CACV,QAAS,CZuJX,OYnJE,cAAe,CACf,mBAAkC,CAGpC,UAxBA,iBLoEW,CKnEX,eL8DuD,CK7DvD,qBTvBiB,CSyBjB,iBAGE,sBLwDqD,CKvDrD,kBLuDqD,CLwGvD,OWzKA,gBAFsJ,CAGtJ,eNgEuD,CM7DvD,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CAChB,qBVxBiB,CUyBjB,ehB+De,CgB9Df,qBV7BU,CU+BV,mBhB+XyB,CgB9XzB,cNuDuD,CMtDvD,ehBwDwB,CgBvDxB,ehBqCqB,CgBpCrB,UV1BU,CE4IV,oOAAyN,CQ9GvN,6BAA8B,CAC9B,sCAA0D,CAC1D,2BAA4B,CAC5B,uBAAwB,CAExB,gCAAuD,CAIvD,+DhB2X8D,CgB3X9D,uDhB2X8D,CQpRhE,kCHwCA,OGrCI,sWAAuW,CQvE1W,CA/BD,aACE,YAAa,CACb,wBV/CiB,CUgDjB,qBVvDQ,CUwDR,uBVrDe,CUwDb,+DhBgX4D,CgBhX5D,uDhBgX4D,CgB3WhE,gBACE,wBV/DmB,CUgEnB,kBhBwW+B,CgBpWjC,mBACE,YAAa,CAGf,iBACE,WAAY,CACZ,qBAAsB,CCjCxB,8BACE,oBXpBY,CWqBZ,wBAA+D,CAE/D,yDACE,aXxBU,CWuBZ,gDACE,aXxBU,CWuBZ,oDACE,aXxBU,CWuBZ,qDACE,aXxBU,CWuBZ,2CACE,aXxBU,CWwDd,8BALI,aXnDU,CWwDd,YAzBA,YAAa,CACb,iBAAgC,CAChC,kBP8BuD,CO5BvD,gBP4BuD,CO3BvD,eXpCc,CWwDd,uBAII,aAAc,ClB0KlB,oEAmBE,QAAS,CACT,SAAU,CAIZ,EACE,kBCzI0B,CD2I1B,iBAAkB,CAClB,eC7IsB,CD8ItB,iCC5IyC,CDgJ3C,KAEE,iBACoB,CAItB,cAJE,mBAOoB,CAHtB,SAEE,eACoB,CIlNtB,MJuNE,aCnKiB,CDoKjB,mBAAoB,CAItB,0CAME,gEQ1TsE,CR2TtE,iBCtLsB,CDuLtB,eCxLoB,CDyLpB,aOpTkB,CPqTlB,iCCnLsC,CDyKxC,kHAaI,aAAc,CACd,UO5TK,CPqUH,OAII,gBWvP6C,CXmQ7C,eWnQ6C,CXmPjD,cAwBI,YAAa,CAOb,qBWlR6C,CXmPjD,OAII,iBWvP6C,CXmPjD,OAII,mBWvP6C,CXmPjD,cAwBI,YAAa,CAOb,qBWlR6C,CXmPjD,OAII,kBWvP6C,CXmPjD,OAII,mBWvP6C,CXmPjD,cAwBI,YAAa,CAOb,qBWlR6C,CXmPjD,OAII,cWvP6C,CT8EnD,yCFqKE,OAII,cWvP6C,CXmPjD,OAII,gBWvP6C,CXmPjD,OAII,mBWvP6C,CXmPjD,OAII,mBWvP6C,CXmPjD,OAII,iBWvP6C,CXmPjD,OAII,cWvP6C,CXoRhD,CIpTP,EJ2TE,mBAAoB,CACpB,UOvWM,CPwWN,oBC5NyB,CD8NzB,cAAe,CALjB,gBASI,aCnO2D,CGnH/D,SJ6VI,QAeY,CI5WhB,GJmWE,UAAW,CAEX,eWlTqD,CXmTrD,QAAS,CACT,mBC/OyB,CDoPzB,4BAAc,CAIhB,SAGE,kBCzQ0B,CD0Q1B,2BCxPyB,CDyPzB,eC5QsB,CDgRxB,GACE,iBAAkB,CAUpB,MACE,mBCxQsB,CD4QxB,wBAEI,mBC7Q2B,CD8Q3B,eAAgB,CAKpB,GACE,kBCnRyB,CDkR3B,MAII,mBCpR8B,CDqR9B,eChWkB,CDqWtB,WACE,eClT0B,CDmT1B,oCW1WqD,CX2WrD,0BO/be,CP4bjB,wBAMI,eCxToB,CDyTpB,aO/be,CPocnB,KACE,aAAc,CACd,kBWtX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DoD,CHIlD,iBGHF,SADoD,CHIlD,iBGHF,eADoD,CHIlD,iBGHF,eADoD,CHIlD,iBGHF,SADoD,CHIlD,iBGHF,eADoD,CHIlD,iBGHF,eADoD,CHIlD,iBGHF,SADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,UADoD,CHOjD,CpB2ED,mCoBnGA,qBGjBF,kBAAa,CAAb,YAAa,CA2Bb,UAAmB,CHJnB,kPGpBA,kBAAc,CAAd,aAAc,CH0BZ,uBGEF,UAAmB,CHOjB,kBGHF,cADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,SADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,SADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,eADoD,CHIlD,kBGHF,SADoD,CHIlD,mBGHF,eADoD,CHIlD,mBGHF,eADoD,CHIlD,mBGHF,UADoD,CHOjD,CAKL,kCACE,UAAW,CAIb,kCACE,WAAY,CA8Bd,eEhGI,qBAA6D,CAA7D,sBAA6D,CFgGjE,qBG1DE,2BAD4E,CDrC1E,oBAA6D,CAA7D,qBAA6D,CF4EjE,4CG/BE,UAAmB,CHuCnB,wBGnCA,+BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,2BADgH,CvB6E9G,yCoBjDJ,0DG/BE,UAAmB,CHuCnB,yBGnCA,+BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,0BGnCA,gCADgH,CHoChH,0BGnCA,gCADgH,CHoChH,0BGnCA,2BADgH,CHsC/G,CpBuCC,yCoBjDJ,wDG/BE,UAAmB,CHuCnB,wBGnCA,+BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,gCADgH,CHoChH,wBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,2BADgH,CHsC/G,CpB4CC,mCoBtDJ,0DG/BE,UAAmB,CHuCnB,yBGnCA,+BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,gCADgH,CHoChH,yBGnCA,0BADgH,CHoChH,0BGnCA,gCADgH,CHoChH,0BGnCA,gCADgH,CHoChH,0BGnCA,2BADgH,CHsC/G,CAuDD,2EE7IE,sBAA6D,CAA7D,qBAA6D,CFoIjE,sBEpII,sBAA6D,CAA7D,qBAA6D,CEXjE,kBD4DE,UADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,WADoD,CvB6ElD,yCwBxIJ,mBD4DE,UADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,WADoD,CCzDrD,CxBsIG,yCwBxIJ,kBD4DE,UADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,SADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,eADoD,CC3DtD,kBD4DE,WADoD,CCzDrD,CxB2IG,mCwB7IJ,mBD4DE,UADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,SADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,eADoD,CC3DtD,mBD4DE,WADoD,CCzDrD,CAFD,gCD4DE,2BADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,4BADgH,CvB6E9G,yCwBxIJ,iCD4DE,2BADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,4BADgH,CCzDjH,CxBsIG,yCwBxIJ,gCD4DE,2BADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,0BADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,gCADgH,CC3DlH,gCD4DE,4BADgH,CCzDjH,CxB2IG,mCwB7IJ,iCD4DE,2BADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,0BADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,gCADgH,CC3DlH,iCD4DE,4BADgH,CCzDjH,CCJG,oDAEI,cAA0B,CAA1B,aAA0B,CAsBxB,gCFsCR,cADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,UADoD,CvB6ElD,yCyBlHM,iCFsCR,cADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,UADoD,CEnC3C,CzBgHP,yCyBlHM,gCFsCR,cADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,UADoD,CEnC3C,CzBqHP,mCyBvHM,iCFsCR,cADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,UADoD,CEnC3C,CLyLP,wBK/KE,cAA0B,CAA1B,aAA0B,CAG5B,8BAEI,eAA4B,CAA5B,cAA4B,CzBiGhC,yCyB1IA,sDAEI,cAA0B,CAA1B,aAA0B,CAE7B,CzBsID,yCyB3HM,iCF+CR,cADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,UADoD,CE5C3C,CzByHP,yCyBlHM,kCFsCR,cADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,UADoD,CEnC3C,CzBgHP,yCyBlHM,iCFsCR,cADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,UADoD,CEnC3C,CzBqHP,mCyBvHM,kCFsCR,cADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,UADoD,CEnC3C,CzBgHP,yCoByEA,yBK/KE,cAA0B,CAA1B,aAA0B,CAG5B,+BAEI,eAA4B,CAA5B,cAA4B,CAE/B,CzB+FD,yCyB1IA,oDAEI,cAA0B,CAA1B,aAA0B,CAE7B,CzBsID,yCyB3HM,gCF+CR,cADoD,CE9C5C,gCF+CR,eADoD,CE9C5C,gCF+CR,SADoD,CE9C5C,gCF+CR,eADoD,CE9C5C,gCF+CR,eADoD,CE9C5C,gCF+CR,SADoD,CE9C5C,gCF+CR,eADoD,CE9C5C,gCF+CR,eADoD,CE9C5C,gCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,UADoD,CE5C3C,CzByHP,yCyB3HM,iCF+CR,cADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,UADoD,CE5C3C,CzByHP,yCyBlHM,gCFsCR,cADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,eADoD,CErC5C,gCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,UADoD,CEnC3C,CzBqHP,mCyBvHM,iCFsCR,cADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,eADoD,CErC5C,iCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,UADoD,CEnC3C,CzBgHP,yCoByEA,wBK/KE,cAA0B,CAA1B,aAA0B,CAG5B,8BAEI,eAA4B,CAA5B,cAA4B,CAE/B,CzBoGD,mCyB/IA,sDAEI,cAA0B,CAA1B,aAA0B,CAE7B,CzB2ID,mCyBhIM,iCF+CR,cADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,UADoD,CE5C3C,CzB8HP,mCyBhIM,kCF+CR,cADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,SADoD,CE9C5C,mCF+CR,eADoD,CE9C5C,mCF+CR,eADoD,CE9C5C,mCF+CR,UADoD,CE5C3C,CzB8HP,mCyBhIM,iCF+CR,cADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,eADoD,CE9C5C,iCF+CR,SADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,eADoD,CE9C5C,kCF+CR,UADoD,CE5C3C,CzB8HP,mCyBvHM,kCFsCR,cADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,eADoD,CErC5C,kCFsCR,SADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,eADoD,CErC5C,mCFsCR,UADoD,CEnC3C,CzBqHP,mCoBoEA,yBK/KE,cAA0B,CAA1B,aAA0B,CAG5B,+BAEI,eAA4B,CAA5B,cAA4B,CAE/B,CLsLD,gBMhOF,aAA6B,CNoO3B,+BMpOF,oBAA6B,CNgO3B,gBMhOF,oBAA6B,CNoO3B,+BMpOF,qCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,C1ByI3B,yCoBuFA,iBMhOF,aAA6B,CNoO3B,gCMpOF,oBAA6B,CNgO3B,iBMhOF,oBAA6B,CNoO3B,gCMpOF,qCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,kBMhOF,qBAA6B,CNoO3B,iCMpOF,sCAA6B,CNgO3B,kBMhOF,qBAA6B,CNoO3B,iCMpOF,sCAA6B,CNsO1B,CpB7FD,yCoBuFA,gBMhOF,aAA6B,CNoO3B,+BMpOF,oBAA6B,CNgO3B,gBMhOF,oBAA6B,CNoO3B,+BMpOF,qCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,qBAA6B,CNoO3B,+BMpOF,sCAA6B,CNgO3B,gBMhOF,eAA6B,CNoO3B,+BMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNsO1B,CpBxFD,mCoBkFA,iBMhOF,aAA6B,CNoO3B,gCMpOF,oBAA6B,CNgO3B,iBMhOF,oBAA6B,CNoO3B,gCMpOF,qCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,qBAA6B,CNoO3B,gCMpOF,sCAA6B,CNgO3B,iBMhOF,eAA6B,CNoO3B,gCMpOF,gCAA6B,CNgO3B,kBMhOF,qBAA6B,CNoO3B,iCMpOF,sCAA6B,CNgO3B,kBMhOF,qBAA6B,CNoO3B,iCMpOF,sCAA6B,CNsO1B,CAzJS,QCxEd,mBAAa,CAAb,YAAa,CACb,2BAH6B,CAG7B,4BAH6B,CAG7B,uBAH6B,CDmP7B,cG7MA,UAAmB,CACnB,cAA2B,CH4M3B,8BG7LE,WAAmB,CH6LrB,yPA2BM,eAAgB,CpBxIlB,yCoB6GJ,uQA2BM,eAAgB,CACjB,CpBzID,yCoB6GJ,yPA2BM,eAAgB,CACjB,CpBpID,mCoBwGJ,uQA2BM,eAAgB,CACjB,CA5BL,+MGzNE,kBAAc,CAAd,aAAc,CHyNhB,iBGzLE,eADoD,CH0LtD,iBGzLE,gBADoD,CH0LtD,iBGzLE,UADoD,CH0LtD,iBGzLE,gBADoD,CH0LtD,iBGzLE,gBADoD,CH0LtD,iBGzLE,UADoD,CH0LtD,iBGzLE,gBADoD,CH0LtD,iBGzLE,gBADoD,CH0LtD,iBGzLE,UADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,WADoD,CvB6ElD,yCoB6GJ,qBG5NE,kBAAa,CAAb,YAAa,CA2Bb,WAAmB,CHiMrB,kPGzNE,kBAAc,CAAd,aAAc,CHyNhB,uBG7LE,WAAmB,CH6LrB,kBGzLE,eADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,UADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,UADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,gBADoD,CH0LtD,kBGzLE,UADoD,CH0LtD,mBGzLE,gBADoD,CH0LtD,mBGzLE,gBADoD,CH0LtD,mBGzLE,WADoD,CHoP/C,CpBvKH,yCoB6GJ,oBG5NE,kBAAa,CAAb,YAAa,CA2Bb,WAAmB,CHiMrB,qOGzNE,kBAAc,CAAd,aAAc,CHyNhB,sBG7LE,WAAmB,CH6LrB,iBGzLE,eADoD,CH0LtD,iBGzLE,gBADoD,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,yBAAoB,CAApB,mBAAoB,CAyBhB,YAAuC,CPqXtC,CAIL,yBAEI,WAAY,CpBjQd,yCoB+PF,gCAMM,WAAY,CACb,CpBtQH,yCoB+PF,+BAMM,WAAY,CACb,CpBjQH,mCoB0PF,gCAMM,WAAY,CACb,CAnSP,eEhGI,oBAA6D,CAA7D,uBAA6D,CFgGjE,qBG1DE,4BAD4E,CDrC1E,mBAA6D,CAA7D,sBAA6D,CF4EjE,4CG/BE,WAAmB,CHuCnB,wBGnCA,gCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,4BADgH,CvB6E9G,yCoBjDJ,0DG/BE,WAAmB,CHuCnB,yBGnCA,gCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,0BGnCA,iCADgH,CHoChH,0BGnCA,iCADgH,CHoChH,0BGnCA,4BADgH,CHsC/G,CpBuCC,yCoBjDJ,wDG/BE,WAAmB,CHuCnB,wBGnCA,gCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,iCADgH,CHoChH,wBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,4BADgH,CHsC/G,CpB4CC,mCoBtDJ,0DG/BE,WAAmB,CHuCnB,yBGnCA,gCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,iCADgH,CHoChH,yBGnCA,2BADgH,CHoChH,0BGnCA,iCADgH,CHoChH,0BGnCA,iCADgH,CHoChH,0BGnCA,4BADgH,CHsC/G,CAmTD,0BO/YI,6BAAmC,C3BmIrC,yCoBgRA,iCOnZE,6BAAmC,CPqZpC,CpBlRD,yCoBgRA,gCOnZE,6BAAmC,CPqZpC,CpB7QD,mCoB2QA,iCOnZE,6BAAmC,CPqZpC,CQ/KL,QA/KA,qBAAsB,CACtB,e7B6KkC,C6BnKhC,iB7BkKuB,C6B/JzB,4BAA6B,CAC7B,e7Bbe,C6Bcf,qE7BgLuE,C6BhLvE,6D7BgLuE,C6B/KvE,mB7B2J0B,C6B1J1B,e7BuKe,C6BtKf,uBAAwB,CACxB,avB7GU,CFk/EV,+BIzyEE,SAAU,CqBlDZ,4BACE,wB7BkHuE,C6BjHvE,UvBzJQ,CuBwQV,aAMM,e7BEM,C6BRZ,cAMM,gB7BGQ,C6BTd,cAMM,iB7BKQ,C6BXd,iBAlJE,aAAc,CACd,UAAW,CACX,cAAe,CACf,aAAc,CA+IhB,gBApHA,qBvBxIQ,CuByIR,UvBrJU,CuBuJV,4CACE,wBAPoF,CAQpF,UvBzJQ,CuBwQV,kBApHA,qBvB/IS,CuBgJT,UvBrJU,CuBuJV,gDACE,wBAPoF,CAQpF,UvBzJQ,CuBwQV,gBApHA,wBvBhIY,CuBiIZ,UvBrJU,CuBuJV,4CACE,wBAPoF,CAQpF,UvBzJQ,CuBwQV,gBApHA,wBvBrIc,CuBsId,UvB5IU,CuB8IV,4CACE,wBAPoF,CAQpF,UvBhJQ,CuB+PV,cApHA,wBvB5Hc,CuB6Hd,UvBrJU,CuBuJV,wCACE,wBAPoF,CAQpF,UvBzJQ,CuBwQV,mCA1DA,W7BwE4B,C6BvE5B,kBAAmB,CAEnB,iIACE,qBvBtMM,CuBuMN,UvBnNQ,CuBwQV,mDA1DA,W7BwE4B,C6BvE5B,kBAAmB,CAEnB,iLACE,qBvBtMM,CuBuMN,UvBnNQ,CuBwQV,uDA1DA,W7BwE4B,C6BvE5B,kBAAmB,CAEnB,6LACE,qBvB7MO,CuB8MP,UvBnNQ,CuBwQV,mDA1DA,W7BwE4B,C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oMV,8BDhDA,wBvBrIc,CuBsId,UvB5IU,CuB8IV,wEACE,wBAPoF,CAQpF,UvBhJQ,CwB2LV,4BDhDA,wBvB5Hc,CuB6Hd,UvBrJU,CuBuJV,oEACE,wBAPoF,CAQpF,UvBzJQ,CwBoMV,uFAlEE,cAAe,CAGjB,+GAEI,kBAAc,CAAd,aAAc,CAMhB,gJACE,eAAgB,CAhDpB,0IAEI,kBAAa,CAAb,YAAa,C7BqEb,yC6BIJ,wCAEI,kBAAc,CAAd,aAAc,CAKhB,eAAgB,CAgBjB,C7B3BG,yC6BIJ,yCAEI,kBAAc,CAAd,aAAc,CAKhB,eAAgB,CAgBjB,C7BtBG,yC6B0BJ,yCAsDM,aAAc,CAtDpB,iDAyDQ,aAAc,CACd,cAAiC,CAClC,C7BrFH,yC6B0BJ,0CAiEM,aAAc,CAjEpB,kDAoEQ,aAAc,CACd,cAAiC,CAClC,CC5KP,cAXA,iBAAkB,CAClB,azB7EmB,CyB8EnB,cAAe,C3B4uFf,qCIxnFE,SAAU,CuBlHZ,wCAEE,UzBhFQ,CyBqFV,oBAvBA,Y/B6Pc,C+B5Pd,S/BgQa,C+B/Pb,e/BmQY,C+BlQZ,a/BqQwB,C+BjPxB,mCAvBA,U/B8PY,C+B7PZ,S/BiQc,C+BhQd,a/BoQW,C+BnQX,a/BqQwB,CgC9RxB,OAZA,oBAAqB,CACrB,uBhCkZ+B,CgChZ/B,ehCmDe,CgCjDf,ehC6YsB,CgC5YtB,aAAc,CACd,kBAAmB,CACnB,c1B7CU,C0BiDV,sBAGE,e1BxCM,C0ByCN,U1BrDQ,C0BiDV,iBAQM,e1BpDG,C0BqDH,U1B1DI,C0BiDV,eAQM,kB1BrCM,C0BsCN,U1B1DI,C0BiDV,eAQM,kB1B1CQ,C0B2CR,U1BjDI,C0BwCV,aAQM,kB1BjCQ,C0BkCR,U1B1DI,C2BwCV,UAnCA,WjCghBoB,CiC/gBpB,kBjCgFkB,CiC/ElB,ejCoFe,CiCnFf,qB3BLiB,C2BqCjB,kCAMQ,qB3BlCA,C2B4BR,oCAMQ,qB3BzCC,C2BmCT,kCAMQ,wB3B1BI,C2BoBZ,kCAMQ,wB3B/BM,C2ByBd,gCAMQ,wB3BtBM,C2B6Bd,gBAxCA,iBAAkB,CAClB,aAAc,CACd,OAAS,CACT,WAAY,CACZ,qB3BLQ,C2B8CR,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B,CoB3BpB,MgB6DA,kB9BpHkB,C8ByHpB,YAJE,a9BrHkB,C8ByHpB,MACE,kB9B1HkB,C8B+HpB,kBAII,sBAAuB,CAJ3B,oCAUI,6B1B1DmD,C0B2DnD,epCxDkB,CoCyDlB,eAAY,CAKhB,kBAGI,6B1BpEmD,C0BFnD,uBACE,eAAgB,CAChB,wBCMyC,CDyE3C,sBAEE,qB9BxKI,C8BqGV,yBAEE,+BCV6C,CDW7C,qB9BxGQ,CL0KN,yCmCqHJ,oCACE,YAAa,CAGf,6CAGE,aAAc,CAGhB,eACE,YAAa,CACd,CAcD,aAvGA,aAAc,CACd,UAAW,CACX,eAAgB,CAOd,2BACE,wBpCigBmE,CoC3frE,2BACE,wBpC4fmE,CoCtfrE,2BACE,wBpC0eyD,CoCnezD,qDACE,wBpCseP,CoCvZC,cACE,eAAgB,CElRlB,OAXA,oBAAqB,CACrB,etC0MoB,CsCzMpB,YtCwMmB,CsCtMnB,iBAAkB,CAElB,etCsMsB,CsCrMtB,iBhC5CU,CgCgDV,sBAGE,ehCvCM,CgCwCN,UhCpDQ,CgCgDV,iBAQM,ehCnDG,CgCoDH,UhCzDI,CgCgDV,eAQM,kBhCpCM,CgCqCN,UhCzDI,CgCgDV,eAQM,kBhCzCQ,CgC0CR,UhChDI,CgCuCV,aAQM,kBhChCQ,CgCiCR,UhCzDI,CiC6GV,aA7CA,evCsLuC,CuCrLvC,eAAgB,C/BuGhB,uCAEE,aAAc,CACd,WAAY,CAGV,YAAa,CACb,2BAAQ,CAAR,OAAQ,CAIZ,mBACE,UAAW,C+BhHb,gBACE,UAAO,CAEP,kB7BgBqD,C6BfrD,UjC/DQ,CiCgER,cAAe,CAGb,wBAAyB,CAQvB,uCACE,iBAAkB,CAClB,evCqKuB,CuCpKvB,SAAU,CACV,WvCsK2B,CuCrK3B,UjCtFS,CiCgGjB,eACE,UjCxFM,CiC0FN,qBACE,yBAA0B,CAM9B,uBAII,UjC9Ga,CiC+Gb,kBAAmB,CC3BvB,SA1CA,iBAAkB,CAClB,QxC8PgB,CwC7PhB,SxC8PiB,CwC5PjB,gBxC0PwB,CwCzPxB,exCyCe,CwCxBf,qBAFsE,CAGtE,alC5DoB,CkC6CpB,sBACE,YAAa,CAGf,qBACE,eAAgB,CA6BlB,i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,CAyClB,oBAzCkB,CDiFhB,mBCxBF,mBAzDkB,CD6EhB,cCpCF,wBAxCgB,CAwChB,kBAxCgB,CDgFd,mBCxBF,iBAxDgB,CD4Ed,eCpCF,yBAvCkB,CAuClB,mBAvCkB,CD+EhB,oBCxBF,kBAvDkB,CDqFlB,qBC/CA,uBAnDkB,CAmDlB,sBAnDkB,CAoDlB,wBAxCgB,CAwChB,kBAxCgB,CDwFd,oBAAqB,CAMnB,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,C7DyDZ,yC6DxDA,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CAGX,C7DsDD,yC6DxDA,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,eChCJ,2BD+BgB,CC/BhB,OD+BgB,CAGX,C7D2DD,mC6D7DA,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CACZ,gBChCJ,2BD+BgB,CC/BhB,OD+BgB,CAGX,CA/FL,gBCYA,mBAAa,CAAb,YAAa,CDRb,iBACE,kBAAc,CAAd,aAAc,CAGhB,iBACE,kBAAc,CAAd,aAAc,CAGhB,mBACE,kBAAc,CAAd,aAAc,CAId,cC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,WAAY,CACZ,2B7FsEqD,C6FnEvD,oBACE,ajGbkB,CiGclB,cAAe,CAEf,qEhChBF,kB7D+EuD,C6D9EvD,egCkB4B,ChCjB5B,ajEFoB,CiEGpB,gEhEZwE,CgEaxE,evE4HqB,CuG5GjB,mB7F2DmD,C6D1EvD,kKAEE,aAVkB,CAWlB,oBAAqB,CACrB,egCU0B,ChCR1B,sMACE,ajEAQ,CiEGV,sMACE,0BjEJQ,CiEKR,kBAAmB,CgCMvB,mBACE,wChGhCuC,CgGiCvC,iBAAkB,CAClB,eAAgB,CAYpB,cA9CE,qBjGAU,CiGEV,oB7FqFuD,C6FpFvD,iC7FoFuD,C6FnFvD,UAAW,CACX,iBAAkB,CAClB,aAAc,CACd,oBAAqB,CACrB,ajGAoB,CiG8BlB,wBjGpCmB,CiGQrB,oBACE,kBAAmC,CAGrC,0BACE,iB7FwEqD,C6FvErD,WAAY,CACZ,2B7FsEqD,C6FnEvD,2BACE,ajGbkB,CiGclB,cAAe,CAEf,0FhChBF,kB7D+EuD,C6D9EvD,egCkB4B,ChCjB5B,ajEFoB,CiEGpB,gEhEZwE,CgEaxE,evE4HqB,CuG5GjB,mB7F2DmD,C6D1EvD,4MAEE,aAVkB,CAWlB,oBAAqB,CACrB,egCU0B,ChCR1B,gPACE,ajEAQ,CiEGV,gPACE,0BjEJQ,CiEKR,kBAAmB,CgCMvB,0BACE,wChGhCuC,CgGiCvC,iBAAkB,CAClB,eAAgB,CCnCpB,0BACE,kB9FuFuD,C0EhFvD,gBACE,UAAW,CACX,UAAW,CACX,aAAc,CqBHlB,WACE,aAAc,CAGhB,kBACE,kBAAmB,CACnB,qBAAsB,CAGxB,mBACE,aAAc,CAGhB,WACE,YAAa,CACb,WAAY,CxG+IR,yCwGjJN,WAKI,aAAc,CAEjB,CAmGD,0DA/FE,kBnGvBoB,CmGwBpB,eAAiB,CxGqIb,yCwGnIJ,gFAEI,iBAAkB,CAClB,YAAa,CAEhB,CAED,gGACE,kB/F6CqD,C+F5CrD,eAAgB,CAChB,UnG5CQ,CmG6CR,sBAAwB,CACxB,eAAgB,CAGlB,4FlCzCA,kB7D+EuD,C6D9EvD,ekCyC0B,ClCxC1B,ajEFoB,CiEGpB,gEhEZwE,CgEaxE,evE4HqB,CyG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","file":"style.css","sourcesContent":["// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-base\n////\n\n// Base Typography\n// - - - - - - - - - - - - - - -\n// These are styles applied to basic HTML tags, including:\n// - Paragraphs <p>\n// - Bold/italics <b> <strong> <i> <em>\n// - Small text <small>\n// - Headings <h1>-<h6>\n// - Anchors <a>\n// - Dividers <hr>\n// - Lists <ul> <ol> <dl>\n// - Blockquotes <blockquote>\n// - Code blocks <code>\n// - Abbreviations <abbr>\n// - Citations <cite>\n// - Keystrokes <kbd>\n\n/// Font family for header elements.\n/// @type String | List\n$header-font-family: $body-font-family !default;\n\n/// Font weight of headers.\n/// @type String\n$header-font-weight: $global-weight-normal !default;\n\n/// Font style (e.g. italicized) of headers.\n/// @type String\n$header-font-style: normal !default;\n\n/// Font stack used for elements that use monospaced type, such as code samples\n/// @type String | List\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace !default;\n\n/// Color of headers.\n/// @type Color\n$header-color: inherit !default;\n\n/// Line height of headers.\n/// @type Number\n$header-lineheight: 1.4 !default;\n\n/// Bottom margin of headers.\n/// @type Number\n$header-margin-bottom: 0.5rem !default;\n\n/// Styles for headings at various screen sizes. Each key is a breakpoint, and each value is a map of heading styles.\n/// @type Map\n$header-styles: (\n small: (\n 'h1': ('font-size': 24),\n 'h2': ('font-size': 20),\n 'h3': ('font-size': 19),\n 'h4': ('font-size': 18),\n 'h5': ('font-size': 17),\n 'h6': ('font-size': 16),\n ),\n medium: (\n 'h1': ('font-size': 48),\n 'h2': ('font-size': 40),\n 'h3': ('font-size': 31),\n 'h4': ('font-size': 25),\n 'h5': ('font-size': 20),\n 'h6': ('font-size': 16),\n ),\n) !default;\n\n// $header-styles map is built from $header-sizes in order to ensure downward compatibility\n// when $header-sizes is depreciated, $header-styles needs to get !default values like settings.scss\n@function build_from_header-sizes($header-sizes) {\n @warn 'Note, that $header-sizes has been replaced with $header-styles. $header-sizes still works, but it is going to be depreciated.';\n $header-styles: ();\n @each $size, $headers in $header-sizes {\n $header-map: ();\n @each $header, $font-size in $headers {\n $header-map: map-merge($header-map, ($header: ('font-size': $font-size)));\n }\n $header-styles: map-merge($header-styles, ($size: $header-map));\n }\n @return $header-styles;\n}\n\n// If it exists $headers-sizes is used to build $header-styles. See the documentation.\n@if variable-exists(header-sizes) {\n $header-styles: build_from_header-sizes($header-sizes);\n}\n\n/// Text rendering method of headers.\n/// @type String\n$header-text-rendering: optimizeLegibility !default;\n\n/// Font size of `<small>` elements.\n/// @type Number\n$small-font-size: 80% !default;\n\n/// Color of `<small>` elements when placed inside headers.\n/// @type Color\n$header-small-font-color: $medium-gray !default;\n\n/// Line height of text inside `<p>` elements.\n/// @type Number\n$paragraph-lineheight: 1.6 !default;\n\n/// Bottom margin of paragraphs.\n/// @type Number\n$paragraph-margin-bottom: 1rem !default;\n\n/// Text rendering method for paragraph text.\n/// @type String\n$paragraph-text-rendering: optimizeLegibility !default;\n\n/// Text color of code samples.\n/// @type Color\n$code-color: $black !default;\n\n/// Font family of code samples.\n/// @type String | List\n$code-font-family: $font-family-monospace !default;\n\n/// Font weight of text in code samples.\n/// @type String\n$code-font-weight: $global-weight-normal !default;\n\n/// Background color of code samples.\n/// @type Color\n$code-background: $light-gray !default;\n\n/// Border around code samples.\n/// @type List\n$code-border: 1px solid $medium-gray !default;\n\n/// Padding around text of code samples.\n/// @type Number | List\n$code-padding: rem-calc(2 5 1) !default;\n\n/// Default color for links.\n/// @type Color\n$anchor-color: $primary-color !default;\n\n/// Default color for links on hover.\n/// @type Color\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%) !default;\n\n/// Default text decoration for links.\n/// @type String\n$anchor-text-decoration: none !default;\n\n/// Default text decoration for links on hover.\n/// @type String\n$anchor-text-decoration-hover: none !default;\n\n/// Maximum width of a divider.\n/// @type Number\n$hr-width: $global-width !default;\n\n/// Default border for a divider.\n/// @type List\n$hr-border: 1px solid $medium-gray !default;\n\n/// Default margin for a divider.\n/// @type Number | List\n$hr-margin: rem-calc(20) auto !default;\n\n/// Line height for items in a list.\n/// @type Number\n$list-lineheight: $paragraph-lineheight !default;\n\n/// Bottom margin for items in a list.\n/// @type Number\n$list-margin-bottom: $paragraph-margin-bottom !default;\n\n/// Bullet type to use for unordered lists (e.g., `square`, `circle`, `disc`).\n/// @type String\n$list-style-type: disc !default;\n\n/// Positioning for bullets on unordered list items.\n/// @type String\n$list-style-position: outside !default;\n\n/// Left (or right) margin for lists.\n/// @type Number\n$list-side-margin: 1.25rem !default;\n\n/// Left (or right) margin for a list inside a list.\n/// @type Number\n$list-nested-side-margin: 1.25rem !default;\n\n/// Bottom margin for `<dl>` elements.\n/// @type Number\n$defnlist-margin-bottom: 1rem !default;\n\n/// Font weight for `<dt>` elements.\n/// @type String\n$defnlist-term-weight: $global-weight-bold !default;\n\n/// Spacing between `<dt>` and `<dd>` elements.\n/// @type Number\n$defnlist-term-margin-bottom: 0.3rem !default;\n\n/// Text color of `<blockquote>` elements.\n/// @type Color\n$blockquote-color: $dark-gray !default;\n\n/// Padding inside a `<blockquote>` element.\n/// @type Number | List\n$blockquote-padding: rem-calc(9 20 0 19) !default;\n\n/// Side border for `<blockquote>` elements.\n/// @type List\n$blockquote-border: 1px solid $medium-gray !default;\n\n/// Font size for `<cite>` elements.\n/// @type Number\n$cite-font-size: rem-calc(13) !default;\n\n/// Text color for `<cite>` elements.\n/// @type Color\n$cite-color: $dark-gray !default;\n\n/// Pseudo content for `<cite>` elements.\n/// @type String\n$cite-pseudo-content: '\\2014 \\0020' !default;\n\n/// Font family for `<kbd>` elements.\n/// @type String | List\n$keystroke-font: $font-family-monospace !default;\n\n/// Text color for `<kbd>` elements.\n/// @type Color\n$keystroke-color: $black !default;\n\n/// Background color for `<kbd>` elements.\n/// @type Color\n$keystroke-background: $light-gray !default;\n\n/// Padding for `<kbd>` elements.\n/// @type Number | List\n$keystroke-padding: rem-calc(2 4 0) !default;\n\n/// Border radius for `<kbd>` elements.\n/// @type Number | List\n$keystroke-radius: $global-radius !default;\n\n/// Bottom border style for `<abbr>` elements.\n/// @type List\n$abbr-underline: 1px dotted $black !default;\n\n@mixin foundation-typography-base {\n // Typography resets\n div,\n dl,\n dt,\n dd,\n ul,\n ol,\n li,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n pre,\n form,\n p,\n blockquote,\n th,\n td {\n margin: 0;\n padding: 0;\n }\n\n // Paragraphs\n p {\n margin-bottom: $paragraph-margin-bottom;\n\n font-size: inherit;\n line-height: $paragraph-lineheight;\n text-rendering: $paragraph-text-rendering;\n }\n\n // Emphasized text\n em,\n i {\n font-style: italic;\n line-height: inherit;\n }\n\n // Strong text\n strong,\n b {\n font-weight: $global-weight-bold;\n line-height: inherit;\n }\n\n // Small text\n small {\n font-size: $small-font-size;\n line-height: inherit;\n }\n\n // Headings\n h1, .h1,\n h2, .h2,\n h3, .h3,\n h4, .h4,\n h5, .h5,\n h6, .h6 {\n font-family: $header-font-family;\n font-style: $header-font-style;\n font-weight: $header-font-weight;\n color: $header-color;\n text-rendering: $header-text-rendering;\n\n small {\n line-height: 0;\n color: $header-small-font-color;\n }\n }\n\n // Heading styles\n @each $size, $headers in $header-styles {\n @include breakpoint($size) {\n @each $header, $header-defs in $headers {\n $font-size-temp: 1rem;\n #{$header}, .#{$header} {\n\n @if map-has-key($header-defs, font-size) {\n $font-size-temp: rem-calc(map-get($header-defs, font-size));\n font-size: $font-size-temp;\n } @else if map-has-key($header-defs, fs) {\n $font-size-temp: rem-calc(map-get($header-defs, fs));\n font-size: $font-size-temp;\n } @else if $size == $-zf-zero-breakpoint {\n font-size: $font-size-temp;\n }\n @if map-has-key($header-defs, line-height) {\n line-height: unitless-calc(map-get($header-defs, line-height), $font-size-temp);\n } @else if map-has-key($header-defs, lh) {\n line-height: unitless-calc(map-get($header-defs, lh), $font-size-temp);\n } @else if $size == $-zf-zero-breakpoint {\n line-height: unitless-calc($header-lineheight, $font-size-temp);\n }\n\n @if map-has-key($header-defs, margin-top) {\n margin-top: rem-calc(map-get($header-defs, margin-top));\n } @else if map-has-key($header-defs, mt) {\n margin-top: rem-calc(map-get($header-defs, mt));\n } @else if $size == $-zf-zero-breakpoint {\n margin-top: 0;\n }\n @if map-has-key($header-defs, margin-bottom) {\n margin-bottom: rem-calc(map-get($header-defs, margin-bottom));\n } @else if map-has-key($header-defs, mb) {\n margin-bottom: rem-calc(map-get($header-defs, mb));\n } @else if $size == $-zf-zero-breakpoint {\n margin-bottom: rem-calc($header-margin-bottom);\n }\n }\n }\n }\n }\n\n // Links\n a {\n line-height: inherit;\n color: $anchor-color;\n text-decoration: $anchor-text-decoration;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: $anchor-color-hover;\n @if $anchor-text-decoration-hover != $anchor-text-decoration {\n text-decoration: $anchor-text-decoration-hover;\n }\n }\n\n img {\n border: 0;\n }\n }\n\n // Horizontal rule\n hr {\n clear: both;\n\n max-width: $hr-width;\n height: 0;\n margin: $hr-margin;\n\n border-top: 0;\n border-right: 0;\n border-bottom: $hr-border;\n border-left: 0;\n }\n\n // Lists\n ul,\n ol,\n dl {\n margin-bottom: $list-margin-bottom;\n list-style-position: $list-style-position;\n line-height: $list-lineheight;\n }\n\n // List items\n li {\n font-size: inherit;\n }\n\n // Unordered lists\n ul {\n margin-#{$global-left}: $list-side-margin;\n list-style-type: $list-style-type;\n }\n\n // Ordered lists\n ol {\n margin-#{$global-left}: $list-side-margin;\n }\n\n // Nested unordered/ordered lists\n ul, ol {\n & & {\n margin-#{$global-left}: $list-nested-side-margin;\n margin-bottom: 0;\n }\n }\n\n // Definition lists\n dl {\n margin-bottom: $defnlist-margin-bottom;\n\n dt {\n margin-bottom: $defnlist-term-margin-bottom;\n font-weight: $defnlist-term-weight;\n }\n }\n\n // Blockquotes\n blockquote {\n margin: 0 0 $paragraph-margin-bottom;\n padding: $blockquote-padding;\n border-#{$global-left}: $blockquote-border;\n\n &, p {\n line-height: $paragraph-lineheight;\n color: $blockquote-color;\n }\n }\n\n // Citations\n cite {\n display: block;\n font-size: $cite-font-size;\n color: $cite-color;\n\n &:before {\n content: $cite-pseudo-content;\n }\n }\n\n // Abbreviations\n abbr, abbr[title] {\n border-bottom: $abbr-underline;\n cursor: help;\n text-decoration: none;\n }\n\n // Figures\n figure {\n margin: 0;\n }\n\n // Code\n code {\n padding: $code-padding;\n\n border: $code-border;\n background-color: $code-background;\n\n font-family: $code-font-family;\n font-weight: $code-font-weight;\n color: $code-color;\n }\n\n // Keystrokes\n kbd {\n margin: 0;\n padding: $keystroke-padding;\n\n background-color: $keystroke-background;\n\n font-family: $keystroke-font;\n color: $keystroke-color;\n\n @if has-value($keystroke-radius) {\n border-radius: $keystroke-radius;\n }\n }\n}\n","// Foundation for Sites Settings\n// -----------------------------\n//\n// Table of Contents:\n//\n// 1. Global\n// 2. Breakpoints\n// 3. The Grid\n// 4. Base Typography\n// 5. Typography Helpers\n// 6. Abide\n// 7. Accordion\n// 8. Accordion Menu\n// 9. Badge\n// 10. Breadcrumbs\n// 11. Button\n// 12. Button Group\n// 13. Callout\n// 14. Card\n// 15. Close Button\n// 16. Drilldown\n// 17. Dropdown\n// 18. Dropdown Menu\n// 19. Flexbox Utilities\n// 20. Forms\n// 21. Label\n// 22. Media Object\n// 23. Menu\n// 24. Meter\n// 25. Off-canvas\n// 26. Orbit\n// 27. Pagination\n// 28. Progress Bar\n// 29. Prototype Arrow\n// 30. Prototype Border-Box\n// 31. Prototype Border-None\n// 32. Prototype Bordered\n// 33. Prototype Display\n// 34. Prototype Font-Styling\n// 35. Prototype List-Style-Type\n// 36. Prototype Overflow\n// 37. Prototype Position\n// 38. Prototype Rounded\n// 39. Prototype Separator\n// 40. Prototype Shadow\n// 41. Prototype Sizing\n// 42. Prototype Spacing\n// 43. Prototype Text-Decoration\n// 44. Prototype Text-Transformation\n// 45. Prototype Text-Utilities\n// 46. Responsive Embed\n// 47. Reveal\n// 48. Slider\n// 49. Switch\n// 50. Table\n// 51. Tabs\n// 52. Thumbnail\n// 53. Title Bar\n// 54. Tooltip\n// 55. Top Bar\n// 56. Xy Grid\n\n@import '../../node_modules/foundation-sites/scss/util/util';\n@import '00-base/utils/_01-variables.scss';\n@import '00-base/global/01-colors/_color-vars.scss';\n@import '00-base/global/02-typography/_typography.scss';\n\n// 1. Global\n// ---------\n\n$global-font-size: 100%;\n$global-width: rem-calc(1200);\n$global-lineheight: 1.5;\n$foundation-palette: (\n primary: $red,\n secondary: $gray,\n success: $teal,\n warning: $orange,\n alert: $violet,\n);\n$light-gray: $gray-lightest;\n$medium-gray: $gray-lighter;\n$dark-gray: $gray-darker;\n$body-background: $white;\n$body-font-color: $gray-darkest;\n$body-font-family: $proxima;\n$body-antialiased: true;\n$global-margin: 1rem;\n$global-padding: 1rem;\n$global-position: 1rem;\n$global-weight-normal: 400;\n$global-weight-bold: 700;\n$global-radius: 0;\n$global-menu-padding: 0.7rem 1rem;\n$global-menu-nested-margin: 1rem;\n$global-text-direction: ltr;\n$global-flexbox: true;\n$global-prototype-breakpoints: false;\n$global-button-cursor: auto;\n$global-color-pick-contrast-tolerance: 0;\n$print-transparent-backgrounds: true;\n\n@include add-foundation-colors;\n$print-hrefs: true;\n\n// 2. Breakpoints\n// --------------\n\n$breakpoints: (\n small: 0,\n medium: 640px,\n large: 960px,\n xlarge: 1280px,\n xxlarge: 1440px,\n);\n$print-breakpoint: large;\n$breakpoint-classes: (small medium large xlarge);\n\n// 3. The Grid\n// -----------\n\n$grid-row-width: $global-width;\n$grid-column-count: 12;\n$grid-column-gutter: $space-x;\n$grid-column-align-edge: true;\n$grid-column-alias: 'columns';\n$block-grid-max: 8;\n\n// 4. Base Typography\n// ------------------\n\n$header-font-family: $proxima;\n$header-font-weight: 600;\n$header-font-style: normal;\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;\n$header-color: $gray-darkest;\n$header-color--hover: $teal;\n$header-lineheight: 1.2;\n$header-margin-bottom: $space-y;\n$header-text-rendering: optimizeLegibility;\n$small-font-size: 85%;\n$header-small-font-color: $gray;\n$paragraph-lineheight: 1.6;\n$paragraph-margin-bottom: 1rem;\n$paragraph-text-rendering: optimizeLegibility;\n$code-color: $black;\n$code-font-family: $font-family-monospace;\n$code-font-weight: $global-weight-normal;\n$code-background: none;\n$code-border: none;\n$code-padding: rem-calc(2 5);\n$anchor-color: $primary-color;\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%);\n$anchor-text-decoration: none;\n$anchor-text-decoration-hover: none;\n$hr-width: $global-width;\n$hr-border: 1px solid $medium-gray;\n$hr-margin: rem-calc(20) auto;\n$list-lineheight: $paragraph-lineheight;\n$list-margin-bottom: $paragraph-margin-bottom;\n$list-style-type: disc;\n$list-style-position: outside;\n$list-side-margin: 1.25rem;\n$list-nested-side-margin: 1.25rem;\n$defnlist-margin-bottom: 1rem;\n$defnlist-term-weight: $global-weight-bold;\n$defnlist-term-margin-bottom: 0.3rem;\n$blockquote-color: $dark-gray;\n$blockquote-padding: rem-calc(9 20 0 19);\n$blockquote-border: 1px solid $medium-gray;\n$cite-font-size: rem-calc(13);\n$cite-color: $dark-gray;\n$cite-pseudo-content: '\\2014 \\0020';\n$keystroke-font: $font-family-monospace;\n$keystroke-color: $black;\n$keystroke-background: $light-gray;\n$keystroke-padding: rem-calc(2 4 0);\n$keystroke-radius: $global-radius;\n$abbr-underline: 1px dotted $black;\n\n// 5. Typography Helpers\n// ---------------------\n\n$lead-font-size: $global-font-size * 1.25;\n$lead-lineheight: 1.6;\n$subheader-lineheight: 1.4;\n$subheader-color: $dark-gray;\n$subheader-font-weight: $global-weight-normal;\n$subheader-margin-top: 0.2rem;\n$subheader-margin-bottom: 0.5rem;\n$stat-font-size: 2.5rem;\n\n// 6. Abide\n// --------\n\n$abide-inputs: true;\n$abide-labels: true;\n$input-background-invalid: get-color(alert);\n$form-label-color-invalid: get-color(alert);\n$input-error-color: get-color(alert);\n$input-error-font-size: rem-calc(12);\n$input-error-font-weight: $global-weight-bold;\n\n// 7. Accordion\n// ------------\n\n$accordion-background: $white;\n$accordion-plusminus: true;\n$accordion-title-font-size: rem-calc(12);\n$accordion-item-color: $primary-color;\n$accordion-item-background-hover: $light-gray;\n$accordion-item-padding: 1.25rem 1rem;\n$accordion-content-background: $white;\n$accordion-content-border: 1px solid $light-gray;\n$accordion-content-color: $body-font-color;\n$accordion-content-padding: 1rem;\n\n// 8. Accordion Menu\n// -----------------\n\n$accordionmenu-padding: $global-menu-padding;\n$accordionmenu-nested-margin: $global-menu-nested-margin;\n$accordionmenu-submenu-padding: $accordionmenu-padding;\n$accordionmenu-arrows: true;\n$accordionmenu-arrow-color: $primary-color;\n$accordionmenu-item-background: null;\n$accordionmenu-border: null;\n$accordionmenu-submenu-toggle-background: null;\n$accordion-submenu-toggle-border: $accordionmenu-border;\n$accordionmenu-submenu-toggle-width: 40px;\n$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width;\n$accordionmenu-arrow-size: 6px;\n\n// 9. Badge\n// --------\n\n$badge-background: $primary-color;\n$badge-color: $white;\n$badge-color-alt: $black;\n$badge-palette: $foundation-palette;\n$badge-padding: 0.3em;\n$badge-minwidth: 2.1em;\n$badge-font-size: 0.6rem;\n\n// 10. Breadcrumbs\n// ---------------\n\n$breadcrumbs-margin: 0 0 $global-margin 0;\n$breadcrumbs-item-font-size: rem-calc(11);\n$breadcrumbs-item-color: $primary-color;\n$breadcrumbs-item-color-current: $black;\n$breadcrumbs-item-color-disabled: $medium-gray;\n$breadcrumbs-item-margin: 0.75rem;\n$breadcrumbs-item-uppercase: true;\n$breadcrumbs-item-separator: true;\n$breadcrumbs-item-separator-item: '/';\n$breadcrumbs-item-separator-item-rtl: '\\\\';\n$breadcrumbs-item-separator-color: $medium-gray;\n\n// 11. Button\n// ----------\n\n$button-font-family: inherit;\n$button-padding: 0.85em 1em;\n$button-margin: 0 0 $global-margin 0;\n$button-fill: solid;\n$button-background: $primary-color;\n$button-background-hover: scale-color($button-background, $lightness: -15%);\n$button-color: $white;\n$button-color-alt: $black;\n$button-radius: $global-radius;\n$button-hollow-border-width: 1px;\n$button-sizes: (\n tiny: 0.6rem,\n small: 0.75rem,\n default: 0.9rem,\n large: 1.25rem,\n);\n$button-palette: $foundation-palette;\n$button-opacity-disabled: 0.25;\n$button-background-hover-lightness: -20%;\n$button-hollow-hover-lightness: -50%;\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n$button-responsive-expanded: false;\n\n// 12. Button Group\n// ----------------\n\n$buttongroup-margin: 1rem;\n$buttongroup-spacing: 1px;\n$buttongroup-child-selector: '.button';\n$buttongroup-expand-max: 6;\n$buttongroup-radius-on-each: true;\n\n// 13. Callout\n// -----------\n// Foundation Callouts are mostly overridden in /02-molecules/callout\n\n$callout-background: $white;\n$callout-background-fade: 0;\n$callout-border: 1px solid;\n$callout-margin: 0;\n$callout-padding: 0;\n$callout-font-color: $body-font-color;\n$callout-font-color-alt: $body-background;\n$callout-radius: $global-radius;\n$callout-link-tint: 0;\n\n// 14. Card\n// --------\n\n$card-background: $white;\n$card-font-color: $body-font-color;\n$card-divider-background: $light-gray;\n$card-border: 1px solid $light-gray;\n$card-shadow: none;\n$card-border-radius: $global-radius;\n$card-padding: $global-padding;\n$card-margin-bottom: $global-margin;\n\n// 15. Close Button\n// ----------------\n\n$closebutton-position: right top;\n$closebutton-offset-horizontal: (\n small: 0.66rem,\n medium: 1rem,\n);\n$closebutton-offset-vertical: (\n small: 0.33em,\n medium: 0.5rem,\n);\n$closebutton-size: (\n small: 1.5em,\n medium: 2em,\n);\n$closebutton-lineheight: 1;\n$closebutton-color: $dark-gray;\n$closebutton-color-hover: $black;\n\n// 16. Drilldown\n// -------------\n\n$drilldown-transition: transform 0.15s linear;\n$drilldown-arrows: true;\n$drilldown-padding: $global-menu-padding;\n$drilldown-nested-margin: 0;\n$drilldown-background: $white;\n$drilldown-submenu-padding: $drilldown-padding;\n$drilldown-submenu-background: $white;\n$drilldown-arrow-color: $primary-color;\n$drilldown-arrow-size: 6px;\n\n// 17. Dropdown\n// ------------\n\n$dropdown-padding: 1rem;\n$dropdown-background: $body-background;\n$dropdown-border: 1px solid $medium-gray;\n$dropdown-font-size: 1rem;\n$dropdown-width: 300px;\n$dropdown-radius: $global-radius;\n$dropdown-sizes: (\n tiny: 100px,\n small: 200px,\n large: 400px,\n);\n\n// 18. Dropdown Menu\n// -----------------\n\n$dropdownmenu-arrows: true;\n$dropdownmenu-arrow-color: $anchor-color;\n$dropdownmenu-arrow-size: 6px;\n$dropdownmenu-arrow-padding: 1.5rem;\n$dropdownmenu-min-width: 200px;\n$dropdownmenu-background: null;\n$dropdownmenu-submenu-background: $white;\n$dropdownmenu-padding: $global-menu-padding;\n$dropdownmenu-nested-margin: 0;\n$dropdownmenu-submenu-padding: $dropdownmenu-padding;\n$dropdownmenu-border: 1px solid $medium-gray;\n$dropdown-menu-item-color-active: get-color(primary);\n$dropdown-menu-item-background-active: transparent;\n\n// 19. Flexbox Utilities\n// ---------------------\n\n$flex-source-ordering-count: 6;\n$flexbox-responsive-breakpoints: true;\n\n// 20. Forms\n// ---------\n\n$fieldset-border: 1px solid $medium-gray;\n$fieldset-padding: rem-calc(20);\n$fieldset-margin: rem-calc(18 0);\n$legend-padding: rem-calc(0 3);\n$form-spacing: rem-calc(16);\n$helptext-color: $black;\n$helptext-font-size: rem-calc(13);\n$helptext-font-style: italic;\n$input-prefix-color: $black;\n$input-prefix-background: $light-gray;\n$input-prefix-border: 1px solid $medium-gray;\n$input-prefix-padding: 1rem;\n$form-label-color: $black;\n$form-label-font-size: rem-calc(14);\n$form-label-font-weight: $global-weight-normal;\n$form-label-line-height: 1.8;\n$select-background: $white;\n$select-triangle-color: $dark-gray;\n$select-radius: $global-radius;\n$input-color: $black;\n$input-placeholder-color: $medium-gray;\n$input-font-family: inherit;\n$input-font-size: rem-calc(16);\n$input-font-weight: $global-weight-normal;\n$input-line-height: $global-lineheight;\n$input-background: $white;\n$input-background-focus: $white;\n$input-background-disabled: $light-gray;\n$input-border: 1px solid $medium-gray;\n$input-border-focus: 1px solid $dark-gray;\n$input-padding: $form-spacing / 2;\n$input-shadow: inset 0 1px 2px rgba($black, 0.1);\n$input-shadow-focus: 0 0 5px $medium-gray;\n$input-cursor-disabled: not-allowed;\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n$input-number-spinners: true;\n$input-radius: $global-radius;\n$form-button-radius: $global-radius;\n\n// 21. Label\n// ---------\n\n$label-background: $primary-color;\n$label-color: $white;\n$label-color-alt: $black;\n$label-palette: $foundation-palette;\n$label-font-size: 0.8rem;\n$label-padding: 0.33333rem 0.5rem;\n$label-radius: $global-radius;\n\n// 22. Media Object\n// ----------------\n\n$mediaobject-margin-bottom: $global-margin;\n$mediaobject-section-padding: $global-padding;\n$mediaobject-image-width-stacked: 100%;\n\n// 23. Menu\n// --------\n\n$menu-margin: 0;\n$menu-nested-margin: $global-menu-nested-margin;\n$menu-items-padding: $global-menu-padding;\n$menu-simple-margin: 1rem;\n$menu-item-color-active: $white;\n$menu-item-background-active: get-color(primary);\n$menu-icon-spacing: 0.25rem;\n$menu-state-back-compat: true;\n$menu-centered-back-compat: true;\n$menu-icons-back-compat: true;\n\n// 24. Meter\n// ---------\n\n$meter-height: 1rem;\n$meter-radius: $global-radius;\n$meter-background: $medium-gray;\n$meter-fill-good: $success-color;\n$meter-fill-medium: $warning-color;\n$meter-fill-bad: $alert-color;\n\n// 25. Off-canvas\n// --------------\n\n$offcanvas-sizes: (\n small: 250px,\n);\n$offcanvas-vertical-sizes: (\n small: 250px,\n);\n$offcanvas-background: $light-gray;\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7);\n$offcanvas-inner-shadow-size: 20px;\n$offcanvas-inner-shadow-color: rgba($black, 0.25);\n$offcanvas-overlay-zindex: 11;\n$offcanvas-push-zindex: 12;\n$offcanvas-overlap-zindex: 13;\n$offcanvas-reveal-zindex: 12;\n$offcanvas-transition-length: 0.5s;\n$offcanvas-transition-timing: ease;\n$offcanvas-fixed-reveal: true;\n$offcanvas-exit-background: rgba($white, 0.25);\n$maincontent-class: 'off-canvas-content';\n\n// 26. Orbit\n// ---------\n\n$orbit-bullet-background: $medium-gray;\n$orbit-bullet-background-active: $dark-gray;\n$orbit-bullet-diameter: 1.2rem;\n$orbit-bullet-margin: 0.1rem;\n$orbit-bullet-margin-top: 0.8rem;\n$orbit-bullet-margin-bottom: 0.8rem;\n$orbit-caption-background: rgba($black, 0.5);\n$orbit-caption-padding: 1rem;\n$orbit-control-background-hover: rgba($black, 0.5);\n$orbit-control-padding: 1rem;\n$orbit-control-zindex: 10;\n\n// 27. Pagination\n// --------------\n\n$pagination-font-size: rem-calc(14);\n$pagination-margin-bottom: $global-margin;\n$pagination-item-color: $black;\n$pagination-item-padding: rem-calc(3 10);\n$pagination-item-spacing: rem-calc(1);\n$pagination-radius: $global-radius;\n$pagination-item-background-hover: $light-gray;\n$pagination-item-background-current: $primary-color;\n$pagination-item-color-current: $white;\n$pagination-item-color-disabled: $medium-gray;\n$pagination-ellipsis-color: $black;\n$pagination-mobile-items: false;\n$pagination-mobile-current-item: false;\n$pagination-arrows: true;\n\n// 28. Progress Bar\n// ----------------\n\n$progress-height: 1rem;\n$progress-background: $medium-gray;\n$progress-margin-bottom: $global-margin;\n$progress-meter-background: $primary-color;\n$progress-radius: $global-radius;\n\n// 29. Prototype Arrow\n// -------------------\n\n$prototype-arrow-directions: (down, up, right, left);\n$prototype-arrow-size: 0.4375rem;\n$prototype-arrow-color: $black;\n\n// 30. Prototype Border-Box\n// ------------------------\n\n$prototype-border-box-breakpoints: $global-prototype-breakpoints;\n\n// 31. Prototype Border-None\n// -------------------------\n\n$prototype-border-none-breakpoints: $global-prototype-breakpoints;\n\n// 32. Prototype Bordered\n// ----------------------\n\n$prototype-bordered-breakpoints: $global-prototype-breakpoints;\n$prototype-border-width: rem-calc(1);\n$prototype-border-type: solid;\n$prototype-border-color: $medium-gray;\n\n// 33. Prototype Display\n// ---------------------\n\n$prototype-display-breakpoints: $global-prototype-breakpoints;\n$prototype-display: (inline, inline-block, block, table, table-cell);\n\n// 34. Prototype Font-Styling\n// --------------------------\n\n$prototype-font-breakpoints: $global-prototype-breakpoints;\n$prototype-wide-letter-spacing: rem-calc(4);\n$prototype-font-normal: $global-weight-normal;\n$prototype-font-bold: $global-weight-bold;\n\n// 35. Prototype List-Style-Type\n// -----------------------------\n\n$prototype-list-breakpoints: $global-prototype-breakpoints;\n$prototype-style-type-unordered: (disc, circle, square);\n$prototype-style-type-ordered: (\n decimal,\n lower-alpha,\n lower-latin,\n lower-roman,\n upper-alpha,\n upper-latin,\n upper-roman\n);\n\n// 36. Prototype Overflow\n// ----------------------\n\n$prototype-overflow-breakpoints: $global-prototype-breakpoints;\n$prototype-overflow: (visible, hidden, scroll);\n\n// 37. Prototype Position\n// ----------------------\n\n$prototype-position-breakpoints: $global-prototype-breakpoints;\n$prototype-position: (static, relative, absolute, fixed);\n$prototype-position-z-index: 975;\n\n// 38. Prototype Rounded\n// ---------------------\n\n$prototype-rounded-breakpoints: $global-prototype-breakpoints;\n$prototype-border-radius: rem-calc(3);\n\n// 39. Prototype Separator\n// -----------------------\n\n$prototype-separator-breakpoints: $global-prototype-breakpoints;\n$prototype-separator-align: center;\n$prototype-separator-height: rem-calc(2);\n$prototype-separator-width: 3rem;\n$prototype-separator-background: $primary-color;\n$prototype-separator-margin-top: $global-margin;\n\n// 40. Prototype Shadow\n// --------------------\n\n$prototype-shadow-breakpoints: $global-prototype-breakpoints;\n$prototype-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n\n// 41. Prototype Sizing\n// --------------------\n\n$prototype-sizing-breakpoints: $global-prototype-breakpoints;\n$prototype-sizing: (width, height);\n$prototype-sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n);\n\n// 42. Prototype Spacing\n// ---------------------\n\n$prototype-spacing-breakpoints: $global-prototype-breakpoints;\n$prototype-spacers-count: 3;\n\n// 43. Prototype Text-Decoration\n// -----------------------------\n\n$prototype-decoration-breakpoints: $global-prototype-breakpoints;\n$prototype-text-decoration: (overline, underline, line-through);\n\n// 44. Prototype Text-Transformation\n// ---------------------------------\n\n$prototype-transformation-breakpoints: $global-prototype-breakpoints;\n$prototype-text-transformation: (lowercase, uppercase, capitalize);\n\n// 45. Prototype Text-Utilities\n// ----------------------------\n\n$prototype-utilities-breakpoints: $global-prototype-breakpoints;\n$prototype-text-overflow: ellipsis;\n\n// 46. Responsive Embed\n// --------------------\n\n$responsive-embed-margin-bottom: rem-calc(16);\n$responsive-embed-ratios: (\n default: 4 by 3,\n widescreen: 16 by 9,\n);\n\n// 47. Reveal\n// ----------\n\n$reveal-background: $white;\n$reveal-width: 600px;\n$reveal-max-width: $global-width;\n$reveal-padding: $global-padding;\n$reveal-border: 1px solid $medium-gray;\n$reveal-radius: $global-radius;\n$reveal-zindex: 1005;\n$reveal-overlay-background: rgba($black, 0.45);\n\n// 48. Slider\n// ----------\n\n$slider-width-vertical: 0.5rem;\n$slider-transition: all 0.2s ease-in-out;\n$slider-height: 0.5rem;\n$slider-background: $light-gray;\n$slider-fill-background: $medium-gray;\n$slider-handle-height: 1.4rem;\n$slider-handle-width: 1.4rem;\n$slider-handle-background: $primary-color;\n$slider-opacity-disabled: 0.25;\n$slider-radius: $global-radius;\n\n// 49. Switch\n// ----------\n\n$switch-background: $medium-gray;\n$switch-background-active: $primary-color;\n$switch-height: 2rem;\n$switch-height-tiny: 1.5rem;\n$switch-height-small: 1.75rem;\n$switch-height-large: 2.5rem;\n$switch-radius: $global-radius;\n$switch-margin: $global-margin;\n$switch-paddle-background: $white;\n$switch-paddle-offset: 0.25rem;\n$switch-paddle-radius: $global-radius;\n$switch-paddle-transition: all 0.25s ease-out;\n\n// 50. Table\n// ---------\n\n$table-background: $white;\n$table-color-scale: 5%;\n$table-border: 1px solid smart-scale($table-background, $table-color-scale);\n$table-padding: rem-calc(8 10 10);\n$table-hover-scale: 2%;\n$table-row-hover: darken($table-background, $table-hover-scale);\n$table-row-stripe-hover: darken(\n $table-background,\n $table-color-scale + $table-hover-scale\n);\n$table-is-striped: true;\n$table-striped-background: smart-scale($table-background, $table-color-scale);\n$table-stripe: even;\n$table-head-background: smart-scale($table-background, $table-color-scale / 2);\n$table-head-row-hover: darken($table-head-background, $table-hover-scale);\n$table-foot-background: smart-scale($table-background, $table-color-scale);\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale);\n$table-head-font-color: $body-font-color;\n$table-foot-font-color: $body-font-color;\n$show-header-for-stacked: false;\n$table-stack-breakpoint: medium;\n\n// 51. Tabs\n// --------\n\n$tab-margin: 0;\n$tab-background: $white;\n$tab-color: $primary-color;\n$tab-background-active: $light-gray;\n$tab-active-color: $primary-color;\n$tab-item-font-size: rem-calc(12);\n$tab-item-background-hover: $white;\n$tab-item-padding: 1.25rem 1.5rem;\n$tab-content-background: $white;\n$tab-content-border: $light-gray;\n$tab-content-color: $body-font-color;\n$tab-content-padding: 1rem;\n\n// 52. Thumbnail\n// -------------\n\n$thumbnail-border: 4px solid $white;\n$thumbnail-margin-bottom: $global-margin;\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);\n$thumbnail-transition: box-shadow 200ms ease-out;\n$thumbnail-radius: $global-radius;\n\n// 53. Title Bar\n// -------------\n\n$titlebar-background: $black;\n$titlebar-color: $white;\n$titlebar-padding: 0.5rem;\n$titlebar-text-font-weight: bold;\n$titlebar-icon-color: $white;\n$titlebar-icon-color-hover: $medium-gray;\n$titlebar-icon-spacing: 0.25rem;\n\n// 54. Tooltip\n// -----------\n\n$has-tip-cursor: help;\n$has-tip-font-weight: $global-weight-bold;\n$has-tip-border-bottom: dotted 1px $dark-gray;\n$tooltip-background-color: $black;\n$tooltip-color: $white;\n$tooltip-padding: 0.75rem;\n$tooltip-max-width: 10rem;\n$tooltip-font-size: $small-font-size;\n$tooltip-pip-width: 0.75rem;\n$tooltip-pip-height: $tooltip-pip-width * 0.866;\n$tooltip-radius: $global-radius;\n\n// 55. Top Bar\n// -----------\n\n$topbar-padding: 0.5rem;\n$topbar-background: $light-gray;\n$topbar-submenu-background: $topbar-background;\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0;\n$topbar-input-width: 200px;\n$topbar-unstack-breakpoint: medium;\n\n// 56. Xy Grid\n// -----------\n\n$xy-grid: true;\n$grid-container: $global-width;\n$grid-columns: 12;\n$grid-margin-gutters: $space-x;\n$grid-padding-gutters: $grid-margin-gutters;\n$grid-container-padding: $grid-padding-gutters;\n$grid-container-max: $global-width;\n$xy-block-grid-max: 8;\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n small: 0,\n medium: 640px,\n large: 1024px,\n xlarge: 1200px,\n xxlarge: 1440px,\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n @error 'The first key in the $breakpoints map must have a value of \"0\".';\n}\n@else {\n $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n // Size or keyword\n $bp: nth($val, 1);\n // Value for max-width media queries\n $bp-max: 0;\n // Direction of media query (up, down, or only)\n $dir: if(length($val) > 1, nth($val, 2), up);\n // Eventual output\n $str: '';\n // Is it a named media query?\n $named: false;\n\n // Orientation media queries have a unique syntax\n @if $bp == 'landscape' or $bp == 'portrait' {\n @return '(orientation: #{$bp})';\n }\n @else if $bp == 'retina' {\n @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';\n }\n\n // Try to pull a named breakpoint out of the $breakpoints map\n @if type-of($bp) == 'string' {\n @if map-has-key($breakpoints, $bp) {\n @if $dir == 'only' or $dir == 'down' {\n $bp-max: -zf-map-next($breakpoints, $bp);\n }\n\n $bp: map-get($breakpoints, $bp);\n $named: true;\n }\n @else {\n $bp: 0;\n @warn 'breakpoint(): \"#{$val}\" is not defined in your $breakpoints setting.';\n }\n }\n\n // Convert any pixel, rem, or unitless value to em\n $bp: -zf-bp-to-em($bp);\n // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n // See https://github.com/zurb/foundation-sites/issues/11313\n @if $bp-max {\n $bp-max: -zf-bp-to-em($bp-max) - .00125;\n }\n\n // Conditions to skip media query creation\n // - It's a named breakpoint that resolved to \"0 down\" or \"0 up\"\n // - It's a numeric breakpoint that resolved to \"0 \" + anything\n @if $bp > 0em or $dir == 'only' or $dir == 'down' {\n // `only` ranges use the format `(min-width: n) and (max-width: n)`\n @if $dir == 'only' {\n // Only named media queries can have an \"only\" range\n @if $named == true {\n // Only use \"min-width\" if the floor is greater than 0\n @if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n\n // Only add \"and\" to the media query if there's a ceiling\n @if $bp-max != null {\n $str: $str + ' and ';\n }\n }\n\n // Only use \"max-width\" if there's a ceiling\n @if $bp-max != null {\n $str: $str + '(max-width: #{$bp-max})';\n }\n }\n @else {\n @warn 'breakpoint(): Only named media queries can have an `only` range.';\n }\n }\n\n // `down` ranges use the format `(max-width: n)`\n @else if $dir == 'down' {\n $max: if($named, $bp-max, $bp);\n\n // Skip media query creation if input value is exactly \"0 down\",\n // unless the function was called as \"small down\", in which case it's just \"small only\"\n @if $named or $bp > 0em {\n @if $max != null {\n $str: $str + '(max-width: #{$max})';\n }\n }\n }\n\n // `up` ranges use the format `(min-width: n)`\n @else if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n }\n }\n\n @return $str;\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n/// - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.\n/// - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n/// - If a rem value is passed, the unit will be changed to em.\n/// - If an em value is passed, the value will be used as-is.\n///\n/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($value) {\n $str: breakpoint($value);\n $bp: index($-zf-breakpoints-keys, $value);\n $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n\n $old-zf-size: null;\n\n // Make breakpoint size available as a variable\n @if global-variable-exists(-zf-size) {\n $old-zf-size: $-zf-size;\n }\n $-zf-size: nth($value, 1) !global; // get the first value to account for `only` and `down` keywords\n\n // If $str is still an empty string, no media query is needed\n @if $str == '' {\n @content;\n }\n\n // Otherwise, wrap the content in a media query\n @else {\n // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n @if $bp != null and $bp <= $pbp {\n @media print, screen and #{$str} {\n @content;\n }\n }\n @else {\n @media screen and #{$str} {\n @content;\n }\n }\n }\n\n $-zf-size: $old-zf-size !global;\n}\n\n/// Converts the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `<meta>` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n $str: '';\n @each $key, $value in $map {\n $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n }\n $str: str-slice($str, 1, -2);\n\n @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n // Store the keys of the map as a list\n $values: map-keys($map);\n\n $i: 0;\n\n // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n @if (map-has-key($map, $key)) {\n $i: index($values, $key) + 1;\n }\n\n // If the key doesn't exist, or it's the last key in the map, return null\n @if ($i > length($map) or $i == 0) {\n @return null;\n }\n // Otherwise, return the value\n @else {\n @return map-get($map, nth($values, $i));\n }\n\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $key - Key to use as last breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-breakpoints-less-than($key) {\n $list: ();\n $found_key: false;\n\n @each $name in $-zf-breakpoints-keys {\n @if ($name == $key) {\n $found_key: true;\n }\n @if not $found_key {\n $list: append($list, $name);\n }\n }\n @return $list;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $breakpoint - a named or non-named breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-closest-named-breakpoint($breakpoint) {\n $last: $-zf-zero-breakpoint;\n $found: false;\n\n $value: unitless-calc($breakpoint, 1px);\n @each $key, $val in $breakpoints {\n @if not $found {\n @if unitless-calc($val) > $value {\n $found: true;\n } @else {\n $last: $key;\n }\n }\n }\n\n @return $last;\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n // If the given map is a single value, return it\n @if type-of($map) == 'number' {\n @return $map;\n }\n\n\n // Check if the breakpoint name exists globally\n @if not map-has-key($breakpoints, $value) {\n @if type-of($value) == 'number' {\n $value: -zf-closest-named-breakpoint($value);\n } @else {\n @return null;\n }\n }\n // Check if the breakpoint name exists in the local config map\n @else if map-has-key($map, $value) {\n // If it does, just return the value\n @return map-get($map, $value);\n }\n // Otherwise, find the next lowest breakpoint and return that value\n @else {\n $anchor: null;\n $found: false;\n\n @each $key, $val in $breakpoints {\n @if not $found {\n @if map-has-key($map, $key) {\n $anchor: $key;\n }\n @if $key == $value {\n $found: true;\n }\n }\n }\n\n @return map-get($map, $anchor);\n }\n}\n\n$small-up: '';\n$small-only: '';\n\n@if map-has-key($breakpoints, small) {\n $small-up: screen;\n $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n$medium-up: '';\n$medium-only: '';\n\n@if map-has-key($breakpoints, medium) {\n $medium-up: unquote('screen and #{breakpoint(medium)}');\n $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n$large-up: '';\n$large-only: '';\n\n@if map-has-key($breakpoints, large) {\n $large-up: unquote('screen and #{breakpoint(large)}');\n $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n$xlarge-up: '';\n$xlarge-only: '';\n\n@if map-has-key($breakpoints, xlarge) {\n $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n$xxlarge-up: '';\n\n@if map-has-key($breakpoints, xxlarge) {\n $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group reveal\n////\n\n/// Default background color of a modal.\n/// @type Color\n$reveal-background: $white !default;\n\n/// Default width of a modal, with no class applied.\n/// @type Number\n$reveal-width: 600px !default;\n\n/// Default maximum width of a modal.\n/// @type Number\n$reveal-max-width: $global-width !default;\n\n/// Default padding inside a modal.\n/// @type Number\n$reveal-padding: $global-padding !default;\n\n/// Default border around a modal.\n/// @type Number\n$reveal-border: 1px solid $medium-gray !default;\n\n/// Default radius for modal.\n/// @type Number\n$reveal-radius: $global-radius !default;\n\n/// z-index for modals. The overlay uses this value, while the modal itself uses this value plus one.\n/// @type Number\n$reveal-zindex: 1005 !default;\n\n/// Background color of modal overlays.\n/// @type Color\n$reveal-overlay-background: rgba($black, 0.45) !default;\n\n\n// Placeholder selector for medium-and-up modals\n// Prevents duplicate CSS when defining multiple Reveal sizes\n// This should be in the same breakpoint then `@mixin reveal-modal-width`\n@include breakpoint(medium) {\n %reveal-centered {\n right: auto;\n left: auto;\n margin: 0 auto;\n }\n}\n\n\n/// Adds styles for a modal overlay.\n/// @param {Color} $background [$reveal-overlay-background] - Background color of the overlay.\n@mixin reveal-overlay($background: $reveal-overlay-background) {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $reveal-zindex;\n\n display: none;\n background-color: $background;\n overflow-y: auto;\n}\n\n/// Adds base styles for a modal.\n@mixin reveal-modal-base {\n @include disable-mouse-outline;\n z-index: $reveal-zindex + 1;\n // Workaround android browser z-index bug\n backface-visibility: hidden;\n\n display: none;\n padding: $reveal-padding;\n\n border: $reveal-border;\n border-radius: $reveal-radius;\n background-color: $reveal-background;\n\n @include breakpoint(medium) {\n min-height: 0;\n }\n\n // Make sure rows don't have a min-width on them\n .column {\n min-width: 0;\n }\n\n // Strip margins from the last item in the modal\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n/// Adjusts the width of a modal.\n/// @param {Number} $width - Width of the modal. Generally a percentage.\n/// @param {Number} $max-width [$reveal-max-width] - Maximum width of the modal.\n@mixin reveal-modal-width(\n $width: $reveal-width,\n $max-width: $reveal-max-width\n) {\n // Extends must be made outside of breakpoints for compatibility with newer Sass versions (libsass v3.5)\n @extend %reveal-centered;\n @include breakpoint(medium) {\n width: $width;\n max-width: $max-width;\n }\n}\n\n/// Creates a full-screen modal, which stretches the full width and height of the window.\n@mixin reveal-modal-fullscreen {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n\n border: 0;\n border-radius: 0;\n}\n\n@mixin foundation-reveal {\n\n /// Disables the scroll when Reveal is shown to prevent the background from shifting\n html.is-reveal-open {\n position: fixed;\n width: 100%;\n overflow-y: hidden;\n\n &.zf-has-scroll {\n overflow-y: scroll;\n }\n\n body { // sass-lint:disable-line no-qualifying-elements\n overflow-y: hidden;\n }\n }\n\n // Overlay\n .reveal-overlay {\n @include reveal-overlay;\n }\n\n // Modal container\n .reveal {\n @include reveal-modal-base;\n @include reveal-modal-width($reveal-width);\n position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto;\n\n // Remove padding\n &.collapse {\n padding: 0;\n }\n\n // Sizing classes\n &.tiny { @include reveal-modal-width(30%); }\n &.small { @include reveal-modal-width(50%); }\n &.large { @include reveal-modal-width(90%); }\n\n // Full-screen mode\n &.full {\n @include reveal-modal-fullscreen;\n }\n\n @include breakpoint($-zf-zero-breakpoint only) {\n @include reveal-modal-fullscreen;\n }\n\n &.without-overlay {\n position: fixed;\n }\n }\n}\n","@mixin foundation-normalize() {\n /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n\n // Document\n // ==========================================================================\n\n // 1. Correct the line height in all browsers.\n // 2. Prevent adjustments of font size after orientation changes in iOS.\n\n html {\n line-height: 1.15; // 1\n -webkit-text-size-adjust: 100%; // 2\n }\n\n // Sections\n // ==========================================================================\n\n // Remove the margin in all browsers.\n\n body {\n margin: 0;\n }\n\n // Correct the font size and margin on `h1` elements within `section` and\n // `article` contexts in Chrome, Firefox, and Safari.\n\n h1 {\n font-size: 2em;\n margin: 0.67em 0;\n }\n\n // Grouping content\n // ==========================================================================\n\n // 1. Add the correct box sizing in Firefox.\n // 2. Show the overflow in Edge and IE.\n\n hr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n }\n\n // 1. Correct the inheritance and scaling of font size in all browsers.\n // 2. Correct the odd `em` font sizing in all browsers.\n\n pre {\n font-family: monospace, monospace; // 1\n font-size: 1em; // 2\n }\n\n // Text-level semantics\n // ==========================================================================\n\n // Remove the gray background on active links in IE 10.\n\n a {\n background-color: transparent;\n }\n\n // 1. Remove the bottom border in Chrome 57-\n // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n\n abbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n }\n\n // Add the correct font weight in Chrome, Edge, and Safari.\n\n b,\n strong {\n font-weight: bolder;\n }\n\n // 1. Correct the inheritance and scaling of font size in all browsers.\n // 2. Correct the odd `em` font sizing in all browsers.\n\n code,\n kbd,\n samp {\n font-family: monospace, monospace; // 1\n font-size: 1em; // 2\n }\n\n // Add the correct font size in all browsers.\n\n small {\n font-size: 80%;\n }\n\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n // Embedded content\n // ==========================================================================\n\n // Remove the border on images inside links in IE 10.\n\n img {\n border-style: none;\n }\n\n // Forms\n // ==========================================================================\n\n // 1. Change the font styles in all browsers.\n // 2. Remove the margin in Firefox and Safari.\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit; // 1\n font-size: 100%; // 1\n line-height: 1.15; // 1\n margin: 0; // 2\n }\n\n // Show the overflow in IE.\n // 1. Show the overflow in Edge.\n\n button,\n input { // 1\n overflow: visible;\n }\n\n // Remove the inheritance of text transform in Edge, Firefox, and IE.\n // 1. Remove the inheritance of text transform in Firefox.\n\n button,\n select { // 1\n text-transform: none;\n }\n\n // Correct the inability to style clickable types in iOS and Safari.\n\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button;\n }\n\n // Remove the inner border and padding in Firefox.\n\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n // Restore the focus styles unset by the previous rule.\n\n button:-moz-focusring,\n [type=\"button\"]:-moz-focusring,\n [type=\"reset\"]:-moz-focusring,\n [type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n // Correct the padding in Firefox.\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n // 1. Correct the text wrapping in Edge and IE.\n // 2. Correct the color inheritance from `fieldset` elements in IE.\n // 3. Remove the padding so developers are not caught out when they zero out\n // `fieldset` elements in all browsers.\n\n legend {\n box-sizing: border-box; // 1\n color: inherit; // 2\n display: table; // 1\n max-width: 100%; // 1\n padding: 0; // 3\n white-space: normal; // 1\n }\n\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\n }\n\n // Remove the default vertical scrollbar in IE 10+.\n\n textarea {\n overflow: auto;\n }\n\n // 1. Add the correct box sizing in IE 10.\n // 2. Remove the padding in IE 10.\n\n [type=\"checkbox\"],\n [type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n }\n\n // Correct the cursor style of increment and decrement buttons in Chrome.\n\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n // 1. Correct the odd appearance in Chrome and Safari.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // 1. Correct the inability to style clickable types in iOS and Safari.\n // 2. Change font properties to `inherit` in Safari.\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button; // 1\n font: inherit; // 2\n }\n\n // Interactive\n // ==========================================================================\n\n // Add the correct display in Edge, IE 10+, and Firefox.\n\n details {\n display: block;\n }\n\n // Add the correct display in all browsers.\n\n summary {\n display: list-item;\n }\n\n // Misc\n // ==========================================================================\n\n // Add the correct display in IE 10+.\n\n template {\n display: none;\n }\n\n // Add the correct display in IE 10.\n\n [hidden] {\n display: none;\n }\n}\n","@charset \"UTF-8\";\n/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n@media print, screen and (min-width: 40em) {\n .reveal, .reveal.tiny, .reveal.small, .reveal.large {\n right: auto;\n left: auto;\n margin: 0 auto; } }\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\npre {\n font-family: monospace, monospace;\n font-size: 1em; }\n\na {\n background-color: transparent; }\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted; }\n\nb,\nstrong {\n font-weight: bolder; }\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsub {\n bottom: -0.25em; }\n\nsup {\n top: -0.5em; }\n\nimg {\n border-style: none; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0; }\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText; }\n\nfieldset {\n padding: 0.35em 0.75em 0.625em; }\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\ntextarea {\n overflow: auto; }\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit; }\n\ndetails {\n display: block; }\n\nsummary {\n display: list-item; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none; }\n\n.foundation-mq {\n font-family: \"small=0em&medium=40em&large=60em&xlarge=80em&xxlarge=90em\"; }\n\nhtml {\n box-sizing: border-box;\n font-size: 100%; }\n\n*,\n*::before,\n*::after {\n box-sizing: inherit; }\n\nbody {\n margin: 0;\n padding: 0;\n background: #fff;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n font-weight: 400;\n line-height: 1.5;\n color: #202024;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\nimg {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic; }\n\ntextarea {\n height: auto;\n min-height: 50px;\n border-radius: 0; }\n\nselect {\n box-sizing: border-box;\n width: 100%;\n border-radius: 0; }\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n max-width: none !important; }\n\nbutton {\n padding: 0;\n appearance: none;\n border: 0;\n border-radius: 0;\n background: transparent;\n line-height: 1;\n cursor: auto; }\n [data-whatinput='mouse'] button {\n outline: 0; }\n\npre {\n overflow: auto; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; }\n\n.is-visible {\n display: block !important; }\n\n.is-hidden {\n display: none !important; }\n\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 2.4375rem;\n margin: 0 0 1rem;\n padding: 0.5rem;\n border: 1px solid #ccc;\n border-radius: 0;\n background-color: #fff;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n font-family: inherit;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #000;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n appearance: none; }\n [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n textarea:focus {\n outline: none;\n border: 1px solid #303033;\n background-color: #fff;\n box-shadow: 0 0 5px #ccc;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n\ntextarea {\n max-width: 100%; }\n textarea[rows] {\n height: auto; }\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n background-color: #eaeaea;\n cursor: not-allowed; }\n\n[type='submit'],\n[type='button'] {\n appearance: none;\n border-radius: 0; }\n\ninput[type='search'] {\n box-sizing: border-box; }\n\n::placeholder {\n color: #ccc; }\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n margin: 0 0 1rem; }\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n display: inline-block;\n vertical-align: baseline;\n margin-left: 0.5rem;\n margin-right: 1rem;\n margin-bottom: 0; }\n [type='checkbox'] + label[for],\n [type='radio'] + label[for] {\n cursor: pointer; }\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n margin-right: 0.5rem; }\n\n[type='file'] {\n width: 100%; }\n\nlabel {\n display: block;\n margin: 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.8;\n color: #000; }\n label.middle {\n margin: 0 0 1rem;\n padding: 0.5625rem 0; }\n\n.help-text {\n margin-top: -0.5rem;\n font-size: 0.8125rem;\n font-style: italic;\n color: #000; }\n\n.input-group {\n display: flex;\n width: 100%;\n margin-bottom: 1rem;\n align-items: stretch; }\n .input-group > :first-child, .input-group > :first-child.input-group-button > * {\n border-radius: 0 0 0 0; }\n .input-group > :last-child, .input-group > :last-child.input-group-button > * {\n border-radius: 0 0 0 0; }\n\n.input-group-label, .input-group-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n margin: 0;\n white-space: nowrap; }\n\n.input-group-label {\n padding: 0 1rem;\n border: 1px solid #ccc;\n background: #eaeaea;\n color: #000;\n text-align: center;\n white-space: nowrap;\n display: flex;\n flex: 0 0 auto;\n align-items: center; }\n .input-group-label:first-child {\n border-right: 0; }\n .input-group-label:last-child {\n border-left: 0; }\n\n.input-group-field {\n border-radius: 0;\n flex: 1 1 0px;\n min-width: 0; }\n\n.input-group-button {\n padding-top: 0;\n padding-bottom: 0;\n text-align: center;\n display: flex;\n flex: 0 0 auto; }\n .input-group-button a,\n .input-group-button input,\n .input-group-button button,\n .input-group-button label {\n align-self: stretch;\n height: auto;\n padding-top: 0;\n padding-bottom: 0;\n font-size: 1rem; }\n\nfieldset {\n margin: 0;\n padding: 0;\n border: 0; }\n\nlegend {\n max-width: 100%;\n margin-bottom: 0.5rem; }\n\n.fieldset {\n margin: 1.125rem 0;\n padding: 1.25rem;\n border: 1px solid #ccc; }\n .fieldset legend {\n margin: 0;\n margin-left: -0.1875rem;\n padding: 0 0.1875rem; }\n\nselect {\n height: 2.4375rem;\n margin: 0 0 1rem;\n padding: 0.5rem;\n appearance: none;\n border: 1px solid #ccc;\n border-radius: 0;\n background-color: #fff;\n font-family: inherit;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #000;\n background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2848, 48, 51%29'></polygon></svg>\");\n background-origin: content-box;\n background-position: right -1rem center;\n background-repeat: no-repeat;\n background-size: 9px 6px;\n padding-right: 1.5rem;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n @media screen and (min-width: 0\\0) {\n select {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n select:focus {\n outline: none;\n border: 1px solid #303033;\n background-color: #fff;\n box-shadow: 0 0 5px #ccc;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n select:disabled {\n background-color: #eaeaea;\n cursor: not-allowed; }\n select::-ms-expand {\n display: none; }\n select[multiple] {\n height: auto;\n background-image: none; }\n\n.is-invalid-input:not(:focus) {\n border-color: #851e5e;\n background-color: #f3e9ef; }\n .is-invalid-input:not(:focus)::placeholder {\n color: #851e5e; }\n\n.is-invalid-label {\n color: #851e5e; }\n\n.form-error {\n display: none;\n margin-top: -0.5rem;\n margin-bottom: 1rem;\n font-size: 0.75rem;\n font-weight: 700;\n color: #851e5e; }\n .form-error.is-visible {\n display: block; }\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0; }\n\np {\n margin-bottom: 1rem;\n font-size: inherit;\n line-height: 1.6;\n text-rendering: optimizeLegibility; }\n\nem,\ni {\n font-style: italic;\n line-height: inherit; }\n\nstrong,\nb {\n font-weight: 700;\n line-height: inherit; }\n\nsmall {\n font-size: 85%;\n line-height: inherit; }\n\nh1, .h1,\nh2, .h2,\nh3, .h3,\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n font-style: normal;\n font-weight: 600;\n color: #202024;\n text-rendering: optimizeLegibility; }\n h1 small, .h1 small,\n h2 small, .h2 small,\n h3 small, .h3 small,\n h4 small, .h4 small,\n h5 small, .h5 small,\n h6 small, .h6 small {\n line-height: 0;\n color: #666; }\n\nh1, .h1 {\n font-size: 1.5rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\nh2, .h2 {\n font-size: 1.25rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\nh3, .h3 {\n font-size: 1.1875rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\nh4, .h4 {\n font-size: 1.125rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\nh5, .h5 {\n font-size: 1.0625rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\nh6, .h6 {\n font-size: 1rem;\n line-height: 1.2;\n margin-top: 0;\n margin-bottom: 1.25rem; }\n\n@media print, screen and (min-width: 40em) {\n h1, .h1 {\n font-size: 3rem; }\n h2, .h2 {\n font-size: 2.5rem; }\n h3, .h3 {\n font-size: 1.9375rem; }\n h4, .h4 {\n font-size: 1.5625rem; }\n h5, .h5 {\n font-size: 1.25rem; }\n h6, .h6 {\n font-size: 1rem; } }\n\na {\n line-height: inherit;\n color: #b00;\n text-decoration: none;\n cursor: pointer; }\n a:hover, a:focus {\n color: #a10000; }\n a img {\n border: 0; }\n\nhr {\n clear: both;\n max-width: 75rem;\n height: 0;\n margin: 1.25rem auto;\n border-top: 0;\n border-right: 0;\n border-bottom: 1px solid #ccc;\n border-left: 0; }\n\nul,\nol,\ndl {\n margin-bottom: 1rem;\n list-style-position: outside;\n line-height: 1.6; }\n\nli {\n font-size: inherit; }\n\nul {\n margin-left: 1.25rem;\n list-style-type: disc; }\n\nol {\n margin-left: 1.25rem; }\n\nul ul, ol ul, ul ol, ol ol {\n margin-left: 1.25rem;\n margin-bottom: 0; }\n\ndl {\n margin-bottom: 1rem; }\n dl dt {\n margin-bottom: 0.3rem;\n font-weight: 700; }\n\nblockquote {\n margin: 0 0 1rem;\n padding: 0.5625rem 1.25rem 0 1.1875rem;\n border-left: 1px solid #ccc; }\n blockquote, blockquote p {\n line-height: 1.6;\n color: #303033; }\n\ncite {\n display: block;\n font-size: 0.8125rem;\n color: #303033; }\n cite:before {\n content: \"— \"; }\n\nabbr, abbr[title] {\n border-bottom: 1px dotted #000;\n cursor: help;\n text-decoration: none; }\n\nfigure {\n margin: 0; }\n\ncode {\n padding: 0.125rem 0.3125rem;\n border: none;\n background-color: none;\n font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n font-weight: 400;\n color: #000; }\n\nkbd {\n margin: 0;\n padding: 0.125rem 0.25rem 0;\n background-color: #eaeaea;\n font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n color: #000; }\n\n.subheader {\n margin-top: 0.2rem;\n margin-bottom: 0.5rem;\n font-weight: 400;\n line-height: 1.4;\n color: #303033; }\n\n.lead {\n font-size: 125%;\n line-height: 1.6; }\n\n.stat {\n font-size: 2.5rem;\n line-height: 1; }\n p + .stat {\n margin-top: -1rem; }\n\nul.no-bullet, ol.no-bullet {\n margin-left: 0;\n list-style: none; }\n\n.text-left {\n text-align: left; }\n\n.text-right {\n text-align: right; }\n\n.text-center {\n text-align: center; }\n\n.text-justify {\n text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n .medium-text-left {\n text-align: left; }\n .medium-text-right {\n text-align: right; }\n .medium-text-center {\n text-align: center; }\n .medium-text-justify {\n text-align: justify; } }\n\n@media print, screen and (min-width: 60em) {\n .large-text-left {\n text-align: left; }\n .large-text-right {\n text-align: right; }\n .large-text-center {\n text-align: center; }\n .large-text-justify {\n text-align: justify; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-text-left {\n text-align: left; }\n .xlarge-text-right {\n text-align: right; }\n .xlarge-text-center {\n text-align: center; }\n .xlarge-text-justify {\n text-align: justify; } }\n\n.show-for-print {\n display: none !important; }\n\n@media print {\n * {\n background: transparent !important;\n box-shadow: none !important;\n color: black !important;\n text-shadow: none !important; }\n .show-for-print {\n display: block !important; }\n .hide-for-print {\n display: none !important; }\n table.show-for-print {\n display: table !important; }\n thead.show-for-print {\n display: table-header-group !important; }\n tbody.show-for-print {\n display: table-row-group !important; }\n tr.show-for-print {\n display: table-row !important; }\n td.show-for-print {\n display: table-cell !important; }\n th.show-for-print {\n display: table-cell !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n .ir a:after,\n a[href^='javascript:']:after,\n a[href^='#']:after {\n content: ''; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n pre,\n blockquote {\n border: 1px solid #303033;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n @page {\n margin: 0.5cm; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n .print-break-inside {\n page-break-inside: auto; } }\n\n.grid-container {\n padding-right: 0.8125rem;\n padding-left: 0.8125rem;\n max-width: 75rem;\n margin-left: auto;\n margin-right: auto; }\n .grid-container.fluid {\n padding-right: 0.8125rem;\n padding-left: 0.8125rem;\n max-width: 100%;\n margin-left: auto;\n margin-right: auto; }\n .grid-container.full {\n padding-right: 0;\n padding-left: 0;\n max-width: 100%;\n margin-left: auto;\n margin-right: auto; }\n\n.grid-x {\n display: flex;\n flex-flow: row wrap; }\n\n.cell {\n flex: 0 0 auto;\n min-height: 0px;\n min-width: 0px;\n width: 100%; }\n .cell.auto {\n flex: 1 1 0px; }\n .cell.shrink {\n flex: 0 0 auto; }\n\n.grid-x > .auto {\n width: auto; }\n\n.grid-x > .shrink {\n width: auto; }\n\n.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n flex-basis: auto; }\n\n@media print, screen and (min-width: 40em) {\n .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n flex-basis: auto; } }\n\n@media print, screen and (min-width: 60em) {\n .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n flex-basis: auto; } }\n\n@media screen and (min-width: 80em) {\n .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {\n flex-basis: auto; } }\n\n.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n flex: 0 0 auto; }\n\n.grid-x > .small-1 {\n width: 8.33333%; }\n\n.grid-x > .small-2 {\n width: 16.66667%; }\n\n.grid-x > .small-3 {\n width: 25%; }\n\n.grid-x > .small-4 {\n width: 33.33333%; }\n\n.grid-x > .small-5 {\n width: 41.66667%; }\n\n.grid-x > .small-6 {\n width: 50%; }\n\n.grid-x > .small-7 {\n width: 58.33333%; }\n\n.grid-x > .small-8 {\n width: 66.66667%; }\n\n.grid-x > .small-9 {\n width: 75%; }\n\n.grid-x > .small-10 {\n width: 83.33333%; }\n\n.grid-x > .small-11 {\n width: 91.66667%; }\n\n.grid-x > .small-12 {\n width: 100%; }\n\n@media print, screen and (min-width: 40em) {\n .grid-x > .medium-auto {\n flex: 1 1 0px;\n width: auto; }\n .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n flex: 0 0 auto; }\n .grid-x > .medium-shrink {\n width: auto; }\n .grid-x > .medium-1 {\n width: 8.33333%; }\n .grid-x > .medium-2 {\n width: 16.66667%; }\n .grid-x > .medium-3 {\n width: 25%; }\n .grid-x > .medium-4 {\n width: 33.33333%; }\n .grid-x > .medium-5 {\n width: 41.66667%; }\n .grid-x > .medium-6 {\n width: 50%; }\n .grid-x > .medium-7 {\n width: 58.33333%; }\n .grid-x > .medium-8 {\n width: 66.66667%; }\n .grid-x > .medium-9 {\n width: 75%; }\n .grid-x > .medium-10 {\n width: 83.33333%; }\n .grid-x > .medium-11 {\n width: 91.66667%; }\n .grid-x > .medium-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .grid-x > .large-auto {\n flex: 1 1 0px;\n width: auto; }\n .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n flex: 0 0 auto; }\n .grid-x > .large-shrink {\n width: auto; }\n .grid-x > .large-1 {\n width: 8.33333%; }\n .grid-x > .large-2 {\n width: 16.66667%; }\n .grid-x > .large-3 {\n width: 25%; }\n .grid-x > .large-4 {\n width: 33.33333%; }\n .grid-x > .large-5 {\n width: 41.66667%; }\n .grid-x > .large-6 {\n width: 50%; }\n .grid-x > .large-7 {\n width: 58.33333%; }\n .grid-x > .large-8 {\n width: 66.66667%; }\n .grid-x > .large-9 {\n width: 75%; }\n .grid-x > .large-10 {\n width: 83.33333%; }\n .grid-x > .large-11 {\n width: 91.66667%; }\n .grid-x > .large-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .grid-x > .xlarge-auto {\n flex: 1 1 0px;\n width: auto; }\n .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {\n flex: 0 0 auto; }\n .grid-x > .xlarge-shrink {\n width: auto; }\n .grid-x > .xlarge-1 {\n width: 8.33333%; }\n .grid-x > .xlarge-2 {\n width: 16.66667%; }\n .grid-x > .xlarge-3 {\n width: 25%; }\n .grid-x > .xlarge-4 {\n width: 33.33333%; }\n .grid-x > .xlarge-5 {\n width: 41.66667%; }\n .grid-x > .xlarge-6 {\n width: 50%; }\n .grid-x > .xlarge-7 {\n width: 58.33333%; }\n .grid-x > .xlarge-8 {\n width: 66.66667%; }\n .grid-x > .xlarge-9 {\n width: 75%; }\n .grid-x > .xlarge-10 {\n width: 83.33333%; }\n .grid-x > .xlarge-11 {\n width: 91.66667%; }\n .grid-x > .xlarge-12 {\n width: 100%; } }\n\n.grid-margin-x:not(.grid-x) > .cell {\n width: auto; }\n\n.grid-margin-y:not(.grid-y) > .cell {\n height: auto; }\n\n.grid-margin-x {\n margin-left: -0.8125rem;\n margin-right: -0.8125rem; }\n .grid-margin-x > .cell {\n width: calc(100% - 1.625rem);\n margin-left: 0.8125rem;\n margin-right: 0.8125rem; }\n .grid-margin-x > .auto {\n width: auto; }\n .grid-margin-x > .shrink {\n width: auto; }\n .grid-margin-x > .small-1 {\n width: calc(8.33333% - 1.625rem); }\n .grid-margin-x > .small-2 {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x > .small-3 {\n width: calc(25% - 1.625rem); }\n .grid-margin-x > .small-4 {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x > .small-5 {\n width: calc(41.66667% - 1.625rem); }\n .grid-margin-x > .small-6 {\n width: calc(50% - 1.625rem); }\n .grid-margin-x > .small-7 {\n width: calc(58.33333% - 1.625rem); }\n .grid-margin-x > .small-8 {\n width: calc(66.66667% - 1.625rem); }\n .grid-margin-x > .small-9 {\n width: calc(75% - 1.625rem); }\n .grid-margin-x > .small-10 {\n width: calc(83.33333% - 1.625rem); }\n .grid-margin-x > .small-11 {\n width: calc(91.66667% - 1.625rem); }\n .grid-margin-x > .small-12 {\n width: calc(100% - 1.625rem); }\n @media print, screen and (min-width: 40em) {\n .grid-margin-x > .medium-auto {\n width: auto; }\n .grid-margin-x > .medium-shrink {\n width: auto; }\n .grid-margin-x > .medium-1 {\n width: calc(8.33333% - 1.625rem); }\n .grid-margin-x > .medium-2 {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x > .medium-3 {\n width: calc(25% - 1.625rem); }\n .grid-margin-x > .medium-4 {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x > .medium-5 {\n width: calc(41.66667% - 1.625rem); }\n .grid-margin-x > .medium-6 {\n width: calc(50% - 1.625rem); }\n .grid-margin-x > .medium-7 {\n width: calc(58.33333% - 1.625rem); }\n .grid-margin-x > .medium-8 {\n width: calc(66.66667% - 1.625rem); }\n .grid-margin-x > .medium-9 {\n width: calc(75% - 1.625rem); }\n .grid-margin-x > .medium-10 {\n width: calc(83.33333% - 1.625rem); }\n .grid-margin-x > .medium-11 {\n width: calc(91.66667% - 1.625rem); }\n .grid-margin-x > .medium-12 {\n width: calc(100% - 1.625rem); } }\n @media print, screen and (min-width: 60em) {\n .grid-margin-x > .large-auto {\n width: auto; }\n .grid-margin-x > .large-shrink {\n width: auto; }\n .grid-margin-x > .large-1 {\n width: calc(8.33333% - 1.625rem); }\n .grid-margin-x > .large-2 {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x > .large-3 {\n width: calc(25% - 1.625rem); }\n .grid-margin-x > .large-4 {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x > .large-5 {\n width: calc(41.66667% - 1.625rem); }\n .grid-margin-x > .large-6 {\n width: calc(50% - 1.625rem); }\n .grid-margin-x > .large-7 {\n width: calc(58.33333% - 1.625rem); }\n .grid-margin-x > .large-8 {\n width: calc(66.66667% - 1.625rem); }\n .grid-margin-x > .large-9 {\n width: calc(75% - 1.625rem); }\n .grid-margin-x > .large-10 {\n width: calc(83.33333% - 1.625rem); }\n .grid-margin-x > .large-11 {\n width: calc(91.66667% - 1.625rem); }\n .grid-margin-x > .large-12 {\n width: calc(100% - 1.625rem); } }\n @media screen and (min-width: 80em) {\n .grid-margin-x > .xlarge-auto {\n width: auto; }\n .grid-margin-x > .xlarge-shrink {\n width: auto; }\n .grid-margin-x > .xlarge-1 {\n width: calc(8.33333% - 1.625rem); }\n .grid-margin-x > .xlarge-2 {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x > .xlarge-3 {\n width: calc(25% - 1.625rem); }\n .grid-margin-x > .xlarge-4 {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x > .xlarge-5 {\n width: calc(41.66667% - 1.625rem); }\n .grid-margin-x > .xlarge-6 {\n width: calc(50% - 1.625rem); }\n .grid-margin-x > .xlarge-7 {\n width: calc(58.33333% - 1.625rem); }\n .grid-margin-x > .xlarge-8 {\n width: calc(66.66667% - 1.625rem); }\n .grid-margin-x > .xlarge-9 {\n width: calc(75% - 1.625rem); }\n .grid-margin-x > .xlarge-10 {\n width: calc(83.33333% - 1.625rem); }\n .grid-margin-x > .xlarge-11 {\n width: calc(91.66667% - 1.625rem); }\n .grid-margin-x > .xlarge-12 {\n width: calc(100% - 1.625rem); } }\n\n.grid-padding-x .grid-padding-x {\n margin-right: -0.8125rem;\n margin-left: -0.8125rem; }\n\n.grid-container:not(.full) > .grid-padding-x {\n margin-right: -0.8125rem;\n margin-left: -0.8125rem; }\n\n.grid-padding-x > .cell {\n padding-right: 0.8125rem;\n padding-left: 0.8125rem; }\n\n.small-up-1 > .cell {\n width: 100%; }\n\n.small-up-2 > .cell {\n width: 50%; }\n\n.small-up-3 > .cell {\n width: 33.33333%; }\n\n.small-up-4 > .cell {\n width: 25%; }\n\n.small-up-5 > .cell {\n width: 20%; }\n\n.small-up-6 > .cell {\n width: 16.66667%; }\n\n.small-up-7 > .cell {\n width: 14.28571%; }\n\n.small-up-8 > .cell {\n width: 12.5%; }\n\n@media print, screen and (min-width: 40em) {\n .medium-up-1 > .cell {\n width: 100%; }\n .medium-up-2 > .cell {\n width: 50%; }\n .medium-up-3 > .cell {\n width: 33.33333%; }\n .medium-up-4 > .cell {\n width: 25%; }\n .medium-up-5 > .cell {\n width: 20%; }\n .medium-up-6 > .cell {\n width: 16.66667%; }\n .medium-up-7 > .cell {\n width: 14.28571%; }\n .medium-up-8 > .cell {\n width: 12.5%; } }\n\n@media print, screen and (min-width: 60em) {\n .large-up-1 > .cell {\n width: 100%; }\n .large-up-2 > .cell {\n width: 50%; }\n .large-up-3 > .cell {\n width: 33.33333%; }\n .large-up-4 > .cell {\n width: 25%; }\n .large-up-5 > .cell {\n width: 20%; }\n .large-up-6 > .cell {\n width: 16.66667%; }\n .large-up-7 > .cell {\n width: 14.28571%; }\n .large-up-8 > .cell {\n width: 12.5%; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-up-1 > .cell {\n width: 100%; }\n .xlarge-up-2 > .cell {\n width: 50%; }\n .xlarge-up-3 > .cell {\n width: 33.33333%; }\n .xlarge-up-4 > .cell {\n width: 25%; }\n .xlarge-up-5 > .cell {\n width: 20%; }\n .xlarge-up-6 > .cell {\n width: 16.66667%; }\n .xlarge-up-7 > .cell {\n width: 14.28571%; }\n .xlarge-up-8 > .cell {\n width: 12.5%; } }\n\n.grid-margin-x.small-up-1 > .cell {\n width: calc(100% - 1.625rem); }\n\n.grid-margin-x.small-up-2 > .cell {\n width: calc(50% - 1.625rem); }\n\n.grid-margin-x.small-up-3 > .cell {\n width: calc(33.33333% - 1.625rem); }\n\n.grid-margin-x.small-up-4 > .cell {\n width: calc(25% - 1.625rem); }\n\n.grid-margin-x.small-up-5 > .cell {\n width: calc(20% - 1.625rem); }\n\n.grid-margin-x.small-up-6 > .cell {\n width: calc(16.66667% - 1.625rem); }\n\n.grid-margin-x.small-up-7 > .cell {\n width: calc(14.28571% - 1.625rem); }\n\n.grid-margin-x.small-up-8 > .cell {\n width: calc(12.5% - 1.625rem); }\n\n@media print, screen and (min-width: 40em) {\n .grid-margin-x.medium-up-1 > .cell {\n width: calc(100% - 1.625rem); }\n .grid-margin-x.medium-up-2 > .cell {\n width: calc(50% - 1.625rem); }\n .grid-margin-x.medium-up-3 > .cell {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x.medium-up-4 > .cell {\n width: calc(25% - 1.625rem); }\n .grid-margin-x.medium-up-5 > .cell {\n width: calc(20% - 1.625rem); }\n .grid-margin-x.medium-up-6 > .cell {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x.medium-up-7 > .cell {\n width: calc(14.28571% - 1.625rem); }\n .grid-margin-x.medium-up-8 > .cell {\n width: calc(12.5% - 1.625rem); } }\n\n@media print, screen and (min-width: 60em) {\n .grid-margin-x.large-up-1 > .cell {\n width: calc(100% - 1.625rem); }\n .grid-margin-x.large-up-2 > .cell {\n width: calc(50% - 1.625rem); }\n .grid-margin-x.large-up-3 > .cell {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x.large-up-4 > .cell {\n width: calc(25% - 1.625rem); }\n .grid-margin-x.large-up-5 > .cell {\n width: calc(20% - 1.625rem); }\n .grid-margin-x.large-up-6 > .cell {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x.large-up-7 > .cell {\n width: calc(14.28571% - 1.625rem); }\n .grid-margin-x.large-up-8 > .cell {\n width: calc(12.5% - 1.625rem); } }\n\n@media screen and (min-width: 80em) {\n .grid-margin-x.xlarge-up-1 > .cell {\n width: calc(100% - 1.625rem); }\n .grid-margin-x.xlarge-up-2 > .cell {\n width: calc(50% - 1.625rem); }\n .grid-margin-x.xlarge-up-3 > .cell {\n width: calc(33.33333% - 1.625rem); }\n .grid-margin-x.xlarge-up-4 > .cell {\n width: calc(25% - 1.625rem); }\n .grid-margin-x.xlarge-up-5 > .cell {\n width: calc(20% - 1.625rem); }\n .grid-margin-x.xlarge-up-6 > .cell {\n width: calc(16.66667% - 1.625rem); }\n .grid-margin-x.xlarge-up-7 > .cell {\n width: calc(14.28571% - 1.625rem); }\n .grid-margin-x.xlarge-up-8 > .cell {\n width: calc(12.5% - 1.625rem); } }\n\n.small-margin-collapse {\n margin-right: 0;\n margin-left: 0; }\n .small-margin-collapse > .cell {\n margin-right: 0;\n margin-left: 0; }\n .small-margin-collapse > .small-1 {\n width: 8.33333%; }\n .small-margin-collapse > .small-2 {\n width: 16.66667%; }\n .small-margin-collapse > .small-3 {\n width: 25%; }\n .small-margin-collapse > .small-4 {\n width: 33.33333%; }\n .small-margin-collapse > .small-5 {\n width: 41.66667%; }\n .small-margin-collapse > .small-6 {\n width: 50%; }\n .small-margin-collapse > .small-7 {\n width: 58.33333%; }\n .small-margin-collapse > .small-8 {\n width: 66.66667%; }\n .small-margin-collapse > .small-9 {\n width: 75%; }\n .small-margin-collapse > .small-10 {\n width: 83.33333%; }\n .small-margin-collapse > .small-11 {\n width: 91.66667%; }\n .small-margin-collapse > .small-12 {\n width: 100%; }\n @media print, screen and (min-width: 40em) {\n .small-margin-collapse > .medium-1 {\n width: 8.33333%; }\n .small-margin-collapse > .medium-2 {\n width: 16.66667%; }\n .small-margin-collapse > .medium-3 {\n width: 25%; }\n .small-margin-collapse > .medium-4 {\n width: 33.33333%; }\n .small-margin-collapse > .medium-5 {\n width: 41.66667%; }\n .small-margin-collapse > .medium-6 {\n width: 50%; }\n .small-margin-collapse > .medium-7 {\n width: 58.33333%; }\n .small-margin-collapse > .medium-8 {\n width: 66.66667%; }\n .small-margin-collapse > .medium-9 {\n width: 75%; }\n .small-margin-collapse > .medium-10 {\n width: 83.33333%; }\n .small-margin-collapse > .medium-11 {\n width: 91.66667%; }\n .small-margin-collapse > .medium-12 {\n width: 100%; } }\n @media print, screen and (min-width: 60em) {\n .small-margin-collapse > .large-1 {\n width: 8.33333%; }\n .small-margin-collapse > .large-2 {\n width: 16.66667%; }\n .small-margin-collapse > .large-3 {\n width: 25%; }\n .small-margin-collapse > .large-4 {\n width: 33.33333%; }\n .small-margin-collapse > .large-5 {\n width: 41.66667%; }\n .small-margin-collapse > .large-6 {\n width: 50%; }\n .small-margin-collapse > .large-7 {\n width: 58.33333%; }\n .small-margin-collapse > .large-8 {\n width: 66.66667%; }\n .small-margin-collapse > .large-9 {\n width: 75%; }\n .small-margin-collapse > .large-10 {\n width: 83.33333%; }\n .small-margin-collapse > .large-11 {\n width: 91.66667%; }\n .small-margin-collapse > .large-12 {\n width: 100%; } }\n @media screen and (min-width: 80em) {\n .small-margin-collapse > .xlarge-1 {\n width: 8.33333%; }\n .small-margin-collapse > .xlarge-2 {\n width: 16.66667%; }\n .small-margin-collapse > .xlarge-3 {\n width: 25%; }\n .small-margin-collapse > .xlarge-4 {\n width: 33.33333%; }\n .small-margin-collapse > .xlarge-5 {\n width: 41.66667%; }\n .small-margin-collapse > .xlarge-6 {\n width: 50%; }\n .small-margin-collapse > .xlarge-7 {\n width: 58.33333%; }\n .small-margin-collapse > .xlarge-8 {\n width: 66.66667%; }\n .small-margin-collapse > .xlarge-9 {\n width: 75%; }\n .small-margin-collapse > .xlarge-10 {\n width: 83.33333%; }\n .small-margin-collapse > .xlarge-11 {\n width: 91.66667%; }\n .small-margin-collapse > .xlarge-12 {\n width: 100%; } }\n\n.small-padding-collapse {\n margin-right: 0;\n margin-left: 0; }\n .small-padding-collapse > .cell {\n padding-right: 0;\n padding-left: 0; }\n\n@media print, screen and (min-width: 40em) {\n .medium-margin-collapse {\n margin-right: 0;\n margin-left: 0; }\n .medium-margin-collapse > .cell {\n margin-right: 0;\n margin-left: 0; } }\n\n@media print, screen and (min-width: 40em) {\n .medium-margin-collapse > .small-1 {\n width: 8.33333%; }\n .medium-margin-collapse > .small-2 {\n width: 16.66667%; }\n .medium-margin-collapse > .small-3 {\n width: 25%; }\n .medium-margin-collapse > .small-4 {\n width: 33.33333%; }\n .medium-margin-collapse > .small-5 {\n width: 41.66667%; }\n .medium-margin-collapse > .small-6 {\n width: 50%; }\n .medium-margin-collapse > .small-7 {\n width: 58.33333%; }\n .medium-margin-collapse > .small-8 {\n width: 66.66667%; }\n .medium-margin-collapse > .small-9 {\n width: 75%; }\n .medium-margin-collapse > .small-10 {\n width: 83.33333%; }\n .medium-margin-collapse > .small-11 {\n width: 91.66667%; }\n .medium-margin-collapse > .small-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n .medium-margin-collapse > .medium-1 {\n width: 8.33333%; }\n .medium-margin-collapse > .medium-2 {\n width: 16.66667%; }\n .medium-margin-collapse > .medium-3 {\n width: 25%; }\n .medium-margin-collapse > .medium-4 {\n width: 33.33333%; }\n .medium-margin-collapse > .medium-5 {\n width: 41.66667%; }\n .medium-margin-collapse > .medium-6 {\n width: 50%; }\n .medium-margin-collapse > .medium-7 {\n width: 58.33333%; }\n .medium-margin-collapse > .medium-8 {\n width: 66.66667%; }\n .medium-margin-collapse > .medium-9 {\n width: 75%; }\n .medium-margin-collapse > .medium-10 {\n width: 83.33333%; }\n .medium-margin-collapse > .medium-11 {\n width: 91.66667%; }\n .medium-margin-collapse > .medium-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .medium-margin-collapse > .large-1 {\n width: 8.33333%; }\n .medium-margin-collapse > .large-2 {\n width: 16.66667%; }\n .medium-margin-collapse > .large-3 {\n width: 25%; }\n .medium-margin-collapse > .large-4 {\n width: 33.33333%; }\n .medium-margin-collapse > .large-5 {\n width: 41.66667%; }\n .medium-margin-collapse > .large-6 {\n width: 50%; }\n .medium-margin-collapse > .large-7 {\n width: 58.33333%; }\n .medium-margin-collapse > .large-8 {\n width: 66.66667%; }\n .medium-margin-collapse > .large-9 {\n width: 75%; }\n .medium-margin-collapse > .large-10 {\n width: 83.33333%; }\n .medium-margin-collapse > .large-11 {\n width: 91.66667%; }\n .medium-margin-collapse > .large-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .medium-margin-collapse > .xlarge-1 {\n width: 8.33333%; }\n .medium-margin-collapse > .xlarge-2 {\n width: 16.66667%; }\n .medium-margin-collapse > .xlarge-3 {\n width: 25%; }\n .medium-margin-collapse > .xlarge-4 {\n width: 33.33333%; }\n .medium-margin-collapse > .xlarge-5 {\n width: 41.66667%; }\n .medium-margin-collapse > .xlarge-6 {\n width: 50%; }\n .medium-margin-collapse > .xlarge-7 {\n width: 58.33333%; }\n .medium-margin-collapse > .xlarge-8 {\n width: 66.66667%; }\n .medium-margin-collapse > .xlarge-9 {\n width: 75%; }\n .medium-margin-collapse > .xlarge-10 {\n width: 83.33333%; }\n .medium-margin-collapse > .xlarge-11 {\n width: 91.66667%; }\n .medium-margin-collapse > .xlarge-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n .medium-padding-collapse {\n margin-right: 0;\n margin-left: 0; }\n .medium-padding-collapse > .cell {\n padding-right: 0;\n padding-left: 0; } }\n\n@media print, screen and (min-width: 60em) {\n .large-margin-collapse {\n margin-right: 0;\n margin-left: 0; }\n .large-margin-collapse > .cell {\n margin-right: 0;\n margin-left: 0; } }\n\n@media print, screen and (min-width: 60em) {\n .large-margin-collapse > .small-1 {\n width: 8.33333%; }\n .large-margin-collapse > .small-2 {\n width: 16.66667%; }\n .large-margin-collapse > .small-3 {\n width: 25%; }\n .large-margin-collapse > .small-4 {\n width: 33.33333%; }\n .large-margin-collapse > .small-5 {\n width: 41.66667%; }\n .large-margin-collapse > .small-6 {\n width: 50%; }\n .large-margin-collapse > .small-7 {\n width: 58.33333%; }\n .large-margin-collapse > .small-8 {\n width: 66.66667%; }\n .large-margin-collapse > .small-9 {\n width: 75%; }\n .large-margin-collapse > .small-10 {\n width: 83.33333%; }\n .large-margin-collapse > .small-11 {\n width: 91.66667%; }\n .large-margin-collapse > .small-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .large-margin-collapse > .medium-1 {\n width: 8.33333%; }\n .large-margin-collapse > .medium-2 {\n width: 16.66667%; }\n .large-margin-collapse > .medium-3 {\n width: 25%; }\n .large-margin-collapse > .medium-4 {\n width: 33.33333%; }\n .large-margin-collapse > .medium-5 {\n width: 41.66667%; }\n .large-margin-collapse > .medium-6 {\n width: 50%; }\n .large-margin-collapse > .medium-7 {\n width: 58.33333%; }\n .large-margin-collapse > .medium-8 {\n width: 66.66667%; }\n .large-margin-collapse > .medium-9 {\n width: 75%; }\n .large-margin-collapse > .medium-10 {\n width: 83.33333%; }\n .large-margin-collapse > .medium-11 {\n width: 91.66667%; }\n .large-margin-collapse > .medium-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .large-margin-collapse > .large-1 {\n width: 8.33333%; }\n .large-margin-collapse > .large-2 {\n width: 16.66667%; }\n .large-margin-collapse > .large-3 {\n width: 25%; }\n .large-margin-collapse > .large-4 {\n width: 33.33333%; }\n .large-margin-collapse > .large-5 {\n width: 41.66667%; }\n .large-margin-collapse > .large-6 {\n width: 50%; }\n .large-margin-collapse > .large-7 {\n width: 58.33333%; }\n .large-margin-collapse > .large-8 {\n width: 66.66667%; }\n .large-margin-collapse > .large-9 {\n width: 75%; }\n .large-margin-collapse > .large-10 {\n width: 83.33333%; }\n .large-margin-collapse > .large-11 {\n width: 91.66667%; }\n .large-margin-collapse > .large-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .large-margin-collapse > .xlarge-1 {\n width: 8.33333%; }\n .large-margin-collapse > .xlarge-2 {\n width: 16.66667%; }\n .large-margin-collapse > .xlarge-3 {\n width: 25%; }\n .large-margin-collapse > .xlarge-4 {\n width: 33.33333%; }\n .large-margin-collapse > .xlarge-5 {\n width: 41.66667%; }\n .large-margin-collapse > .xlarge-6 {\n width: 50%; }\n .large-margin-collapse > .xlarge-7 {\n width: 58.33333%; }\n .large-margin-collapse > .xlarge-8 {\n width: 66.66667%; }\n .large-margin-collapse > .xlarge-9 {\n width: 75%; }\n .large-margin-collapse > .xlarge-10 {\n width: 83.33333%; }\n .large-margin-collapse > .xlarge-11 {\n width: 91.66667%; }\n .large-margin-collapse > .xlarge-12 {\n width: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .large-padding-collapse {\n margin-right: 0;\n margin-left: 0; }\n .large-padding-collapse > .cell {\n padding-right: 0;\n padding-left: 0; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-margin-collapse {\n margin-right: 0;\n margin-left: 0; }\n .xlarge-margin-collapse > .cell {\n margin-right: 0;\n margin-left: 0; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-margin-collapse > .small-1 {\n width: 8.33333%; }\n .xlarge-margin-collapse > .small-2 {\n width: 16.66667%; }\n .xlarge-margin-collapse > .small-3 {\n width: 25%; }\n .xlarge-margin-collapse > .small-4 {\n width: 33.33333%; }\n .xlarge-margin-collapse > .small-5 {\n width: 41.66667%; }\n .xlarge-margin-collapse > .small-6 {\n width: 50%; }\n .xlarge-margin-collapse > .small-7 {\n width: 58.33333%; }\n .xlarge-margin-collapse > .small-8 {\n width: 66.66667%; }\n .xlarge-margin-collapse > .small-9 {\n width: 75%; }\n .xlarge-margin-collapse > .small-10 {\n width: 83.33333%; }\n .xlarge-margin-collapse > .small-11 {\n width: 91.66667%; }\n .xlarge-margin-collapse > .small-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-margin-collapse > .medium-1 {\n width: 8.33333%; }\n .xlarge-margin-collapse > .medium-2 {\n width: 16.66667%; }\n .xlarge-margin-collapse > .medium-3 {\n width: 25%; }\n .xlarge-margin-collapse > .medium-4 {\n width: 33.33333%; }\n .xlarge-margin-collapse > .medium-5 {\n width: 41.66667%; }\n .xlarge-margin-collapse > .medium-6 {\n width: 50%; }\n .xlarge-margin-collapse > .medium-7 {\n width: 58.33333%; }\n .xlarge-margin-collapse > .medium-8 {\n width: 66.66667%; }\n .xlarge-margin-collapse > .medium-9 {\n width: 75%; }\n .xlarge-margin-collapse > .medium-10 {\n width: 83.33333%; }\n .xlarge-margin-collapse > .medium-11 {\n width: 91.66667%; }\n .xlarge-margin-collapse > .medium-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-margin-collapse > .large-1 {\n width: 8.33333%; }\n .xlarge-margin-collapse > .large-2 {\n width: 16.66667%; }\n .xlarge-margin-collapse > .large-3 {\n width: 25%; }\n .xlarge-margin-collapse > .large-4 {\n width: 33.33333%; }\n .xlarge-margin-collapse > .large-5 {\n width: 41.66667%; }\n .xlarge-margin-collapse > .large-6 {\n width: 50%; }\n .xlarge-margin-collapse > .large-7 {\n width: 58.33333%; }\n .xlarge-margin-collapse > .large-8 {\n width: 66.66667%; }\n .xlarge-margin-collapse > .large-9 {\n width: 75%; }\n .xlarge-margin-collapse > .large-10 {\n width: 83.33333%; }\n .xlarge-margin-collapse > .large-11 {\n width: 91.66667%; }\n .xlarge-margin-collapse > .large-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-margin-collapse > .xlarge-1 {\n width: 8.33333%; }\n .xlarge-margin-collapse > .xlarge-2 {\n width: 16.66667%; }\n .xlarge-margin-collapse > .xlarge-3 {\n width: 25%; }\n .xlarge-margin-collapse > .xlarge-4 {\n width: 33.33333%; }\n .xlarge-margin-collapse > .xlarge-5 {\n width: 41.66667%; }\n .xlarge-margin-collapse > .xlarge-6 {\n width: 50%; }\n .xlarge-margin-collapse > .xlarge-7 {\n width: 58.33333%; }\n .xlarge-margin-collapse > .xlarge-8 {\n width: 66.66667%; }\n .xlarge-margin-collapse > .xlarge-9 {\n width: 75%; }\n .xlarge-margin-collapse > .xlarge-10 {\n width: 83.33333%; }\n .xlarge-margin-collapse > .xlarge-11 {\n width: 91.66667%; }\n .xlarge-margin-collapse > .xlarge-12 {\n width: 100%; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-padding-collapse {\n margin-right: 0;\n margin-left: 0; }\n .xlarge-padding-collapse > .cell {\n padding-right: 0;\n padding-left: 0; } }\n\n.small-offset-0 {\n margin-left: 0%; }\n\n.grid-margin-x > .small-offset-0 {\n margin-left: calc(0% + 0.8125rem); }\n\n.small-offset-1 {\n margin-left: 8.33333%; }\n\n.grid-margin-x > .small-offset-1 {\n margin-left: calc(8.33333% + 0.8125rem); }\n\n.small-offset-2 {\n margin-left: 16.66667%; }\n\n.grid-margin-x > .small-offset-2 {\n margin-left: calc(16.66667% + 0.8125rem); }\n\n.small-offset-3 {\n margin-left: 25%; }\n\n.grid-margin-x > .small-offset-3 {\n margin-left: calc(25% + 0.8125rem); }\n\n.small-offset-4 {\n margin-left: 33.33333%; }\n\n.grid-margin-x > .small-offset-4 {\n margin-left: calc(33.33333% + 0.8125rem); }\n\n.small-offset-5 {\n margin-left: 41.66667%; }\n\n.grid-margin-x > .small-offset-5 {\n margin-left: calc(41.66667% + 0.8125rem); }\n\n.small-offset-6 {\n margin-left: 50%; }\n\n.grid-margin-x > .small-offset-6 {\n margin-left: calc(50% + 0.8125rem); }\n\n.small-offset-7 {\n margin-left: 58.33333%; }\n\n.grid-margin-x > .small-offset-7 {\n margin-left: calc(58.33333% + 0.8125rem); }\n\n.small-offset-8 {\n margin-left: 66.66667%; }\n\n.grid-margin-x > .small-offset-8 {\n margin-left: calc(66.66667% + 0.8125rem); }\n\n.small-offset-9 {\n margin-left: 75%; }\n\n.grid-margin-x > .small-offset-9 {\n margin-left: calc(75% + 0.8125rem); }\n\n.small-offset-10 {\n margin-left: 83.33333%; }\n\n.grid-margin-x > .small-offset-10 {\n margin-left: calc(83.33333% + 0.8125rem); }\n\n.small-offset-11 {\n margin-left: 91.66667%; }\n\n.grid-margin-x > .small-offset-11 {\n margin-left: calc(91.66667% + 0.8125rem); }\n\n@media print, screen and (min-width: 40em) {\n .medium-offset-0 {\n margin-left: 0%; }\n .grid-margin-x > .medium-offset-0 {\n margin-left: calc(0% + 0.8125rem); }\n .medium-offset-1 {\n margin-left: 8.33333%; }\n .grid-margin-x > .medium-offset-1 {\n margin-left: calc(8.33333% + 0.8125rem); }\n .medium-offset-2 {\n margin-left: 16.66667%; }\n .grid-margin-x > .medium-offset-2 {\n margin-left: calc(16.66667% + 0.8125rem); }\n .medium-offset-3 {\n margin-left: 25%; }\n .grid-margin-x > .medium-offset-3 {\n margin-left: calc(25% + 0.8125rem); }\n .medium-offset-4 {\n margin-left: 33.33333%; }\n .grid-margin-x > .medium-offset-4 {\n margin-left: calc(33.33333% + 0.8125rem); }\n .medium-offset-5 {\n margin-left: 41.66667%; }\n .grid-margin-x > .medium-offset-5 {\n margin-left: calc(41.66667% + 0.8125rem); }\n .medium-offset-6 {\n margin-left: 50%; }\n .grid-margin-x > .medium-offset-6 {\n margin-left: calc(50% + 0.8125rem); }\n .medium-offset-7 {\n margin-left: 58.33333%; }\n .grid-margin-x > .medium-offset-7 {\n margin-left: calc(58.33333% + 0.8125rem); }\n .medium-offset-8 {\n margin-left: 66.66667%; }\n .grid-margin-x > .medium-offset-8 {\n margin-left: calc(66.66667% + 0.8125rem); }\n .medium-offset-9 {\n margin-left: 75%; }\n .grid-margin-x > .medium-offset-9 {\n margin-left: calc(75% + 0.8125rem); }\n .medium-offset-10 {\n margin-left: 83.33333%; }\n .grid-margin-x > .medium-offset-10 {\n margin-left: calc(83.33333% + 0.8125rem); }\n .medium-offset-11 {\n margin-left: 91.66667%; }\n .grid-margin-x > .medium-offset-11 {\n margin-left: calc(91.66667% + 0.8125rem); } }\n\n@media print, screen and (min-width: 60em) {\n .large-offset-0 {\n margin-left: 0%; }\n .grid-margin-x > .large-offset-0 {\n margin-left: calc(0% + 0.8125rem); }\n .large-offset-1 {\n margin-left: 8.33333%; }\n .grid-margin-x > .large-offset-1 {\n margin-left: calc(8.33333% + 0.8125rem); }\n .large-offset-2 {\n margin-left: 16.66667%; }\n .grid-margin-x > .large-offset-2 {\n margin-left: calc(16.66667% + 0.8125rem); }\n .large-offset-3 {\n margin-left: 25%; }\n .grid-margin-x > .large-offset-3 {\n margin-left: calc(25% + 0.8125rem); }\n .large-offset-4 {\n margin-left: 33.33333%; }\n .grid-margin-x > .large-offset-4 {\n margin-left: calc(33.33333% + 0.8125rem); }\n .large-offset-5 {\n margin-left: 41.66667%; }\n .grid-margin-x > .large-offset-5 {\n margin-left: calc(41.66667% + 0.8125rem); }\n .large-offset-6 {\n margin-left: 50%; }\n .grid-margin-x > .large-offset-6 {\n margin-left: calc(50% + 0.8125rem); }\n .large-offset-7 {\n margin-left: 58.33333%; }\n .grid-margin-x > .large-offset-7 {\n margin-left: calc(58.33333% + 0.8125rem); }\n .large-offset-8 {\n margin-left: 66.66667%; }\n .grid-margin-x > .large-offset-8 {\n margin-left: calc(66.66667% + 0.8125rem); }\n .large-offset-9 {\n margin-left: 75%; }\n .grid-margin-x > .large-offset-9 {\n margin-left: calc(75% + 0.8125rem); }\n .large-offset-10 {\n margin-left: 83.33333%; }\n .grid-margin-x > .large-offset-10 {\n margin-left: calc(83.33333% + 0.8125rem); }\n .large-offset-11 {\n margin-left: 91.66667%; }\n .grid-margin-x > .large-offset-11 {\n margin-left: calc(91.66667% + 0.8125rem); } }\n\n@media screen and (min-width: 80em) {\n .xlarge-offset-0 {\n margin-left: 0%; }\n .grid-margin-x > .xlarge-offset-0 {\n margin-left: calc(0% + 0.8125rem); }\n .xlarge-offset-1 {\n margin-left: 8.33333%; }\n .grid-margin-x > .xlarge-offset-1 {\n margin-left: calc(8.33333% + 0.8125rem); }\n .xlarge-offset-2 {\n margin-left: 16.66667%; }\n .grid-margin-x > .xlarge-offset-2 {\n margin-left: calc(16.66667% + 0.8125rem); }\n .xlarge-offset-3 {\n margin-left: 25%; }\n .grid-margin-x > .xlarge-offset-3 {\n margin-left: calc(25% + 0.8125rem); }\n .xlarge-offset-4 {\n margin-left: 33.33333%; }\n .grid-margin-x > .xlarge-offset-4 {\n margin-left: calc(33.33333% + 0.8125rem); }\n .xlarge-offset-5 {\n margin-left: 41.66667%; }\n .grid-margin-x > .xlarge-offset-5 {\n margin-left: calc(41.66667% + 0.8125rem); }\n .xlarge-offset-6 {\n margin-left: 50%; }\n .grid-margin-x > .xlarge-offset-6 {\n margin-left: calc(50% + 0.8125rem); }\n .xlarge-offset-7 {\n margin-left: 58.33333%; }\n .grid-margin-x > .xlarge-offset-7 {\n margin-left: calc(58.33333% + 0.8125rem); }\n .xlarge-offset-8 {\n margin-left: 66.66667%; }\n .grid-margin-x > .xlarge-offset-8 {\n margin-left: calc(66.66667% + 0.8125rem); }\n .xlarge-offset-9 {\n margin-left: 75%; }\n .grid-margin-x > .xlarge-offset-9 {\n margin-left: calc(75% + 0.8125rem); }\n .xlarge-offset-10 {\n margin-left: 83.33333%; }\n .grid-margin-x > .xlarge-offset-10 {\n margin-left: calc(83.33333% + 0.8125rem); }\n .xlarge-offset-11 {\n margin-left: 91.66667%; }\n .grid-margin-x > .xlarge-offset-11 {\n margin-left: calc(91.66667% + 0.8125rem); } }\n\n.grid-y {\n display: flex;\n flex-flow: column nowrap; }\n .grid-y > .cell {\n width: auto;\n max-width: none; }\n .grid-y > .auto {\n height: auto; }\n .grid-y > .shrink {\n height: auto; }\n .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n flex-basis: auto; }\n @media print, screen and (min-width: 40em) {\n .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n flex-basis: auto; } }\n @media print, screen and (min-width: 60em) {\n .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n flex-basis: auto; } }\n @media screen and (min-width: 80em) {\n .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {\n flex-basis: auto; } }\n .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n flex: 0 0 auto; }\n .grid-y > .small-1 {\n height: 8.33333%; }\n .grid-y > .small-2 {\n height: 16.66667%; }\n .grid-y > .small-3 {\n height: 25%; }\n .grid-y > .small-4 {\n height: 33.33333%; }\n .grid-y > .small-5 {\n height: 41.66667%; }\n .grid-y > .small-6 {\n height: 50%; }\n .grid-y > .small-7 {\n height: 58.33333%; }\n .grid-y > .small-8 {\n height: 66.66667%; }\n .grid-y > .small-9 {\n height: 75%; }\n .grid-y > .small-10 {\n height: 83.33333%; }\n .grid-y > .small-11 {\n height: 91.66667%; }\n .grid-y > .small-12 {\n height: 100%; }\n @media print, screen and (min-width: 40em) {\n .grid-y > .medium-auto {\n flex: 1 1 0px;\n height: auto; }\n .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n flex: 0 0 auto; }\n .grid-y > .medium-shrink {\n height: auto; }\n .grid-y > .medium-1 {\n height: 8.33333%; }\n .grid-y > .medium-2 {\n height: 16.66667%; }\n .grid-y > .medium-3 {\n height: 25%; }\n .grid-y > .medium-4 {\n height: 33.33333%; }\n .grid-y > .medium-5 {\n height: 41.66667%; }\n .grid-y > .medium-6 {\n height: 50%; }\n .grid-y > .medium-7 {\n height: 58.33333%; }\n .grid-y > .medium-8 {\n height: 66.66667%; }\n .grid-y > .medium-9 {\n height: 75%; }\n .grid-y > .medium-10 {\n height: 83.33333%; }\n .grid-y > .medium-11 {\n height: 91.66667%; }\n .grid-y > .medium-12 {\n height: 100%; } }\n @media print, screen and (min-width: 60em) {\n .grid-y > .large-auto {\n flex: 1 1 0px;\n height: auto; }\n .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n flex: 0 0 auto; }\n .grid-y > .large-shrink {\n height: auto; }\n .grid-y > .large-1 {\n height: 8.33333%; }\n .grid-y > .large-2 {\n height: 16.66667%; }\n .grid-y > .large-3 {\n height: 25%; }\n .grid-y > .large-4 {\n height: 33.33333%; }\n .grid-y > .large-5 {\n height: 41.66667%; }\n .grid-y > .large-6 {\n height: 50%; }\n .grid-y > .large-7 {\n height: 58.33333%; }\n .grid-y > .large-8 {\n height: 66.66667%; }\n .grid-y > .large-9 {\n height: 75%; }\n .grid-y > .large-10 {\n height: 83.33333%; }\n .grid-y > .large-11 {\n height: 91.66667%; }\n .grid-y > .large-12 {\n height: 100%; } }\n @media screen and (min-width: 80em) {\n .grid-y > .xlarge-auto {\n flex: 1 1 0px;\n height: auto; }\n .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {\n flex: 0 0 auto; }\n .grid-y > .xlarge-shrink {\n height: auto; }\n .grid-y > .xlarge-1 {\n height: 8.33333%; }\n .grid-y > .xlarge-2 {\n height: 16.66667%; }\n .grid-y > .xlarge-3 {\n height: 25%; }\n .grid-y > .xlarge-4 {\n height: 33.33333%; }\n .grid-y > .xlarge-5 {\n height: 41.66667%; }\n .grid-y > .xlarge-6 {\n height: 50%; }\n .grid-y > .xlarge-7 {\n height: 58.33333%; }\n .grid-y > .xlarge-8 {\n height: 66.66667%; }\n .grid-y > .xlarge-9 {\n height: 75%; }\n .grid-y > .xlarge-10 {\n height: 83.33333%; }\n .grid-y > .xlarge-11 {\n height: 91.66667%; }\n .grid-y > .xlarge-12 {\n height: 100%; } }\n\n.grid-padding-y .grid-padding-y {\n margin-top: -0.8125rem;\n margin-bottom: -0.8125rem; }\n\n.grid-padding-y > .cell {\n padding-top: 0.8125rem;\n padding-bottom: 0.8125rem; }\n\n.grid-margin-y {\n margin-top: -0.8125rem;\n margin-bottom: -0.8125rem; }\n .grid-margin-y > .cell {\n height: calc(100% - 1.625rem);\n margin-top: 0.8125rem;\n margin-bottom: 0.8125rem; }\n .grid-margin-y > .auto {\n height: auto; }\n .grid-margin-y > .shrink {\n height: auto; }\n .grid-margin-y > .small-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .small-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .small-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .small-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .small-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .small-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .small-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .small-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .small-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .small-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .small-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .small-12 {\n height: calc(100% - 1.625rem); }\n @media print, screen and (min-width: 40em) {\n .grid-margin-y > .medium-auto {\n height: auto; }\n .grid-margin-y > .medium-shrink {\n height: auto; }\n .grid-margin-y > .medium-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .medium-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .medium-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .medium-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .medium-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .medium-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .medium-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .medium-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .medium-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .medium-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .medium-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .medium-12 {\n height: calc(100% - 1.625rem); } }\n @media print, screen and (min-width: 60em) {\n .grid-margin-y > .large-auto {\n height: auto; }\n .grid-margin-y > .large-shrink {\n height: auto; }\n .grid-margin-y > .large-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .large-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .large-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .large-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .large-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .large-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .large-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .large-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .large-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .large-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .large-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .large-12 {\n height: calc(100% - 1.625rem); } }\n @media screen and (min-width: 80em) {\n .grid-margin-y > .xlarge-auto {\n height: auto; }\n .grid-margin-y > .xlarge-shrink {\n height: auto; }\n .grid-margin-y > .xlarge-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .xlarge-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .xlarge-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .xlarge-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-12 {\n height: calc(100% - 1.625rem); } }\n\n.grid-frame {\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100vw; }\n\n.cell .grid-frame {\n width: 100%; }\n\n.cell-block {\n overflow-x: auto;\n max-width: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n.cell-block-y {\n overflow-y: auto;\n max-height: 100%;\n min-height: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n.cell-block-container {\n display: flex;\n flex-direction: column;\n max-height: 100%; }\n .cell-block-container > .grid-x {\n max-height: 100%;\n flex-wrap: nowrap; }\n\n@media print, screen and (min-width: 40em) {\n .medium-grid-frame {\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100vw; }\n .cell .medium-grid-frame {\n width: 100%; }\n .medium-cell-block {\n overflow-x: auto;\n max-width: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; }\n .medium-cell-block-container {\n display: flex;\n flex-direction: column;\n max-height: 100%; }\n .medium-cell-block-container > .grid-x {\n max-height: 100%;\n flex-wrap: nowrap; }\n .medium-cell-block-y {\n overflow-y: auto;\n max-height: 100%;\n min-height: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n@media print, screen and (min-width: 60em) {\n .large-grid-frame {\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100vw; }\n .cell .large-grid-frame {\n width: 100%; }\n .large-cell-block {\n overflow-x: auto;\n max-width: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; }\n .large-cell-block-container {\n display: flex;\n flex-direction: column;\n max-height: 100%; }\n .large-cell-block-container > .grid-x {\n max-height: 100%;\n flex-wrap: nowrap; }\n .large-cell-block-y {\n overflow-y: auto;\n max-height: 100%;\n min-height: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-grid-frame {\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100vw; }\n .cell .xlarge-grid-frame {\n width: 100%; }\n .xlarge-cell-block {\n overflow-x: auto;\n max-width: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; }\n .xlarge-cell-block-container {\n display: flex;\n flex-direction: column;\n max-height: 100%; }\n .xlarge-cell-block-container > .grid-x {\n max-height: 100%;\n flex-wrap: nowrap; }\n .xlarge-cell-block-y {\n overflow-y: auto;\n max-height: 100%;\n min-height: 100%;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n.grid-y.grid-frame {\n width: auto;\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n height: 100vh; }\n\n@media print, screen and (min-width: 40em) {\n .grid-y.medium-grid-frame {\n width: auto;\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n height: 100vh; } }\n\n@media print, screen and (min-width: 60em) {\n .grid-y.large-grid-frame {\n width: auto;\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n height: 100vh; } }\n\n@media screen and (min-width: 80em) {\n .grid-y.xlarge-grid-frame {\n width: auto;\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n height: 100vh; } }\n\n.cell .grid-y.grid-frame {\n height: 100%; }\n\n@media print, screen and (min-width: 40em) {\n .cell .grid-y.medium-grid-frame {\n height: 100%; } }\n\n@media print, screen and (min-width: 60em) {\n .cell .grid-y.large-grid-frame {\n height: 100%; } }\n\n@media screen and (min-width: 80em) {\n .cell .grid-y.xlarge-grid-frame {\n height: 100%; } }\n\n.grid-margin-y {\n margin-top: -0.8125rem;\n margin-bottom: -0.8125rem; }\n .grid-margin-y > .cell {\n height: calc(100% - 1.625rem);\n margin-top: 0.8125rem;\n margin-bottom: 0.8125rem; }\n .grid-margin-y > .auto {\n height: auto; }\n .grid-margin-y > .shrink {\n height: auto; }\n .grid-margin-y > .small-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .small-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .small-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .small-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .small-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .small-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .small-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .small-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .small-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .small-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .small-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .small-12 {\n height: calc(100% - 1.625rem); }\n @media print, screen and (min-width: 40em) {\n .grid-margin-y > .medium-auto {\n height: auto; }\n .grid-margin-y > .medium-shrink {\n height: auto; }\n .grid-margin-y > .medium-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .medium-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .medium-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .medium-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .medium-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .medium-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .medium-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .medium-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .medium-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .medium-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .medium-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .medium-12 {\n height: calc(100% - 1.625rem); } }\n @media print, screen and (min-width: 60em) {\n .grid-margin-y > .large-auto {\n height: auto; }\n .grid-margin-y > .large-shrink {\n height: auto; }\n .grid-margin-y > .large-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .large-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .large-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .large-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .large-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .large-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .large-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .large-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .large-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .large-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .large-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .large-12 {\n height: calc(100% - 1.625rem); } }\n @media screen and (min-width: 80em) {\n .grid-margin-y > .xlarge-auto {\n height: auto; }\n .grid-margin-y > .xlarge-shrink {\n height: auto; }\n .grid-margin-y > .xlarge-1 {\n height: calc(8.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-2 {\n height: calc(16.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-3 {\n height: calc(25% - 1.625rem); }\n .grid-margin-y > .xlarge-4 {\n height: calc(33.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-5 {\n height: calc(41.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-6 {\n height: calc(50% - 1.625rem); }\n .grid-margin-y > .xlarge-7 {\n height: calc(58.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-8 {\n height: calc(66.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-9 {\n height: calc(75% - 1.625rem); }\n .grid-margin-y > .xlarge-10 {\n height: calc(83.33333% - 1.625rem); }\n .grid-margin-y > .xlarge-11 {\n height: calc(91.66667% - 1.625rem); }\n .grid-margin-y > .xlarge-12 {\n height: calc(100% - 1.625rem); } }\n\n.grid-frame.grid-margin-y {\n height: calc(100vh + 1.625rem); }\n\n@media print, screen and (min-width: 40em) {\n .grid-margin-y.medium-grid-frame {\n height: calc(100vh + 1.625rem); } }\n\n@media print, screen and (min-width: 60em) {\n .grid-margin-y.large-grid-frame {\n height: calc(100vh + 1.625rem); } }\n\n@media screen and (min-width: 80em) {\n .grid-margin-y.xlarge-grid-frame {\n height: calc(100vh + 1.625rem); } }\n\n.button {\n display: inline-block;\n vertical-align: middle;\n margin: 0 0 1rem 0;\n padding: 0.85em 1em;\n border: 1px solid transparent;\n border-radius: 0;\n transition: background-color 0.25s ease-out, color 0.25s ease-out;\n font-family: inherit;\n font-size: 0.9rem;\n -webkit-appearance: none;\n line-height: 1;\n text-align: center;\n cursor: pointer;\n background-color: #b00;\n color: #fff; }\n [data-whatinput='mouse'] .button {\n outline: 0; }\n .button:hover, .button:focus {\n background-color: #9f0000;\n color: #fff; }\n .button.tiny {\n font-size: 0.6rem; }\n .button.small {\n font-size: 0.75rem; }\n .button.large {\n font-size: 1.25rem; }\n .button.expanded {\n display: block;\n width: 100%;\n margin-right: 0;\n margin-left: 0; }\n .button.primary {\n background-color: #b00;\n color: #fff; }\n .button.primary:hover, .button.primary:focus {\n background-color: #960000;\n color: #fff; }\n .button.secondary {\n background-color: #666;\n color: #fff; }\n .button.secondary:hover, .button.secondary:focus {\n background-color: #525252;\n color: #fff; }\n .button.success {\n background-color: #1c7c89;\n color: #fff; }\n .button.success:hover, .button.success:focus {\n background-color: #16636e;\n color: #fff; }\n .button.warning {\n background-color: #d65828;\n color: #000; }\n .button.warning:hover, .button.warning:focus {\n background-color: #ab4620;\n color: #000; }\n .button.alert {\n background-color: #851e5e;\n color: #fff; }\n .button.alert:hover, .button.alert:focus {\n background-color: #6a184b;\n color: #fff; }\n .button.disabled, .button[disabled] {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {\n background-color: #b00;\n color: #fff; }\n .button.disabled.primary, .button[disabled].primary {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {\n background-color: #b00;\n color: #fff; }\n .button.disabled.secondary, .button[disabled].secondary {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n background-color: #666;\n color: #fff; }\n .button.disabled.success, .button[disabled].success {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {\n background-color: #1c7c89;\n color: #fff; }\n .button.disabled.warning, .button[disabled].warning {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {\n background-color: #d65828;\n color: #000; }\n .button.disabled.alert, .button[disabled].alert {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {\n background-color: #851e5e;\n color: #fff; }\n .button.hollow {\n border: 1px solid #b00;\n color: #b00; }\n .button.hollow, .button.hollow:hover, .button.hollow:focus {\n background-color: transparent; }\n .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {\n background-color: transparent; }\n .button.hollow:hover, .button.hollow:focus {\n border-color: #5e0000;\n color: #5e0000; }\n .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {\n border: 1px solid #b00;\n color: #b00; }\n .button.hollow.primary {\n border: 1px solid #b00;\n color: #b00; }\n .button.hollow.primary:hover, .button.hollow.primary:focus {\n border-color: #5e0000;\n color: #5e0000; }\n .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {\n border: 1px solid #b00;\n color: #b00; }\n .button.hollow.secondary {\n border: 1px solid #666;\n color: #666; }\n .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n border-color: #333333;\n color: #333333; }\n .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {\n border: 1px solid #666;\n color: #666; }\n .button.hollow.success {\n border: 1px solid #1c7c89;\n color: #1c7c89; }\n .button.hollow.success:hover, .button.hollow.success:focus {\n border-color: #0e3e45;\n color: #0e3e45; }\n .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {\n border: 1px solid #1c7c89;\n color: #1c7c89; }\n .button.hollow.warning {\n border: 1px solid #d65828;\n color: #d65828; }\n .button.hollow.warning:hover, .button.hollow.warning:focus {\n border-color: #6b2c14;\n color: #6b2c14; }\n .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {\n border: 1px solid #d65828;\n color: #d65828; }\n .button.hollow.alert {\n border: 1px solid #851e5e;\n color: #851e5e; }\n .button.hollow.alert:hover, .button.hollow.alert:focus {\n border-color: #430f2f;\n color: #430f2f; }\n .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {\n border: 1px solid #851e5e;\n color: #851e5e; }\n .button.clear {\n border: 1px solid #b00;\n color: #b00; }\n .button.clear, .button.clear:hover, .button.clear:focus {\n background-color: transparent; }\n .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {\n background-color: transparent; }\n .button.clear:hover, .button.clear:focus {\n border-color: #5e0000;\n color: #5e0000; }\n .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {\n border: 1px solid #b00;\n color: #b00; }\n .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {\n border-color: transparent; }\n .button.clear.primary {\n border: 1px solid #b00;\n color: #b00; }\n .button.clear.primary:hover, .button.clear.primary:focus {\n border-color: #5e0000;\n color: #5e0000; }\n .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n border: 1px solid #b00;\n color: #b00; }\n .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n border-color: transparent; }\n .button.clear.secondary {\n border: 1px solid #666;\n color: #666; }\n .button.clear.secondary:hover, .button.clear.secondary:focus {\n border-color: #333333;\n color: #333333; }\n .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n border: 1px solid #666;\n color: #666; }\n .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n border-color: transparent; }\n .button.clear.success {\n border: 1px solid #1c7c89;\n color: #1c7c89; }\n .button.clear.success:hover, .button.clear.success:focus {\n border-color: #0e3e45;\n color: #0e3e45; }\n .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n border: 1px solid #1c7c89;\n color: #1c7c89; }\n .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n border-color: transparent; }\n .button.clear.warning {\n border: 1px solid #d65828;\n color: #d65828; }\n .button.clear.warning:hover, .button.clear.warning:focus {\n border-color: #6b2c14;\n color: #6b2c14; }\n .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n border: 1px solid #d65828;\n color: #d65828; }\n .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n border-color: transparent; }\n .button.clear.alert {\n border: 1px solid #851e5e;\n color: #851e5e; }\n .button.clear.alert:hover, .button.clear.alert:focus {\n border-color: #430f2f;\n color: #430f2f; }\n .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n border: 1px solid #851e5e;\n color: #851e5e; }\n .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n border-color: transparent; }\n .button.dropdown::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.4em;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #fff transparent transparent;\n position: relative;\n top: 0.4em;\n display: inline-block;\n float: right;\n margin-left: 1em; }\n .button.dropdown.hollow::after, .button.dropdown.clear::after {\n border-top-color: #b00; }\n .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {\n border-top-color: #b00; }\n .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {\n border-top-color: #666; }\n .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {\n border-top-color: #1c7c89; }\n .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {\n border-top-color: #d65828; }\n .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {\n border-top-color: #851e5e; }\n .button.arrow-only::after {\n top: -0.1em;\n float: none;\n margin-left: 0; }\n\na.button:hover, a.button:focus {\n text-decoration: none; }\n\n.button-group {\n margin-bottom: 1rem;\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch; }\n .button-group::before, .button-group::after {\n display: table;\n content: ' ';\n flex-basis: 0;\n order: 1; }\n .button-group::after {\n clear: both; }\n .button-group .button {\n margin: 0;\n margin-right: 1px;\n margin-bottom: 1px;\n font-size: 0.9rem;\n flex: 0 0 auto; }\n .button-group .button:last-child {\n margin-right: 0; }\n .button-group.tiny .button {\n font-size: 0.6rem; }\n .button-group.small .button {\n font-size: 0.75rem; }\n .button-group.large .button {\n font-size: 1.25rem; }\n .button-group.expanded .button {\n flex: 1 1 0px; }\n .button-group.primary .button {\n background-color: #b00;\n color: #fff; }\n .button-group.primary .button:hover, .button-group.primary .button:focus {\n background-color: #960000;\n color: #fff; }\n .button-group.secondary .button {\n background-color: #666;\n color: #fff; }\n .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n background-color: #525252;\n color: #fff; }\n .button-group.success .button {\n background-color: #1c7c89;\n color: #fff; }\n .button-group.success .button:hover, .button-group.success .button:focus {\n background-color: #16636e;\n color: #fff; }\n .button-group.warning .button {\n background-color: #d65828;\n color: #000; }\n .button-group.warning .button:hover, .button-group.warning .button:focus {\n background-color: #ab4620;\n color: #000; }\n .button-group.alert .button {\n background-color: #851e5e;\n color: #fff; }\n .button-group.alert .button:hover, .button-group.alert .button:focus {\n background-color: #6a184b;\n color: #fff; }\n .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {\n flex-wrap: wrap; }\n .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n flex: 0 0 100%; }\n .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n margin-bottom: 0; }\n .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {\n flex: 1 1 0px; }\n @media print, screen and (min-width: 40em) {\n .button-group.stacked-for-small .button {\n flex: 0 0 auto;\n margin-bottom: 0; } }\n @media print, screen and (min-width: 60em) {\n .button-group.stacked-for-medium .button {\n flex: 0 0 auto;\n margin-bottom: 0; } }\n @media screen and (max-width: 39.99875em) {\n .button-group.stacked-for-small.expanded {\n display: block; }\n .button-group.stacked-for-small.expanded .button {\n display: block;\n margin-right: 0; } }\n @media screen and (max-width: 59.99875em) {\n .button-group.stacked-for-medium.expanded {\n display: block; }\n .button-group.stacked-for-medium.expanded .button {\n display: block;\n margin-right: 0; } }\n\n.close-button {\n position: absolute;\n color: #303033;\n cursor: pointer; }\n [data-whatinput='mouse'] .close-button {\n outline: 0; }\n .close-button:hover, .close-button:focus {\n color: #000; }\n .close-button.small {\n right: 0.66rem;\n top: 0.33em;\n font-size: 1.5em;\n line-height: 1; }\n .close-button, .close-button.medium {\n right: 1rem;\n top: 0.5rem;\n font-size: 2em;\n line-height: 1; }\n\n.label {\n display: inline-block;\n padding: 0.33333rem 0.5rem;\n border-radius: 0;\n font-size: 0.8rem;\n line-height: 1;\n white-space: nowrap;\n cursor: default;\n background: #b00;\n color: #fff; }\n .label.primary {\n background: #b00;\n color: #fff; }\n .label.secondary {\n background: #666;\n color: #fff; }\n .label.success {\n background: #1c7c89;\n color: #fff; }\n .label.warning {\n background: #d65828;\n color: #000; }\n .label.alert {\n background: #851e5e;\n color: #fff; }\n\n.progress {\n height: 1rem;\n margin-bottom: 1rem;\n border-radius: 0;\n background-color: #ccc; }\n .progress.primary .progress-meter {\n background-color: #b00; }\n .progress.secondary .progress-meter {\n background-color: #666; }\n .progress.success .progress-meter {\n background-color: #1c7c89; }\n .progress.warning .progress-meter {\n background-color: #d65828; }\n .progress.alert .progress-meter {\n background-color: #851e5e; }\n\n.progress-meter {\n position: relative;\n display: block;\n width: 0%;\n height: 100%;\n background-color: #b00; }\n\n.progress-meter-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n margin: 0;\n font-size: 0.75rem;\n font-weight: bold;\n color: #fff;\n white-space: nowrap; }\n\n.slider {\n position: relative;\n height: 0.5rem;\n margin-top: 1.25rem;\n margin-bottom: 2.25rem;\n background-color: #eaeaea;\n cursor: pointer;\n user-select: none;\n touch-action: none; }\n\n.slider-fill {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n max-width: 100%;\n height: 0.5rem;\n background-color: #ccc;\n transition: all 0.2s ease-in-out; }\n .slider-fill.is-dragging {\n transition: all 0s linear; }\n\n.slider-handle {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n z-index: 1;\n display: inline-block;\n width: 1.4rem;\n height: 1.4rem;\n border-radius: 0;\n background-color: #b00;\n transition: all 0.2s ease-in-out;\n touch-action: manipulation; }\n [data-whatinput='mouse'] .slider-handle {\n outline: 0; }\n .slider-handle:hover {\n background-color: #9f0000; }\n .slider-handle.is-dragging {\n transition: all 0s linear; }\n\n.slider.disabled,\n.slider[disabled] {\n opacity: 0.25;\n cursor: not-allowed; }\n\n.slider.vertical {\n display: inline-block;\n width: 0.5rem;\n height: 12.5rem;\n margin: 0 1.25rem;\n transform: scale(1, -1); }\n .slider.vertical .slider-fill {\n top: 0;\n width: 0.5rem;\n max-height: 100%; }\n .slider.vertical .slider-handle {\n position: absolute;\n top: 0;\n left: 50%;\n width: 1.4rem;\n height: 1.4rem;\n transform: translateX(-50%); }\n\n.switch {\n height: 2rem;\n position: relative;\n margin-bottom: 1rem;\n outline: 0;\n font-size: 0.875rem;\n font-weight: bold;\n color: #fff;\n user-select: none; }\n\n.switch-input {\n position: absolute;\n margin-bottom: 0;\n opacity: 0; }\n\n.switch-paddle {\n position: relative;\n display: block;\n width: 4rem;\n height: 2rem;\n border-radius: 0;\n background: #ccc;\n transition: all 0.25s ease-out;\n font-weight: inherit;\n color: inherit;\n cursor: pointer; }\n input + .switch-paddle {\n margin: 0; }\n .switch-paddle::after {\n position: absolute;\n top: 0.25rem;\n left: 0.25rem;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n transform: translate3d(0, 0, 0);\n border-radius: 0;\n background: #fff;\n transition: all 0.25s ease-out;\n content: ''; }\n input:checked ~ .switch-paddle {\n background: #b00; }\n input:checked ~ .switch-paddle::after {\n left: 2.25rem; }\n [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n outline: 0; }\n\n.switch-active, .switch-inactive {\n position: absolute;\n top: 50%;\n transform: translateY(-50%); }\n\n.switch-active {\n left: 8%;\n display: none; }\n input:checked + label > .switch-active {\n display: block; }\n\n.switch-inactive {\n right: 15%; }\n input:checked + label > .switch-inactive {\n display: none; }\n\n.switch.tiny {\n height: 1.5rem; }\n .switch.tiny .switch-paddle {\n width: 3rem;\n height: 1.5rem;\n font-size: 0.625rem; }\n .switch.tiny .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1rem;\n height: 1rem; }\n .switch.tiny input:checked ~ .switch-paddle::after {\n left: 1.75rem; }\n\n.switch.small {\n height: 1.75rem; }\n .switch.small .switch-paddle {\n width: 3.5rem;\n height: 1.75rem;\n font-size: 0.75rem; }\n .switch.small .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1.25rem;\n height: 1.25rem; }\n .switch.small input:checked ~ .switch-paddle::after {\n left: 2rem; }\n\n.switch.large {\n height: 2.5rem; }\n .switch.large .switch-paddle {\n width: 5rem;\n height: 2.5rem;\n font-size: 1rem; }\n .switch.large .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 2rem;\n height: 2rem; }\n .switch.large input:checked ~ .switch-paddle::after {\n left: 2.75rem; }\n\ntable {\n border-collapse: collapse;\n width: 100%;\n margin-bottom: 1rem;\n border-radius: 0; }\n thead,\n tbody,\n tfoot {\n border: 1px solid #f2f2f2;\n background-color: #fff; }\n caption {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: 700; }\n thead {\n background: #f9f9f9;\n color: #202024; }\n tfoot {\n background: #f2f2f2;\n color: #202024; }\n thead tr,\n tfoot tr {\n background: transparent; }\n thead th,\n thead td,\n tfoot th,\n tfoot td {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: 700;\n text-align: left; }\n tbody th,\n tbody td {\n padding: 0.5rem 0.625rem 0.625rem; }\n tbody tr:nth-child(even) {\n border-bottom: 0;\n background-color: #f2f2f2; }\n table.unstriped tbody {\n background-color: #fff; }\n table.unstriped tbody tr {\n border-bottom: 0;\n border-bottom: 1px solid #f2f2f2;\n background-color: #fff; }\n\n@media screen and (max-width: 59.99875em) {\n table.stack thead {\n display: none; }\n table.stack tfoot {\n display: none; }\n table.stack tr,\n table.stack th,\n table.stack td {\n display: block; }\n table.stack td {\n border-top: 0; } }\n\ntable.scroll {\n display: block;\n width: 100%;\n overflow-x: auto; }\n\ntable.hover thead tr:hover {\n background-color: #f4f4f4; }\n\ntable.hover tfoot tr:hover {\n background-color: #ededed; }\n\ntable.hover tbody tr:hover {\n background-color: #fafafa; }\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n background-color: #ededed; }\n\n.table-scroll {\n overflow-x: auto; }\n\n.badge {\n display: inline-block;\n min-width: 2.1em;\n padding: 0.3em;\n border-radius: 50%;\n font-size: 0.6rem;\n text-align: center;\n background: #b00;\n color: #fff; }\n .badge.primary {\n background: #b00;\n color: #fff; }\n .badge.secondary {\n background: #666;\n color: #fff; }\n .badge.success {\n background: #1c7c89;\n color: #fff; }\n .badge.warning {\n background: #d65828;\n color: #000; }\n .badge.alert {\n background: #851e5e;\n color: #fff; }\n\n.breadcrumbs {\n margin: 0 0 1rem 0;\n list-style: none; }\n .breadcrumbs::before, .breadcrumbs::after {\n display: table;\n content: ' ';\n flex-basis: 0;\n order: 1; }\n .breadcrumbs::after {\n clear: both; }\n .breadcrumbs li {\n float: left;\n font-size: 0.6875rem;\n color: #000;\n cursor: default;\n text-transform: uppercase; }\n .breadcrumbs li:not(:last-child)::after {\n position: relative;\n margin: 0 0.75rem;\n opacity: 1;\n content: \"/\";\n color: #ccc; }\n .breadcrumbs a {\n color: #b00; }\n .breadcrumbs a:hover {\n text-decoration: underline; }\n .breadcrumbs .disabled {\n color: #ccc;\n cursor: not-allowed; }\n\n.callout {\n position: relative;\n margin: 0;\n padding: 0;\n border: 1px solid;\n border-radius: 0;\n background-color: white;\n color: #202024; }\n .callout > :first-child {\n margin-top: 0; }\n .callout > :last-child {\n margin-bottom: 0; }\n .callout.primary {\n background-color: #bb0000;\n color: #fff; }\n .callout.secondary {\n background-color: #666666;\n color: #fff; }\n .callout.success {\n background-color: #1c7c89;\n color: #fff; }\n .callout.warning {\n background-color: #d65828;\n color: #fff; }\n .callout.alert {\n background-color: #851e5e;\n color: #fff; }\n .callout.small {\n padding-top: 0.5rem;\n padding-right: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 0.5rem; }\n .callout.large {\n padding-top: 3rem;\n padding-right: 3rem;\n padding-bottom: 3rem;\n padding-left: 3rem; }\n\n.card {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin-bottom: 1rem;\n border: 1px solid #eaeaea;\n border-radius: 0;\n background: #fff;\n box-shadow: none;\n overflow: hidden;\n color: #202024; }\n .card > :last-child {\n margin-bottom: 0; }\n\n.card-divider {\n display: flex;\n flex: 0 1 auto;\n padding: 1rem;\n background: #eaeaea; }\n .card-divider > :last-child {\n margin-bottom: 0; }\n\n.card-section {\n flex: 1 0 auto;\n padding: 1rem; }\n .card-section > :last-child {\n margin-bottom: 0; }\n\n.card-image {\n min-height: 1px; }\n\n.dropdown-pane {\n position: absolute;\n z-index: 10;\n display: none;\n width: 300px;\n padding: 1rem;\n visibility: hidden;\n border: 1px solid #ccc;\n border-radius: 0;\n background-color: #fff;\n font-size: 1rem; }\n .dropdown-pane.is-opening {\n display: block; }\n .dropdown-pane.is-open {\n display: block;\n visibility: visible; }\n\n.dropdown-pane.tiny {\n width: 100px; }\n\n.dropdown-pane.small {\n width: 200px; }\n\n.dropdown-pane.large {\n width: 400px; }\n\n.pagination {\n margin-left: 0;\n margin-bottom: 1rem; }\n .pagination::before, .pagination::after {\n display: table;\n content: ' ';\n flex-basis: 0;\n order: 1; }\n .pagination::after {\n clear: both; }\n .pagination li {\n margin-right: 0.0625rem;\n border-radius: 0;\n font-size: 0.875rem;\n display: none; }\n .pagination li:last-child, .pagination li:first-child {\n display: inline-block; }\n @media print, screen and (min-width: 40em) {\n .pagination li {\n display: inline-block; } }\n .pagination a,\n .pagination button {\n display: block;\n padding: 0.1875rem 0.625rem;\n border-radius: 0;\n color: #000; }\n .pagination a:hover,\n .pagination button:hover {\n background: #eaeaea; }\n .pagination .current {\n padding: 0.1875rem 0.625rem;\n background: #b00;\n color: #fff;\n cursor: default; }\n .pagination .disabled {\n padding: 0.1875rem 0.625rem;\n color: #ccc;\n cursor: not-allowed; }\n .pagination .disabled:hover {\n background: transparent; }\n .pagination .ellipsis::after {\n padding: 0.1875rem 0.625rem;\n content: '\\2026';\n color: #000; }\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n display: inline-block;\n margin-right: 0.5rem;\n content: '\\00ab'; }\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n display: inline-block;\n margin-left: 0.5rem;\n content: '\\00bb'; }\n\n.has-tip {\n position: relative;\n display: inline-block;\n border-bottom: dotted 1px #303033;\n font-weight: 700;\n cursor: help; }\n\n.tooltip {\n position: absolute;\n top: calc(100% + 0.6495rem);\n z-index: 1200;\n max-width: 10rem;\n padding: 0.75rem;\n border-radius: 0;\n background-color: #000;\n font-size: 85%;\n color: #fff; }\n .tooltip::before {\n position: absolute; }\n .tooltip.bottom::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-top-width: 0;\n border-bottom-style: solid;\n border-color: transparent transparent #000;\n bottom: 100%; }\n .tooltip.bottom.align-center::before {\n left: 50%;\n transform: translateX(-50%); }\n .tooltip.top::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #000 transparent transparent;\n top: 100%;\n bottom: auto; }\n .tooltip.top.align-center::before {\n left: 50%;\n transform: translateX(-50%); }\n .tooltip.left::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #000;\n left: 100%; }\n .tooltip.left.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%); }\n .tooltip.right::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #000 transparent transparent;\n right: 100%;\n left: auto; }\n .tooltip.right.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%); }\n .tooltip.align-top::before {\n bottom: auto;\n top: 10%; }\n .tooltip.align-bottom::before {\n bottom: 10%;\n top: auto; }\n .tooltip.align-left::before {\n left: 10%;\n right: auto; }\n .tooltip.align-right::before {\n left: auto;\n right: 10%; }\n\n.accordion {\n margin-left: 0;\n background: #fff;\n list-style-type: none; }\n .accordion[disabled] .accordion-title {\n cursor: not-allowed; }\n\n.accordion-item:first-child > :first-child {\n border-radius: 0 0 0 0; }\n\n.accordion-item:last-child > :last-child {\n border-radius: 0 0 0 0; }\n\n.accordion-title {\n position: relative;\n display: block;\n padding: 1.25rem 1rem;\n border: 1px solid #eaeaea;\n border-bottom: 0;\n font-size: 0.75rem;\n line-height: 1;\n color: #b00; }\n :last-child:not(.is-active) > .accordion-title {\n border-bottom: 1px solid #eaeaea;\n border-radius: 0 0 0 0; }\n .accordion-title:hover, .accordion-title:focus {\n background-color: #eaeaea; }\n .accordion-title::before {\n position: absolute;\n top: 50%;\n right: 1rem;\n margin-top: -0.5rem;\n content: '+'; }\n .is-active > .accordion-title::before {\n content: '\\2013'; }\n\n.accordion-content {\n display: none;\n padding: 1rem;\n border: 1px solid #eaeaea;\n border-bottom: 0;\n background-color: #fff;\n color: #202024; }\n :last-child > .accordion-content:last-child {\n border-bottom: 1px solid #eaeaea; }\n\n.media-object {\n display: flex;\n margin-bottom: 1rem;\n flex-wrap: nowrap; }\n .media-object img {\n max-width: none; }\n @media screen and (max-width: 39.99875em) {\n .media-object.stack-for-small {\n flex-wrap: wrap; } }\n\n.media-object-section {\n flex: 0 1 auto; }\n .media-object-section:first-child {\n padding-right: 1rem; }\n .media-object-section:last-child:not(:nth-child(2)) {\n padding-left: 1rem; }\n .media-object-section > :last-child {\n margin-bottom: 0; }\n @media screen and (max-width: 39.99875em) {\n .stack-for-small .media-object-section {\n padding: 0;\n padding-bottom: 1rem;\n flex-basis: 100%;\n max-width: 100%; }\n .stack-for-small .media-object-section img {\n width: 100%; } }\n .media-object-section.main-section {\n flex: 1 1 0px; }\n\n.orbit {\n position: relative; }\n\n.orbit-container {\n position: relative;\n height: 0;\n margin: 0;\n list-style: none;\n overflow: hidden; }\n\n.orbit-slide {\n width: 100%;\n position: absolute; }\n .orbit-slide.no-motionui.is-active {\n top: 0;\n left: 0; }\n\n.orbit-figure {\n margin: 0; }\n\n.orbit-image {\n width: 100%;\n max-width: 100%;\n margin: 0; }\n\n.orbit-caption {\n position: absolute;\n bottom: 0;\n width: 100%;\n margin-bottom: 0;\n padding: 1rem;\n background-color: rgba(0, 0, 0, 0.5);\n color: #fff; }\n\n.orbit-previous, .orbit-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10;\n padding: 1rem;\n color: #fff; }\n [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n outline: 0; }\n .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n background-color: rgba(0, 0, 0, 0.5); }\n\n.orbit-previous {\n left: 0; }\n\n.orbit-next {\n left: auto;\n right: 0; }\n\n.orbit-bullets {\n position: relative;\n margin-top: 0.8rem;\n margin-bottom: 0.8rem;\n text-align: center; }\n [data-whatinput='mouse'] .orbit-bullets {\n outline: 0; }\n .orbit-bullets button {\n width: 1.2rem;\n height: 1.2rem;\n margin: 0.1rem;\n border-radius: 50%;\n background-color: #ccc; }\n .orbit-bullets button:hover {\n background-color: #303033; }\n .orbit-bullets button.is-active {\n background-color: #303033; }\n\n.responsive-embed,\n.flex-video {\n position: relative;\n height: 0;\n margin-bottom: 1rem;\n padding-bottom: 75%;\n overflow: hidden; }\n .responsive-embed iframe,\n .responsive-embed object,\n .responsive-embed embed,\n .responsive-embed video,\n .flex-video iframe,\n .flex-video object,\n .flex-video embed,\n .flex-video video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n .responsive-embed.widescreen,\n .flex-video.widescreen {\n padding-bottom: 56.25%; }\n\n.tabs {\n margin: 0;\n border: 1px solid #eaeaea;\n background: #fff;\n list-style-type: none; }\n .tabs::before, .tabs::after {\n display: table;\n content: ' ';\n flex-basis: 0;\n order: 1; }\n .tabs::after {\n clear: both; }\n\n.tabs.vertical > li {\n display: block;\n float: none;\n width: auto; }\n\n.tabs.simple > li > a {\n padding: 0; }\n .tabs.simple > li > a:hover {\n background: transparent; }\n\n.tabs.primary {\n background: #b00; }\n .tabs.primary > li > a {\n color: #fff; }\n .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n background: #cb0000; }\n\n.tabs-title {\n float: left; }\n .tabs-title > a {\n display: block;\n padding: 1.25rem 1.5rem;\n font-size: 0.75rem;\n line-height: 1;\n color: #b00; }\n [data-whatinput='mouse'] .tabs-title > a {\n outline: 0; }\n .tabs-title > a:hover {\n background: #fff;\n color: #a10000; }\n .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n background: #eaeaea;\n color: #b00; }\n\n.tabs-content {\n border: 1px solid #eaeaea;\n border-top: 0;\n background: #fff;\n color: #202024;\n transition: all 0.5s ease; }\n\n.tabs-content.vertical {\n border: 1px solid #eaeaea;\n border-left: 0; }\n\n.tabs-panel {\n display: none;\n padding: 1rem; }\n .tabs-panel.is-active {\n display: block; }\n\n.thumbnail {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 1rem;\n border: 4px solid #fff;\n border-radius: 0;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n line-height: 0; }\n\na.thumbnail {\n transition: box-shadow 200ms ease-out; }\n a.thumbnail:hover, a.thumbnail:focus {\n box-shadow: 0 0 6px 1px rgba(187, 0, 0, 0.5); }\n a.thumbnail image {\n box-shadow: none; }\n\n.menu {\n padding: 0;\n margin: 0;\n list-style: none;\n position: relative;\n display: flex;\n flex-wrap: wrap; }\n [data-whatinput='mouse'] .menu li {\n outline: 0; }\n .menu a,\n .menu .button {\n line-height: 1;\n text-decoration: none;\n display: block;\n padding: 0.7rem 1rem; }\n .menu input,\n .menu select,\n .menu a,\n .menu button {\n margin-bottom: 0; }\n .menu input {\n display: inline-block; }\n .menu, .menu.horizontal {\n flex-wrap: wrap;\n flex-direction: row; }\n .menu.vertical {\n flex-wrap: nowrap;\n flex-direction: column; }\n .menu.expanded li {\n flex: 1 1 0px; }\n .menu.simple {\n align-items: center; }\n .menu.simple li + li {\n margin-left: 1rem; }\n .menu.simple a {\n padding: 0; }\n @media print, screen and (min-width: 40em) {\n .menu.medium-horizontal {\n flex-wrap: wrap;\n flex-direction: row; }\n .menu.medium-vertical {\n flex-wrap: nowrap;\n flex-direction: column; }\n .menu.medium-expanded li {\n flex: 1 1 0px; }\n .menu.medium-simple li {\n flex: 1 1 0px; } }\n @media print, screen and (min-width: 60em) {\n .menu.large-horizontal {\n flex-wrap: wrap;\n flex-direction: row; }\n .menu.large-vertical {\n flex-wrap: nowrap;\n flex-direction: column; }\n .menu.large-expanded li {\n flex: 1 1 0px; }\n .menu.large-simple li {\n flex: 1 1 0px; } }\n @media screen and (min-width: 80em) {\n .menu.xlarge-horizontal {\n flex-wrap: wrap;\n flex-direction: row; }\n .menu.xlarge-vertical {\n flex-wrap: nowrap;\n flex-direction: column; }\n .menu.xlarge-expanded li {\n flex: 1 1 0px; }\n .menu.xlarge-simple li {\n flex: 1 1 0px; } }\n .menu.nested {\n margin-right: 0;\n margin-left: 1rem; }\n .menu.icons a {\n display: flex; }\n .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {\n display: flex; }\n .menu.icon-left li a {\n flex-flow: row nowrap; }\n .menu.icon-left li a img,\n .menu.icon-left li a i,\n .menu.icon-left li a svg {\n margin-right: 0.25rem; }\n .menu.icon-right li a {\n flex-flow: row nowrap; }\n .menu.icon-right li a img,\n .menu.icon-right li a i,\n .menu.icon-right li a svg {\n margin-left: 0.25rem; }\n .menu.icon-top li a {\n flex-flow: column nowrap; }\n .menu.icon-top li a img,\n .menu.icon-top li a i,\n .menu.icon-top li a svg {\n align-self: stretch;\n margin-bottom: 0.25rem;\n text-align: center; }\n .menu.icon-bottom li a {\n flex-flow: column nowrap; }\n .menu.icon-bottom li a img,\n .menu.icon-bottom li a i,\n .menu.icon-bottom li a svg {\n align-self: stretch;\n margin-bottom: 0.25rem;\n text-align: center; }\n .menu .is-active > a {\n background: #b00;\n color: #fff; }\n .menu .active > a {\n background: #b00;\n color: #fff; }\n .menu.align-left {\n justify-content: flex-start; }\n .menu.align-right li {\n display: flex;\n justify-content: flex-end; }\n .menu.align-right li .submenu li {\n justify-content: flex-start; }\n .menu.align-right.vertical li {\n display: block;\n text-align: right; }\n .menu.align-right.vertical li .submenu li {\n text-align: right; }\n .menu.align-right .nested {\n margin-right: 1rem;\n margin-left: 0; }\n .menu.align-center li {\n display: flex;\n justify-content: center; }\n .menu.align-center li .submenu li {\n justify-content: flex-start; }\n .menu .menu-text {\n padding: 0.7rem 1rem;\n font-weight: bold;\n line-height: 1;\n color: inherit; }\n\n.menu-centered > .menu {\n justify-content: center; }\n .menu-centered > .menu li {\n display: flex;\n justify-content: center; }\n .menu-centered > .menu li .submenu li {\n justify-content: flex-start; }\n\n.no-js [data-responsive-menu] ul {\n display: none; }\n\n.menu-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 16px;\n cursor: pointer; }\n .menu-icon::after {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 2px;\n background: #fff;\n box-shadow: 0 7px 0 #fff, 0 14px 0 #fff;\n content: ''; }\n .menu-icon:hover::after {\n background: #ccc;\n box-shadow: 0 7px 0 #ccc, 0 14px 0 #ccc; }\n\n.menu-icon.dark {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 16px;\n cursor: pointer; }\n .menu-icon.dark::after {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 2px;\n background: #000;\n box-shadow: 0 7px 0 #000, 0 14px 0 #000;\n content: ''; }\n .menu-icon.dark:hover::after {\n background: #303033;\n box-shadow: 0 7px 0 #303033, 0 14px 0 #303033; }\n\n.accordion-menu li {\n width: 100%; }\n\n.accordion-menu a {\n padding: 0.7rem 1rem; }\n\n.accordion-menu .is-accordion-submenu a {\n padding: 0.7rem 1rem; }\n\n.accordion-menu .nested.is-accordion-submenu {\n margin-right: 0;\n margin-left: 1rem; }\n\n.accordion-menu.align-right .nested.is-accordion-submenu {\n margin-right: 1rem;\n margin-left: 0; }\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n position: relative; }\n .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n position: absolute;\n top: 50%;\n margin-top: -3px;\n right: 1rem; }\n\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n right: 1rem;\n left: auto; }\n\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n right: auto;\n left: 1rem; }\n\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n transform: rotate(180deg);\n transform-origin: 50% 50%; }\n\n.is-accordion-submenu-parent {\n position: relative; }\n\n.has-submenu-toggle > a {\n margin-right: 40px; }\n\n.submenu-toggle {\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n height: 40px;\n cursor: pointer; }\n .submenu-toggle::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n top: 0;\n bottom: 0;\n margin: auto; }\n\n.submenu-toggle[aria-expanded='true']::after {\n transform: scaleY(-1);\n transform-origin: 50% 50%; }\n\n.submenu-toggle-text {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.is-drilldown {\n position: relative;\n overflow: hidden; }\n .is-drilldown li {\n display: block; }\n .is-drilldown.animate-height {\n transition: height 0.5s; }\n\n.drilldown a {\n padding: 0.7rem 1rem;\n background: #fff; }\n\n.drilldown .is-drilldown-submenu {\n position: absolute;\n top: 0;\n left: 100%;\n z-index: -1;\n width: 100%;\n background: #fff;\n transition: transform 0.15s linear; }\n .drilldown .is-drilldown-submenu.is-active {\n z-index: 1;\n display: block;\n transform: translateX(-100%); }\n .drilldown .is-drilldown-submenu.is-closing {\n transform: translateX(100%); }\n .drilldown .is-drilldown-submenu a {\n padding: 0.7rem 1rem; }\n\n.drilldown .nested.is-drilldown-submenu {\n margin-right: 0;\n margin-left: 0; }\n\n.drilldown .drilldown-submenu-cover-previous {\n min-height: 100%; }\n\n.drilldown .is-drilldown-submenu-parent > a {\n position: relative; }\n .drilldown .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n right: 1rem; }\n\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00;\n right: 1rem;\n left: auto; }\n\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 1rem; }\n\n.drilldown .js-drilldown-back > a::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n display: inline-block;\n vertical-align: middle;\n margin-right: 0.75rem; }\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n\n[data-whatinput='mouse'] .dropdown.menu a {\n outline: 0; }\n\n.dropdown.menu > li > a {\n padding: 0.7rem 1rem; }\n\n.dropdown.menu > li.is-active > a {\n background: transparent;\n color: #b00; }\n\n.no-js .dropdown.menu ul {\n display: none; }\n\n.dropdown.menu .nested.is-dropdown-submenu {\n margin-right: 0;\n margin-left: 0; }\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n top: 0; }\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n\n.dropdown.menu.vertical > li > a::after {\n right: 14px; }\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 5px; }\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00; }\n\n@media print, screen and (min-width: 40em) {\n .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n top: 0; }\n .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n .dropdown.menu.medium-vertical > li > a::after {\n right: 14px; }\n .dropdown.menu.medium-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 5px; }\n .dropdown.menu.medium-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00; } }\n\n@media print, screen and (min-width: 60em) {\n .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n top: 0; }\n .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n .dropdown.menu.large-vertical > li > a::after {\n right: 14px; }\n .dropdown.menu.large-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 5px; }\n .dropdown.menu.large-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00; } }\n\n@media screen and (min-width: 80em) {\n .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #b00 transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {\n top: 0; }\n .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n .dropdown.menu.xlarge-vertical > li > a::after {\n right: 14px; }\n .dropdown.menu.xlarge-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 5px; }\n .dropdown.menu.xlarge-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00; } }\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n top: 100%;\n right: 0;\n left: auto; }\n\n.is-dropdown-menu.vertical {\n width: 100px; }\n .is-dropdown-menu.vertical.align-right {\n float: right; }\n\n.is-dropdown-submenu-parent {\n position: relative; }\n .is-dropdown-submenu-parent a::after {\n position: absolute;\n top: 50%;\n right: 5px;\n left: auto;\n margin-top: -6px; }\n .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n top: 100%;\n left: auto; }\n .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n right: 100%;\n left: auto; }\n .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n\n.is-dropdown-submenu {\n position: absolute;\n top: 0;\n left: 100%;\n z-index: 1;\n display: none;\n min-width: 200px;\n border: 1px solid #ccc;\n background: #fff; }\n .dropdown .is-dropdown-submenu a {\n padding: 0.7rem 1rem; }\n .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n right: 14px; }\n .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #b00 transparent transparent;\n right: auto;\n left: 5px; }\n .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #b00; }\n .is-dropdown-submenu .is-dropdown-submenu {\n margin-top: -1px; }\n .is-dropdown-submenu > li {\n width: 100%; }\n .is-dropdown-submenu.js-dropdown-active {\n display: block; }\n\n.is-off-canvas-open {\n overflow: hidden; }\n\n.js-off-canvas-overlay {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 11;\n width: 100%;\n height: 100%;\n transition: opacity 0.5s ease, visibility 0.5s ease;\n background: rgba(255, 255, 255, 0.25);\n opacity: 0;\n visibility: hidden;\n overflow: hidden; }\n .js-off-canvas-overlay.is-visible {\n opacity: 1;\n visibility: visible; }\n .js-off-canvas-overlay.is-closable {\n cursor: pointer; }\n .js-off-canvas-overlay.is-overlay-absolute {\n position: absolute; }\n .js-off-canvas-overlay.is-overlay-fixed {\n position: fixed; }\n\n.off-canvas-wrapper {\n position: relative;\n overflow: hidden; }\n\n.off-canvas {\n position: fixed;\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #eaeaea; }\n [data-whatinput='mouse'] .off-canvas {\n outline: 0; }\n .off-canvas.is-transition-push {\n z-index: 12; }\n .off-canvas.is-closed {\n visibility: hidden; }\n .off-canvas.is-transition-overlap {\n z-index: 13; }\n .off-canvas.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n .off-canvas.is-open {\n transform: translate(0, 0); }\n\n.off-canvas-absolute {\n position: absolute;\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #eaeaea; }\n [data-whatinput='mouse'] .off-canvas-absolute {\n outline: 0; }\n .off-canvas-absolute.is-transition-push {\n z-index: 12; }\n .off-canvas-absolute.is-closed {\n visibility: hidden; }\n .off-canvas-absolute.is-transition-overlap {\n z-index: 13; }\n .off-canvas-absolute.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n .off-canvas-absolute.is-open {\n transform: translate(0, 0); }\n\n.position-left {\n top: 0;\n left: 0;\n height: 100%;\n overflow-y: auto;\n width: 250px;\n transform: translateX(-250px); }\n .off-canvas-content .off-canvas.position-left {\n transform: translateX(-250px); }\n .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-left.has-transition-push {\n transform: translateX(250px); }\n .position-left.is-transition-push {\n box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n.position-right {\n top: 0;\n right: 0;\n height: 100%;\n overflow-y: auto;\n width: 250px;\n transform: translateX(250px); }\n .off-canvas-content .off-canvas.position-right {\n transform: translateX(250px); }\n .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-right.has-transition-push {\n transform: translateX(-250px); }\n .position-right.is-transition-push {\n box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n.position-top {\n top: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n height: 250px;\n transform: translateY(-250px); }\n .off-canvas-content .off-canvas.position-top {\n transform: translateY(-250px); }\n .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-top.has-transition-push {\n transform: translateY(250px); }\n .position-top.is-transition-push {\n box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n.position-bottom {\n bottom: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n height: 250px;\n transform: translateY(250px); }\n .off-canvas-content .off-canvas.position-bottom {\n transform: translateY(250px); }\n .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-bottom.has-transition-push {\n transform: translateY(-250px); }\n .position-bottom.is-transition-push {\n box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n.off-canvas-content {\n transform: none;\n transition: transform 0.5s ease;\n backface-visibility: hidden; }\n .off-canvas-content.has-transition-push {\n transform: translate(0, 0); }\n .off-canvas-content .off-canvas.is-open {\n transform: translate(0, 0); }\n\n@media print, screen and (min-width: 40em) {\n .position-left.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-left.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-left.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px; }\n .position-left.reveal-for-medium ~ .off-canvas-content {\n margin-left: 250px; }\n .position-right.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-right.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-right.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px; }\n .position-right.reveal-for-medium ~ .off-canvas-content {\n margin-right: 250px; }\n .position-top.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-top.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-top.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px; }\n .position-top.reveal-for-medium ~ .off-canvas-content {\n margin-top: 250px; }\n .position-bottom.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-bottom.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-bottom.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px; }\n .position-bottom.reveal-for-medium ~ .off-canvas-content {\n margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 60em) {\n .position-left.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-left.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-left.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px; }\n .position-left.reveal-for-large ~ .off-canvas-content {\n margin-left: 250px; }\n .position-right.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-right.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-right.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px; }\n .position-right.reveal-for-large ~ .off-canvas-content {\n margin-right: 250px; }\n .position-top.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-top.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-top.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px; }\n .position-top.reveal-for-large ~ .off-canvas-content {\n margin-top: 250px; }\n .position-bottom.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-bottom.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-bottom.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px; }\n .position-bottom.reveal-for-large ~ .off-canvas-content {\n margin-bottom: 250px; } }\n\n@media screen and (min-width: 80em) {\n .position-left.reveal-for-xlarge {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-left.reveal-for-xlarge .close-button {\n display: none; }\n .off-canvas-content .position-left.reveal-for-xlarge {\n transform: none; }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px; }\n .position-left.reveal-for-xlarge ~ .off-canvas-content {\n margin-left: 250px; }\n .position-right.reveal-for-xlarge {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-right.reveal-for-xlarge .close-button {\n display: none; }\n .off-canvas-content .position-right.reveal-for-xlarge {\n transform: none; }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px; }\n .position-right.reveal-for-xlarge ~ .off-canvas-content {\n margin-right: 250px; }\n .position-top.reveal-for-xlarge {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-top.reveal-for-xlarge .close-button {\n display: none; }\n .off-canvas-content .position-top.reveal-for-xlarge {\n transform: none; }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px; }\n .position-top.reveal-for-xlarge ~ .off-canvas-content {\n margin-top: 250px; }\n .position-bottom.reveal-for-xlarge {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-bottom.reveal-for-xlarge .close-button {\n display: none; }\n .off-canvas-content .position-bottom.reveal-for-xlarge {\n transform: none; }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px; }\n .position-bottom.reveal-for-xlarge ~ .off-canvas-content {\n margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 40em) {\n .off-canvas.in-canvas-for-medium {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none; }\n .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {\n box-shadow: none;\n transform: none; }\n .off-canvas.in-canvas-for-medium .close-button {\n display: none; } }\n\n@media print, screen and (min-width: 60em) {\n .off-canvas.in-canvas-for-large {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none; }\n .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {\n box-shadow: none;\n transform: none; }\n .off-canvas.in-canvas-for-large .close-button {\n display: none; } }\n\n@media screen and (min-width: 80em) {\n .off-canvas.in-canvas-for-xlarge {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none; }\n .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {\n box-shadow: none;\n transform: none; }\n .off-canvas.in-canvas-for-xlarge .close-button {\n display: none; } }\n\nhtml.is-reveal-open {\n position: fixed;\n width: 100%;\n overflow-y: hidden; }\n html.is-reveal-open.zf-has-scroll {\n overflow-y: scroll; }\n html.is-reveal-open body {\n overflow-y: hidden; }\n\n.reveal-overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1005;\n display: none;\n background-color: rgba(0, 0, 0, 0.45);\n overflow-y: auto; }\n\n.reveal {\n z-index: 1006;\n backface-visibility: hidden;\n display: none;\n padding: 1rem;\n border: 1px solid #ccc;\n border-radius: 0;\n background-color: #fff;\n position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto; }\n [data-whatinput='mouse'] .reveal {\n outline: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal {\n min-height: 0; } }\n .reveal .column {\n min-width: 0; }\n .reveal > :last-child {\n margin-bottom: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal {\n width: 600px;\n max-width: 75rem; } }\n .reveal.collapse {\n padding: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal.tiny {\n width: 30%;\n max-width: 75rem; } }\n @media print, screen and (min-width: 40em) {\n .reveal.small {\n width: 50%;\n max-width: 75rem; } }\n @media print, screen and (min-width: 40em) {\n .reveal.large {\n width: 90%;\n max-width: 75rem; } }\n .reveal.full {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n border: 0;\n border-radius: 0; }\n @media screen and (max-width: 39.99875em) {\n .reveal {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n border: 0;\n border-radius: 0; } }\n .reveal.without-overlay {\n position: fixed; }\n\n.sticky-container {\n position: relative; }\n\n.sticky {\n position: relative;\n z-index: 0;\n transform: translate3d(0, 0, 0); }\n\n.sticky.is-stuck {\n position: fixed;\n z-index: 5;\n width: 100%; }\n .sticky.is-stuck.is-at-top {\n top: 0; }\n .sticky.is-stuck.is-at-bottom {\n bottom: 0; }\n\n.sticky.is-anchored {\n position: relative;\n right: auto;\n left: auto; }\n .sticky.is-anchored.is-at-bottom {\n bottom: 0; }\n\n.title-bar {\n padding: 0.5rem;\n background: #000;\n color: #fff;\n display: flex;\n justify-content: flex-start;\n align-items: center; }\n .title-bar .menu-icon {\n margin-left: 0.25rem;\n margin-right: 0.25rem; }\n\n.title-bar-left,\n.title-bar-right {\n flex: 1 1 0px; }\n\n.title-bar-right {\n text-align: right; }\n\n.title-bar-title {\n display: inline-block;\n vertical-align: middle;\n font-weight: bold; }\n\n.top-bar {\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n padding: 0.5rem;\n flex-wrap: wrap; }\n .top-bar,\n .top-bar ul {\n background-color: #eaeaea; }\n .top-bar input {\n max-width: 200px;\n margin-right: 1rem; }\n .top-bar .input-group-field {\n width: 100%;\n margin-right: 0; }\n .top-bar input.button {\n width: auto; }\n .top-bar .top-bar-left,\n .top-bar .top-bar-right {\n flex: 0 0 100%;\n max-width: 100%; }\n @media print, screen and (min-width: 40em) {\n .top-bar {\n flex-wrap: nowrap; }\n .top-bar .top-bar-left {\n flex: 1 1 auto;\n margin-right: auto; }\n .top-bar .top-bar-right {\n flex: 0 1 auto;\n margin-left: auto; } }\n @media screen and (max-width: 59.99875em) {\n .top-bar.stacked-for-medium {\n flex-wrap: wrap; }\n .top-bar.stacked-for-medium .top-bar-left,\n .top-bar.stacked-for-medium .top-bar-right {\n flex: 0 0 100%;\n max-width: 100%; } }\n @media screen and (max-width: 79.99875em) {\n .top-bar.stacked-for-large {\n flex-wrap: wrap; }\n .top-bar.stacked-for-large .top-bar-left,\n .top-bar.stacked-for-large .top-bar-right {\n flex: 0 0 100%;\n max-width: 100%; } }\n @media screen and (max-width: 89.99875em) {\n .top-bar.stacked-for-xlarge {\n flex-wrap: wrap; }\n .top-bar.stacked-for-xlarge .top-bar-left,\n .top-bar.stacked-for-xlarge .top-bar-right {\n flex: 0 0 100%;\n max-width: 100%; } }\n\n.top-bar-title {\n flex: 0 0 auto;\n margin: 0.5rem 1rem 0.5rem 0; }\n\n.top-bar-left,\n.top-bar-right {\n flex: 0 0 auto; }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-center {\n display: block;\n margin-right: auto;\n margin-left: auto; }\n\n.clearfix::before, .clearfix::after {\n display: table;\n content: ' ';\n flex-basis: 0;\n order: 1; }\n\n.clearfix::after {\n clear: both; }\n\n.align-left {\n justify-content: flex-start; }\n\n.align-right {\n justify-content: flex-end; }\n\n.align-center {\n justify-content: center; }\n\n.align-justify {\n justify-content: space-between; }\n\n.align-spaced {\n justify-content: space-around; }\n\n.align-left.vertical.menu > li > a {\n justify-content: flex-start; }\n\n.align-right.vertical.menu > li > a {\n justify-content: flex-end; }\n\n.align-center.vertical.menu > li > a {\n justify-content: center; }\n\n.align-top {\n align-items: flex-start; }\n\n.align-self-top {\n align-self: flex-start; }\n\n.align-bottom {\n align-items: flex-end; }\n\n.align-self-bottom {\n align-self: flex-end; }\n\n.align-middle {\n align-items: center; }\n\n.align-self-middle {\n align-self: center; }\n\n.align-stretch {\n align-items: stretch; }\n\n.align-self-stretch {\n align-self: stretch; }\n\n.align-center-middle {\n justify-content: center;\n align-items: center;\n align-content: center; }\n\n.small-order-1 {\n order: 1; }\n\n.small-order-2 {\n order: 2; }\n\n.small-order-3 {\n order: 3; }\n\n.small-order-4 {\n order: 4; }\n\n.small-order-5 {\n order: 5; }\n\n.small-order-6 {\n order: 6; }\n\n@media print, screen and (min-width: 40em) {\n .medium-order-1 {\n order: 1; }\n .medium-order-2 {\n order: 2; }\n .medium-order-3 {\n order: 3; }\n .medium-order-4 {\n order: 4; }\n .medium-order-5 {\n order: 5; }\n .medium-order-6 {\n order: 6; } }\n\n@media print, screen and (min-width: 60em) {\n .large-order-1 {\n order: 1; }\n .large-order-2 {\n order: 2; }\n .large-order-3 {\n order: 3; }\n .large-order-4 {\n order: 4; }\n .large-order-5 {\n order: 5; }\n .large-order-6 {\n order: 6; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-order-1 {\n order: 1; }\n .xlarge-order-2 {\n order: 2; }\n .xlarge-order-3 {\n order: 3; }\n .xlarge-order-4 {\n order: 4; }\n .xlarge-order-5 {\n order: 5; }\n .xlarge-order-6 {\n order: 6; } }\n\n.flex-container {\n display: flex; }\n\n.flex-child-auto {\n flex: 1 1 auto; }\n\n.flex-child-grow {\n flex: 1 0 auto; }\n\n.flex-child-shrink {\n flex: 0 1 auto; }\n\n.flex-dir-row {\n flex-direction: row; }\n\n.flex-dir-row-reverse {\n flex-direction: row-reverse; }\n\n.flex-dir-column {\n flex-direction: column; }\n\n.flex-dir-column-reverse {\n flex-direction: column-reverse; }\n\n@media print, screen and (min-width: 40em) {\n .medium-flex-container {\n display: flex; }\n .medium-flex-child-auto {\n flex: 1 1 auto; }\n .medium-flex-child-grow {\n flex: 1 0 auto; }\n .medium-flex-child-shrink {\n flex: 0 1 auto; }\n .medium-flex-dir-row {\n flex-direction: row; }\n .medium-flex-dir-row-reverse {\n flex-direction: row-reverse; }\n .medium-flex-dir-column {\n flex-direction: column; }\n .medium-flex-dir-column-reverse {\n flex-direction: column-reverse; } }\n\n@media print, screen and (min-width: 60em) {\n .large-flex-container {\n display: flex; }\n .large-flex-child-auto {\n flex: 1 1 auto; }\n .large-flex-child-grow {\n flex: 1 0 auto; }\n .large-flex-child-shrink {\n flex: 0 1 auto; }\n .large-flex-dir-row {\n flex-direction: row; }\n .large-flex-dir-row-reverse {\n flex-direction: row-reverse; }\n .large-flex-dir-column {\n flex-direction: column; }\n .large-flex-dir-column-reverse {\n flex-direction: column-reverse; } }\n\n@media screen and (min-width: 80em) {\n .xlarge-flex-container {\n display: flex; }\n .xlarge-flex-child-auto {\n flex: 1 1 auto; }\n .xlarge-flex-child-grow {\n flex: 1 0 auto; }\n .xlarge-flex-child-shrink {\n flex: 0 1 auto; }\n .xlarge-flex-dir-row {\n flex-direction: row; }\n .xlarge-flex-dir-row-reverse {\n flex-direction: row-reverse; }\n .xlarge-flex-dir-column {\n flex-direction: column; }\n .xlarge-flex-dir-column-reverse {\n flex-direction: column-reverse; } }\n\n.hide {\n display: none !important; }\n\n.invisible {\n visibility: hidden; }\n\n@media screen and (max-width: 39.99875em) {\n .hide-for-small-only {\n display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n .show-for-small-only {\n display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n .hide-for-medium {\n display: none !important; } }\n\n@media screen and (max-width: 39.99875em) {\n .show-for-medium {\n display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 59.99875em) {\n .hide-for-medium-only {\n display: none !important; } }\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 60em) {\n .show-for-medium-only {\n display: none !important; } }\n\n@media print, screen and (min-width: 60em) {\n .hide-for-large {\n display: none !important; } }\n\n@media screen and (max-width: 59.99875em) {\n .show-for-large {\n display: none !important; } }\n\n@media screen and (min-width: 60em) and (max-width: 79.99875em) {\n .hide-for-large-only {\n display: none !important; } }\n\n@media screen and (max-width: 59.99875em), screen and (min-width: 80em) {\n .show-for-large-only {\n display: none !important; } }\n\n@media screen and (min-width: 80em) {\n .hide-for-xlarge {\n display: none !important; } }\n\n@media screen and (max-width: 79.99875em) {\n .show-for-xlarge {\n display: none !important; } }\n\n@media screen and (min-width: 80em) and (max-width: 89.99875em) {\n .hide-for-xlarge-only {\n display: none !important; } }\n\n@media screen and (max-width: 79.99875em), screen and (min-width: 90em) {\n .show-for-xlarge-only {\n display: none !important; } }\n\n.show-for-sr,\n.show-on-focus {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.show-on-focus:active, .show-on-focus:focus {\n position: static !important;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal; }\n\n.show-for-landscape,\n.hide-for-portrait {\n display: block !important; }\n @media screen and (orientation: landscape) {\n .show-for-landscape,\n .hide-for-portrait {\n display: block !important; } }\n @media screen and (orientation: portrait) {\n .show-for-landscape,\n .hide-for-portrait {\n display: none !important; } }\n\n.hide-for-landscape,\n.show-for-portrait {\n display: none !important; }\n @media screen and (orientation: landscape) {\n .hide-for-landscape,\n .show-for-portrait {\n display: none !important; } }\n @media screen and (orientation: portrait) {\n .hide-for-landscape,\n .show-for-portrait {\n display: block !important; } }\n\n.sample-grid {\n margin-bottom: 2em; }\n .sample-grid .cell {\n background: #eaeaea;\n padding: 10px 15px;\n min-height: 80px; }\n\n.grid-grow {\n flex-grow: 1 !important; }\n\n.animate-fade {\n -webkit-transition: opacity 0.3s ease-out;\n -moz-transition: opacity 0.3s ease-out;\n -ms-transition: opacity 0.3s ease-out;\n -o-transition: opacity 0.3s ease-out;\n transition: opacity 0.3s ease-out; }\n .animate-fade:hover {\n opacity: 0; }\n\n.animate-move > .demo-shape {\n -webkit-transition: all 0.8s ease-in-out;\n -moz-transition: all 0.8s ease-in-out;\n -ms-transition: all 0.8s ease-in-out;\n -o-transition: all 0.8s ease-in-out;\n transition: all 0.8s ease-in-out; }\n\n.demo-animate {\n background-color: #eaeaea;\n cursor: pointer;\n padding: 1em;\n text-align: center; }\n\nhtml {\n box-sizing: border-box; }\n\n*,\n*::after,\n*::before {\n box-sizing: inherit; }\n\n.layout-container,\n.layout__wrapper--main {\n background: white; }\n\nbody.footer-color--dk-gray {\n background: #202024; }\n\nbody.footer-color--md-gray {\n background: #666; }\n\nbody.footer-color--lt-gray {\n background: #eaeaea; }\n\nbody.footer-color--white {\n background: white; }\n\n.grid-container {\n padding-right: 2.5rem;\n padding-left: 2.5rem; }\n\n.layout__wrapper--main {\n background: white; }\n\n.visually-hidden,\n.visuallyhidden {\n position: absolute !important;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px); }\n\naddress {\n font-style: normal !important; }\n\n.sg-main {\n padding: 0 4%;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif; }\n\n.sg-tabs-panel {\n min-height: 25em !important; }\n\n.sg-pattern-extra-code {\n width: 100% !important; }\n\n.sg-pattern-extra-code .language-markup {\n font-size: 85% !important; }\n\n#sg-patterns .sg-subtype h2 {\n font-size: 1.75rem;\n font-weight: 700;\n text-transform: uppercase;\n margin-bottom: 5px;\n clear: both;\n background: #eaeaea;\n margin-left: calc(-50vw + 50%);\n margin-right: calc(-50vw + 50%);\n padding-left: calc(5rem + calc(-50vw + 50%));\n padding-right: calc(5rem + calc(-50vw + 50%));\n padding: 6px 0 0 4.5%;\n margin-top: 2.5em; }\n #sg-patterns .sg-subtype h2 a {\n color: #b00;\n font-weight: 700;\n text-decoration: none; }\n #sg-patterns .sg-subtype h2 a:hover {\n color: #1c7c89; }\n\n#sg-patterns .sg-subtype:first-child h2 {\n margin-top: 0; }\n\n.sg-pattern-title a {\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif !important;\n color: #444446;\n font-size: 1.375rem;\n text-transform: uppercase; }\n\n.sg-colors {\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n padding: 0;\n margin: 0; }\n .sg-colors li {\n flex: auto;\n padding: 0.3em;\n margin: 0 0.3em 1em;\n min-width: 9em;\n max-width: 10em; }\n .sg-colors__sample {\n display: block;\n height: 100px;\n margin-bottom: 0.3em;\n border: 1px solid #ccc; }\n\n.sg-typography {\n display: flex;\n flex-wrap: wrap; }\n .sg-typography .sg-typography__group {\n padding: 1em 0.25em;\n min-width: 40%; }\n .sg-typography .sg-typography__group .sg-info {\n padding: 10px;\n font-size: 30px; }\n\n#viewall-base-utils {\n display: none; }\n\nh1, .h1 {\n font-size: 2.625rem;\n font-weight: 800;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.1; }\n h1 a, h1__link,\n .h1 a,\n .h1__link {\n color: inherit;\n text-decoration: none;\n font-weight: 800; }\n h1 a:hover, h1__link:hover,\n .h1 a:hover,\n .h1__link:hover {\n color: #1c7c89; }\n h1 a:focus, h1__link:focus,\n .h1 a:focus,\n .h1__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh2, .h2 {\n font-size: 2rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2; }\n h2 a, h2__link,\n .h2 a,\n .h2__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n h2 a:hover, h2__link:hover,\n .h2 a:hover,\n .h2__link:hover {\n color: #1c7c89; }\n h2 a:focus, h2__link:focus,\n .h2 a:focus,\n .h2__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh3, .h3 {\n font-size: 1.625rem;\n font-weight: 600;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2; }\n h3 a, h3__link,\n .h3 a,\n .h3__link {\n color: inherit;\n text-decoration: none;\n font-weight: 600; }\n h3 a:hover, h3__link:hover,\n .h3 a:hover,\n .h3__link:hover {\n color: #1c7c89; }\n h3 a:focus, h3__link:focus,\n .h3 a:focus,\n .h3__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh4, .h4 {\n font-size: 1.375rem;\n font-weight: 600;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2; }\n h4 a, h4__link,\n .h4 a,\n .h4__link {\n color: inherit;\n text-decoration: none;\n font-weight: 600; }\n h4 a:hover, h4__link:hover,\n .h4 a:hover,\n .h4__link:hover {\n color: #1c7c89; }\n h4 a:focus, h4__link:focus,\n .h4 a:focus,\n .h4__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh5, .h5 {\n font-size: 1.25rem;\n font-weight: 400;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2; }\n h5 a, h5__link,\n .h5 a,\n .h5__link {\n color: inherit;\n text-decoration: none;\n font-weight: 400; }\n h5 a:hover, h5__link:hover,\n .h5 a:hover,\n .h5__link:hover {\n color: #1c7c89; }\n h5 a:focus, h5__link:focus,\n .h5 a:focus,\n .h5__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh6, .h6 {\n font-size: 1.125rem;\n font-weight: 400;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2; }\n h6 a, h6__link,\n .h6 a,\n .h6__link {\n color: inherit;\n text-decoration: none;\n font-weight: 400; }\n h6 a:hover, h6__link:hover,\n .h6 a:hover,\n .h6__link:hover {\n color: #1c7c89; }\n h6 a:focus, h6__link:focus,\n .h6 a:focus,\n .h6__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nh1.page-title {\n margin-top: 1.25rem;\n margin-bottom: 0.625rem; }\n\n.field--type-text-long h2,\n.field--type-text-long h3,\n.field--type-text-long h4,\n.field--type-text-long h5,\n.field--type-text-long h6 {\n margin-top: 0.625rem;\n margin-bottom: 0.625rem; }\n\n.field--type-text-long p ~ h2,\n.field--type-text-long p ~ h3,\n.field--type-text-long p ~ h4,\n.field--type-text-long p ~ h5,\n.field--type-text-long p ~ h6 {\n margin-top: 1.875rem; }\n\n.field--type-text-long ul ~ h2,\n.field--type-text-long ul ~ h3,\n.field--type-text-long ul ~ h4,\n.field--type-text-long ul ~ h5,\n.field--type-text-long ul ~ h6 {\n margin-top: 1.875rem; }\n\n.field--type-text-long ol ~ h2,\n.field--type-text-long ol ~ h3,\n.field--type-text-long ol ~ h4,\n.field--type-text-long ol ~ h5,\n.field--type-text-long ol ~ h6 {\n margin-top: 1.875rem; }\n\n.tagline {\n font-family: \"Capita\", \"Times New Roman\", serif;\n font-size: 1.75rem;\n font-style: italic;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 1.25rem; }\n\n.tagline--small {\n font-size: 1.375rem; }\n\n.blockquote, blockquote:not(.pull-quote) {\n border-left: solid 3px #ccc;\n margin: 2em 0 2em 2em;\n padding-left: 1em;\n padding-right: 3em; }\n .blockquote p, blockquote:not(.pull-quote) p {\n line-height: 1.6; }\n\n.pull-quote {\n border: 0;\n padding: 2em;\n padding-right: 4em;\n margin: 2em 0;\n position: relative; }\n\n.pull-quote__icon {\n color: #ccc;\n position: absolute;\n top: 0.8em; }\n\n.pull-quote__text {\n font-family: \"Capita\", \"Times New Roman\", serif;\n font-style: italic;\n font-weight: 300;\n font-size: 115%;\n padding: 0;\n padding-left: 3.5em; }\n .pull-quote__text p {\n line-height: 1.6; }\n\n.section-header {\n font-size: 1.75rem;\n font-weight: 400;\n text-transform: uppercase;\n margin-bottom: 1.25rem; }\n\np,\n.paragraph {\n line-height: 1.4; }\n\n.paragraph--center {\n text-align: center;\n width: 85%;\n margin-right: auto !important;\n margin-left: auto !important; }\n\n.paragraph--intro {\n font-family: \"Capita\", \"Times New Roman\", serif;\n font-style: italic;\n font-weight: 400;\n font-size: 1.25rem;\n line-height: 1.75; }\n\n.pipe {\n margin: 0 3px;\n color: #b00;\n font-weight: 700; }\n\ncode {\n font-size: 0.875em; }\n\na,\n.link {\n color: #b00;\n text-decoration: underline;\n font-weight: 400; }\n a:hover,\n .link:hover {\n color: #1c7c89; }\n a:focus,\n .link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\nspan.ext {\n margin-left: 4px; }\n\na.button span.link-content {\n float: left; }\n\n.social-media__item {\n display: inline-block;\n padding: 0;\n margin: 0; }\n\n.social-media__item a {\n float: left;\n background: #666;\n color: #fff;\n width: 2.65em;\n margin: 0.35em 0.7em 0.15em 0;\n text-align: center;\n padding: 0.625em 0 0.45em;\n font-size: 105%; }\n\n.social-media__item a span.ext {\n display: none; }\n\n.social-media__item a:focus {\n outline: 2px dotted black;\n outline-offset: 0; }\n\n.social-media__item a:hover {\n background: #444446; }\n\n.social-media__item--Twitter a:hover {\n background: #00aced; }\n\n.social-media__item--Facebook a:hover {\n background: #1877f2; }\n\n.social-media__item--LinkedIn a:hover {\n background: #007bb6; }\n\n.social-media__item--YouTube a:hover {\n background: #f00; }\n\n.social-media__item--Instagram a:hover {\n background: #c13584; }\n\n.social-media__item--Photo-sharing a:hover {\n background: #6eb800; }\n\n.button {\n background-color: #b00;\n color: #fff;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.25;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n padding: 11px 16px 10px;\n margin-bottom: 16px;\n display: inline-block;\n position: relative;\n cursor: pointer; }\n .button:active {\n position: relative;\n top: 1px;\n background-color: #a20000 !important; }\n .button:hover {\n background-color: #ca0000; }\n .button:focus {\n background-color: #ca0000;\n outline: 2px dotted #202024;\n outline-offset: 0; }\n .button--gray {\n background-color: #666;\n color: #fff;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.25;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n padding: 11px 16px 10px;\n margin-bottom: 16px;\n display: inline-block;\n position: relative;\n cursor: pointer; }\n .button--gray:active {\n position: relative;\n top: 1px;\n background-color: #595959 !important; }\n .button--gray:hover {\n background-color: #6e6e6e; }\n .button--gray:focus {\n background-color: #6e6e6e;\n outline: 2px dotted #202024;\n outline-offset: 0; }\n .button--teal {\n background-color: #1c7c89;\n color: #fff;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.25;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n padding: 11px 16px 10px;\n margin-bottom: 16px;\n display: inline-block;\n position: relative;\n cursor: pointer; }\n .button--teal:active {\n position: relative;\n top: 1px;\n background-color: #186974 !important; }\n .button--teal:hover {\n background-color: #1f8796; }\n .button--teal:focus {\n background-color: #1f8796;\n outline: 2px dotted #202024;\n outline-offset: 0; }\n .button--alt {\n background-color: #fff;\n color: #b00;\n border: 1px solid #b00;\n padding: 11px 16px 10px; }\n .button--alt:active {\n border: 1px solid #b00;\n background-color: #a20000 !important;\n padding: 12px 16px 11px;\n top: 0; }\n .button--alt:hover {\n background-color: #b00; }\n .button--alt:focus {\n background-color: #b00; }\n .button--alt-gray {\n background-color: #fff;\n color: #666;\n border: 1px solid #666;\n padding: 11px 16px 10px; }\n .button--alt-gray:active {\n border: 1px solid #666;\n background-color: #595959 !important;\n padding: 12px 16px 11px;\n top: 0; }\n .button--alt-gray:hover {\n background-color: #666; }\n .button--alt-gray:focus {\n background-color: #666; }\n .button--alt-teal {\n background-color: #fff;\n color: #1c7c89;\n border: 1px solid #1c7c89;\n padding: 11px 16px 10px; }\n .button--alt-teal:active {\n border: 1px solid #1c7c89;\n background-color: #186974 !important;\n padding: 12px 16px 11px;\n top: 0; }\n .button--alt-teal:hover {\n background-color: #1c7c89; }\n .button--alt-teal:focus {\n background-color: #1c7c89; }\n\n.more-link {\n display: inline-block;\n vertical-align: middle;\n margin: 0 0 1rem 0;\n padding: 0.85em 1em;\n border: 1px solid transparent;\n border-radius: 0;\n transition: background-color 0.25s ease-out, color 0.25s ease-out;\n font-family: inherit;\n font-size: 0.9rem;\n -webkit-appearance: none;\n line-height: 1;\n text-align: center;\n cursor: pointer;\n background-color: #b00;\n color: #fff; }\n [data-whatinput='mouse'] .more-link {\n outline: 0; }\n .more-link:hover, .more-link:focus {\n background-color: #9f0000;\n color: #fff; }\n\n.list-item, .field--type-text-long ol li,\n.field--type-text-long ul li {\n margin-bottom: 0.41667rem;\n padding-left: 0.40625rem; }\n\n.dl-term {\n font-weight: 700;\n margin-bottom: 0; }\n\n.dl-def {\n margin-left: 0.8125rem;\n margin-bottom: 0.625rem; }\n\nul,\nol {\n padding-left: 0.54167rem; }\n\nul {\n list-style-type: disc; }\n\nol {\n list-style-type: decimal; }\n\nol ol {\n list-style-type: lower-alpha; }\n\nol ol ol {\n list-style-type: lower-roman; }\n\n.table__caption {\n text-align: left;\n margin-bottom: 0.5em; }\n\n.table__heading-cell {\n font-weight: 700; }\n .table__heading-cell[scope='row'] {\n text-align: left; }\n\n.form-item {\n color: #303033;\n margin-bottom: 0.5em; }\n .form-item::after {\n clear: both;\n content: '';\n display: table; }\n\n.form-item__label, .form-item label {\n display: block;\n font-weight: 600; }\n\n.form-item__description {\n font-size: 0.875rem;\n margin-top: -0.5em;\n margin-bottom: 1.5em; }\n\n[aria-required='true']:before {\n content: '*';\n color: #b00;\n padding-right: 5px; }\n\n.form-item > .form-item {\n margin-bottom: 0; }\n\n.form-item--checkboxes,\n.form-item--checkbox__item {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.form-item--radios,\n.form-item--radio__item {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.form-item__dropdown {\n border: 1px solid #ccc;\n background-color: #fff;\n display: block;\n position: relative; }\n .form-item__dropdown::after {\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 9px solid #666;\n content: ' ';\n position: absolute;\n top: 41%;\n right: 1em;\n z-index: 2;\n /* These hacks make the select behind the arrow clickable in some browsers */\n pointer-events: none;\n display: none; }\n .form-item__dropdown:hover {\n border-color: #999; }\n .form-item__dropdown:hover::after {\n border-top: 9px solid #444446; }\n\n.form-item__select {\n border: 1px solid #eaeaea;\n font-size: 0.875rem;\n margin: 0;\n outline: none;\n padding: 0.63em 0.8em;\n width: 100%; }\n .form-item__select :focus {\n border-color: #1c7c89;\n border-radius: 0;\n border-style: dotted;\n border-width: 1px; }\n\n@supports (-webkit-appearance: none) or (appearance: none) or ((-moz-appearance: none) and (mask-type: alpha)) {\n /* Show custom arrow */\n .form-item__dropdown::after {\n display: block; }\n /* Remove select styling */\n .form-item__select {\n padding-right: 2em;\n /* Match-01 */\n /* inside @supports so that iOS <= 8 display the native arrow */\n background: none;\n /* Match-04 */\n /* inside @supports so that Android <= 4.3 display the native arrow */\n border: 1px solid transparent;\n /* Match-05 */\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .form-item__select:focus {\n border-color: #1c7c89;\n border-radius: 0;\n border-style: dotted;\n border-width: 2px; } }\n\n.form-item__textarea {\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 0.9em; }\n .form-item__textarea:focus {\n border: 2px solid #666;\n outline: none; }\n\n/* Styling for the text areas */\n.form-item__textfield {\n border: 1px solid #ccc;\n padding: 0.625em 1em;\n margin-bottom: 1em;\n font-size: 0.875rem;\n line-height: 1.5;\n width: 100%; }\n .form-item__textfield:focus {\n border: 2px solid #666;\n outline: none; }\n .form-item__textfield.has-placeholder:not(:placeholder-shown):invalid {\n border: 2px solid #b00; }\n .form-item__textfield.has-placeholder:not(:placeholder-shown):valid {\n border: 2px solid #1c7c89; }\n .form-item__textfield::-webkit-input-placeholder {\n color: #999; }\n .form-item__textfield:-moz-placeholder {\n color: #999; }\n .form-item__textfield::-moz-placeholder {\n color: #666; }\n .form-item__textfield:-ms-input-placeholder {\n color: #666; }\n .form-item__textfield:-moz-ui-invalid {\n box-shadow: none; }\n\nimg,\npicture {\n display: block;\n height: auto;\n max-width: 100%; }\n\nimg {\n border: 1px solid #666; }\n\nfigure {\n margin: 0; }\n\n.figure__caption {\n font-style: italic; }\n\n.video {\n height: 0;\n overflow: hidden;\n padding-top: 35px;\n padding-bottom: 56.25%;\n position: relative; }\n .video--full {\n padding-bottom: 75%; }\n .video iframe {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%; }\n\n.address-block__wordmark {\n margin-bottom: 0.5em; }\n .address-block__wordmark img {\n width: 280px;\n border: none; }\n\n.address-block__address p {\n margin: 0;\n font-size: 0.875rem;\n line-height: 1.375;\n font-weight: 300; }\n\n.address-block__address .site-name {\n font-weight: 600;\n font-size: 1rem;\n margin-bottom: 2px; }\n\n.address-block__address .pipe {\n font-size: 120%;\n vertical-align: -2%; }\n\n.address-block__address span.mailto {\n display: none; }\n\n.callout {\n border: 1px solid #999;\n margin: 2em 0.625em;\n display: flex;\n align-items: stretch; }\n .callout .callout__icon {\n float: left;\n background: #999;\n color: white;\n text-align: center;\n display: flex;\n align-items: center; }\n .callout .svg-inline--fa {\n font-size: 1.5em;\n margin: 0 0.5em; }\n .callout .svg-inline--fa.fa-exclamation {\n font-size: 1.625em;\n margin: 0 0.6875em; }\n .callout .callout__body {\n margin: 1em 1.25em 1em 1.5em;\n line-height: 1.4; }\n\n.callout--caution {\n border: 1px solid #d65828;\n margin: 2em 0.625em;\n display: flex;\n align-items: stretch; }\n .callout--caution .callout__icon {\n float: left;\n background: #d65828;\n color: white;\n text-align: center;\n display: flex;\n align-items: center; }\n .callout--caution .svg-inline--fa {\n font-size: 1.5em;\n margin: 0 0.5em; }\n .callout--caution .svg-inline--fa.fa-exclamation {\n font-size: 1.625em;\n margin: 0 0.6875em; }\n .callout--caution .callout__body {\n margin: 1em 1.25em 1em 1.5em;\n line-height: 1.4; }\n\n.callout--ux-tip {\n border: 1px solid #851e5e;\n margin: 2em 0.625em;\n display: flex;\n align-items: stretch; }\n .callout--ux-tip .callout__icon {\n float: left;\n background: #851e5e;\n color: white;\n text-align: center;\n display: flex;\n align-items: center; }\n .callout--ux-tip .svg-inline--fa {\n font-size: 1.5em;\n margin: 0 0.5em; }\n .callout--ux-tip .svg-inline--fa.fa-exclamation {\n font-size: 1.625em;\n margin: 0 0.6875em; }\n .callout--ux-tip .callout__body {\n margin: 1em 1.25em 1em 1.5em;\n line-height: 1.4; }\n\n.callout p:last-child {\n margin-bottom: 0; }\n\n/* Card styling */\n.card {\n display: inline-block;\n margin-bottom: 1.5rem;\n overflow: hidden;\n background-color: #fff;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n width: 100%; }\n\n.card__inner {\n padding: 1.125rem 1.375rem 0.375rem; }\n\n.card__image {\n border: none;\n height: 200px;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n object-fit: cover; }\n\n.card__title {\n font-size: 1.625rem;\n font-weight: 600;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n margin-bottom: 0.5rem; }\n .card__title a, .card__title__link {\n color: inherit;\n text-decoration: none;\n font-weight: 600; }\n .card__title a:hover, .card__title__link:hover {\n color: #1c7c89; }\n .card__title a:focus, .card__title__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\n.card__content {\n font-weight: 400; }\n\n.card button {\n margin-top: 0.625rem; }\n\n@media print, screen and (min-width: 40em) {\n .card--small {\n max-width: 320px; }\n .card--medium {\n max-width: 440px; } }\n\n@media print, screen and (min-width: 60em) {\n .card--large {\n max-width: 640px; } }\n\ndetails,\n.details-item {\n margin-bottom: 3px;\n border: 1px solid #eaeaea; }\n details summary,\n .details-item summary {\n background: #eaeaea;\n padding: 0.675em 1em;\n font-size: 1.125rem;\n font-weight: 600; }\n details summary:hover, details summary[aria-expanded='true'],\n .details-item summary:hover,\n .details-item summary[aria-expanded='true'] {\n background: #dddddd; }\n details summary:focus,\n .details-item summary:focus {\n outline: 1px dotted #1c7c89; }\n details .details__inner,\n .details-item .details__inner {\n padding: 1em; }\n\n.details-item--plus summary {\n list-style: none;\n list-style-image: none; }\n .details-item--plus summary::-webkit-details-marker {\n display: none; }\n .details-item--plus summary .summary__inner {\n display: flex;\n align-items: center;\n position: relative; }\n .details-item--plus summary .summary__controls {\n position: absolute;\n right: 18px; }\n .details-item--plus summary .summary__controls .pm-control {\n position: relative;\n height: 24px;\n width: 2px; }\n .details-item--plus summary .summary__controls .pm-control.plus {\n background: #202024;\n -webkit-transition: all 0.8s ease;\n -moz-transition: all 0.8s ease;\n -o-transition: all 0.8s ease;\n transition: all 0.8s ease; }\n .details-item--plus summary .summary__controls .pm-control.minus {\n background: rgba(0, 0, 0, 0);\n -webkit-transition: all 0.4s ease;\n -moz-transition: all 0.4s ease;\n -o-transition: all 0.4s ease;\n transition: all 0.4s ease; }\n .details-item--plus summary .summary__controls .pm-control:after {\n background: #202024;\n content: '';\n position: absolute;\n height: 2px;\n width: 24px;\n left: -11px;\n top: 11px; }\n\n.summary__icon {\n display: inline-block;\n width: 36px;\n line-height: 1;\n margin-right: 16px;\n text-align: center; }\n .summary__icon .svg-inline--fa {\n font-size: 26px;\n color: #b00; }\n\ninput {\n margin-bottom: 5px !important; }\n\nlegend {\n font-weight: 600; }\n\n.label {\n background: none;\n color: inherit;\n padding: 0;\n font-size: inherit; }\n\n.form-item {\n max-width: none; }\n\n.form-fieldset {\n border: 0;\n margin: 2em 0 1em;\n padding: 1em 1.5em;\n background-color: #eaeaea; }\n .form-fieldset legend {\n text-transform: uppercase; }\n .form-fieldset .button {\n margin-top: 0.5em;\n margin-bottom: 0.5em; }\n\n.form-options-list, .form-item--checkboxes,\n.form-item--checkbox__item, .form-item--radios,\n.form-item--radio__item {\n line-height: 160%; }\n .form-options-list input, .form-item--checkboxes input, .form-item--checkbox__item input, .form-item--radios input, .form-item--radio__item input {\n margin: 0 4px 0 1px; }\n\n.sg-main .form-fieldset {\n max-width: 600px; }\n\n.login-box {\n background: #eaeaea;\n padding: 1em 1.25em 0.5em; }\n\n.login-box--osu {\n margin-bottom: 1.25em; }\n\n.login-box__header {\n font-size: 1.25rem;\n margin-bottom: 0.5em; }\n\n.login-box__header--drupal {\n display: inline; }\n\n.login-form {\n padding-top: 0.5em; }\n .login-form .button {\n margin-top: 0.5em;\n margin-bottom: 0; }\n\n.details__inner--drupal {\n background-color: #eaeaea; }\n\n#edit-simplesamlphp-auth-login-link {\n display: none; }\n\n.info-box {\n background-color: #eaeaea;\n color: #202024;\n margin-bottom: 1.5rem;\n padding: 1.125rem 1.375rem 0.375rem;\n width: 100%; }\n .info-box .info-box__title {\n font-size: 1.625rem;\n font-weight: 600;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n color: #202024;\n margin-bottom: 0.5rem; }\n .info-box .info-box__title a, .info-box .info-box__title__link {\n color: inherit;\n text-decoration: none;\n font-weight: 600; }\n .info-box .info-box__title a:hover, .info-box .info-box__title__link:hover {\n color: #1c7c89; }\n .info-box .info-box__title a:focus, .info-box .info-box__title__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\n.info-box--white {\n background-color: #fff;\n color: #202024;\n margin-bottom: 1.5rem;\n padding: 1.125rem 1.375rem 0.375rem;\n width: 100%;\n border: 1px solid #eaeaea; }\n .info-box--white .info-box__title {\n font-size: 1.625rem;\n font-weight: 600;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n color: #202024;\n margin-bottom: 0.5rem; }\n .info-box--white .info-box__title a, .info-box--white .info-box__title__link {\n color: inherit;\n text-decoration: none;\n font-weight: 600; }\n .info-box--white .info-box__title a:hover, .info-box--white .info-box__title__link:hover {\n color: #1c7c89; }\n .info-box--white .info-box__title a:focus, .info-box--white .info-box__title__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n\n@media print, screen and (min-width: 40em) {\n .info-box--small {\n max-width: 320px; }\n .info-box--medium {\n max-width: 440px; } }\n\n@media print, screen and (min-width: 60em) {\n .info-box--large {\n max-width: 640px; } }\n\n.breadcrumb {\n list-style: none;\n margin: 0;\n padding: 0;\n padding: 0.625rem 0 1.25rem; }\n\n.breadcrumb__item,\n.breadcrumb__link,\n.breadcrumb__link:link,\n.breadcrumb__link:visited,\n.breadcrumb__link:focus {\n color: #666;\n font-weight: 400;\n text-decoration: none; }\n\n.breadcrumb__link:hover {\n text-decoration: underline;\n color: #202024; }\n\n.breadcrumb__item {\n display: inline-block;\n font-size: 0.875rem;\n font-weight: 400; }\n .breadcrumb__item::after {\n content: '|';\n color: #b00;\n font-weight: 700;\n margin: 0 3px; }\n .breadcrumb__item:last-child {\n color: #202024; }\n .breadcrumb__item:last-child::after {\n content: none; }\n\n.breadcrumb_link:active {\n color: #b00; }\n\nnav.a11y-navbar {\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n /*\n\t\tReset potentially nested elements.\n\t*/\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n display: block;\n position: relative;\n width: 100%;\n overflow: visible; }\n nav.a11y-navbar div,\n nav.a11y-navbar span,\n nav.a11y-navbar ul,\n nav.a11y-navbar ol,\n nav.a11y-navbar li,\n nav.a11y-navbar a,\n nav.a11y-navbar p {\n border: 0;\n font-size: 100%;\n vertical-align: baseline; }\n nav.a11y-navbar ul,\n nav.a11y-navbar ol,\n nav.a11y-navbar li {\n list-style: none;\n margin: 0;\n padding: 0; }\n nav.a11y-navbar ul.a11y-navbar-menubar {\n background-color: #eaeaea;\n list-style-type: none; }\n nav.a11y-navbar ul.a11y-navbar-menubar li {\n list-style-type: none;\n position: relative; }\n nav.a11y-navbar ul.a11y-navbar-menubar li a[role='menuitem'] {\n color: #202024;\n text-decoration: none;\n background-color: #eaeaea;\n line-height: 2.25rem;\n padding: 0 1rem;\n display: block;\n height: 2.25rem;\n text-transform: uppercase;\n position: relative;\n z-index: 99;\n margin-bottom: 1px; }\n nav.a11y-navbar ul.a11y-navbar-menubar li a[role='menuitem']:focus, nav.a11y-navbar ul.a11y-navbar-menubar li a[role='menuitem']:hover {\n color: #eaeaea;\n background-color: #202024;\n outline-offset: -1px;\n outline-color: white;\n z-index: 999; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'] {\n opacity: 0; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-open {\n display: block;\n min-width: 10rem;\n width: 100%;\n position: absolute;\n opacity: 1;\n transition: opacity 0.4s linear;\n z-index: 9999; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-open li {\n display: block;\n width: 100%; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-open li a[aria-haspopup='true']::after {\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-bottom: 0.25rem solid transparent;\n border-left: 0.25rem solid #202024;\n position: absolute;\n right: 0.5rem;\n top: 0.75rem; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-open li a[aria-haspopup='true']:focus::after, nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-open li a[aria-haspopup='true']:hover::after {\n border-left: 0.25rem solid #eaeaea; }\n nav.a11y-navbar ul.a11y-navbar-menubar li ul[role='menu'].a11y-navbar-menu-closed {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li {\n display: inline-block; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem {\n border-bottom: none; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem[aria-haspopup='true'] {\n padding-right: 1.5rem; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem[aria-haspopup='true']::after {\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid #202024;\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 0.5rem;\n top: 1rem; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem[aria-haspopup='true']:focus::after, nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem[aria-haspopup='true']:hover::after {\n border-top: 0.25rem solid #eaeaea; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open {\n top: 2.325rem;\n left: 0;\n background: white; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li a[role='menuitem'] {\n background-color: #d1d1d1; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li a[role='menuitem']:focus, nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li a[role='menuitem']:hover {\n background-color: #202024; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li ul[role='menu'] {\n top: 0;\n left: 100%; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li ul[role='menu'] li a[role='menuitem'] {\n background-color: #b7b7b7; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li ul[role='menu'] li a[role='menuitem']:focus, nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open li ul[role='menu'] li a[role='menuitem']:hover {\n background-color: #202024; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical {\n width: 10rem; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical a[role='menuitem'][aria-haspopup='true']::after {\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-bottom: 0.25rem solid transparent;\n border-left: 0.25rem solid #202024;\n position: absolute;\n right: 0.25rem;\n top: 0.5rem; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li {\n border: 1px solid #666;\n border-bottom: none; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li:last-child {\n border-bottom: 1px solid #666; }\n nav.a11y-navbar ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'].a11y-navbar-menu-open {\n top: -1px;\n left: 100%; }\n nav.a11y-navbar.a11y-navbar-responsive div.a11y-navbar-instructions-show {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar {\n border-top: 1px solid white;\n background: white; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical {\n width: auto; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li {\n border: none;\n display: block; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'].a11y-navbar-menuitem, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem'].a11y-navbar-menuitem {\n color: #202024;\n background-color: #d8d8d8;\n border-right: none;\n position: relative;\n z-index: 99;\n height: 2.5rem;\n line-height: 2.5;\n margin-bottom: 1px; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem']:hover, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem']:hover {\n outline: 2px dotted #1c7c89;\n outline-offset: -2px;\n z-index: 999; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'][aria-haspopup='true'], nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem'][aria-haspopup='true'] {\n padding-right: 1.5rem; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'][aria-haspopup='true']::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem'][aria-haspopup='true']::after {\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 1.325rem;\n top: 1rem; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'][aria-haspopup='true']:focus::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li a[role='menuitem'][aria-haspopup='true']:hover::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem'][aria-haspopup='true']:focus::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li a[role='menuitem'][aria-haspopup='true']:hover::after {\n border-top: 0.25rem solid transparent; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'], nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] {\n opacity: 1;\n max-height: 0;\n overflow: hidden;\n position: static;\n width: 100%; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'].a11y-navbar-menu-open, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'].a11y-navbar-menu-open {\n max-height: 9999px;\n transition: max-height 1s ease-in; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem'], nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem'] {\n color: #202024;\n background-color: #c4c4c4;\n padding-left: 1.875rem;\n height: 2.5rem;\n line-height: 2.5;\n margin-bottom: 1px; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem']:hover, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem']:hover {\n background-color: #c4c4c4;\n outline: 2px dotted #1c7c89;\n outline-offset: -2px; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true'], nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true'] {\n padding-right: 1.5rem; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']::after {\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 1.325rem;\n top: 1rem; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']:focus::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']:hover::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']:focus::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li a[role='menuitem'][aria-haspopup='true']:hover::after {\n border-top: 0.25rem solid transparent; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li ul[role='menu'] li a[role='menuitem'], nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li ul[role='menu'] li a[role='menuitem'] {\n color: #080809;\n background-color: #aaaaaa;\n padding-left: 2.75rem; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li ul[role='menu'] li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li ul[role='menu'] li ul[role='menu'] li a[role='menuitem']:hover, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li ul[role='menu'] li a[role='menuitem']:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li ul[role='menu'] li ul[role='menu'] li a[role='menuitem']:hover {\n color: #080809;\n background-color: #aaaaaa; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle {\n position: absolute;\n right: 0.75rem;\n top: 0.1875rem;\n height: 2.125rem;\n width: 2.125rem;\n z-index: 9999;\n box-shadow: none;\n border: none;\n border-radius: 0;\n background-color: transparent;\n padding: 0; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle:focus, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle:focus {\n outline: 1px dotted #202024; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle span, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle span {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle::after {\n content: '';\n display: inline-block;\n border-right: 2px solid #202024;\n border-bottom: 2px solid #202024;\n width: 10px;\n height: 10px;\n background-color: transparent;\n position: relative; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle[aria-expanded='true']::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle[aria-expanded='true']::after {\n transform: rotate(225deg);\n top: 3px; }\n nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-horizontal li button.a11y-navbar-submenu-toggle[aria-expanded='false']::after, nav.a11y-navbar.a11y-navbar-responsive ul.a11y-navbar-menubar.a11y-navbar-orientation-vertical li button.a11y-navbar-submenu-toggle[aria-expanded='false']::after {\n transform: rotate(45deg);\n top: -2px; }\n nav.a11y-navbar.a11y-navbar-closed {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n nav.a11y-navbar div.a11y-navbar-instructions {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n\nbutton.a11y-navbar-toggle {\n padding: 0;\n border: none;\n font: inherit;\n color: inherit;\n background-color: transparent;\n cursor: pointer;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n background-color: #eaeaea;\n color: #202024;\n width: 100%;\n padding: 0.5rem 1.125rem;\n text-align: left;\n position: relative;\n text-transform: uppercase; }\n button.a11y-navbar-toggle:focus {\n outline: 2px dotted #1c7c89;\n outline-offset: -2px;\n z-index: 999; }\n button.a11y-navbar-toggle span {\n position: absolute;\n right: 1.125rem;\n top: 45%; }\n button.a11y-navbar-toggle span, button.a11y-navbar-toggle span::after, button.a11y-navbar-toggle span::before {\n cursor: pointer;\n border-radius: 1px;\n height: 3px;\n width: 20px;\n background: #202024;\n position: absolute;\n display: block;\n content: ''; }\n button.a11y-navbar-toggle span::before {\n top: -5px; }\n button.a11y-navbar-toggle span::after {\n bottom: -5px; }\n\n.pager {\n margin: 2em 0; }\n\n.pager__items {\n list-style: none;\n margin: 0;\n padding: 0;\n text-align: center; }\n\n.pager__item {\n display: inline-block;\n margin: 0 0.75em; }\n\n.pager__link,\n.pager__link:link,\n.pager__link:visited {\n border: 1px solid #b00;\n font-weight: 600;\n text-decoration: none;\n line-height: 1;\n padding: 8px;\n display: block;\n min-width: 36px; }\n .pager__link.is-active, .pager__link:hover,\n .pager__link:link.is-active,\n .pager__link:link:hover,\n .pager__link:visited.is-active,\n .pager__link:visited:hover {\n color: #fff;\n background: #b00; }\n .pager__link:focus,\n .pager__link:link:focus,\n .pager__link:visited:focus {\n outline: 2px dotted #202024;\n outline-offset: 0;\n border-color: rgba(0, 0, 0, 0); }\n\n.pager__link--prev svg {\n transform: rotate(180deg); }\n\n.social-media-links__list {\n list-style: none;\n padding: 0;\n margin: 0; }\n\n.status--status {\n background: #1c7c89;\n color: #fff;\n font-size: 1rem;\n font-weight: 600;\n display: block;\n margin-bottom: 2em;\n padding: 1.5em; }\n .status--status a {\n color: #ccc;\n font-weight: 600;\n text-decoration: underline; }\n .status--status a:focus, .status--status a:hover {\n color: #fff; }\n .status--status ul {\n padding: 0;\n margin: 0; }\n .status--status .icon {\n float: left;\n margin-right: 1.25em; }\n .status--status .svg-inline--fa {\n font-size: 2rem;\n margin-top: -0.1375em; }\n .status--status .placeholder {\n font-style: normal;\n font-weight: 700; }\n\n.status--warning {\n background: #c04f24;\n color: #fff;\n font-size: 1rem;\n font-weight: 600;\n display: block;\n margin-bottom: 2em;\n padding: 1.5em; }\n .status--warning a {\n color: #ccc;\n font-weight: 600;\n text-decoration: underline; }\n .status--warning a:focus, .status--warning a:hover {\n color: #fff; }\n .status--warning ul {\n padding: 0;\n margin: 0; }\n .status--warning .icon {\n float: left;\n margin-right: 1.25em; }\n .status--warning .svg-inline--fa {\n font-size: 2rem;\n margin-top: -0.1375em; }\n .status--warning .placeholder {\n font-style: normal;\n font-weight: 700; }\n\n.status--error {\n background: #851e5e;\n color: #fff;\n font-size: 1rem;\n font-weight: 600;\n display: block;\n margin-bottom: 2em;\n padding: 1.5em; }\n .status--error a {\n color: #ccc;\n font-weight: 600;\n text-decoration: underline; }\n .status--error a:focus, .status--error a:hover {\n color: #fff; }\n .status--error ul {\n padding: 0;\n margin: 0; }\n .status--error .icon {\n float: left;\n margin-right: 1.25em; }\n .status--error .svg-inline--fa {\n font-size: 2rem;\n margin-top: -0.1375em; }\n .status--error .placeholder {\n font-style: normal;\n font-weight: 700; }\n\na.tile {\n background-color: #eaeaea;\n color: #202024;\n margin-bottom: 1.5rem;\n padding: 1.125rem 1.375rem 0.375rem;\n width: 100%;\n text-align: center;\n display: block;\n text-decoration: none;\n color: #202024; }\n a.tile:hover {\n background: #e5e5e5; }\n a.tile .tile__icon {\n max-width: 6.25rem;\n height: auto;\n margin: 0.625rem auto 1.25rem; }\n a.tile .tile__title {\n color: #202024;\n margin-top: 3px; }\n a.tile .tile__title h2,\n a.tile .tile__title h3,\n a.tile .tile__title h4 {\n font-size: 1.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n margin-bottom: 0.5rem; }\n a.tile .tile__title h2 a, a.tile .tile__title h2__link,\n a.tile .tile__title h3 a,\n a.tile .tile__title h3__link,\n a.tile .tile__title h4 a,\n a.tile .tile__title h4__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n a.tile .tile__title h2 a:hover, a.tile .tile__title h2__link:hover,\n a.tile .tile__title h3 a:hover,\n a.tile .tile__title h3__link:hover,\n a.tile .tile__title h4 a:hover,\n a.tile .tile__title h4__link:hover {\n color: #1c7c89; }\n a.tile .tile__title h2 a:focus, a.tile .tile__title h2__link:focus,\n a.tile .tile__title h3 a:focus,\n a.tile .tile__title h3__link:focus,\n a.tile .tile__title h4 a:focus,\n a.tile .tile__title h4__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n a.tile .tile__body {\n font-family: \"Capita\", \"Times New Roman\", serif;\n font-style: italic;\n font-weight: 300; }\n\na.tile--white {\n background-color: #fff;\n color: #202024;\n margin-bottom: 1.5rem;\n padding: 1.125rem 1.375rem 0.375rem;\n width: 100%;\n text-align: center;\n display: block;\n text-decoration: none;\n color: #202024;\n border: 1px solid #eaeaea; }\n a.tile--white:hover {\n background: #fafafa; }\n a.tile--white .tile__icon {\n max-width: 6.25rem;\n height: auto;\n margin: 0.625rem auto 1.25rem; }\n a.tile--white .tile__title {\n color: #202024;\n margin-top: 3px; }\n a.tile--white .tile__title h2,\n a.tile--white .tile__title h3,\n a.tile--white .tile__title h4 {\n font-size: 1.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n margin-bottom: 0.5rem; }\n a.tile--white .tile__title h2 a, a.tile--white .tile__title h2__link,\n a.tile--white .tile__title h3 a,\n a.tile--white .tile__title h3__link,\n a.tile--white .tile__title h4 a,\n a.tile--white .tile__title h4__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n a.tile--white .tile__title h2 a:hover, a.tile--white .tile__title h2__link:hover,\n a.tile--white .tile__title h3 a:hover,\n a.tile--white .tile__title h3__link:hover,\n a.tile--white .tile__title h4 a:hover,\n a.tile--white .tile__title h4__link:hover {\n color: #1c7c89; }\n a.tile--white .tile__title h2 a:focus, a.tile--white .tile__title h2__link:focus,\n a.tile--white .tile__title h3 a:focus,\n a.tile--white .tile__title h3__link:focus,\n a.tile--white .tile__title h4 a:focus,\n a.tile--white .tile__title h4__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n a.tile--white .tile__body {\n font-family: \"Capita\", \"Times New Roman\", serif;\n font-style: italic;\n font-weight: 300; }\n\n.card-grid {\n margin-top: 1.25rem; }\n\n.info-box-grid {\n margin-top: 1.25rem; }\n\n.masthead::after {\n clear: both;\n content: '';\n display: table; }\n\n#site-name {\n display: table; }\n\n.site-name__inner {\n display: table-cell;\n vertical-align: middle; }\n\n.site-name__prefix {\n display: block; }\n\n#site-logo {\n display: none;\n float: right; }\n @media print, screen and (min-width: 40em) {\n #site-logo {\n display: block; } }\n\n.masthead--standard,\n.masthead--standard.masthead--dk-gray {\n background: #202024;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard #site-name,\n .masthead--standard.masthead--dk-gray #site-name {\n padding-right: 2em;\n height: 135px; } }\n .masthead--standard .site-name__prefix,\n .masthead--standard.masthead--dk-gray .site-name__prefix {\n font-size: 1.125rem;\n font-weight: 400;\n color: #fff;\n letter-spacing: 0.0125em;\n margin-left: 2px; }\n .masthead--standard .site-name__link,\n .masthead--standard.masthead--dk-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #fff;\n letter-spacing: 0.0125em; }\n .masthead--standard .site-name__link a, .masthead--standard .site-name__link__link,\n .masthead--standard.masthead--dk-gray .site-name__link a,\n .masthead--standard.masthead--dk-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--standard .site-name__link a:hover, .masthead--standard .site-name__link__link:hover,\n .masthead--standard.masthead--dk-gray .site-name__link a:hover,\n .masthead--standard.masthead--dk-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--standard .site-name__link a:focus, .masthead--standard .site-name__link__link:focus,\n .masthead--standard.masthead--dk-gray .site-name__link a:focus,\n .masthead--standard.masthead--dk-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--standard .site-name__link,\n .masthead--standard.masthead--dk-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--standard .site-name__link--long,\n .masthead--standard.masthead--dk-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--standard .site-logo__image,\n .masthead--standard.masthead--dk-gray .site-logo__image {\n width: auto;\n border: none;\n float: right; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard .site-logo__image,\n .masthead--standard.masthead--dk-gray .site-logo__image {\n height: 125px; } }\n @media print, screen and (min-width: 60em) {\n .masthead--standard .site-logo__image,\n .masthead--standard.masthead--dk-gray .site-logo__image {\n height: 135px; } }\n\n.masthead--standard.masthead--md-gray {\n background: #666;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--md-gray #site-name {\n padding-right: 2em;\n height: 135px; } }\n .masthead--standard.masthead--md-gray .site-name__prefix {\n font-size: 1.125rem;\n font-weight: 400;\n color: #fff;\n letter-spacing: 0.0125em;\n margin-left: 2px; }\n .masthead--standard.masthead--md-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #fff;\n letter-spacing: 0.0125em; }\n .masthead--standard.masthead--md-gray .site-name__link a, .masthead--standard.masthead--md-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--standard.masthead--md-gray .site-name__link a:hover, .masthead--standard.masthead--md-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--standard.masthead--md-gray .site-name__link a:focus, .masthead--standard.masthead--md-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--md-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--standard.masthead--md-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--standard.masthead--md-gray .site-logo__image {\n width: auto;\n border: none;\n float: right; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--md-gray .site-logo__image {\n height: 125px; } }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--md-gray .site-logo__image {\n height: 135px; } }\n\n.masthead--standard.masthead--lt-gray {\n background: #eaeaea;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--lt-gray #site-name {\n padding-right: 2em;\n height: 135px; } }\n .masthead--standard.masthead--lt-gray .site-name__prefix {\n font-size: 1.125rem;\n font-weight: 400;\n color: #303033;\n letter-spacing: 0.0125em;\n margin-left: 2px; }\n .masthead--standard.masthead--lt-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #303033;\n letter-spacing: 0.0125em; }\n .masthead--standard.masthead--lt-gray .site-name__link a, .masthead--standard.masthead--lt-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--standard.masthead--lt-gray .site-name__link a:hover, .masthead--standard.masthead--lt-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--standard.masthead--lt-gray .site-name__link a:focus, .masthead--standard.masthead--lt-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--lt-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--standard.masthead--lt-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--standard.masthead--lt-gray .site-logo__image {\n width: auto;\n border: none;\n float: right; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--lt-gray .site-logo__image {\n height: 125px; } }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--lt-gray .site-logo__image {\n height: 135px; } }\n\n.masthead--standard.masthead--white {\n background: #fff;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--white #site-name {\n padding-right: 2em;\n height: 135px; } }\n .masthead--standard.masthead--white .site-name__prefix {\n font-size: 1.125rem;\n font-weight: 400;\n color: #444446;\n letter-spacing: 0.0125em;\n margin-left: 2px; }\n .masthead--standard.masthead--white .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #444446;\n letter-spacing: 0.0125em; }\n .masthead--standard.masthead--white .site-name__link a, .masthead--standard.masthead--white .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--standard.masthead--white .site-name__link a:hover, .masthead--standard.masthead--white .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--standard.masthead--white .site-name__link a:focus, .masthead--standard.masthead--white .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--white .site-name__link {\n font-size: 3rem; } }\n .masthead--standard.masthead--white .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--standard.masthead--white .site-logo__image {\n width: auto;\n border: none;\n float: right; }\n @media print, screen and (min-width: 40em) {\n .masthead--standard.masthead--white .site-logo__image {\n height: 125px; } }\n @media print, screen and (min-width: 60em) {\n .masthead--standard.masthead--white .site-logo__image {\n height: 135px; } }\n\n.masthead--slim,\n.masthead--slim.masthead--dk-gray {\n background: #202024; }\n .masthead--slim #site-name,\n .masthead--slim.masthead--dk-gray #site-name {\n min-height: 90px;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--slim #site-name,\n .masthead--slim.masthead--dk-gray #site-name {\n padding-right: 2em;\n height: 120px; } }\n .masthead--slim .site-name__prefix,\n .masthead--slim.masthead--dk-gray .site-name__prefix {\n font-size: 1rem;\n font-weight: 300;\n color: #fff;\n margin-bottom: -3px;\n margin-left: 2px; }\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--dk-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #fff;\n letter-spacing: 0.0125em; }\n .masthead--slim .site-name__link a, .masthead--slim .site-name__link__link,\n .masthead--slim.masthead--dk-gray .site-name__link a,\n .masthead--slim.masthead--dk-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--slim .site-name__link a:hover, .masthead--slim .site-name__link__link:hover,\n .masthead--slim.masthead--dk-gray .site-name__link a:hover,\n .masthead--slim.masthead--dk-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--slim .site-name__link a:focus, .masthead--slim .site-name__link__link:focus,\n .masthead--slim.masthead--dk-gray .site-name__link a:focus,\n .masthead--slim.masthead--dk-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--dk-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--slim .site-name__link--long,\n .masthead--slim.masthead--dk-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--slim .site-logo__image,\n .masthead--slim.masthead--dk-gray .site-logo__image {\n height: 90px;\n width: auto;\n border: none;\n box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5);\n float: right; }\n\n.masthead--slim,\n.masthead--slim.masthead--md-gray {\n background: #666; }\n .masthead--slim #site-name,\n .masthead--slim.masthead--md-gray #site-name {\n min-height: 90px;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--slim #site-name,\n .masthead--slim.masthead--md-gray #site-name {\n padding-right: 2em;\n height: 120px; } }\n .masthead--slim .site-name__prefix,\n .masthead--slim.masthead--md-gray .site-name__prefix {\n font-size: 1rem;\n font-weight: 300;\n color: #fff;\n margin-bottom: -3px;\n margin-left: 2px; }\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--md-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #fff;\n letter-spacing: 0.0125em; }\n .masthead--slim .site-name__link a, .masthead--slim .site-name__link__link,\n .masthead--slim.masthead--md-gray .site-name__link a,\n .masthead--slim.masthead--md-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--slim .site-name__link a:hover, .masthead--slim .site-name__link__link:hover,\n .masthead--slim.masthead--md-gray .site-name__link a:hover,\n .masthead--slim.masthead--md-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--slim .site-name__link a:focus, .masthead--slim .site-name__link__link:focus,\n .masthead--slim.masthead--md-gray .site-name__link a:focus,\n .masthead--slim.masthead--md-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--md-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--slim .site-name__link--long,\n .masthead--slim.masthead--md-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--slim .site-logo__image,\n .masthead--slim.masthead--md-gray .site-logo__image {\n height: 90px;\n width: auto;\n border: none;\n box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5);\n float: right; }\n\n.masthead--slim,\n.masthead--slim.masthead--lt-gray {\n background: #eaeaea; }\n .masthead--slim #site-name,\n .masthead--slim.masthead--lt-gray #site-name {\n min-height: 90px;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--slim #site-name,\n .masthead--slim.masthead--lt-gray #site-name {\n padding-right: 2em;\n height: 120px; } }\n .masthead--slim .site-name__prefix,\n .masthead--slim.masthead--lt-gray .site-name__prefix {\n font-size: 1rem;\n font-weight: 300;\n color: #303033;\n margin-bottom: -3px;\n margin-left: 2px; }\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--lt-gray .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #303033;\n letter-spacing: 0.0125em; }\n .masthead--slim .site-name__link a, .masthead--slim .site-name__link__link,\n .masthead--slim.masthead--lt-gray .site-name__link a,\n .masthead--slim.masthead--lt-gray .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--slim .site-name__link a:hover, .masthead--slim .site-name__link__link:hover,\n .masthead--slim.masthead--lt-gray .site-name__link a:hover,\n .masthead--slim.masthead--lt-gray .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--slim .site-name__link a:focus, .masthead--slim .site-name__link__link:focus,\n .masthead--slim.masthead--lt-gray .site-name__link a:focus,\n .masthead--slim.masthead--lt-gray .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--lt-gray .site-name__link {\n font-size: 3rem; } }\n .masthead--slim .site-name__link--long,\n .masthead--slim.masthead--lt-gray .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--slim .site-logo__image,\n .masthead--slim.masthead--lt-gray .site-logo__image {\n height: 90px;\n width: auto;\n border: none;\n box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5);\n float: right; }\n\n.masthead--slim,\n.masthead--slim.masthead--white {\n background: #fff; }\n .masthead--slim #site-name,\n .masthead--slim.masthead--white #site-name {\n min-height: 90px;\n padding: 0.75em 0; }\n @media print, screen and (min-width: 40em) {\n .masthead--slim #site-name,\n .masthead--slim.masthead--white #site-name {\n padding-right: 2em;\n height: 120px; } }\n .masthead--slim .site-name__prefix,\n .masthead--slim.masthead--white .site-name__prefix {\n font-size: 1rem;\n font-weight: 300;\n color: #444446;\n margin-bottom: -3px;\n margin-left: 2px; }\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--white .site-name__link {\n font-size: 2.625rem;\n font-weight: 700;\n color: #202024;\n font-family: \"proximanova\", \"HelveticaNeue\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 1.2;\n line-height: 105%;\n text-decoration: none;\n color: #444446;\n letter-spacing: 0.0125em; }\n .masthead--slim .site-name__link a, .masthead--slim .site-name__link__link,\n .masthead--slim.masthead--white .site-name__link a,\n .masthead--slim.masthead--white .site-name__link__link {\n color: inherit;\n text-decoration: none;\n font-weight: 700; }\n .masthead--slim .site-name__link a:hover, .masthead--slim .site-name__link__link:hover,\n .masthead--slim.masthead--white .site-name__link a:hover,\n .masthead--slim.masthead--white .site-name__link__link:hover {\n color: #1c7c89; }\n .masthead--slim .site-name__link a:focus, .masthead--slim .site-name__link__link:focus,\n .masthead--slim.masthead--white .site-name__link a:focus,\n .masthead--slim.masthead--white .site-name__link__link:focus {\n outline: 1px dotted #1c7c89;\n outline-offset: 2px; }\n @media print, screen and (min-width: 60em) {\n .masthead--slim .site-name__link,\n .masthead--slim.masthead--white .site-name__link {\n font-size: 3rem; } }\n .masthead--slim .site-name__link--long,\n .masthead--slim.masthead--white .site-name__link--long {\n font-size: 1.875rem; }\n .masthead--slim .site-logo__image,\n .masthead--slim.masthead--white .site-logo__image {\n height: 90px;\n width: auto;\n border: none;\n box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5);\n float: right; }\n\n#osu_navbar,\n#osu_navbar.light {\n background: #eaeaea;\n color: #303033;\n border-bottom: 5px solid #b00;\n background: linear-gradient(to bottom, #e3e3e3 0, #b9b9ba 100%); }\n #osu_navbar::after,\n #osu_navbar.light::after {\n clear: both;\n content: '';\n display: table; }\n #osu_navbar p,\n #osu_navbar.light p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0;\n padding: 0; }\n #osu_navbar .univ_info,\n #osu_navbar.light .univ_info {\n float: left;\n padding: 0.875em 0 0.9em; }\n #osu_navbar .univ_name a,\n #osu_navbar.light .univ_name a {\n height: 14px;\n width: 80px;\n margin-left: 0;\n display: block;\n text-indent: -9999px;\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/osu_name.png) 0 0 no-repeat; }\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n #osu_navbar .univ_name a,\n #osu_navbar.light .univ_name a {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/osu_name@2x.png) 0 0 no-repeat;\n background-size: contain; } }\n #osu_navbar .univ_links,\n #osu_navbar.light .univ_links {\n float: right;\n clear: none;\n padding: 0.875em 0 0; }\n #osu_navbar .univ_links .links,\n #osu_navbar.light .univ_links .links {\n float: left; }\n #osu_navbar .univ_links .links ul,\n #osu_navbar.light .univ_links .links ul {\n margin: 0;\n margin-top: -2px; }\n #osu_navbar .univ_links .links ul li,\n #osu_navbar.light .univ_links .links ul li {\n font-size: 0.84375em;\n list-style: none;\n float: left;\n margin-right: 0.5em; }\n @media print, screen and (min-width: 60em) {\n #osu_navbar .univ_links .links ul li,\n #osu_navbar.light .univ_links .links ul li {\n margin-right: 1.2em; } }\n #osu_navbar .univ_links .links ul li:last-child,\n #osu_navbar.light .univ_links .links ul li:last-child {\n margin-right: 0; }\n #osu_navbar .univ_links .links ul li a,\n #osu_navbar.light .univ_links .links ul li a {\n height: 23px;\n width: 23px;\n display: block;\n overflow: hidden;\n text-indent: -999px;\n background: 0 0 no-repeat;\n color: #303033;\n text-decoration: none; }\n @media print, screen and (min-width: 60em) {\n #osu_navbar .univ_links .links ul li a,\n #osu_navbar.light .univ_links .links ul li a {\n text-indent: 0;\n width: auto;\n background: none !important; }\n #osu_navbar .univ_links .links ul li a:hover,\n #osu_navbar.light .univ_links .links ul li a:hover {\n text-decoration: underline; } }\n #osu_navbar .univ_links .links ul li a.help,\n #osu_navbar.light .univ_links .links ul li a.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-help.png); }\n #osu_navbar .univ_links .links ul li a.buckeyelink,\n #osu_navbar.light .univ_links .links ul li a.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-buckeyelink.png); }\n #osu_navbar .univ_links .links ul li a.map,\n #osu_navbar.light .univ_links .links ul li a.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-map.png); }\n #osu_navbar .univ_links .links ul li a.findpeople,\n #osu_navbar.light .univ_links .links ul li a.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-findpeople.png); }\n #osu_navbar .univ_links .links ul li a.webmail,\n #osu_navbar.light .univ_links .links ul li a.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-webmail.png); }\n #osu_navbar .univ_links .links ul li a.search,\n #osu_navbar.light .univ_links .links ul li a.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images//resp-search.png); }\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n #osu_navbar .univ_links .links ul li a,\n #osu_navbar.light .univ_links .links ul li a {\n -webkit-background-size: 23px !important;\n -moz-background-size: 23px !important;\n background-size: 23px !important; }\n #osu_navbar .univ_links .links ul li a.help,\n #osu_navbar.light .univ_links .links ul li a.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-help@2x.png); }\n #osu_navbar .univ_links .links ul li a.buckeyelink,\n #osu_navbar.light .univ_links .links ul li a.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-buckeyelink@2x.png); }\n #osu_navbar .univ_links .links ul li a.map,\n #osu_navbar.light .univ_links .links ul li a.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-map@2x.png); }\n #osu_navbar .univ_links .links ul li a.findpeople,\n #osu_navbar.light .univ_links .links ul li a.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-findpeople@2x.png); }\n #osu_navbar .univ_links .links ul li a.webmail,\n #osu_navbar.light .univ_links .links ul li a.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-webmail@2x.png); }\n #osu_navbar .univ_links .links ul li a.search,\n #osu_navbar.light .univ_links .links ul li a.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/resp-search@2x.png); } }\n\n#osu_navbar.dark {\n background: #303033;\n color: #fff;\n border-bottom: 5px solid #b00; }\n #osu_navbar.dark::after {\n clear: both;\n content: '';\n display: table; }\n #osu_navbar.dark p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0;\n padding: 0; }\n #osu_navbar.dark .univ_info {\n float: left;\n padding: 0.875em 0 0.9em; }\n #osu_navbar.dark .univ_name a {\n height: 14px;\n width: 80px;\n margin-left: 0;\n display: block;\n text-indent: -9999px;\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/osu_name.png) 0 0 no-repeat; }\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n #osu_navbar.dark .univ_name a {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/osu_name@2x.png) 0 0 no-repeat;\n background-size: contain; } }\n #osu_navbar.dark .univ_links {\n float: right;\n clear: none;\n padding: 0.875em 0 0; }\n #osu_navbar.dark .univ_links .links {\n float: left; }\n #osu_navbar.dark .univ_links .links ul {\n margin: 0;\n margin-top: -2px; }\n #osu_navbar.dark .univ_links .links ul li {\n font-size: 0.84375em;\n list-style: none;\n float: left;\n margin-right: 0.5em; }\n @media print, screen and (min-width: 60em) {\n #osu_navbar.dark .univ_links .links ul li {\n margin-right: 1.2em; } }\n #osu_navbar.dark .univ_links .links ul li:last-child {\n margin-right: 0; }\n #osu_navbar.dark .univ_links .links ul li a {\n height: 23px;\n width: 23px;\n display: block;\n overflow: hidden;\n text-indent: -999px;\n background: 0 0 no-repeat;\n color: #fff;\n text-decoration: none; }\n @media print, screen and (min-width: 60em) {\n #osu_navbar.dark .univ_links .links ul li a {\n text-indent: 0;\n width: auto;\n background: none !important; }\n #osu_navbar.dark .univ_links .links ul li a:hover {\n text-decoration: underline; } }\n #osu_navbar.dark .univ_links .links ul li a.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-help.png); }\n #osu_navbar.dark .univ_links .links ul li a.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-buckeyelink.png); }\n #osu_navbar.dark .univ_links .links ul li a.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-map.png); }\n #osu_navbar.dark .univ_links .links ul li a.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-findpeople.png); }\n #osu_navbar.dark .univ_links .links ul li a.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-webmail.png); }\n #osu_navbar.dark .univ_links .links ul li a.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white//resp-search.png); }\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n #osu_navbar.dark .univ_links .links ul li a {\n -webkit-background-size: 23px !important;\n -moz-background-size: 23px !important;\n background-size: 23px !important; }\n #osu_navbar.dark .univ_links .links ul li a.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-help@2x.png); }\n #osu_navbar.dark .univ_links .links ul li a.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-buckeyelink@2x.png); }\n #osu_navbar.dark .univ_links .links ul li a.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-map@2x.png); }\n #osu_navbar.dark .univ_links .links ul li a.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-findpeople@2x.png); }\n #osu_navbar.dark .univ_links .links ul li a.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-webmail@2x.png); }\n #osu_navbar.dark .univ_links .links ul li a.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar/images/white/resp-search@2x.png); } }\n\n.site-footer {\n padding: 1.5em 0; }\n\n.site-footer__social-media {\n margin-bottom: 1.75em; }\n\n.site-footer__address-block {\n margin-bottom: 1.5em; }\n\n@media print, screen and (min-width: 60em) {\n .site-footer__social-media {\n float: right; } }\n\n.footer-text, .site-footer__ada-statement,\n.site-footer__footer-text {\n line-height: 125%;\n font-size: 0.875rem; }\n\n.site-footer__login-link {\n margin-top: 2em; }\n .site-footer__login-link a {\n text-transform: uppercase;\n font-size: 0.75rem;\n text-decoration: none; }\n .site-footer__login-link a:hover {\n text-decoration: underline; }\n\n.site-footer,\n.site-footer--dk-gray {\n background: #202024;\n color: #fff; }\n .site-footer a,\n .site-footer--dk-gray a {\n color: #fff; }\n .site-footer a:hover,\n .site-footer--dk-gray a:hover {\n color: #ccc; }\n .site-footer .pipe,\n .site-footer--dk-gray .pipe {\n color: #ccc; }\n .site-footer .social-media__item a,\n .site-footer--dk-gray .social-media__item a {\n color: white; }\n .site-footer .social-media__item a:focus,\n .site-footer--dk-gray .social-media__item a:focus {\n outline: 2px dotted #fff; }\n\n.site-footer--md-gray {\n background: #666;\n color: #fff; }\n .site-footer--md-gray a {\n color: #fff; }\n .site-footer--md-gray a:hover {\n color: #eaeaea; }\n .site-footer--md-gray .pipe {\n color: #eaeaea; }\n .site-footer--md-gray .social-media__item a {\n color: white; }\n .site-footer--md-gray .social-media__item a {\n border: 1px solid #ccc; }\n\n.site-footer--lt-gray {\n background: #eaeaea;\n color: #303033; }\n .site-footer--lt-gray a {\n color: #303033; }\n .site-footer--lt-gray a:hover {\n color: #b00; }\n .site-footer--lt-gray .pipe {\n color: #b00; }\n .site-footer--lt-gray .social-media__item a {\n color: white; }\n\n.site-footer--white {\n background: #fff;\n color: #444446; }\n .site-footer--white a {\n color: #444446; }\n .site-footer--white a:hover {\n color: #b00; }\n .site-footer--white .pipe {\n color: #b00; }\n .site-footer--white .social-media__item a {\n color: white; }\n\n.tile-grid {\n margin-top: 1.25rem; }\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable no-color-literals, no-qualifying-elements\n\n////\n/// @group global\n////\n\n@import 'util/util';\n\n/// Font size attribute applied to `<html>` and `<body>`. We use 100% by default so the value is inherited from the user's browser settings.\n/// @type Number\n$global-font-size: 100% !default;\n\n/// Global width of your site. Used by the grid to determine row width.\n/// @type Number\n$global-width: rem-calc(1200) !default;\n\n/// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px\n/// @type Number\n$global-lineheight: 1.5 !default;\n\n/// Colors used for buttons, callouts, links, etc. There must always be a color called `primary`.\n/// @type Map\n$foundation-palette: (\n primary: #1779ba,\n secondary: #767676,\n success: #3adb76,\n warning: #ffae00,\n alert: #cc4b37,\n) !default;\n\n/// Color used for light gray UI items.\n/// @type Color\n$light-gray: #e6e6e6 !default;\n\n/// Color used for medium gray UI items.\n/// @type Color\n$medium-gray: #cacaca !default;\n\n/// Color used for dark gray UI items.\n/// @type Color\n$dark-gray: #8a8a8a !default;\n\n/// Color used for black ui items.\n/// @type Color\n$black: #0a0a0a !default;\n\n/// Color used for white ui items.\n/// @type Color\n$white: #fefefe !default;\n\n/// Background color of the body.\n/// @type Color\n$body-background: $white !default;\n\n/// Text color of the body.\n/// @type Color\n$body-font-color: $black !default;\n\n/// Font stack of the body.\n/// @type List\n$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;\n\n/// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.\n/// @type Boolean\n$body-antialiased: true !default;\n\n/// Global value used for margin on components.\n/// @type Number\n$global-margin: 1rem !default;\n\n/// Global value used for padding on components.\n/// @type Number\n$global-padding: 1rem !default;\n\n/// Global value used for positioning on components.\n/// @type Number\n$global-position: 1rem !default;\n\n/// Global font weight used for normal type.\n/// @type Keyword | Number\n$global-weight-normal: normal !default;\n\n/// Global font weight used for bold type.\n/// @type Keyword | Number\n$global-weight-bold: bold !default;\n\n/// Global value used for all elements that have a border radius.\n/// @type Number\n$global-radius: 0 !default;\n\n/// Global value used for all menu styles. Can be overwritten at individual menu component level.\n/// @type Number\n$global-menu-padding: 0.7rem 1rem !default;\n\n/// Global value used for all menu styles. Nested margin for submenu.\n$global-menu-nested-margin: 1rem !default;\n\n/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.\n/// @type Keyword\n$global-text-direction: ltr !default;\n\n/// Enables flexbox for components that support it.\n/// @type Boolean\n$global-flexbox: true !default;\n\n/// Enabled responsive breakpoints for prototypes if applicable\n/// @type Boolean\n$global-prototype-breakpoints: false !default;\n\n/// Button cursor's value, `auto` by default\n/// @type Keyword\n$global-button-cursor: auto !default;\n\n@if not map-has-key($foundation-palette, primary) {\n @error 'In $foundation-palette, you must have a color named \"primary\".';\n}\n\n// Internal variables used for text direction\n$global-left: if($global-text-direction == rtl, right, left);\n$global-right: if($global-text-direction == rtl, left, right);\n\n// Internal variable that contains the flex justifying options\n$-zf-flex-justify: -zf-flex-justify($global-text-direction);\n\n/// Global tolerance for color pick contrast.\n/// @type Number\n$global-color-pick-contrast-tolerance: 0 !default;\n\n// Internal variables used for colors\n@include add-foundation-colors;\n\n@mixin foundation-global-styles {\n @include foundation-normalize;\n\n // These styles are applied to a <meta> tag, which is read by the Foundation JavaScript\n .foundation-mq {\n font-family: '#{-zf-bp-serialize($breakpoints)}';\n }\n\n html {\n box-sizing: border-box;\n font-size: $global-font-size;\n }\n\n // Set box-sizing globally to handle padding and border widths\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n\n // Default body styles\n body {\n margin: 0;\n padding: 0;\n\n background: $body-background;\n\n font-family: $body-font-family;\n font-weight: $global-weight-normal;\n line-height: $global-lineheight;\n color: $body-font-color;\n\n @if ($body-antialiased) {\n -webkit-font-smoothing: antialiased; // sass-lint:disable-line no-vendor-prefixes\n -moz-osx-font-smoothing: grayscale; // sass-lint:disable-line no-vendor-prefixes\n }\n }\n\n img {\n // Get rid of gap under images by making them display: inline-block; by default\n display: inline-block;\n vertical-align: middle;\n\n // Grid defaults to get images and embeds to work properly\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic;\n }\n\n // Make sure textarea takes on height automatically\n textarea {\n height: auto;\n min-height: 50px;\n border-radius: $global-radius;\n }\n\n // Make select elements are 100% width by default\n select {\n box-sizing: border-box;\n width: 100%;\n border-radius: $global-radius;\n }\n\n // Styles Google Maps and MapQuest embeds properly\n // sass-lint:disable-line no-ids\n .map_canvas,\n .mqa-display {\n img,\n embed,\n object {\n max-width: none !important;\n }\n }\n\n // Reset <button> styles created by most browsers\n button {\n @include disable-mouse-outline;\n padding: 0;\n appearance: none;\n border: 0;\n border-radius: $global-radius;\n background: transparent;\n line-height: 1;\n cursor: $global-button-cursor;\n }\n\n // Prevent text overflow on pre\n pre {\n overflow: auto;\n }\n\n // Make reset inherit font-family instead of settings sans-serif\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n }\n\n // Internal classes to show/hide elements in JavaScript\n .is-visible {\n display: block !important;\n }\n\n .is-hidden {\n display: none !important;\n }\n}\n","$clear: rgba(0, 0, 0, 0);\n$white: #fff;\n$near-white: #f7f7f7;\n$gray-lightest: #eaeaea;\n$gray-lighter: #ccc;\n$gray-light: #999;\n$gray: #666;\n$gray-dark: #444446;\n$gray-darker: #303033;\n$gray-darkest: #202024;\n$black: #000;\n\n//colors\n$red: #b00;\n$red-dark: #830000;\n\n$orange: #d65828;\n$orange-dark: #c04f24;\n\n$green: #909738;\n$green-dark: #73792d;\n$teal: #1c7c89;\n\n$purple: #5d3f82;\n$blue-dark: #476c97;\n$violet: #851e5e;\n","$proxima: 'proximanova', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif;\n$capita: 'Capita', 'Times New Roman', serif;\n\n// Fonts\n$font-body: $proxima;\n$font-heading: $proxima;\n\n$font: $proxima;\n$font-alt: $capita;\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Creates an inner box-shadow for only one side\n///\n/// @param {Keyword} $side - Side the shadow is supposed to appear. Can be `top`, `left`, `right` or `bottom`.\n/// @param {Number} $size - Width for the target side.\n/// @param {Color} $color - Color of the shadow.\n@mixin inner-side-shadow(\n $side: bottom,\n $size: 20px,\n $color: rgba($black, 0.25)\n) {\n\n $helper: round($size * 0.65);\n\n @if ($side == top) {\n box-shadow: inset 0 $helper $size (-1)*$helper $color;\n } @else if ($side == left) {\n box-shadow: inset $helper 0 $size (-1)*$helper $color;\n } @else if ($side == right) {\n box-shadow: inset (-1)*$helper 0 $size (-1)*$helper $color;\n } @else if ($side == bottom) {\n box-shadow: inset 0 (-1)*$helper $size (-1)*$helper $color;\n }\n}\n\n/// Creates a CSS triangle, which can be used for dropdown arrows, dropdown pips, and more. Use this mixin inside a `&::before` or `&::after` selector, to attach the triangle to an existing element.\n///\n/// @param {Number} $triangle-size - Width of the triangle.\n/// @param {Color} $triangle-color - Color of the triangle.\n/// @param {Keyword} $triangle-direction - Direction the triangle points. Can be `up`, `right`, `down`, or `left`.\n@mixin css-triangle(\n $triangle-size,\n $triangle-color,\n $triangle-direction\n) {\n display: block;\n width: 0;\n height: 0;\n\n border: inset $triangle-size;\n\n content: '';\n\n @if ($triangle-direction == down) {\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: $triangle-color transparent transparent;\n }\n @if ($triangle-direction == up) {\n border-top-width: 0;\n border-bottom-style: solid;\n border-color: transparent transparent $triangle-color;\n }\n @if ($triangle-direction == right) {\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent $triangle-color;\n }\n @if ($triangle-direction == left) {\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent $triangle-color transparent transparent;\n }\n}\n\n/// Creates a menu icon with a set width, height, number of bars, and colors. The mixin uses the height of the icon and the weight of the bars to determine spacing. <div class=\"docs-example-burger\"></div>\n///\n/// @param {Color} $color [$black] - Color to use for the icon.\n/// @param {Color} $color-hover [$dark-gray] - Color to use when the icon is hovered over.\n/// @param {Number} $width [20px] - Width of the icon.\n/// @param {Number} $height [16px] - Height of the icon.\n/// @param {Number} $weight [2px] - Height of individual bars in the icon.\n/// @param {Number} $bars [3] - Number of bars in the icon.\n@mixin hamburger(\n $color: $black,\n $color-hover: $dark-gray,\n $width: 20px,\n $height: 16px,\n $weight: 2px,\n $bars: 3\n) {\n // box-shadow CSS output\n $shadow: ();\n $hover-shadow: ();\n\n // Spacing between bars is calculated based on the total height of the icon and the weight of each bar\n $spacing: ($height - ($weight * $bars)) / ($bars - 1);\n\n @if unit($spacing) == 'px' {\n $spacing: floor($spacing);\n }\n\n @for $i from 2 through $bars {\n $offset: ($weight + $spacing) * ($i - 1);\n $shadow: append($shadow, 0 $offset 0 $color, comma);\n }\n\n // Icon container\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: $width;\n height: $height;\n cursor: pointer;\n\n // Icon bars\n &::after {\n position: absolute;\n top: 0;\n left: 0;\n\n display: block;\n width: 100%;\n height: $weight;\n\n background: $color;\n box-shadow: $shadow;\n\n content: '';\n }\n\n // Hover state\n @if $color-hover {\n // Generate CSS\n @for $i from 2 through $bars {\n $offset: ($weight + $spacing) * ($i - 1);\n $hover-shadow: append($hover-shadow, 0 $offset 0 $color-hover, comma);\n }\n\n &:hover::after {\n background: $color-hover;\n box-shadow: $hover-shadow;\n }\n }\n}\n\n/// Adds a downward-facing triangle as a background image to an element. The image is formatted as an SVG, making it easy to change the color. Because Internet Explorer doesn't support encoded SVGs as background images, a PNG fallback is also included.\n/// There are two PNG fallbacks: a black triangle and a white triangle. The one used depends on the lightness of the input color.\n///\n/// @param {Color} $color [$black] - Color to use for the triangle.\n@mixin background-triangle($color: $black) {\n $rgb: 'rgb%28#{round(red($color))}, #{round(green($color))}, #{round(blue($color))}%29';\n\n background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>\");\n\n @media screen and (min-width:0\\0) {\n @if lightness($color) < 60% {\n // White triangle\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');\n }\n @else {\n // Black triangle\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==');\n }\n }\n}\n\n/// Applies the micro clearfix hack popularized by Nicolas Gallagher. Include this mixin on a container if its children are all floated, to give the container a proper height.\n/// The clearfix is augmented with specific styles to prevent borders in flexbox environments\n/// @link http://nicolasgallagher.com/micro-clearfix-hack/ Micro Clearfix Hack\n/// @link http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/ Flexbox fix\n@mixin clearfix {\n &::before,\n &::after {\n display: table;\n content: ' ';\n\n @if $global-flexbox {\n flex-basis: 0;\n order: 1;\n }\n }\n\n &::after {\n clear: both;\n }\n}\n\n/// Adds CSS for a \"quantity query\" selector that automatically sizes elements based on how many there are inside a container.\n/// @link http://alistapart.com/article/quantity-queries-for-css Quantity Queries for CSS\n///\n/// @param {Number} $max - Maximum number of items to detect. The higher this number is, the more CSS that's required to cover each number of items.\n/// @param {Keyword} $elem [li] - Tag to use for sibling selectors.\n@mixin auto-width($max, $elem: li) {\n @for $i from 2 through $max {\n &:nth-last-child(#{$i}):first-child,\n &:nth-last-child(#{$i}):first-child ~ #{$elem} {\n width: percentage(1 / $i);\n }\n }\n}\n\n/// Removes the focus ring around an element when a mouse input is detected.\n@mixin disable-mouse-outline {\n [data-whatinput='mouse'] & {\n outline: 0;\n }\n}\n\n/// Makes an element visually hidden, but still accessible to keyboards and assistive devices.\n/// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility Hiding Content for Accessibility\n/// @link http://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n@mixin element-invisible {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: nowrap;\n border: 0;\n}\n\n/// Reverses the CSS output created by the `element-invisible()` mixin.\n@mixin element-invisible-off {\n position: static !important;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n/// Vertically centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin vertical-center {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n/// Horizontally centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin horizontal-center {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n\n/// Absolutely centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin absolute-center {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/// Iterates through breakpoints defined in `$breakpoint-classes` and prints the CSS inside the mixin at each breakpoint's media query. Use this with the grid, or any other component that has responsive classes.\n///\n/// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.\n/// @param {Boolean} $auto-insert-breakpoints [true] - If `false`, the mixin will iterate over breakpoints without doing the media query itself. Useful for more complex media query generation as in the margin grid.\n@mixin -zf-each-breakpoint($small: true, $auto-insert-breakpoints: true) {\n $list: $breakpoint-classes;\n\n @if not $small {\n $list: sl-remove($list, $-zf-zero-breakpoint);\n }\n\n @each $name in $list {\n $old-zf-size: null;\n @if global-variable-exists(-zf-size) {\n $old-zf-size: $-zf-size;\n }\n $-zf-size: $name !global;\n\n @if $auto-insert-breakpoints {\n @include breakpoint($name) {\n @content;\n }\n }\n @else {\n @content;\n }\n\n $-zf-size: $old-zf-size !global;\n }\n}\n\n/// Generate the `@content` passed to the mixin with a value `$-zf-bp-value` related to a breakpoint, depending on the `$name` parameter:\n/// - For a single value, `$-zf-bp-value` is this value.\n/// - For a breakpoint name, `$-zf-bp-value` is the corresponding breakpoint value in `$map`.\n/// - For \"auto\", `$-zf-bp-value` is the corresponding breakpoint value in `$map` and is passed to `@content`, which is made responsive for each breakpoint of `$map`.\n/// @param {Number|Array|Keyword} $name [auto] - Single value, breakpoint name, or list of breakpoint names to use. \"auto\" by default.\n/// @param {Number|Map} $map - Map of breakpoints and values or single value to use.\n@mixin -zf-breakpoint-value(\n $name: auto,\n $map: null\n) {\n @if $name == auto and type-of($map) == 'map' {\n // \"auto\"\n @each $k, $v in $map {\n @include breakpoint($k) {\n @include -zf-breakpoint-value($v, $map) {\n @content;\n }\n }\n }\n }\n @else {\n // breakpoint name\n @if type-of($name) == 'string' {\n $name: -zf-get-bp-val($map, $name);\n }\n\n // breakpoint value\n $-zf-bp-value: $name !global;\n @content;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Font color of text inputs.\n/// @type Color\n$input-color: $black !default;\n\n/// Font color of placeholder text within text inputs.\n/// @type Color\n$input-placeholder-color: $medium-gray !default;\n\n/// Font family of text inputs.\n/// @type Font\n$input-font-family: inherit !default;\n\n/// Font size of text inputs.\n/// @type Number\n$input-font-size: rem-calc(16) !default;\n\n/// Font weight of text inputs.\n/// @type Keyword\n$input-font-weight: $global-weight-normal !default;\n\n/// Line height of text inputs.\n/// @type Keyword\n$input-line-height: $global-lineheight !default;\n\n/// Background color of text inputs.\n/// @type Color\n$input-background: $white !default;\n\n/// Background color of focused of text inputs.\n/// @type Color\n$input-background-focus: $white !default;\n\n/// Background color of disabled text inputs.\n/// @type Color\n$input-background-disabled: $light-gray !default;\n\n/// Border around text inputs.\n/// @type Border\n$input-border: 1px solid $medium-gray !default;\n\n/// Border around focused text inputs.\n/// @type Color\n$input-border-focus: 1px solid $dark-gray !default;\n\n/// Padding of text inputs.\n/// @type Color\n$input-padding: $form-spacing / 2 !default;\n\n/// Box shadow inside text inputs when not focused.\n/// @type Shadow\n$input-shadow: inset 0 1px 2px rgba($black, 0.1) !default;\n\n/// Box shadow outside text inputs when focused.\n/// @type Shadow\n$input-shadow-focus: 0 0 5px $medium-gray !default;\n\n/// Cursor to use when hovering over a disabled text input.\n/// @type Cursor\n$input-cursor-disabled: not-allowed !default;\n\n/// Properties to transition on text inputs.\n/// @type Transition\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out !default;\n\n/// Enables the up/down buttons that Chrome and Firefox add to `<input type='number'>` elements.\n/// @type Boolean\n$input-number-spinners: true !default;\n\n/// Radius for text inputs.\n/// @type Border\n$input-radius: $global-radius !default;\n\n/// Border radius for form buttons, defaulted to global-radius.\n/// @type Number\n$form-button-radius: $global-radius !default;\n\n@mixin form-element {\n $height: ($input-font-size * unitless-calc($input-line-height)) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: $height;\n margin: 0 0 $form-spacing;\n padding: $input-padding;\n\n border: $input-border;\n border-radius: $input-radius;\n background-color: $input-background;\n box-shadow: $input-shadow;\n\n font-family: $input-font-family;\n font-size: $input-font-size;\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n\n @if has-value($input-transition) {\n transition: $input-transition;\n }\n\n // Focus state\n &:focus {\n outline: none;\n border: $input-border-focus;\n background-color: $input-background-focus;\n box-shadow: $input-shadow-focus;\n\n @if has-value($input-transition) {\n transition: $input-transition;\n }\n }\n}\n\n@mixin foundation-form-text {\n // Text inputs\n #{text-inputs()},\n textarea {\n @include form-element;\n appearance: none;\n }\n\n // Text areas\n textarea {\n max-width: 100%;\n\n &[rows] {\n height: auto;\n }\n }\n\n input,\n textarea {\n // Disabled/readonly state\n &:disabled,\n &[readonly] {\n background-color: $input-background-disabled;\n cursor: $input-cursor-disabled;\n }\n }\n\n // Reset styles on button-like inputs\n [type='submit'],\n [type='button'] {\n appearance: none;\n border-radius: $form-button-radius;\n }\n\n // Reset Normalize setting content-box to search elements\n input[type='search'] { // sass-lint:disable-line no-qualifying-elements\n box-sizing: border-box;\n }\n\n // Number input styles\n [type='number'] {\n @if not $input-number-spinners {\n -moz-appearance: textfield; // sass-lint:disable-line no-vendor-prefixes\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none; // sass-lint:disable-line no-vendor-prefixes\n margin: 0;\n }\n }\n }\n\n // Placeholder text\n ::placeholder {\n color: $input-placeholder-color;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n$global-font-size: 100% !default;\n\n/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.\n///\n/// @param {Number} $num - Number to strip unit from.\n///\n/// @returns {Number} The same number, sans unit.\n@function strip-unit($num) {\n @return $num / ($num * 0 + 1);\n}\n\n/// Converts one or more pixel values into matching rem values.\n///\n/// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.\n/// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$global-font-size` variable as the base.\n///\n/// @returns {List} A list of converted values.\n@function rem-calc($values, $base: null) {\n $rem-values: ();\n $count: length($values);\n\n // If no base is defined, defer to the global font size\n @if $base == null {\n $base: $global-font-size;\n }\n\n // If the base font size is a %, then multiply it by 16px\n // This is because 100% font size = 16px in most all browsers\n @if unit($base) == '%' {\n $base: ($base / 100%) * 16px;\n }\n\n // Using rem as base allows correct scaling\n @if unit($base) == 'rem' {\n $base: strip-unit($base) * 16px;\n }\n\n @if $count == 1 {\n @return -zf-to-rem($values, $base);\n }\n\n @for $i from 1 through $count {\n $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));\n }\n\n @return $rem-values;\n}\n\n// Converts a unitless, pixel, or rem value to em, for use in breakpoints.\n@function -zf-bp-to-em($value) {\n // Pixel and unitless values are converted to rems\n @if unit($value) == 'px' or unitless($value) {\n $value: rem-calc($value, $base: 16px);\n }\n\n // Then the value is converted to ems\n @return strip-unit($value) * 1em;\n}\n\n/// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.\n/// @access private\n///\n/// @param {Number} $value - Pixel value to convert.\n/// @param {Number} $base [null] - Base for pixel conversion.\n///\n/// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.\n@function -zf-to-rem($value, $base: null) {\n // Check if the value is a number\n @if type-of($value) != 'number' {\n @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';\n @return $value;\n }\n\n // Transform em into rem if someone hands over 'em's\n @if unit($value) == 'em' {\n $value: strip-unit($value) * 1rem;\n }\n\n // Calculate rem if units for $value is not rem or em\n @if unit($value) != 'rem' {\n $value: strip-unit($value) / strip-unit($base) * 1rem;\n }\n\n // Turn 0rem into 0\n @if $value == 0rem {\n $value: 0;\n }\n\n @return $value;\n}\n\n/// Converts a pixel, percentage, rem or em value to a unitless value based on a given font size. Ideal for working out unitless line heights.\n///\n/// @param {Number} $value - Value to convert to a unitless line height\n/// @param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size\n///\n/// @return {Number} - Unitless number\n@function unitless-calc($value, $base: null) {\n\n // If no base is defined, defer to the global font size\n @if $base == null {\n $base: $global-font-size;\n }\n\n // First, lets convert our $base to pixels\n\n // If the base font size is a %, then multiply it by 16px\n @if unit($base) == '%' {\n $base: ($base / 100%) * 16px;\n }\n\n @if unit($base) == 'rem' {\n $base: strip-unit($base) * 16px;\n }\n\n @if unit($base) == 'em' {\n $base: strip-unit($base) * 16px;\n }\n\n // Now let's convert our value to pixels too\n @if unit($value) == '%' {\n $value: ($value / 100%) * $base;\n }\n\n @if unit($value) == 'rem' {\n $value: strip-unit($value) * $base;\n }\n\n @if unit($value) == 'em' {\n $value: strip-unit($value) * $base;\n }\n\n // 'px'\n @if unit($value) == 'px' {\n @return strip-unit($value) / strip-unit($base);\n }\n\n // assume that line-heights greater than 10 are meant to be absolute in 'px'\n @if unitless($value) and ($value > 10) {\n @return $value / strip-unit($base);\n }\n\n @return $value;\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n@mixin foundation-form-checkbox {\n [type='file'],\n [type='checkbox'],\n [type='radio'] {\n margin: 0 0 $form-spacing;\n }\n\n // Styles for input/label siblings\n [type='checkbox'] + label,\n [type='radio'] + label {\n display: inline-block;\n vertical-align: baseline;\n\n margin-#{$global-left}: $form-spacing * 0.5;\n margin-#{$global-right}: $form-spacing;\n margin-bottom: 0;\n\n &[for] {\n cursor: pointer;\n }\n }\n\n // Styles for inputs inside labels\n label > [type='checkbox'],\n label > [type='radio'] {\n margin-#{$global-right}: $form-spacing * 0.5;\n }\n\n // Normalize file input width\n [type='file'] {\n width: 100%;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color for form labels.\n/// @type Color\n$form-label-color: $black !default;\n\n/// Font size for form labels.\n/// @type Number\n$form-label-font-size: rem-calc(14) !default;\n\n/// Font weight for form labels.\n/// @type Keyword\n$form-label-font-weight: $global-weight-normal !default;\n\n/// Line height for form labels. The higher the number, the more space between the label and its input field.\n/// @type Number\n$form-label-line-height: 1.8 !default;\n\n@mixin form-label {\n display: block;\n margin: 0;\n\n font-size: $form-label-font-size;\n font-weight: $form-label-font-weight;\n line-height: $form-label-line-height;\n color: $form-label-color;\n}\n\n@mixin form-label-middle {\n $input-border-width: get-border-value($input-border, width);\n\n margin: 0 0 $form-spacing;\n padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;\n}\n\n@mixin foundation-form-label {\n label {\n @include form-label;\n\n &.middle {\n @include form-label-middle;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default color for help text.\n/// @type Color\n$helptext-color: $black !default;\n\n/// Default font size for help text.\n/// @type Number\n$helptext-font-size: rem-calc(13) !default;\n\n/// Default font style for help text.\n/// @type Keyword\n$helptext-font-style: italic !default;\n\n@mixin foundation-form-helptext {\n .help-text {\n $margin-top: ($form-spacing * 0.5) * -1;\n\n margin-top: $margin-top;\n font-size: $helptext-font-size;\n font-style: $helptext-font-style;\n color: $helptext-color;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color of labels prefixed to an input.\n/// @type Color\n$input-prefix-color: $black !default;\n\n/// Background color of labels prefixed to an input.\n/// @type Color\n$input-prefix-background: $light-gray !default;\n\n/// Border around labels prefixed to an input.\n/// @type Border\n$input-prefix-border: 1px solid $medium-gray !default;\n\n/// Left/right padding of an pre/postfixed input label\n$input-prefix-padding: 1rem !default;\n\n@mixin foundation-form-prepostfix {\n $height: ($input-font-size * $input-line-height) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n .input-group {\n display: if($global-flexbox, flex, table);\n width: 100%;\n margin-bottom: $form-spacing;\n\n @if $global-flexbox {\n align-items: stretch;\n }\n\n > :first-child {\n &, &.input-group-button > * {\n border-radius: if($global-text-direction == rtl, 0 $input-radius $input-radius 0, $input-radius 0 0 $input-radius);\n }\n }\n\n > :last-child {\n &, &.input-group-button > * {\n border-radius: if($global-text-direction == rtl, $input-radius 0 0 $input-radius, 0 $input-radius $input-radius 0);\n }\n }\n }\n\n %input-group-child {\n margin: 0;\n white-space: nowrap;\n\n @if not $global-flexbox {\n display: table-cell;\n vertical-align: middle;\n }\n }\n\n .input-group-label {\n @extend %input-group-child;\n padding: 0 $input-prefix-padding;\n border: $input-prefix-border;\n background: $input-prefix-background;\n\n color: $input-prefix-color;\n text-align: center;\n white-space: nowrap;\n\n @if $global-flexbox {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n }\n @else {\n width: 1%;\n height: 100%;\n }\n\n @if has-value($input-prefix-border) {\n &:first-child {\n border-#{$global-right}: 0;\n }\n\n &:last-child {\n border-#{$global-left}: 0;\n }\n }\n }\n\n .input-group-field {\n @extend %input-group-child;\n border-radius: 0;\n\n @if $global-flexbox {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n min-width: 0;\n }\n }\n\n .input-group-button {\n @extend %input-group-child;\n padding-top: 0;\n padding-bottom: 0;\n text-align: center;\n\n @if $global-flexbox {\n display: flex;\n flex: 0 0 auto;\n }\n @else {\n width: 1%;\n height: 100%;\n }\n\n a,\n input,\n button,\n label {\n @extend %input-group-child;\n\n @if $global-flexbox {\n align-self: stretch;\n height: auto;\n }\n @else {\n height: $height;\n }\n padding-top: 0;\n padding-bottom: 0;\n font-size: $input-font-size;\n }\n }\n\n // Specificity bump needed to prevent override by buttons\n @if not $global-flexbox {\n .input-group {\n .input-group-button {\n display: table-cell;\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default border around custom fieldsets.\n/// @type Border\n$fieldset-border: 1px solid $medium-gray !default;\n\n/// Default padding inside custom fieldsets.\n/// @type Number\n$fieldset-padding: rem-calc(20) !default;\n\n/// Default margin around custom fieldsets.\n/// @type Number\n$fieldset-margin: rem-calc(18 0) !default;\n\n/// Default padding between the legend text and fieldset border.\n/// @type Number\n$legend-padding: rem-calc(0 3) !default;\n\n@mixin fieldset {\n margin: $fieldset-margin;\n padding: $fieldset-padding;\n border: $fieldset-border;\n\n legend {\n // Covers up the fieldset's border to create artificial padding\n margin: 0;\n margin-#{$global-left}: rem-calc(-3);\n padding: $legend-padding;\n }\n}\n\n@mixin foundation-form-fieldset {\n fieldset {\n margin: 0;\n padding: 0;\n border: 0;\n }\n\n legend {\n max-width: 100%;\n margin-bottom: $form-spacing * 0.5;\n }\n\n .fieldset {\n @include fieldset;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Background color for select menus.\n/// @type Color\n$select-background: $white !default;\n\n/// Color of the dropdown triangle inside select menus. Set to `transparent` to remove it entirely.\n/// @type Color\n$select-triangle-color: $dark-gray !default;\n\n/// Default radius for select menus.\n/// @type Color\n$select-radius: $global-radius !default;\n\n@mixin form-select {\n $height: ($input-font-size * unitless-calc($input-line-height)) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n height: $height;\n margin: 0 0 $form-spacing;\n padding: $input-padding;\n\n appearance: none;\n border: $input-border;\n border-radius: $select-radius;\n background-color: $select-background;\n\n font-family: $input-font-family;\n font-size: $input-font-size;\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n\n @if $select-triangle-color != transparent {\n @include background-triangle($select-triangle-color);\n background-origin: content-box;\n background-position: $global-right (-$form-spacing) center;\n background-repeat: no-repeat;\n background-size: 9px 6px;\n\n padding-#{$global-right}: ($form-spacing * 1.5);\n }\n\n @if has-value($input-transition) {\n transition: $input-transition;\n }\n\n // Focus state\n &:focus {\n outline: none;\n border: $input-border-focus;\n background-color: $input-background-focus;\n box-shadow: $input-shadow-focus;\n\n @if has-value($input-transition) {\n transition: $input-transition;\n }\n }\n\n // Disabled state\n &:disabled {\n background-color: $input-background-disabled;\n cursor: $input-cursor-disabled;\n }\n\n // Hide the dropdown arrow shown in newer IE versions\n &::-ms-expand {\n display: none;\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n }\n}\n\n@mixin foundation-form-select {\n select {\n @include form-select;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group abide\n////\n\n/// Sets if error styles should be added to inputs.\n/// @type Boolean\n$abide-inputs: true !default;\n\n/// Sets if error styles should be added to labels.\n/// @type Boolean\n$abide-labels: true !default;\n\n/// Background color to use for invalid text inputs.\n/// @type Color\n$input-background-invalid: get-color(alert) !default;\n\n/// Color to use for labels of invalid inputs.\n/// @type Color\n$form-label-color-invalid: get-color(alert) !default;\n\n/// Default font color for form error text.\n/// @type Color\n$input-error-color: get-color(alert) !default;\n\n/// Default font size for form error text.\n/// @type Number\n$input-error-font-size: rem-calc(12) !default;\n\n/// Default font weight for form error text.\n/// @type Keyword\n$input-error-font-weight: $global-weight-bold !default;\n\n/// Styles the background and border of an input field to have an error state.\n///\n/// @param {Color} $background [$alert-color] - Color to use for the background and border.\n/// @param {Number} $background-lighten [10%] - Lightness level of the background color.\n@mixin form-input-error(\n $background: $input-background-invalid,\n $background-lighten: 10%\n) {\n &:not(:focus) {\n border-color: $background;\n background-color: mix($background, $white, $background-lighten);\n\n &::placeholder {\n color: $background;\n }\n }\n}\n\n/// Adds error styles to a form element, using the values in the settings file.\n@mixin form-error {\n display: none;\n margin-top: $form-spacing * -0.5;\n margin-bottom: $form-spacing;\n\n font-size: $input-error-font-size;\n font-weight: $input-error-font-weight;\n color: $input-error-color;\n}\n\n@mixin foundation-form-error {\n @if $abide-inputs {\n // Error class for invalid inputs\n .is-invalid-input {\n @include form-input-error;\n }\n }\n\n @if $abide-labels {\n // Error class for labels of invalid outputs\n .is-invalid-label {\n color: $form-label-color-invalid;\n }\n }\n\n // Form error element\n .form-error {\n @include form-error;\n\n &.is-visible {\n display: block;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-helpers\n////\n\n/// Default font size for lead paragraphs.\n/// @type Number\n$lead-font-size: $global-font-size * 1.25 !default;\n\n/// Default line height for lead paragraphs.\n/// @type String\n$lead-lineheight: 1.6 !default;\n\n/// Default line height for subheaders.\n/// @type Number\n$subheader-lineheight: 1.4 !default;\n\n/// Default font color for subheaders.\n/// @type Color\n$subheader-color: $dark-gray !default;\n\n/// Default font weight for subheaders.\n/// @type String\n$subheader-font-weight: $global-weight-normal !default;\n\n/// Default top margin for subheaders.\n/// @type Number\n$subheader-margin-top: 0.2rem !default;\n\n/// Default bottom margin for subheaders.\n/// @type Number\n$subheader-margin-bottom: 0.5rem !default;\n\n/// Default font size for statistic numbers.\n/// @type Number\n$stat-font-size: 2.5rem !default;\n\n@mixin foundation-typography-helpers {\n // Use to create a subheading under a main header\n // Make sure you pair the two elements in a <header> element, like this:\n // <header>\n // <h1>Heading</h1>\n // <h2>Subheading</h2>\n // </header>\n .subheader {\n margin-top: $subheader-margin-top;\n margin-bottom: $subheader-margin-bottom;\n\n font-weight: $subheader-font-weight;\n line-height: $subheader-lineheight;\n color: $subheader-color;\n }\n\n // Use to style an introductory lead, deck, blurb, etc.\n .lead {\n font-size: $lead-font-size;\n line-height: $lead-lineheight;\n }\n\n // Use to style a large number to display a statistic\n .stat {\n font-size: $stat-font-size;\n line-height: 1;\n\n p + & {\n margin-top: -1rem;\n }\n }\n\n ul, ol {\n // Use to remove numbers from ordered list & bullets from unordered list\n &.no-bullet {\n margin-#{$global-left}: 0;\n list-style: none;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-text-alignment {\n @each $size in $breakpoint-classes {\n @include breakpoint($size) {\n @each $align in (left, right, center, justify) {\n @if $size != $-zf-zero-breakpoint {\n .#{$size}-text-#{$align} {\n text-align: $align;\n }\n }\n @else {\n .text-#{$align} {\n text-align: $align;\n }\n }\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// If `true`, all elements will have transparent backgrounds when printed, to save on ink.\n/// @type Boolean\n/// @group global\n$print-transparent-backgrounds: true !default;\n\n/// If `true`, displays next to all links their \"href\" when printed.\n/// @type Boolean\n/// @group global\n$print-hrefs: true !default;\n\n// sass-lint:disable-all\n\n@mixin foundation-print-styles {\n .show-for-print { display: none !important; }\n\n @media print {\n * {\n @if $print-transparent-backgrounds {\n background: transparent !important;\n }\n\n box-shadow: none !important;\n\n color: black !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n }\n\n .show-for-print { display: block !important; }\n .hide-for-print { display: none !important; }\n\n table.show-for-print { display: table !important; }\n thead.show-for-print { display: table-header-group !important; }\n tbody.show-for-print { display: table-row-group !important; }\n tr.show-for-print { display: table-row !important; }\n td.show-for-print { display: table-cell !important; }\n th.show-for-print { display: table-cell !important; }\n\n // Display the URL of a link after the text\n a,\n a:visited { text-decoration: underline;}\n @if $print-hrefs {\n a[href]:after { content: ' (' attr(href) ')'; }\n }\n\n // Don't display the URL for images or JavaScript/internal links\n .ir a:after,\n a[href^='javascript:']:after,\n a[href^='#']:after { content: ''; }\n\n // Display what an abbreviation stands for after the text\n abbr[title]:after { content: ' (' attr(title) ')'; }\n\n // Prevent page breaks in the middle of a blockquote or preformatted text block\n pre,\n blockquote {\n border: 1px solid $dark-gray;\n page-break-inside: avoid;\n }\n\n // h5bp.com/t\n thead { display: table-header-group; }\n\n tr,\n img { page-break-inside: avoid; }\n\n img { max-width: 100% !important; }\n\n @page { margin: 0.5cm; }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n // Avoid page breaks after a heading\n h2,\n h3 { page-break-after: avoid; }\n\n // Helper to re-allow page breaks in the middle of certain elements (e.g. pre, blockquote, tr)\n .print-break-inside {\n page-break-inside: auto;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n// Margin Grid classes\n@mixin xy-base-grid-classes {\n\n // Grid Container\n .grid-container {\n @include xy-grid-container;\n\n &.fluid {\n @include xy-grid-container(100%);\n }\n\n &.full {\n @include xy-grid-container(100%, 0);\n }\n }\n\n // Base grid styles\n .grid-x {\n @include xy-grid;\n }\n\n .cell {\n @include xy-cell-base();\n @include xy-cell-static($grid-columns, false, $gutter-type: padding);\n\n &.auto {\n @include xy-cell-base(auto);\n }\n\n &.shrink {\n @include xy-cell-base(shrink);\n }\n\n }\n .grid-x {\n > .auto {\n @include xy-cell-static(auto, false);\n }\n\n > .shrink {\n @include xy-cell-static(shrink, false);\n }\n }\n\n // Auto width\n @include -zf-each-breakpoint() {\n // This is a bit of a hack/workaround, see these issues & PRs for the backstory:\n // https://github.com/zurb/foundation-sites/issues/10244\n // https://github.com/zurb/foundation-sites/pull/10222 and\n // https://github.com/zurb/foundation-sites/pull/10164\n .grid-x {\n $str: \"> .#{$-zf-size}-shrink, > .#{$-zf-size}-full\";\n @for $i from 1 through $grid-columns {\n $str: $str + \", > .#{$-zf-size}-#{$i}\"\n }\n #{$str} {\n flex-basis: auto;\n }\n }\n }\n\n @include -zf-each-breakpoint() {\n // Responsive \"auto\" modifier\n @if not($-zf-size == small) {\n .grid-x > .#{$-zf-size}-auto {\n @include xy-cell-base(auto);\n @include xy-cell-static(auto, false);\n }\n }\n\n %-xy-cell-base-shrink-horizontal-#{$-zf-size} {\n @include xy-cell-base(shrink);\n }\n\n // Responsive \"shrink\" modifier\n @if not($-zf-size == small) {\n .grid-x > .#{$-zf-size}-shrink {\n @extend %-xy-cell-base-shrink-horizontal-#{$-zf-size};\n @include xy-cell-static(shrink, false);\n }\n }\n\n // Responsive width modifiers\n @for $i from 1 through $grid-columns {\n // Sizing (percentage)\n .grid-x > .#{$-zf-size}-#{$i} {\n @extend %-xy-cell-base-shrink-horizontal-#{$-zf-size};\n @include xy-cell-static($i, false, $gutter-type: padding);\n }\n }\n }\n\n // Reset width when using `.grid-margin-x` not on `.grid-x`\n .grid-margin-x:not(.grid-x) > .cell {\n width: auto;\n }\n\n // Reset height when using `.grid-margin-y` not on `.grid-y`\n .grid-margin-y:not(.grid-y) > .cell {\n height: auto;\n }\n}\n\n@mixin -xy-breakpoint-cell-classes($class-breakpoint, $gutter-breakpoint, $vertical) {\n $prefix: if($class-breakpoint == $-zf-zero-breakpoint, '', '#{$class-breakpoint}-');\n > .#{$prefix}auto {\n @include xy-cell-static(auto, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n }\n\n > .#{$prefix}shrink {\n @include xy-cell-static(shrink, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n }\n\n @for $i from 1 through $grid-columns {\n // Sizing (percentage)\n $classname: if($vertical, '.#{$class-breakpoint}-#{$i}', '.#{$class-breakpoint}-#{$i}');\n\n > #{$classname} {\n @include xy-cell-static($i, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n }\n }\n}\n\n// Margin Grid classes\n@mixin xy-margin-grid-classes(\n $gutter-position: left right,\n $vertical: false,\n $wrapping-selector: '.grid-margin-x'\n){\n #{$wrapping-selector} {\n @include xy-gutters($negative: true, $gutter-position: $gutter-position);\n\n // Base cell styles\n > .cell {\n @include xy-cell-static($vertical: $vertical);\n }\n\n // base styles need to all be before the auto and shrink styles\n @include -zf-each-breakpoint() {\n @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size) and $-zf-size != $-zf-zero-breakpoint) {\n > .cell {\n @include xy-cell-static($breakpoint: $-zf-size, $vertical: $vertical);\n }\n }\n }\n\n @include -zf-each-breakpoint() {\n\n // This is purely for responsive gutters - the margin grid has to go back and adjust widths (or heights)\n // for all prior breakpoints.\n // As their gutter is defined with their width/height, even breakpoint without a new margin must be\n // generated to not having their width/height overrided by re-adjusted smaller breakpoints.\n @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size)) {\n @each $bp in -zf-breakpoints-less-than($-zf-size) {\n @include -xy-breakpoint-cell-classes($bp, $-zf-size, $vertical);\n }\n }\n\n @include -xy-breakpoint-cell-classes($-zf-size, $-zf-size, $vertical);\n }\n }\n}\n\n// Padding Grid classes\n@mixin xy-padding-grid-classes {\n .grid-padding-x {\n\n // Negative margin for nested grids\n .grid-padding-x {\n @include xy-gutters($negative: true);\n }\n\n // Negative margin for grids within `grid-container/grid-container.fluid`\n // This allows margin and padding grids to line up with eachother\n .grid-container:not(.full) > & {\n @include xy-gutters($negative: true);\n }\n\n // Base cell styles\n > .cell {\n @include xy-gutters($gutters: $grid-padding-gutters, $gutter-type: padding);\n }\n }\n}\n\n// Block Grid classes\n@mixin xy-block-grid-classes($margin-grid: true, $padding-grid: true) {\n @if $padding-grid {\n @include -zf-each-breakpoint {\n @for $i from 1 through $xy-block-grid-max {\n .#{$-zf-size}-up-#{$i} {\n @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: padding, $breakpoint: $-zf-size);\n }\n }\n }\n }\n\n @if $margin-grid {\n @include -zf-each-breakpoint {\n @for $i from 1 through $xy-block-grid-max {\n // This is purely for responsive gutters - the margin grid has to go back and adjust widths (or heights)\n // for prior breakpoints based on the responsive gutter.\n @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size)) {\n @each $bp in -zf-breakpoints-less-than($-zf-size) {\n @if(map-has-key($grid-margin-gutters, $bp)) {\n .grid-margin-x.#{$bp}-up-#{$i} {\n @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: margin, $breakpoint: $-zf-size);\n }\n }\n }\n }\n }\n @for $i from 1 through $xy-block-grid-max {\n .grid-margin-x.#{$-zf-size}-up-#{$i} {\n @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: margin, $breakpoint: $-zf-size);\n }\n }\n }\n }\n}\n\n// Collapse classes\n@mixin xy-collapse-grid-classes($margin-grid: true, $padding-grid: true) {\n @each $bp in $breakpoint-classes {\n @if $margin-grid {\n .#{$bp}-margin-collapse {\n @include xy-grid-collapse($gutter-type: margin, $min-breakpoint: $bp);\n }\n }\n\n @if $padding-grid {\n .#{$bp}-padding-collapse {\n @include xy-grid-collapse($gutter-type: padding, $min-breakpoint: $bp);\n }\n }\n }\n}\n\n// Offset classes\n@mixin xy-offset-cell-classes {\n @include -zf-each-breakpoint {\n @for $i from 1 through $grid-columns {\n // Offsets\n $o: $i - 1;\n\n .#{$-zf-size}-offset-#{$o} {\n @include xy-cell-offset($o, $gutters: $grid-padding-gutters, $gutter-type: padding, $breakpoint: $-zf-size);\n }\n\n .grid-margin-x > .#{$-zf-size}-offset-#{$o} {\n @include xy-cell-offset($o, $breakpoint: $-zf-size);\n }\n }\n }\n}\n\n// Vertical Grid classes\n@mixin xy-vertical-grid-classes(\n $margin-grid: true,\n $padding-grid: true\n) {\n\n @include -zf-each-breakpoint() {\n @if not($-zf-size == small) {\n }\n }\n\n .grid-y {\n @include xy-grid(vertical, false);\n\n\n > .cell {\n @include xy-cell-reset();\n }\n\n > .auto {\n @include xy-cell-static(auto, false, $vertical: true);\n }\n\n > .shrink {\n @include xy-cell-static(shrink, false, $vertical: true);\n }\n\n\n @include -zf-each-breakpoint() {\n // This is a bit of a hack/workaround, see these issues and PRs for the backstory:\n // https://github.com/zurb/foundation-sites/issues/10244\n // https://github.com/zurb/foundation-sites/pull/10222 and\n // https://github.com/zurb/foundation-sites/pull/10164\n $str: \"> .#{$-zf-size}-shrink, > .#{$-zf-size}-full\";\n @for $i from 1 through $grid-columns {\n $str: $str + \", > .#{$-zf-size}-#{$i}\"\n }\n #{$str} {\n flex-basis: auto;\n }\n }\n\n @include -zf-each-breakpoint() {\n // Responsive \"auto\" modifier\n @if not($-zf-size == small) {\n > .#{$-zf-size}-auto {\n @include xy-cell-base(auto);\n @include xy-cell-static(auto, false, $breakpoint: $-zf-size, $vertical: true);\n }\n }\n\n %-xy-cell-base-shrink-vertical-#{$-zf-size} {\n @include xy-cell-base(shrink);\n }\n\n // Responsive \"shrink\" modifier\n @if not($-zf-size == small) {\n > .#{$-zf-size}-shrink {\n @extend %-xy-cell-base-shrink-vertical-#{$-zf-size};\n @include xy-cell-static(shrink, false, $breakpoint: $-zf-size, $vertical: true);\n }\n }\n\n // Responsive width modifiers\n @for $i from 1 through $grid-columns {\n // Sizing (percentage)\n > .#{$-zf-size}-#{$i} {\n @extend %-xy-cell-base-shrink-vertical-#{$-zf-size};\n @include xy-cell-static($i, false, $vertical: true, $gutter-type: padding);\n }\n }\n\n }\n }\n\n @if $padding-grid {\n .grid-padding-y {\n // Negative margin for nested grids\n .grid-padding-y {\n @include xy-gutters($negative: true, $gutter-position: top bottom);\n }\n\n // Base cell styles\n > .cell {\n @include xy-gutters($gutters: $grid-padding-gutters, $gutter-type: padding, $gutter-position: top bottom);\n }\n }\n }\n\n @if $margin-grid {\n @include xy-margin-grid-classes(top bottom, true, '.grid-margin-y');\n }\n\n}\n\n@mixin xy-frame-grid-classes($vertical-grid: true, $margin-grid: true) {\n // Framed grid styles\n .grid-frame {\n @include xy-grid-frame;\n }\n\n .cell .grid-frame {\n width: 100%; // Same as include with $nested, but with less css\n }\n\n .cell-block {\n @include xy-cell-block();\n }\n\n .cell-block-y {\n @include xy-cell-block(true);\n }\n\n\n .cell-block-container {\n @include xy-cell-block-container();\n }\n\n\n @include -zf-each-breakpoint(false) {\n\n .#{$-zf-size}-grid-frame {\n @include xy-grid-frame;\n }\n\n .cell .#{$-zf-size}-grid-frame {\n width: 100%; // Same as include with $nested, but with less css\n }\n\n .#{$-zf-size}-cell-block {\n @include xy-cell-block();\n }\n\n .#{$-zf-size}-cell-block-container {\n @include xy-cell-block-container();\n }\n\n .#{$-zf-size}-cell-block-y {\n @include xy-cell-block(true);\n }\n }\n\n @if $vertical-grid {\n .grid-y {\n &.grid-frame {\n width: auto;\n @include xy-grid-frame(true);\n }\n\n @include -zf-each-breakpoint(false) {\n &.#{$-zf-size}-grid-frame {\n width: auto;\n @include xy-grid-frame(true);\n }\n\n }\n }\n .cell {\n .grid-y.grid-frame {\n height: 100%; // Same as include with $nested, but with less css\n }\n @include -zf-each-breakpoint(false) {\n .grid-y.#{$-zf-size}-grid-frame {\n height: 100%; // Same as include with $nested, but with less css\n }\n }\n }\n }\n @if $margin-grid {\n @include xy-margin-grid-classes(top bottom, true, '.grid-margin-y');\n .grid-frame.grid-margin-y {\n @include xy-grid-frame(true, false, $grid-margin-gutters, $include-base: false);\n }\n @include -zf-each-breakpoint(false) {\n .grid-margin-y.#{$-zf-size}-grid-frame {\n @include xy-grid-frame(true, false, $grid-margin-gutters, $-zf-size, false);\n }\n }\n }\n}\n\n// Final classes\n@mixin foundation-xy-grid-classes(\n $base-grid: true,\n $margin-grid: true,\n $padding-grid: true,\n $block-grid: true,\n $collapse: true,\n $offset: true,\n $vertical-grid: true,\n $frame-grid: true\n) {\n\n // Base grid styles\n @if($base-grid) {\n @include xy-base-grid-classes();\n }\n\n // Margin grid\n @if($margin-grid) {\n @include xy-margin-grid-classes();\n }\n\n // Padding grid\n @if($padding-grid) {\n @include xy-padding-grid-classes();\n }\n\n // Block grid\n @if($block-grid) {\n @include xy-block-grid-classes($margin-grid, $padding-grid);\n }\n\n // Collapse gutters\n @if($collapse) {\n @include xy-collapse-grid-classes($margin-grid, $padding-grid);\n }\n\n // Offset gutters\n @if($offset) {\n @include xy-offset-cell-classes();\n }\n\n // Vertical grid\n @if($vertical-grid) {\n @include xy-vertical-grid-classes($margin-grid, $padding-grid);\n }\n\n @if ($frame-grid) {\n @include xy-frame-grid-classes($vertical-grid, $margin-grid)\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Creates a max width container, designed to house your grid content.\n///\n/// @param {Number} $width [$grid-container] - a width to limit the container to.\n/// @param {Number} $padding [$grid-container-padding] - paddings of the container.\n@mixin xy-grid-container(\n $width: $grid-container,\n $padding: $grid-container-padding\n) {\n @include xy-gutters($gutters: $padding, $gutter-type: padding);\n\n max-width: $width;\n margin-left: auto;\n margin-right: auto;\n}\n\n/// Creates a container for your flex cells.\n///\n/// @param {Keyword} $direction [horizontal] - Either horizontal or vertical direction of cells within.\n/// @param {Boolean} $wrap [true] - If the cells within should wrap or not.\n@mixin xy-grid(\n $direction: horizontal,\n $wrap: true\n) {\n $direction: if($direction == 'horizontal', row, column);\n $wrap: if($wrap, wrap, nowrap);\n\n display: flex;\n flex-flow: $direction $wrap;\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Create gutters for a cell/container.\n///\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Type of gutter to output. Accepts either margin or padding.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {Boolean} $negative [false] - Whether to apply the gutter as a negative value. Commonly used for nested grids.\n@mixin xy-gutters(\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $gutter-position: right left,\n $negative: false\n) {\n $operator: if($negative, '-', '');\n\n // If we have declared negative gutters, force type to `margin.\n $gutter-type: if($negative, 'margin', $gutter-type);\n\n // Output our margin gutters.\n @if (type-of($gutters) == 'map') {\n @include -zf-breakpoint-value(auto, $gutters) {\n $gutter: rem-calc($-zf-bp-value) / 2;\n\n // Loop through each gutter position\n @each $value in $gutter-position {\n #{$gutter-type}-#{$value}: unquote(\"#{$operator}#{$gutter}\");\n }\n }\n }\n @else if (type-of($gutters) == 'number') {\n $gutter: rem-calc($gutters) / 2;\n\n // Loop through each gutter position\n @each $value in $gutter-position {\n #{$gutter-type}-#{$value}: unquote(\"#{$operator}#{$gutter}\");\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Calculate the percentage size of a cell.\n///\n/// @param {Number|List} $size [$grid-columns] - Size to make the cell. You can pass a value in multiple formats, such as `6`, `50%`, `1 of 2` or `1/3`.\n@function xy-cell-size(\n $size: $grid-columns\n) {\n // Parsing percents, decimals, n of n and number counts\n @if type-of($size) == 'number' {\n @if unit($size) == '%' {\n $size: $size;\n }\n @else if $size < 1 {\n $size: percentage($size);\n }\n @else {\n $size: percentage($size / $grid-columns);\n }\n }\n\n // Parsing \"n of n\" or \"n/n\" expressions\n @else if type-of($size) == 'list' {\n @if length($size) != 3 {\n @error 'Wrong syntax for xy-cell-size(). Use the format \"n of n\" or \"n/n\".';\n }\n @else {\n $size: percentage(nth($size, 1) / nth($size, 3));\n }\n }\n // Anything else is incorrect\n @else {\n @error 'Wrong syntax for xy-cell-size(). Use a number, decimal, percentage, or \"n of n\" / \"n/n\".';\n }\n\n @return $size;\n}\n\n/// Sets base flex properties for cells.\n///\n/// @param {Keyword} $size [full] - The size of your cell. Accepts `full`, `auto`, `shrink` or `grow`.\n@mixin xy-cell-base($size: full) {\n @if($size == 'full') {\n // This is the base style, all others inherit from it\n flex: 0 0 auto;\n min-height: 0px;\n min-width: 0px;\n }\n @else if ($size == 'auto') {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n }\n @else if ($size == 'shrink') {\n flex: 0 0 auto;\n }\n @else if ($size == 'grow') {\n flex: 1 0 auto;\n }\n}\n\n/// Resets a cells width (or height if vertical is true) as well as strips its gutters.\n///\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell-reset($vertical: true) {\n $direction: if($vertical == true, width, height);\n #{$direction}: auto;\n max-#{$direction}: none;\n}\n\n// Sets our cell widths or heights depending on gutter type.\n@mixin -xy-cell-properties($size, $margin-gutter, $vertical) {\n $direction: if($vertical == true, height, width);\n @if($size == 'full') {\n $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));\n #{$direction}: $val;\n }\n @else if ($size == 'auto') {\n #{$direction}: auto;\n $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));\n }\n @else if ($size == 'shrink') {\n #{$direction}: auto;\n }\n @else {\n $val: if($margin-gutter == 0, #{xy-cell-size($size)}, calc(#{xy-cell-size($size)} - #{rem-calc($margin-gutter)}));\n #{$direction}: $val;\n }\n}\n\n/// Creates a cell for your grid.\n///\n/// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell(\n $size: full,\n $gutter-output: true,\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $gutter-position: right left,\n $breakpoint: null,\n $vertical: false\n) {\n $bp-is-fallback: false;\n\n @if($breakpoint == null) {\n // If `$bp-size` is available then use this, otherwise revert to the smallest bp.\n @if(variable-exists(-zf-size) and type-of($-zf-size) != 'number') and $-zf-size != null {\n $breakpoint: $-zf-size;\n }\n @else {\n $breakpoint: $-zf-zero-breakpoint;\n $bp-is-fallback: true;\n }\n }\n\n // Get the gutter for the given breakpoint/value.\n $gutter: -zf-get-bp-val($gutters, $breakpoint);\n // If the breakpoint is a fallback, use a fallback gutter as well\n @if ($bp-is-fallback == true and $gutter == null) {\n $gutter: 0;\n }\n\n @if($gutter != null) {\n // Base flex properties\n @include xy-cell-base($size);\n\n @if($gutter-type == 'margin') {\n @include -xy-cell-properties($size, $gutter, $vertical);\n }\n @else {\n @include -xy-cell-properties($size, 0, $vertical);\n }\n\n @if $gutter-output {\n @include xy-gutters($gutter, $gutter-type, $gutter-position);\n }\n }\n @else {\n @warn 'xy-cell: no gutters were found in `$gutters` for \"$breakpoint: #{$breakpoint}\", cell was not generated`'\n }\n}\n\n/// Creates a single breakpoint sized grid. Used to generate our grid classes.\n///\n/// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell-static(\n $size: full,\n $gutter-output: true,\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $breakpoint: $-zf-zero-breakpoint,\n $vertical: false\n) {\n\n $gutter: -zf-get-bp-val($gutters, $breakpoint);\n $gutter-position: if($vertical == true, top bottom, left right);\n\n @if($gutter-type == 'margin') {\n @include -xy-cell-properties($size, $gutter, $vertical);\n }\n @else {\n @include -xy-cell-properties($size, 0, $vertical);\n }\n\n // If we want to output the gutters\n @if($gutter-output) {\n // TODO: Figure out if we need to pass breakpoint in here too.\n @include xy-gutters($gutter, $gutter-type, $gutter-position);\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Sizes child elements so that `$n` number of items appear on each row.\n///\n/// @param {Number} $n - Number of elements to display per row.\n/// @param {String} $selector ['.cell'] - Selector(s) to use for child elements.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Type of gutter to output. Accepts `margin` or `padding`.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {String} $breakpoint [null] - The breakpoint to use for the cell generation.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-grid-layout(\n $n,\n $selector: '.cell',\n $gutter-output: true,\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $gutter-position: right left,\n $breakpoint: null,\n $vertical: false\n) {\n $size: percentage(1/$n);\n\n & > #{$selector} {\n @include xy-cell($size, $gutter-output, $gutters, $gutter-type, $gutter-position, $breakpoint, $vertical);\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Collapses the grid a cells within it.\n///\n/// @param {String} $selector [.cell] - The child element to remove the gutter from.\n/// @param {Keyword} $gutter-type [margin] - The type of gutter to remove.\n/// @param {List} $gutter-position [right left] - The positions to remove gutters from. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {Keyword} $min-breakpoint [$-zf-zero-breakpoint] - Minimum breakpoint in `$breakpoint-classes` for which to collapse the gutter.\n@mixin xy-grid-collapse(\n $selector: '.cell',\n $gutter-type: margin,\n $gutter-position: right left,\n $min-breakpoint: $-zf-zero-breakpoint\n) {\n // First, lets negate any margins on the top level\n @if ($gutter-type == 'margin') {\n\n @include breakpoint($min-breakpoint) {\n @each $value in $gutter-position {\n margin-#{$value}: 0;\n }\n\n > #{$selector} {\n @each $value in $gutter-position {\n margin-#{$value}: 0;\n }\n }\n }\n\n $excluded-bps: -zf-breakpoints-less-than($min-breakpoint);\n\n // Output new widths to not include gutters\n @each $bp in $breakpoint-classes {\n @if(sl-contain($excluded-bps, $bp)) {\n @include breakpoint($min-breakpoint) {\n @for $i from 1 through $grid-columns {\n // Sizing (percentage)\n > .#{$bp}-#{$i} {\n @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding);\n }\n }\n }\n } @else {\n @include breakpoint($bp) {\n @for $i from 1 through $grid-columns {\n // Sizing (percentage)\n > .#{$bp}-#{$i} {\n @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding);\n }\n }\n }\n }\n }\n }\n @else {\n\n @include breakpoint($min-breakpoint) {\n @each $value in $gutter-position {\n margin-#{$value}: 0;\n }\n\n > #{$selector} {\n @each $value in $gutter-position {\n padding-#{$value}: 0;\n }\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Offsets a column to the right/bottom by `$n` columns.\n///\n/// @param {Number|List} $n - Size to offset by. You can pass in any value accepted by the `zf-cell()` mixin, such as `6`, `50%`, or `1 of 2`.\n/// @param {Number|Map} $gutters [$grid-margin-gutters] Map of gutters or single value to use for responsive gutters.\n/// @param {Keyword} $gutter-type [margin] The type of gutter to use. Can be `margin` or `padding`\n/// @param {Number|Array|Keyword} $breakpoint [$-zf-zero-breakpoint] - Single value, breakpoint name, or list of breakpoint names to use for `$gutters`. See `-zf-breakpoint-value()`.\n/// @param {Boolean} $vertical [false] Sets the direction of the offset. If set to true will apply margin-top instead.\n@mixin xy-cell-offset(\n $n,\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $breakpoint: $-zf-zero-breakpoint,\n $vertical: false\n) {\n $direction: if($vertical, 'top', $global-left);\n\n @include -zf-breakpoint-value($breakpoint, $gutters) {\n $gutter: rem-calc($-zf-bp-value) / 2;\n $gutter-margin: if($gutter-type == 'margin', $gutter, 0);\n $size: if($gutter-margin == 0, #{xy-cell-size($n)}, calc(#{xy-cell-size($n)} + #{$gutter-margin}));\n\n margin-#{$direction}: #{$size};\n }\n}\n","/// Modifies a grid to give it \"frame\" behavior (no overflow, no wrap, stretch behavior)\n///\n/// @param {Boolean} $vertical [false] - Is grid vertical or horizontal. Should match grid.\n/// @param {Boolean} $nested [false] - Is grid nested or not. If nested is true this sets the frame to 100% height, otherwise will be 100vh.\n/// @param {Number|Map} $gutters [null] - Map or single value for gutters.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from.\n/// @param {Boolean} $include-base [true] - Include the base styles that don't vary per breakpoint.\n@mixin xy-grid-frame(\n $vertical: false,\n $nested: false,\n $gutters: null,\n $breakpoint: null,\n $include-base: true\n) {\n\n @if $include-base {\n overflow: hidden;\n position: relative;\n flex-wrap: nowrap;\n align-items: stretch;\n }\n\n @if $breakpoint == null and type-of($gutters) == 'map' {\n @include -zf-each-breakpoint() {\n @include xy-grid-frame($vertical, $nested, $gutters, $-zf-size, false);\n }\n } @else {\n // Get our gutters if applicable\n $gutter: -zf-get-bp-val($gutters, $breakpoint);\n\n // If we have a gutter, add it to the width/height\n @if $gutter {\n @if $vertical == true {\n $unit: if($nested == true, 100%, 100vh);\n $gutter: rem-calc($gutter);\n height: calc(#{$unit} + #{$gutter});\n } @else {\n $unit: if($nested == true, 100%, 100vw);\n $gutter: rem-calc($gutter);\n width: calc(#{$unit} + #{$gutter});\n }\n }\n @else {\n @if $vertical == true {\n height: if($nested == true, 100%, 100vh);\n } @else {\n width: if($nested == true, 100%, 100vw);\n }\n }\n }\n}\n\n/// Modifies a cell to give it \"block\" behavior (overflow auto, inertial scrolling)\n///\n/// @param {Boolean} $vertical [false] - Is grid vertical or horizontal. Should match grid.\n@mixin xy-cell-block(\n $vertical: false\n) {\n $property: if($vertical == true, 'overflow-y', 'overflow-x');\n\n @if $vertical == true {\n overflow-y: auto;\n max-height: 100%;\n min-height: 100%;\n } @else {\n overflow-x: auto;\n max-width: 100%;\n }\n\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/// Container for inside a grid frame containing multiple blocks. Typically used\n/// as a modifier for a `.cell` to allow the cell to pass along flex sizing\n/// constraints / from parents to children.\n@mixin xy-cell-block-container() {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n\n > .grid-x {\n max-height: 100%;\n flex-wrap: nowrap;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button\n////\n\n/// Font family for button elements.\n/// @type Font\n$button-font-family: inherit !default;\n\n/// Padding inside buttons.\n/// @type List\n$button-padding: 0.85em 1em !default;\n\n/// Margin around buttons.\n/// @type List\n$button-margin: 0 0 $global-margin 0 !default;\n\n/// Default fill for buttons. Can either be `solid` or `hollow`.\n/// @type Keyword\n$button-fill: solid !default;\n\n/// Default background color for buttons.\n/// @type Color\n$button-background: $primary-color !default;\n\n/// Background color on hover for buttons.\n/// @type Color\n$button-background-hover: scale-color($button-background, $lightness: -15%) !default;\n\n/// Font color for buttons.\n/// @type List\n$button-color: $white !default;\n\n/// Alternative font color for buttons.\n/// @type List\n$button-color-alt: $black !default;\n\n/// Border radius for buttons, defaulted to global-radius.\n/// @type Number\n$button-radius: $global-radius !default;\n\n/// Border width for hollow outline buttons\n/// @type Number\n$button-hollow-border-width: 1px !default;\n\n/// Sizes for buttons.\n/// @type Map\n$button-sizes: (\n tiny: 0.6rem,\n small: 0.75rem,\n default: 0.9rem,\n large: 1.25rem,\n) !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$button-palette: $foundation-palette !default;\n\n/// opacity for a disabled button.\n/// @type List\n$button-opacity-disabled: 0.25 !default;\n\n/// Background color lightness on hover for buttons.\n/// @type Number\n$button-background-hover-lightness: -20% !default;\n\n/// Color lightness on hover for hollow buttons.\n/// @type Number\n$button-hollow-hover-lightness: -50% !default;\n\n// Internal: flip from margin-right to margin-left for defaults\n@if $global-text-direction == 'rtl' {\n $button-margin: 0 0 $global-margin $global-margin !default;\n}\n\n/// transitions for buttons.\n/// @type List\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out !default;\n\n/// Additional responsive classes for .expanded\n/// @type Boolean\n$button-responsive-expanded: false !default;\n\n// TODO: Document button-base() mixin\n@mixin button-base {\n @include disable-mouse-outline;\n display: inline-block;\n vertical-align: middle;\n margin: $button-margin;\n\n @if (type-of($button-padding) == 'map') {\n @each $size, $padding in $button-padding {\n @include breakpoint($size) {\n padding: $padding;\n }\n }\n }\n @else {\n padding: $button-padding;\n }\n\n border: 1px solid transparent;\n border-radius: $button-radius;\n transition: $button-transition;\n font-family: $button-font-family;\n font-size: map-get($button-sizes, default);\n -webkit-appearance: none; // sass-lint:disable-line no-vendor-prefixes\n line-height: 1;\n text-align: center;\n cursor: pointer;\n}\n\n/// Expands a button to make it full-width.\n/// @param {Boolean} $expand [true] - Set to `true` to enable the expand behavior. Set to `false` to reverse this behavior.\n@mixin button-expand($expand: true) {\n @if $expand {\n display: block;\n width: 100%;\n margin-right: 0;\n margin-left: 0;\n }\n @else {\n display: inline-block;\n width: auto;\n margin: $button-margin;\n }\n}\n\n/// Sets the visual style of a button.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n@mixin button-style(\n $background: $button-background,\n $background-hover: $button-background-hover,\n $color: $button-color,\n $background-hover-lightness: $button-background-hover-lightness\n) {\n @if $color == auto {\n $color: color-pick-contrast($background, ($button-color, $button-color-alt));\n }\n\n @if $background-hover == auto {\n $background-hover: scale-color($background, $lightness: $background-hover-lightness);\n }\n\n background-color: $background;\n color: $color;\n\n &:hover, &:focus {\n background-color: $background-hover;\n color: $color;\n }\n}\n\n/// Removes background fill on hover and focus for hollow buttons.\n@mixin button-hollow {\n &,\n &:hover,\n &:focus {\n background-color: transparent;\n }\n\n &.disabled,\n &[disabled] {\n &,\n &:hover, &:focus {\n background-color: transparent;\n }\n }\n}\n\n@mixin button-hollow-style(\n $color: $button-background,\n $hover-lightness: $button-hollow-hover-lightness,\n $border-width: $button-hollow-border-width\n) {\n $color-hover: scale-color($color, $lightness: $hover-lightness);\n\n border: $border-width solid $color;\n color: $color;\n\n &:hover, &:focus {\n border-color: $color-hover;\n color: $color-hover;\n &.disabled,\n &[disabled] {\n border: $border-width solid $color;\n color: $color;\n }\n }\n}\n\n/// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.\n/// @param {Color} $background [$button-background] - Background color of the disabled button.\n/// @param {Color} $color [$button-color] - Text color of the disabled button. Set to `auto` to have the mixin automatically generate a color based on the background color.\n@mixin button-disabled(\n $background: $button-background,\n $color: $button-color\n) {\n @if $color == auto {\n $color: color-pick-contrast($background, ($button-color, $button-color-alt));\n }\n\n opacity: $button-opacity-disabled;\n cursor: not-allowed;\n\n &, &:hover, &:focus {\n background-color: $background;\n color: $color;\n }\n}\n\n/// Adds a dropdown arrow to a button.\n/// @param {Number} $size [0.4em] - Size of the arrow. We recommend using an `em` value so the triangle scales when used inside different sizes of buttons.\n/// @param {Color} $color [white] - Color of the arrow.\n/// @param {Number} $offset [$button-padding] - Distance between the arrow and the text of the button. Defaults to whatever the right padding of a button is.\n@mixin button-dropdown(\n $size: 0.4em,\n $color: $white,\n $offset: get-side($button-padding, right)\n) {\n &::after {\n @include css-triangle($size, $color, down);\n position: relative;\n top: 0.4em; // Aligns the arrow with the text of the button\n\n display: inline-block;\n float: #{$global-right};\n margin-#{$global-left}: $offset;\n }\n}\n\n/// Adds all styles for a button. For more granular control over styles, use the individual button mixins.\n/// @param {Boolean} $expand [false] - Set to `true` to make the button full-width.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n/// @param {Keyword} $style [solid] - Set to `hollow` to create a hollow button. The color defined in `$background` will be used as the primary color of the button.\n@mixin button(\n $expand: false,\n $background: $button-background,\n $background-hover: $button-background-hover,\n $color: $button-color,\n $style: $button-fill\n) {\n @include button-base;\n\n @if $style == solid {\n @include button-style($background, $background-hover, $color);\n }\n @else if $style == hollow {\n @include button-hollow;\n @include button-hollow-style($background);\n }\n\n @if $expand {\n @include button-expand;\n }\n}\n\n@mixin foundation-button {\n .button {\n @include button;\n\n // Sizes\n @each $size, $value in map-remove($button-sizes, default) {\n &.#{$size} {\n font-size: $value;\n }\n }\n\n &.expanded { @include button-expand; }\n\n @if $button-responsive-expanded {\n @each $size in $breakpoint-classes {\n @include breakpoint(#{$size} only) {\n &.#{$size}-only-expanded {\n @include button-expand;\n }\n }\n @if $size != $-zf-zero-breakpoint {\n @include breakpoint(#{$size} down) {\n &.#{$size}-down-expanded {\n @include button-expand;\n }\n }\n\n @include breakpoint(#{$size}) {\n &.#{$size}-expanded {\n @include button-expand;\n }\n }\n }\n }\n }\n\n // Colors\n @each $name, $color in $button-palette {\n @if $button-fill != hollow {\n &.#{$name} {\n @include button-style($color, auto, auto);\n }\n }\n @else {\n &.#{$name} {\n @include button-hollow-style($color);\n }\n\n &.#{$name}.dropdown::after {\n border-top-color: $color;\n }\n }\n }\n\n // Disabled style\n &.disabled,\n &[disabled] {\n @include button-disabled;\n\n @each $name, $color in $button-palette {\n &.#{$name} {\n @include button-disabled($color, auto);\n }\n }\n }\n\n // Hollow style\n @if $button-fill != hollow {\n &.hollow {\n @include button-hollow;\n @include button-hollow-style;\n\n @each $name, $color in $button-palette {\n &.#{$name} {\n @include button-hollow-style($color);\n }\n }\n }\n }\n\n // Clear style\n @if $button-fill != clear {\n &.clear {\n @include button-hollow;\n @include button-hollow-style;\n\n &, &:hover, &:focus {\n &, &.disabled, &[disabled] {\n border-color: transparent;\n }\n }\n\n @each $name, $color in $button-palette {\n &.#{$name} {\n @include button-hollow-style($color);\n\n &, &:hover,\n &:focus {\n &,\n &.disabled,\n &[disabled] {\n border-color: transparent;\n }\n }\n }\n }\n }\n }\n\n // Dropdown arrow\n &.dropdown {\n @include button-dropdown;\n\n @if $button-fill == hollow {\n &::after {\n border-top-color: $button-background;\n }\n }\n\n &.hollow, &.clear {\n &::after {\n border-top-color: $button-background;\n }\n\n @each $name, $color in $button-palette {\n &.#{$name} {\n &::after {\n border-top-color: $color;\n }\n }\n }\n }\n }\n\n // Button with dropdown arrow only\n &.arrow-only::after {\n top: -0.1em;\n float: none;\n margin-#{$global-left}: 0;\n }\n }\n\n a.button { // sass-lint:disable-line no-qualifying-elements\n &:hover,\n &:focus {\n text-decoration: none;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button-group\n////\n\n/// Margin for button groups.\n/// @type Number\n$buttongroup-margin: 1rem !default;\n\n/// Margin between buttons in a button group.\n/// @type Number\n$buttongroup-spacing: 1px !default;\n\n/// Selector for the buttons inside a button group.\n/// @type String\n$buttongroup-child-selector: '.button' !default;\n\n/// Maximum number of buttons that can be in an even-width button group. (Only needed when $global-flexbox: false;)\n/// @type Number\n$buttongroup-expand-max: 6 !default;\n\n/// Determines if $button-radius is applied to each button or the button group as a whole. Use $global-radius in _settings.scss to change radius.\n/// @type Boolean\n$buttongroup-radius-on-each: true !default;\n\n/// Add styles for a button group container.\n/// @param {String} $child-selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n/// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.\n@mixin button-group(\n $child-selector: $buttongroup-child-selector,\n $spacing: $buttongroup-spacing\n) {\n @include clearfix;\n margin-bottom: $buttongroup-margin;\n\n @if $global-flexbox {\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch;\n }\n @else {\n font-size: 0;\n }\n\n #{$child-selector} {\n margin: 0;\n margin-#{$global-right}: $spacing;\n margin-bottom: $spacing;\n font-size: map-get($button-sizes, default);\n\n @if $global-flexbox {\n flex: 0 0 auto;\n }\n\n &:last-child {\n margin-#{$global-right}: 0;\n }\n\n @if not $buttongroup-radius-on-each {\n border-radius: 0;\n\n &:first-child {\n border-top-#{$global-left}-radius: $button-radius;\n border-bottom-#{$global-left}-radius: $button-radius;\n }\n\n &:last-child {\n border-top-#{$global-right}-radius: $button-radius;\n border-bottom-#{$global-right}-radius: $button-radius;\n }\n }\n\n }\n}\n\n/// Creates a full-width button group, making each button equal width.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n/// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.\n@mixin button-group-expand(\n $selector: $buttongroup-child-selector,\n $spacing: $buttongroup-spacing,\n $count: null\n) {\n @if not $global-flexbox {\n margin-#{$global-right}: -$spacing;\n\n &::before,\n &::after {\n display: none;\n }\n }\n\n #{$selector} {\n @if $global-flexbox {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n }\n @else {\n // One child\n &:first-child {\n &:last-child {\n width: calc(100% - #{$spacing});\n }\n }\n\n // Two or more childreen\n @for $i from 2 through $buttongroup-expand-max {\n &:first-child:nth-last-child(#{$i}) {\n &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {\n display: inline-block;\n width: calc(#{percentage(1 / $i)} - #{$spacing});\n margin-#{$global-right}: $spacing;\n\n &:last-child {\n margin-#{$global-right}: $spacing * -$buttongroup-expand-max;\n }\n }\n }\n }\n }\n }\n}\n\n/// Stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-stack(\n $selector: $buttongroup-child-selector\n) {\n @if $global-flexbox {\n flex-wrap: wrap;\n }\n\n #{$selector} {\n @if $global-flexbox {\n flex: 0 0 100%;\n }\n @else {\n width: 100%;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n\n\n @if not $buttongroup-radius-on-each {\n border-radius: 0;\n\n &:first-child {\n border-top-#{$global-left}-radius: $global-radius;\n border-top-#{$global-right}-radius: $global-radius;\n }\n\n &:last-child {\n margin-bottom: 0;\n border-bottom-#{$global-left}-radius: $global-radius;\n border-bottom-#{$global-right}-radius: $global-radius;\n }\n }\n\n }\n}\n\n/// Un-stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-unstack(\n $selector: $buttongroup-child-selector\n) {\n #{$selector} {\n @if $global-flexbox {\n flex: 0 0 auto;\n }\n @else {\n width: auto;\n }\n margin-bottom: 0;\n\n @if not $buttongroup-radius-on-each {\n &:first-child {\n border-top-#{$global-left}-radius: $global-radius;\n border-top-#{$global-right}-radius: 0;\n border-bottom-#{$global-left}-radius: $global-radius;\n }\n\n &:last-child {\n border-top-#{$global-right}-radius: $global-radius;\n border-bottom-#{$global-right}-radius: $global-radius;\n border-bottom-#{$global-left}-radius: 0;\n }\n }\n\n }\n}\n\n@mixin foundation-button-group {\n .button-group {\n @include button-group;\n\n // Sizes\n @each $size, $value in map-remove($button-sizes, default) {\n &.#{$size} #{$buttongroup-child-selector} {\n font-size: $value;\n }\n }\n\n // Even-width Group\n &.expanded {\n @include button-group-expand;\n }\n\n // Colors\n @each $name, $color in $button-palette {\n @if $button-fill != hollow {\n &.#{$name} #{$buttongroup-child-selector} {\n @include button-style($color, auto, auto);\n }\n }\n @else {\n &.#{$name} #{$buttongroup-child-selector} {\n @include button-hollow;\n @include button-hollow-style($color);\n }\n }\n }\n\n &.stacked,\n &.stacked-for-small,\n &.stacked-for-medium {\n @include button-group-stack;\n\n &.expanded {\n @include button-group-expand;\n }\n }\n\n &.stacked-for-small {\n @include breakpoint(medium) {\n @include button-group-unstack;\n }\n }\n\n &.stacked-for-medium {\n @include breakpoint(large) {\n @include button-group-unstack;\n }\n }\n\n &.stacked-for-small.expanded {\n @include breakpoint(small only) {\n display: block;\n\n #{$buttongroup-child-selector} {\n display: block;\n margin-#{$global-right}: 0;\n }\n }\n }\n\n &.stacked-for-medium.expanded {\n @include breakpoint(medium down) {\n display: block;\n\n #{$buttongroup-child-selector} {\n display: block;\n margin-#{$global-right}: 0;\n }\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group close-button\n////\n\n/// Default position of the close button. The first value should be `right` or `left`, and the second value should be `top` or `bottom`.\n/// @type List\n$closebutton-position: right top !default;\n\n/// Right (or left) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-horizontal: (\n small: 0.66rem,\n medium: 1rem,\n) !default;\n\n/// Top (or bottom) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-vertical: (\n small: 0.33em,\n medium: 0.5rem,\n) !default;\n\n/// Default font size(s) of the close button.\n/// @type Number|Map\n$closebutton-size: (\n small: 1.5em,\n medium: 2em,\n) !default;\n\n/// The line-height of the close button. It affects the spacing of the element.\n/// @type Number\n$closebutton-lineheight: 1 !default;\n\n/// Default color of the close button.\n/// @type Color\n$closebutton-color: $dark-gray !default;\n\n/// Default color of the close button when being hovered on.\n/// @type Color\n$closebutton-color-hover: $black !default;\n\n\n/// Get the size and position for a close button. If the input value is a number, the number is returned. If the input value is a config map and the map has the key `$size`, the value is returned.\n///\n/// @param {Number|Map} $value - A number or map that represents the size or position value(s) of the close button.\n/// @param {Keyword} $size - The size of the close button to use.\n///\n/// @return {Number} The given number or the value found in the map.\n@function -zf-get-size-val($value, $size) {\n // Check if the value is a number\n @if type-of($value) == 'number' {\n // If it is, just return the number\n @return $value;\n }\n\n // Check if the size name exists in the value map\n @else if map-has-key($value, $size) {\n // If it does, return the value\n @return map-get($value, $size);\n }\n}\n\n/// Sets the size and position of a close button.\n/// @param {Keyword} $size [medium] - The size to use. Set to `small` to create a small close button. The 'medium' values defined in `$closebutton-*` variables will be used as the default size and position of the close button.\n@mixin close-button-size($size) {\n $x: nth($closebutton-position, 1);\n $y: nth($closebutton-position, 2);\n\n #{$x}: -zf-get-size-val($closebutton-offset-horizontal, $size);\n #{$y}: -zf-get-size-val($closebutton-offset-vertical, $size);\n font-size: -zf-get-size-val($closebutton-size, $size);\n line-height: -zf-get-size-val($closebutton-lineheight, $size);\n}\n\n/// Adds styles for a close button, using the styles in the settings variables.\n@mixin close-button {\n $x: nth($closebutton-position, 1);\n $y: nth($closebutton-position, 2);\n\n @include disable-mouse-outline;\n position: absolute;\n color: $closebutton-color;\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: $closebutton-color-hover;\n }\n}\n\n@mixin foundation-close-button {\n .close-button {\n @include close-button;\n\n &.small { @include close-button-size(small) }\n &, &.medium { @include close-button-size(medium) }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group label\n////\n\n/// Default background color for labels.\n/// @type Color\n$label-background: $primary-color !default;\n\n/// Default text color for labels.\n/// @type Color\n$label-color: $white !default;\n\n/// Alternate text color for labels.\n/// @type Color\n$label-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$label-palette: $foundation-palette !default;\n\n/// Default font size for labels.\n/// @type Number\n$label-font-size: 0.8rem !default;\n\n/// Default padding inside labels.\n/// @type Number\n$label-padding: 0.33333rem 0.5rem !default;\n\n/// Default radius of labels.\n/// @type Number\n$label-radius: $global-radius !default;\n\n/// Generates base styles for a label.\n@mixin label {\n display: inline-block;\n padding: $label-padding;\n\n border-radius: $label-radius;\n\n font-size: $label-font-size;\n line-height: 1;\n white-space: nowrap;\n cursor: default;\n}\n\n@mixin foundation-label {\n .label {\n @include label;\n\n background: $label-background;\n color: $label-color;\n\n @each $name, $color in $label-palette {\n &.#{$name} {\n background: $color;\n color: color-pick-contrast($color, ($label-color, $label-color-alt));\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Adds styles for a progress bar container.\n@mixin progress-container {\n height: $progress-height;\n margin-bottom: $progress-margin-bottom;\n border-radius: $progress-radius;\n background-color: $progress-background;\n}\n\n/// Adds styles for the inner meter of a progress bar.\n@mixin progress-meter {\n position: relative;\n display: block;\n width: 0%;\n height: 100%;\n background-color: $progress-meter-background;\n\n @if has-value($progress-radius) {\n border-radius: $global-radius;\n }\n}\n\n/// Adds styles for text in the progress meter.\n@mixin progress-meter-text {\n @include absolute-center;\n margin: 0;\n font-size: 0.75rem;\n font-weight: bold;\n color: $white;\n white-space: nowrap;\n\n @if has-value($progress-radius) {\n border-radius: $progress-radius;\n }\n}\n\n@mixin foundation-progress-bar {\n // Progress bar\n .progress {\n @include progress-container;\n\n @each $name, $color in $foundation-palette {\n &.#{$name} {\n .progress-meter {\n background-color: $color;\n }\n }\n }\n }\n\n // Inner meter\n .progress-meter {\n @include progress-meter;\n }\n\n // Inner meter text\n .progress-meter-text {\n @include progress-meter-text;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// [TODO] Check how plugin confirms disabled or vertical status\n// [TODO] Check if transition: all; is necessary\n\n////\n/// @group slider\n////\n\n/// Default slider width of a vertical slider. (Doesn't apply to the native slider.)\n/// @type Number\n$slider-width-vertical: 0.5rem !default;\n\n/// Transition properties to apply to the slider handle and fill. (Doesn't apply to the native slider.)\n/// @type Transition\n$slider-transition: all 0.2s ease-in-out !default;\n\n/// Adds the general styles for sliders.\n@mixin slider-container {\n position: relative;\n height: $slider-height;\n margin-top: 1.25rem;\n margin-bottom: 2.25rem;\n\n background-color: $slider-background;\n cursor: pointer;\n user-select: none;\n touch-action: none;\n}\n\n/// Adds the general styles for active fill for sliders.\n@mixin slider-fill {\n position: absolute;\n top: 0;\n left: 0;\n\n display: inline-block;\n max-width: 100%;\n height: $slider-height;\n\n background-color: $slider-fill-background;\n transition: $slider-transition;\n\n &.is-dragging {\n transition: all 0s linear;\n }\n}\n\n/// Adds the general styles for the slider handles.\n@mixin slider-handle {\n @include disable-mouse-outline;\n @include vertical-center;\n left: 0;\n z-index: 1;\n\n display: inline-block;\n width: $slider-handle-width;\n height: $slider-handle-height;\n\n border-radius: $slider-radius;\n background-color: $slider-handle-background;\n transition: $slider-transition;\n touch-action: manipulation;\n\n &:hover {\n background-color: scale-color($slider-handle-background, $lightness: -15%);\n }\n\n &.is-dragging {\n transition: all 0s linear;\n }\n}\n\n@mixin slider-disabled {\n opacity: $slider-opacity-disabled;\n cursor: not-allowed;\n}\n\n@mixin slider-vertical {\n display: inline-block;\n width: $slider-width-vertical;\n height: 12.5rem;\n margin: 0 1.25rem;\n transform: scale(1, -1);\n\n .slider-fill {\n top: 0;\n width: $slider-width-vertical;\n max-height: 100%;\n }\n\n .slider-handle {\n position: absolute;\n top: 0;\n left: 50%;\n width: $slider-handle-height;\n height: $slider-handle-width;\n transform: translateX(-50%);\n }\n}\n\n@mixin foundation-slider {\n // Container\n .slider {\n @include slider-container;\n }\n\n // Fill area\n .slider-fill {\n @include slider-fill;\n }\n\n // Draggable handle\n .slider-handle {\n @include slider-handle;\n }\n\n // Disabled state\n .slider.disabled,\n .slider[disabled] {\n @include slider-disabled;\n }\n\n // Vertical slider\n .slider.vertical {\n @include slider-vertical;\n }\n\n // RTL support\n @if $global-text-direction == rtl {\n .slider:not(.vertical) {\n transform: scale(-1, 1);\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group switch\n////\n\n/// Background color of a switch.\n/// @type Color\n$switch-background: $medium-gray !default;\n\n/// Background active color of a switch.\n/// @type Color\n$switch-background-active: $primary-color !default;\n\n/// Height of a switch, with no class applied.\n/// @type Number\n$switch-height: 2rem !default;\n\n/// Height of a switch with .tiny class.\n/// @type Number\n$switch-height-tiny: 1.5rem !default;\n\n/// Height of a switch with .small class.\n/// @type Number\n$switch-height-small: 1.75rem !default;\n\n/// Height of a switch with .large class.\n/// @type Number\n$switch-height-large: 2.5rem !default;\n\n/// Border radius of the switch\n/// @type Number\n$switch-radius: $global-radius !default;\n\n/// border around a modal.\n/// @type Number\n$switch-margin: $global-margin !default;\n\n/// Background color for the switch container and paddle.\n/// @type Color\n$switch-paddle-background: $white !default;\n\n/// Spacing between a switch paddle and the edge of the body.\n/// @type Number\n$switch-paddle-offset: 0.25rem !default;\n\n/// border radius of the switch paddle\n/// @type Number\n$switch-paddle-radius: $global-radius !default;\n\n/// switch transition.\n/// @type Number\n$switch-paddle-transition: all 0.25s ease-out !default;\n\n// make them variables\n// ask about accessibility on label\n// change class name for text\n\n/// Adds styles for a switch container. Apply this to a container class.\n@mixin switch-container {\n position: relative;\n margin-bottom: $switch-margin;\n outline: 0;\n\n // These properties cascade down to the switch text\n font-size: rem-calc(14);\n font-weight: bold;\n color: $white;\n\n user-select: none;\n}\n\n/// Adds styles for a switch input. Apply this to an `<input>` within a switch.\n@mixin switch-input {\n position: absolute;\n margin-bottom: 0;\n opacity: 0;\n}\n\n/// Adds styles for the background and paddle of a switch. Apply this to a `<label>` within a switch.\n@mixin switch-paddle {\n $switch-width: $switch-height * 2;\n $paddle-height: $switch-height - ($switch-paddle-offset * 2);\n $paddle-width: $switch-height - ($switch-paddle-offset * 2);\n $paddle-active-offest: $switch-width - $paddle-width - $switch-paddle-offset;\n\n position: relative;\n display: block;\n width: $switch-width;\n height: $switch-height;\n\n border-radius: $switch-radius;\n background: $switch-background;\n transition: $switch-paddle-transition;\n\n // Resetting these <label> presets so type styles cascade down\n font-weight: inherit;\n color: inherit;\n\n cursor: pointer;\n\n // Needed to override specificity\n input + & {\n margin: 0;\n }\n\n // The paddle itself\n &::after {\n position: absolute;\n top: $switch-paddle-offset;\n #{$global-left}: $switch-paddle-offset;\n\n display: block;\n width: $paddle-width;\n height: $paddle-height;\n\n transform: translate3d(0, 0, 0);\n border-radius: $switch-paddle-radius;\n background: $switch-paddle-background;\n transition: $switch-paddle-transition;\n content: '';\n }\n\n // Change the visual style when the switch is active\n input:checked ~ & {\n background: $switch-background-active;\n\n &::after {\n #{$global-left}: $paddle-active-offest;\n }\n }\n\n input:focus ~ & {\n @include disable-mouse-outline;\n }\n}\n\n/// Adds base styles for active/inactive text inside a switch. Apply this to text elements inside the switch `<label>`.\n@mixin switch-text {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n/// Adds styles for the active state text within a switch.\n@mixin switch-text-active {\n #{$global-left}: 8%;\n display: none;\n\n input:checked + label > & {\n display: block;\n }\n}\n\n/// Adds styles for the inactive state text within a switch.\n@mixin switch-text-inactive {\n #{$global-right}: 15%;\n\n input:checked + label > & {\n display: none;\n }\n}\n\n/// Changes the size of a switch by modifying the size of the body and paddle. Apply this to a switch container.\n/// @param {Number} $font-size [1rem] - Font size of label text within the switch.\n/// @param {Number} $switch-height [2rem] - Height of the switch body.\n/// @param {Number} $paddle-offset [0.25rem] - Spacing between the switch paddle and the edge of the switch body.\n@mixin switch-size(\n $font-size: 1rem,\n $switch-height: 2rem,\n $paddle-offset: 0.25rem\n) {\n\n $switch-width: $switch-height * 2;\n $paddle-width: $switch-height - ($paddle-offset * 2);\n $paddle-height: $switch-height - ($paddle-offset * 2);\n $paddle-active-offest: $switch-width - $paddle-width - $paddle-offset;\n\n height: $switch-height;\n\n .switch-paddle {\n width: $switch-width;\n height: $switch-height;\n font-size: $font-size;\n }\n\n .switch-paddle::after {\n top: $paddle-offset;\n #{$global-left}: $paddle-offset;\n width: $paddle-width;\n height: $paddle-height;\n }\n\n input:checked ~ .switch-paddle::after {\n #{$global-left}: $paddle-active-offest;\n }\n}\n\n@mixin foundation-switch {\n // Container class\n .switch {\n height: $switch-height;\n @include switch-container;\n }\n\n // <input> element\n .switch-input {\n @include switch-input;\n }\n\n // <label> element\n .switch-paddle {\n @include switch-paddle;\n }\n\n // Base label text styles\n %switch-text {\n @include switch-text;\n }\n\n // Active label text styles\n .switch-active {\n @extend %switch-text;\n @include switch-text-active;\n }\n\n // Inactive label text styles\n .switch-inactive {\n @extend %switch-text;\n @include switch-text-inactive;\n }\n\n // Switch sizes\n .switch.tiny {\n @include switch-size(rem-calc(10), $switch-height-tiny, $switch-paddle-offset);\n }\n\n .switch.small {\n @include switch-size(rem-calc(12), $switch-height-small, $switch-paddle-offset);\n }\n\n .switch.large {\n @include switch-size(rem-calc(16), $switch-height-large, $switch-paddle-offset);\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable no-qualifying-elements\n\n////\n/// @group table\n////\n\n/// Default color for table background.\n/// @type Color\n$table-background: $white !default;\n\n/// Default scale for darkening the striped table rows and the table border.\n/// @type Number\n$table-color-scale: 5% !default;\n\n/// Default style for table border.\n/// @type List\n$table-border: 1px solid smart-scale($table-background, $table-color-scale) !default;\n\n/// Default padding for table.\n/// @type Number\n$table-padding: rem-calc(8 10 10) !default;\n\n/// Default scale for darkening the table rows on hover.\n/// @type Number\n$table-hover-scale: 2% !default;\n\n/// Default color of standard rows on hover.\n/// @type List\n$table-row-hover: darken($table-background, $table-hover-scale) !default;\n\n/// Default color of striped rows on hover.\n/// @type List\n$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale) !default;\n\n/// If `true`, tables are striped by default and an .unstriped class is created. If `false`, a .striped class is created.\n/// @type Boolean\n$table-is-striped: true !default;\n\n/// Default background color for striped rows.\n/// @type Color\n$table-striped-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default value for showing the stripe on rows of the tables, excluding the header and footer. If even, the even rows will have a background color. If odd, the odd rows will have a background color. If empty, or any other value, the table rows will have no striping.\n/// @type Keyword\n$table-stripe: even !default;\n\n/// Default color for header background.\n/// @type Color\n$table-head-background: smart-scale($table-background, $table-color-scale / 2) !default;\n\n/// Default color of header rows on hover.\n/// @type List\n$table-head-row-hover: darken($table-head-background, $table-hover-scale) !default;\n\n/// Default color for footer background.\n/// @type Color\n$table-foot-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default color of footer rows on hover.\n/// @type List\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale) !default;\n\n/// Default font color for header.\n/// @type Color\n$table-head-font-color: $body-font-color !default;\n\n/// Default font color for footer.\n/// @type Color\n$table-foot-font-color: $body-font-color !default;\n\n/// Default value for showing the header when using stacked tables.\n/// @type Boolean\n$show-header-for-stacked: false !default;\n\n/// Breakpoint at which stacked table switches from mobile to desktop view.\n/// @type Breakpoint\n$table-stack-breakpoint: medium !default;\n\n@mixin -zf-table-stripe($stripe: $table-stripe) {\n tr {\n // If stripe is set to even, darken the even rows.\n @if $stripe == even {\n &:nth-child(even) {\n border-bottom: 0;\n background-color: $table-striped-background;\n }\n }\n\n // If stripe is set to odd, darken the odd rows.\n @else if $stripe == odd {\n &:nth-child(odd) {\n background-color: $table-striped-background;\n }\n }\n }\n}\n\n@mixin -zf-table-unstripe() {\n tr {\n border-bottom: 0;\n border-bottom: $table-border;\n background-color: $table-background;\n }\n}\n\n@mixin -zf-table-children-styles($stripe: $table-stripe, $is-striped: $table-is-striped) {\n thead,\n tbody,\n tfoot {\n border: $table-border;\n background-color: $table-background;\n }\n\n // Caption\n caption {\n padding: $table-padding;\n font-weight: $global-weight-bold;\n }\n\n // Table head\n thead {\n background: $table-head-background;\n color: $table-head-font-color;\n }\n\n // Table foot\n tfoot {\n background: $table-foot-background;\n color: $table-foot-font-color;\n }\n\n // Table head and foot\n thead,\n tfoot {\n // Rows within head and foot\n tr {\n background: transparent;\n }\n\n // Cells within head and foot\n th,\n td {\n padding: $table-padding;\n font-weight: $global-weight-bold;\n text-align: #{$global-left};\n }\n }\n\n // Table rows\n tbody {\n th,\n td {\n padding: $table-padding;\n }\n }\n\n // If tables are striped\n @if $is-striped == true {\n tbody {\n @include -zf-table-stripe($stripe);\n }\n\n &.unstriped {\n tbody {\n @include -zf-table-unstripe();\n background-color: $table-background;\n }\n }\n }\n\n // If tables are not striped\n @else if $is-striped == false {\n tbody {\n @include -zf-table-unstripe();\n }\n\n &.striped {\n tbody {\n @include -zf-table-stripe($stripe);\n }\n }\n }\n}\n\n/// Adds the general styles for tables.\n/// @param {Keyword} $stripe [$table-stripe] - Uses keywords even, odd, or none to darken rows of the table. The default value is even.\n@mixin table(\n $stripe: $table-stripe,\n $nest: false\n) {\n border-collapse: collapse;\n width: 100%;\n margin-bottom: $global-margin;\n border-radius: $global-radius;\n\n @if $nest {\n @include -zf-table-children-styles($stripe);\n }\n @else {\n @at-root {\n @include -zf-table-children-styles($stripe);\n }\n }\n}\n\n/// Adds the ability to horizontally scroll the table when the content overflows horizontally.\n@mixin table-scroll {\n display: block;\n width: 100%;\n overflow-x: auto;\n}\n\n/// Slightly darkens the table rows on hover.\n@mixin table-hover {\n thead tr {\n //Darkens the table header rows on hover.\n &:hover {\n background-color: $table-head-row-hover;\n }\n }\n\n tfoot tr {\n //Darkens the table footer rows on hover.\n &:hover {\n background-color: $table-foot-row-hover;\n }\n }\n\n tbody tr {\n //Darkens the non-striped table rows on hover.\n &:hover {\n background-color: $table-row-hover;\n }\n }\n\n @if $table-is-striped == true {\n // Darkens the even striped table rows.\n @if($table-stripe == even) {\n &:not(.unstriped) tr:nth-of-type(even):hover {\n background-color: $table-row-stripe-hover;\n }\n }\n\n // Darkens the odd striped table rows.\n @else if($table-stripe == odd) {\n &:not(.unstriped) tr:nth-of-type(odd):hover {\n background-color: $table-row-stripe-hover;\n }\n }\n }\n\n @else if $table-is-striped == false {\n // Darkens the even striped table rows.\n @if($table-stripe == even) {\n &.striped tr:nth-of-type(even):hover {\n background-color: $table-row-stripe-hover;\n }\n }\n\n // Darkens the odd striped table rows.\n @else if($table-stripe == odd) {\n &.striped tr:nth-of-type(odd):hover {\n background-color: $table-row-stripe-hover;\n }\n }\n }\n}\n\n/// Adds styles for a stacked table. Useful for small-screen layouts.\n/// @param {Boolean} $header [$show-header-for-stacked] - Show the first th of header when stacked.\n@mixin table-stack($header: $show-header-for-stacked) {\n @if $header {\n thead {\n th {\n display: block;\n }\n }\n }\n @else {\n thead {\n display: none;\n }\n }\n\n tfoot {\n display: none;\n }\n\n tr,\n th,\n td {\n display: block;\n }\n\n td {\n border-top: 0;\n }\n}\n\n@mixin foundation-table($nest: false) {\n table {\n @include table($nest: $nest);\n }\n\n table.stack {\n @include breakpoint($table-stack-breakpoint down) {\n @include table-stack;\n }\n }\n\n table.scroll {\n @include table-scroll;\n }\n\n table.hover {\n @include table-hover;\n }\n\n .table-scroll {\n overflow-x: auto;\n\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'math';\n\n$contrast-warnings: true !default;\n\n////\n/// @group functions\n////\n\n/// Checks the luminance of `$color`.\n///\n/// @param {Color} $color - Color to check the luminance of.\n///\n/// @returns {Number} The luminance of `$color`.\n@function color-luminance($color) {\n // Adapted from: https://github.com/LeaVerou/contrast-ratio/blob/gh-pages/color.js\n // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n $rgba: red($color), green($color), blue($color);\n $rgba2: ();\n\n @for $i from 1 through 3 {\n $rgb: nth($rgba, $i);\n $rgb: $rgb / 255;\n\n $rgb: if($rgb < 0.03928, $rgb / 12.92, pow(($rgb + 0.055) / 1.055, 2.4));\n\n $rgba2: append($rgba2, $rgb);\n }\n\n @return 0.2126 * nth($rgba2, 1) + 0.7152 * nth($rgba2, 2) + 0.0722 * nth($rgba2, 3);\n}\n\n/// Checks the contrast ratio of two colors.\n///\n/// @param {Color} $color1 - First color to compare.\n/// @param {Color} $color2 - Second color to compare.\n///\n/// @returns {Number} The contrast ratio of the compared colors.\n@function color-contrast($color1, $color2) {\n // Adapted from: https://github.com/LeaVerou/contrast-ratio/blob/gh-pages/color.js\n // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n $luminance1: color-luminance($color1) + 0.05;\n $luminance2: color-luminance($color2) + 0.05;\n $ratio: $luminance1 / $luminance2;\n\n @if $luminance2 > $luminance1 {\n $ratio: 1 / $ratio;\n }\n\n $ratio: round($ratio * 10) / 10;\n\n @return $ratio;\n}\n\n/// Checks the luminance of `$base`, and returns the color from `$colors` (list of colors) that has the most contrast.\n///\n/// @param {Color} $base - Color to check luminance.\n/// @param {List} $colors [($white, $black)] - Colors to compare.\n/// @param {Number} $tolerance [$global-color-pick-contrast-tolerance] - Contrast tolerance.\n///\n/// @returns {Color} the color from `$colors` (list of colors) that has the most contrast.\n@function color-pick-contrast($base, $colors: ($white, $black), $tolerance: $global-color-pick-contrast-tolerance) {\n $contrast: color-contrast($base, nth($colors, 1));\n $best: nth($colors, 1);\n\n @for $i from 2 through length($colors) {\n $current-contrast: color-contrast($base, nth($colors, $i));\n @if ($current-contrast - $contrast > $tolerance) {\n $contrast: color-contrast($base, nth($colors, $i));\n $best: nth($colors, $i);\n }\n }\n\n @if ($contrast-warnings and $contrast < 3) {\n @warn \"Contrast ratio of #{$best} on #{$base} is pretty bad, just #{$contrast}\";\n }\n\n @return $best;\n}\n\n/// Scales a color to be darker if it's light, or lighter if it's dark. Use this function to tint a color appropriate to its lightness.\n///\n/// @param {Color} $color - Color to scale.\n/// @param {Percentage} $scale [5%] - Amount to scale up or down.\n/// @param {Percentage} $threshold [40%] - Threshold of lightness to check against.\n///\n/// @returns {Color} A scaled color.\n@function smart-scale($color, $scale: 5%, $threshold: 40%) {\n @if lightness($color) > $threshold {\n $scale: -$scale;\n }\n @return scale-color($color, $lightness: $scale);\n}\n\n/// Get color from foundation-palette\n///\n/// @param {key} color key from foundation-palette\n///\n/// @returns {Color} color from foundation-palette\n@function get-color($key) {\n @if map-has-key($foundation-palette, $key) {\n @return map-get($foundation-palette, $key);\n }\n @else {\n @error 'given $key is not available in $foundation-palette';\n }\n}\n\n/// Transfers the colors in the `$foundation-palette` map into variables, such as `$primary-color` and `$secondary-color`. Call this mixin below the Global section of your settings file to properly migrate your codebase.\n@mixin add-foundation-colors() {\n @if map-has-key($foundation-palette, primary) {\n $primary-color: map-get($foundation-palette, primary) !global;\n } @else {\n $primary-color: #1779ba !global;\n }\n @if map-has-key($foundation-palette, secondary) {\n $secondary-color: map-get($foundation-palette, secondary) !global;\n } @else {\n $secondary-color: #767676 !global;\n }\n @if map-has-key($foundation-palette, success) {\n $success-color: map-get($foundation-palette, success) !global;\n } @else {\n $success-color: #3adb76 !global;\n }\n @if map-has-key($foundation-palette, warning) {\n $warning-color: map-get($foundation-palette, warning) !global;\n } @else {\n $warning-color: #ffae00 !global;\n }\n @if map-has-key($foundation-palette, alert) {\n $alert-color: map-get($foundation-palette, alert) !global;\n } @else {\n $alert-color: #cc4b37 !global;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group badge\n////\n\n/// Default background color for badges.\n/// @type Color\n$badge-background: $primary-color !default;\n\n/// Default text color for badges.\n/// @type Color\n$badge-color: $white !default;\n\n/// Alternate text color for badges.\n/// @type Color\n$badge-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$badge-palette: $foundation-palette !default;\n\n/// Default padding inside badges.\n/// @type Number\n$badge-padding: 0.3em !default;\n\n/// Minimum width of a badge.\n/// @type Number\n$badge-minwidth: 2.1em !default;\n\n/// Default font size for badges.\n/// @type Number\n$badge-font-size: 0.6rem !default;\n\n/// Generates the base styles for a badge.\n@mixin badge {\n display: inline-block;\n min-width: $badge-minwidth;\n padding: $badge-padding;\n\n border-radius: 50%;\n\n font-size: $badge-font-size;\n text-align: center;\n}\n\n@mixin foundation-badge {\n .badge {\n @include badge;\n\n background: $badge-background;\n color: $badge-color;\n\n @each $name, $color in $badge-palette {\n &.#{$name} {\n background: $color;\n color: color-pick-contrast($color, ($badge-color, $badge-color-alt));\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breadcrumbs\n////\n\n/// Margin around a breadcrumbs container.\n/// @type Number\n$breadcrumbs-margin: 0 0 $global-margin 0 !default;\n\n/// Font size of breadcrumb links.\n/// @type Number\n$breadcrumbs-item-font-size: rem-calc(11) !default;\n\n/// Color of breadcrumb links.\n/// @type Color\n$breadcrumbs-item-color: $primary-color !default;\n\n/// Color of the active breadcrumb link.\n/// @type Color\n$breadcrumbs-item-color-current: $black !default;\n\n/// Opacity of disabled breadcrumb links.\n/// @type Number\n$breadcrumbs-item-color-disabled: $medium-gray !default;\n\n/// Margin between breadcrumb items.\n/// @type Number\n$breadcrumbs-item-margin: 0.75rem !default;\n\n/// If `true`, makes breadcrumb links uppercase.\n/// @type Boolean\n$breadcrumbs-item-uppercase: true !default;\n\n/// If `true`, adds a seperator between breadcrumb links.\n/// @type Boolean\n$breadcrumbs-item-separator: true !default;\n\n// If it exists $breadcrumbs-item-slash is used to build $breadcrumbs-item-separator. See the documentation.\n@if variable-exists(breadcrumbs-item-slash) {\n $breadcrumbs-item-separator: $breadcrumbs-item-slash;\n}\n\n/// Used character for the breadcrumb separator.\n/// @type Content\n$breadcrumbs-item-separator-item: '/' !default;\n\n/// Used character for the breadcrumb separator in rtl mode.\n/// @type Content\n$breadcrumbs-item-separator-item-rtl: '\\\\' !default;\n\n/// Color of breadcrumb item.\n/// @type Color\n$breadcrumbs-item-separator-color: $medium-gray !default;\n\n// If it exists $breadcrumbs-item-slash-color is used to build $breadcrumbs-item-separator-color. See the documentation.\n@if variable-exists(breadcrumbs-item-slash-color) {\n $breadcrumbs-item-separator-color: $breadcrumbs-item-slash-color;\n}\n\n/// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.\n@mixin breadcrumbs-container {\n @include clearfix;\n margin: $breadcrumbs-margin;\n list-style: none;\n\n // Item wrapper\n li {\n float: #{$global-left};\n\n font-size: $breadcrumbs-item-font-size;\n color: $breadcrumbs-item-color-current;\n cursor: default;\n\n @if $breadcrumbs-item-uppercase {\n text-transform: uppercase;\n }\n\n @if $breadcrumbs-item-separator {\n // Need to escape the backslash\n $separator: if($global-text-direction == 'ltr', $breadcrumbs-item-separator-item, $breadcrumbs-item-separator-item-rtl);\n\n &:not(:last-child) {\n &::after {\n position: relative;\n margin: 0 $breadcrumbs-item-margin;\n opacity: 1;\n content: $separator;\n color: $breadcrumbs-item-separator-color;\n }\n }\n }\n @else {\n margin-#{$global-right}: $breadcrumbs-item-margin;\n }\n }\n\n // Page links\n a {\n color: $breadcrumbs-item-color;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n@mixin foundation-breadcrumbs {\n .breadcrumbs {\n @include breadcrumbs-container;\n\n .disabled {\n color: $breadcrumbs-item-color-disabled;\n cursor: not-allowed;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group callout\n////\n\n/// Default background color.\n/// @type Color\n$callout-background: $white !default;\n\n/// Default fade value for callout backgrounds.\n/// @type Number\n$callout-background-fade: 85% !default;\n\n/// Default border style for callouts.\n/// @type List\n$callout-border: 1px solid rgba($black, 0.25) !default;\n\n/// Default bottom margin for callouts.\n/// @type Number\n$callout-margin: 0 0 1rem 0 !default;\n\n/// Default inner padding for callouts.\n/// @type Number\n$callout-padding: 1rem !default;\n\n/// Default font color for callouts.\n/// @type Color\n$callout-font-color: $body-font-color !default;\n\n/// Default font color for callouts, if the callout has a dark background.\n/// @type Color\n$callout-font-color-alt: $body-background !default;\n\n/// Default border radius for callouts.\n/// @type Color\n$callout-radius: $global-radius !default;\n\n/// Amount to tint links used within colored panels. Set to `false` to disable this feature.\n/// @type Number | Boolean\n$callout-link-tint: 30% !default;\n\n/// Adds basic styles for a callout, including padding and margin.\n@mixin callout-base() {\n position: relative;\n margin: $callout-margin;\n padding: $callout-padding;\n\n border: $callout-border;\n border-radius: $callout-radius;\n\n // Respect the padding, fool.\n > :first-child {\n margin-top: 0;\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n/// Generate quick styles for a callout using a single color as a baseline.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout-style($color: $callout-background) {\n $background: scale-color($color, $lightness: $callout-background-fade);\n\n background-color: $background;\n color: color-pick-contrast($background, ($callout-font-color, $callout-font-color-alt));\n}\n\n@mixin callout-size($padding) {\n padding-top: $padding;\n padding-right: $padding;\n padding-bottom: $padding;\n padding-left: $padding;\n}\n\n\n/// Adds styles for a callout.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout($color: $callout-background) {\n @include callout-base;\n @include callout-style($color);\n}\n\n@mixin foundation-callout {\n .callout {\n @include callout;\n\n @each $name, $color in $foundation-palette {\n &.#{$name} {\n @include callout-style($color);\n }\n }\n\n &.small {\n @include callout-size(0.5rem);\n }\n\n &.large {\n @include callout-size(3rem);\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group card\n////\n\n/// Default background color.\n/// @type Color\n$card-background: $white !default;\n\n/// Default font color for cards.\n/// @type Color\n$card-font-color: $body-font-color !default;\n\n/// Default background.\n/// @type Color\n$card-divider-background: $light-gray !default;\n\n/// Default border style.\n/// @type List\n$card-border: 1px solid $light-gray !default;\n\n/// Default card shadow.\n/// @type List\n$card-shadow: none !default;\n\n/// Default border radius.\n/// @type List\n$card-border-radius: $global-radius !default;\n\n/// Default padding.\n/// @type Number\n$card-padding: $global-padding !default;\n\n/// Default bottom margin.\n/// @type number\n$card-margin-bottom: $global-margin !default;\n\n/// Adds styles for a card container.\n/// @param {Color} $background - Background color of the card.\n/// @param {Color} $color - font color of the card.\n/// @param {Number} $margin - Bottom margin of the card.\n/// @param {List} $border - Border around the card.\n/// @param {List} $radius - border radius of the card.\n/// @param {List} $shadow - box shadow of the card.\n@mixin card-container(\n $background: $card-background,\n $color: $card-font-color,\n $margin: $card-margin-bottom,\n $border: $card-border,\n $radius: $card-border-radius,\n $shadow: $card-shadow\n) {\n @if $global-flexbox {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n }\n\n margin-bottom: $margin;\n\n border: $border;\n border-radius: $radius;\n\n background: $background;\n box-shadow: $shadow;\n\n overflow: hidden;\n color: $color;\n\n & > :last-child {\n margin-bottom: 0;\n }\n}\n\n/// Adds styles for a card divider.\n@mixin card-divider(\n $background: $card-divider-background,\n $padding: $card-padding\n) {\n @if $global-flexbox {\n display: flex;\n flex: 0 1 auto;\n }\n\n padding: $padding;\n background: $background;\n\n & > :last-child {\n margin-bottom: 0;\n }\n}\n\n/// Adds styles for a card section.\n@mixin card-section(\n $padding: $card-padding\n) {\n @if $global-flexbox {\n flex: 1 0 auto;\n }\n\n padding: $padding;\n\n & > :last-child {\n margin-bottom: 0;\n }\n}\n\n@mixin foundation-card {\n .card {\n @include card-container;\n }\n\n .card-divider {\n @include card-divider;\n }\n\n .card-section {\n @include card-section;\n }\n\n // For IE 11 - Flexbug\n // https://github.com/philipwalton/flexbugs/issues/75\n .card-image {\n min-height: 1px;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown\n////\n\n/// Padding for dropdown panes.\n/// @type List\n$dropdown-padding: 1rem !default;\n\n/// Background for dropdown panes.\n/// @type Color\n$dropdown-background: $body-background !default;\n\n/// Border for dropdown panes.\n/// @type List\n$dropdown-border: 1px solid $medium-gray !default;\n\n/// Font size for dropdown panes.\n/// @type List\n$dropdown-font-size: 1rem !default;\n\n/// Width for dropdown panes.\n/// @type Number\n$dropdown-width: 300px !default;\n\n/// Border radius dropdown panes.\n/// @type Number\n$dropdown-radius: $global-radius !default;\n\n/// Sizes for dropdown panes. Each size is a CSS class you can apply.\n/// @type Map\n$dropdown-sizes: (\n tiny: 100px,\n small: 200px,\n large: 400px,\n) !default;\n\n/// Applies styles for a basic dropdown.\n@mixin dropdown-container {\n position: absolute;\n z-index: 10;\n\n display: none;\n\n width: $dropdown-width;\n padding: $dropdown-padding;\n\n visibility: hidden;\n border: $dropdown-border;\n border-radius: $dropdown-radius;\n background-color: $dropdown-background;\n\n font-size: $dropdown-font-size;\n\n\n // Allow an intermittent state to do positioning before making visible.\n &.is-opening {\n display: block;\n }\n\n &.is-open {\n display: block;\n visibility: visible;\n }\n}\n\n@mixin foundation-dropdown {\n .dropdown-pane {\n @include dropdown-container;\n }\n\n @each $name, $size in $dropdown-sizes {\n .dropdown-pane {\n &.#{$name} {\n width: $size;\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group pagination\n////\n\n/// Font size of pagination items.\n/// @type Number\n$pagination-font-size: rem-calc(14) !default;\n\n/// Default bottom margin of the pagination object.\n/// @type Number\n$pagination-margin-bottom: $global-margin !default;\n\n/// Text color of pagination items.\n/// @type Color\n$pagination-item-color: $black !default;\n\n/// Padding inside of pagination items.\n/// @type Number\n$pagination-item-padding: rem-calc(3 10) !default;\n\n/// Right margin to separate pagination items.\n/// @type Number\n$pagination-item-spacing: rem-calc(1) !default;\n\n/// Default radius for pagination items.\n/// @type Number\n$pagination-radius: $global-radius !default;\n\n/// Background color of pagination items on hover.\n/// @type Color\n$pagination-item-background-hover: $light-gray !default;\n\n/// Background color of pagination item for the current page.\n/// @type Color\n$pagination-item-background-current: $primary-color !default;\n\n/// Text color of the pagination item for the current page.\n/// @type Color\n$pagination-item-color-current: $white !default;\n\n/// Text color of a disabled pagination item.\n/// @type Color\n$pagination-item-color-disabled: $medium-gray !default;\n\n/// Color of the ellipsis in a pagination menu.\n/// @type Color\n$pagination-ellipsis-color: $black !default;\n\n/// If `false`, don't display page number links on mobile, only next/previous links\n/// and optionally current page number.\n/// @type Boolean\n$pagination-mobile-items: false !default;\n\n/// If `true`, display the current page number on mobile even if `$pagination-mobile-items` is set to `false`.\n/// This parameter will only override the visibility setting of the current item for `$pagination-mobile-items: false;`,\n/// it will not affect the current page number visibility when `$pagination-mobile-items` is set to `true`.\n/// @type Boolean\n$pagination-mobile-current-item: false !default;\n\n/// If `true`, arrows are added to the next and previous links of pagination.\n/// @type Boolean\n$pagination-arrows: true !default;\n\n/// Adds styles for a pagination container. Apply this to a `<ul>`.\n@mixin pagination-container (\n $margin-bottom: $pagination-margin-bottom,\n $font-size: $pagination-font-size,\n $spacing: $pagination-item-spacing,\n $radius: $pagination-radius,\n $color: $pagination-item-color,\n $padding: $pagination-item-padding,\n $background-hover: $pagination-item-background-hover\n) {\n @include clearfix;\n margin-#{$global-left}: 0;\n margin-bottom: $margin-bottom;\n\n // List item\n li {\n margin-#{$global-right}: $spacing;\n border-radius: $radius;\n font-size: $font-size;\n\n @if $pagination-mobile-items {\n display: inline-block;\n }\n @else {\n display: none;\n\n &:last-child,\n &:first-child {\n display: inline-block;\n }\n\n @if $pagination-mobile-current-item {\n &.current {\n display: inline-block;\n }\n }\n\n @include breakpoint(medium) {\n display: inline-block;\n }\n }\n }\n\n // Page links\n a,\n button {\n display: block;\n padding: $padding;\n border-radius: $radius;\n color: $color;\n\n &:hover {\n background: $background-hover;\n }\n }\n}\n\n/// Adds styles for the current pagination item. Apply this to an `<a>`.\n@mixin pagination-item-current (\n $padding: $pagination-item-padding,\n $background-current: $pagination-item-background-current,\n $color-current: $pagination-item-color-current\n) {\n padding: $padding;\n background: $background-current;\n color: $color-current;\n cursor: default;\n}\n\n/// Adds styles for a disabled pagination item. Apply this to an `<a>`.\n@mixin pagination-item-disabled (\n $padding: $pagination-item-padding,\n $color: $pagination-item-color-disabled\n) {\n padding: $padding;\n color: $color;\n cursor: not-allowed;\n\n &:hover {\n background: transparent;\n }\n}\n\n/// Adds styles for an ellipsis for use in a pagination list.\n@mixin pagination-ellipsis (\n $padding: $pagination-item-padding,\n $color: $pagination-ellipsis-color\n) {\n padding: $padding;\n content: '\\2026';\n color: $color;\n}\n\n@mixin foundation-pagination {\n .pagination {\n @include pagination-container;\n\n .current {\n @include pagination-item-current;\n }\n\n .disabled {\n @include pagination-item-disabled;\n }\n\n .ellipsis::after {\n @include pagination-ellipsis;\n }\n }\n\n @if $pagination-arrows {\n .pagination-previous a::before,\n .pagination-previous.disabled::before {\n display: inline-block;\n margin-#{$global-right}: 0.5rem;\n content: '\\00ab';\n }\n\n .pagination-next a::after,\n .pagination-next.disabled::after {\n display: inline-block;\n margin-#{$global-left}: 0.5rem;\n content: '\\00bb';\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tooltip\n////\n\n/// Default cursor of the defined term.\n/// @type Keyword\n$has-tip-cursor: help !default;\n\n/// Default font weight of the defined term.\n/// @type Keyword | Number\n$has-tip-font-weight: $global-weight-bold !default;\n\n/// Default border bottom of the defined term.\n/// @type List\n$has-tip-border-bottom: dotted 1px $dark-gray !default;\n\n/// Default color of the tooltip background.\n/// @type Color\n$tooltip-background-color: $black !default;\n\n/// Default color of the tooltip font.\n/// @type Color\n$tooltip-color: $white !default;\n\n/// Default padding of the tooltip background.\n/// @type Number\n$tooltip-padding: 0.75rem !default;\n\n/// Default max width for tooltips.\n/// @type Number\n$tooltip-max-width: 10rem !default;\n\n/// Default font size of the tooltip text. By default, we recommend a smaller font size than the body copy.\n/// @type Number\n$tooltip-font-size: $small-font-size !default;\n\n/// Default pip width for tooltips.\n/// @type Number\n$tooltip-pip-width: 0.75rem !default;\n\n/// Default pip height for tooltips. This is helpful for calculating the distance of the tooltip from the tooltip word.\n/// @type Number\n$tooltip-pip-height: $tooltip-pip-width * 0.866 !default;\n\n/// Default radius for tooltips.\n/// @type Number\n$tooltip-radius: $global-radius !default;\n\n@mixin has-tip {\n position: relative;\n display: inline-block;\n\n border-bottom: $has-tip-border-bottom;\n font-weight: $has-tip-font-weight;\n cursor: $has-tip-cursor;\n}\n\n@mixin tooltip {\n position: absolute;\n top: calc(100% + #{$tooltip-pip-height});\n z-index: 1200;\n\n max-width: $tooltip-max-width;\n padding: $tooltip-padding;\n\n border-radius: $tooltip-radius;\n background-color: $tooltip-background-color;\n font-size: $tooltip-font-size;\n color: $tooltip-color;\n\n &::before {\n position: absolute;\n }\n\n &.bottom {\n &::before {\n @include css-triangle($tooltip-pip-width, $tooltip-background-color, up);\n bottom: 100%;\n }\n\n &.align-center::before {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &.top {\n &::before {\n @include css-triangle($tooltip-pip-width, $tooltip-background-color, down);\n top: 100%;\n bottom: auto;\n }\n\n &.align-center::before {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &.left {\n &::before {\n @include css-triangle($tooltip-pip-width, $tooltip-background-color, right);\n left: 100%;\n }\n\n &.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n &.right {\n &::before {\n @include css-triangle($tooltip-pip-width, $tooltip-background-color, left);\n right: 100%;\n left: auto;\n }\n\n &.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n &.align-top::before {\n bottom: auto;\n top: 10%;\n }\n\n &.align-bottom::before {\n bottom: 10%;\n top: auto;\n }\n\n &.align-left::before {\n left: 10%;\n right: auto;\n }\n\n &.align-right::before {\n left: auto;\n right: 10%;\n }\n}\n\n@mixin foundation-tooltip {\n .has-tip {\n @include has-tip;\n }\n\n .tooltip {\n @include tooltip;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group accordion\n////\n\n/// Default background color of an accordion group.\n/// @type Color\n$accordion-background: $white !default;\n\n/// If `true`, adds plus and minus icons to the side of each accordion title.\n/// @type Boolean\n$accordion-plusminus: true !default;\n\n/// Font size of accordion titles.\n/// @type Number\n$accordion-title-font-size: rem-calc(12) !default;\n\n/// Default text color for items in a Menu.\n/// @type Color\n$accordion-item-color: $primary-color !default;\n\n/// Default background color on hover for items in a Menu.\n/// @type Color\n$accordion-item-background-hover: $light-gray !default;\n\n/// Default padding of an accordion item.\n/// @type Number | List\n$accordion-item-padding: 1.25rem 1rem !default;\n\n/// Default background color of tab content.\n/// @type Color\n$accordion-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$accordion-content-border: 1px solid $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$accordion-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$accordion-content-padding: 1rem !default;\n\n/// Adds styles for an accordion container. Apply this to the same element that gets `data-accordion`.\n@mixin accordion-container (\n $background: $accordion-background\n) {\n margin-#{$global-left}: 0;\n background: $background;\n list-style-type: none;\n\n &[disabled] {\n .accordion-title {\n cursor: not-allowed;\n }\n }\n}\n\n/// Adds styles for the accordion item. Apply this to the list item within an accordion ul.\n@mixin accordion-item {\n &:first-child > :first-child {\n border-radius: $global-radius $global-radius 0 0;\n }\n\n &:last-child > :last-child {\n border-radius: 0 0 $global-radius $global-radius;\n }\n}\n\n/// Adds styles for the title of an accordion item. Apply this to the link within an accordion item.\n@mixin accordion-title (\n $padding: $accordion-item-padding,\n $font-size: $accordion-title-font-size,\n $color: $accordion-item-color,\n $border: $accordion-content-border,\n $background-hover: $accordion-item-background-hover\n) {\n position: relative;\n display: block;\n padding: $padding;\n\n border: $border;\n border-bottom: 0;\n\n font-size: $font-size;\n line-height: 1;\n color: $color;\n\n :last-child:not(.is-active) > & {\n border-bottom: $border;\n border-radius: 0 0 $global-radius $global-radius;\n }\n\n &:hover,\n &:focus {\n background-color: $background-hover;\n }\n\n @if $accordion-plusminus {\n &::before {\n position: absolute;\n top: 50%;\n #{$global-right}: 1rem;\n margin-top: -0.5rem;\n content: '+';\n }\n\n .is-active > &::before {\n content: '\\2013';\n }\n }\n}\n\n/// Adds styles for accordion content. Apply this to the content pane below an accordion item's title.\n@mixin accordion-content (\n $padding: $accordion-content-padding,\n $border: $accordion-content-border,\n $background: $accordion-content-background,\n $color: $accordion-content-color\n) {\n display: none;\n padding: $padding;\n\n border: $border;\n border-bottom: 0;\n background-color: $background;\n\n color: $color;\n\n :last-child > &:last-child {\n border-bottom: $border;\n }\n}\n\n@mixin foundation-accordion {\n .accordion {\n @include accordion-container;\n }\n\n .accordion-item {\n @include accordion-item;\n }\n\n .accordion-title {\n @include accordion-title;\n }\n\n .accordion-content {\n @include accordion-content;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group media-object\n////\n\n/// Bottom margin of a media object.\n/// @type Number\n$mediaobject-margin-bottom: $global-margin !default;\n\n/// Left and right padding on sections within a media object.\n/// @type Number\n$mediaobject-section-padding: $global-padding !default;\n\n/// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.\n/// @type Number\n$mediaobject-image-width-stacked: 100% !default;\n\n/// Adds styles for a media object container.\n@mixin media-object-container {\n display: if($global-flexbox, flex, block);\n margin-bottom: $mediaobject-margin-bottom;\n\n @if $global-flexbox {\n flex-wrap: nowrap;\n }\n\n img {\n max-width: none;\n }\n\n @if $global-flexbox {\n &.stack-for-#{$-zf-zero-breakpoint} {\n @include breakpoint($-zf-zero-breakpoint only) {\n flex-wrap: wrap;\n }\n }\n }\n}\n\n/// Adds styles for sections within a media object.\n/// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections.\n@mixin media-object-section($padding: $mediaobject-section-padding) {\n @if $global-flexbox {\n flex: 0 1 auto;\n }\n @else {\n display: table-cell;\n vertical-align: top;\n }\n\n &:first-child {\n padding-#{$global-right}: $padding;\n }\n\n &:last-child:not(:nth-child(2)) {\n padding-#{$global-left}: $padding;\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n\n .stack-for-#{$-zf-zero-breakpoint} & {\n @include breakpoint($-zf-zero-breakpoint only) {\n @include media-object-stack;\n }\n }\n\n @if $global-flexbox {\n &.main-section {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n }\n }\n @else {\n &.middle {\n vertical-align: middle;\n }\n\n &.bottom {\n vertical-align: bottom;\n }\n }\n}\n\n/// Adds styles to stack sections of a media object. Apply this to the section elements, not the container.\n@mixin media-object-stack {\n padding: 0;\n padding-bottom: $mediaobject-section-padding;\n\n @if $global-flexbox {\n flex-basis: 100%;\n max-width: 100%;\n }\n @else {\n display: block;\n }\n\n img {\n width: $mediaobject-image-width-stacked;\n }\n}\n\n@mixin foundation-media-object {\n .media-object {\n @include media-object-container;\n }\n\n .media-object-section {\n @include media-object-section;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group orbit\n////\n\n/// Default color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background: $medium-gray !default;\n\n/// Default active color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background-active: $dark-gray !default;\n\n/// Default diameter for Orbit's bullets.\n/// @type Number\n$orbit-bullet-diameter: 1.2rem !default;\n\n/// Default margin between Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin: 0.1rem !default;\n\n/// Default distance from slide region for Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin-top: 0.8rem !default;\n\n/// Default bottom margin from Orbit's bullets to whatever content may lurk below it.\n/// @type Number\n$orbit-bullet-margin-bottom: 0.8rem !default;\n\n/// Default background color for Orbit's caption.\n/// @type Color\n$orbit-caption-background: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's caption.\n/// @type Number\n$orbit-caption-padding: 1rem !default;\n\n/// Default background color for Orbit's controls when hovered.\n/// @type Color\n$orbit-control-background-hover: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's controls.\n/// @type Number\n$orbit-control-padding: 1rem !default;\n\n/// Default z-index for Orbit's controls.\n/// @type Number\n$orbit-control-zindex: 10 !default;\n\n/// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.\n@mixin orbit-wrapper {\n position: relative;\n}\n\n/// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.\n@mixin orbit-container {\n position: relative;\n height: 0; // Prevent FOUC by not showing until JS sets height\n margin: 0;\n list-style: none;\n overflow: hidden;\n}\n\n/// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.\n@mixin orbit-slide {\n width: 100%;\n position: absolute;\n\n &.no-motionui {\n &.is-active {\n top: 0;\n left: 0;\n }\n }\n}\n\n@mixin orbit-figure {\n margin: 0;\n}\n\n/// Adds styles for a slide containing an image. These styles are used on the `.orbit-image` class.\n@mixin orbit-image {\n width: 100%;\n max-width: 100%;\n margin: 0;\n}\n\n/// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.\n@mixin orbit-caption {\n position: absolute;\n bottom: 0;\n width: 100%;\n margin-bottom: 0;\n padding: $orbit-caption-padding;\n\n background-color: $orbit-caption-background;\n color: color-pick-contrast($orbit-caption-background);\n}\n\n/// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.\n@mixin orbit-control {\n @include disable-mouse-outline;\n @include vertical-center;\n z-index: $orbit-control-zindex;\n padding: $orbit-control-padding;\n color: $white;\n\n &:hover,\n &:active,\n &:focus {\n background-color: $orbit-control-background-hover;\n }\n}\n\n/// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.\n@mixin orbit-previous {\n #{$global-left}: 0;\n}\n\n/// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.\n@mixin orbit-next {\n #{$global-left}: auto;\n #{$global-right}: 0;\n}\n\n/// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.\n@mixin orbit-bullets {\n @include disable-mouse-outline;\n position: relative;\n margin-top: $orbit-bullet-margin-top;\n margin-bottom: $orbit-bullet-margin-bottom;\n text-align: center;\n\n button {\n width: $orbit-bullet-diameter;\n height: $orbit-bullet-diameter;\n margin: $orbit-bullet-margin;\n\n border-radius: 50%;\n background-color: $orbit-bullet-background;\n\n &:hover {\n background-color: $orbit-bullet-background-active;\n }\n\n &.is-active {\n background-color: $orbit-bullet-background-active;\n }\n }\n}\n\n@mixin foundation-orbit {\n .orbit {\n @include orbit-wrapper;\n }\n\n .orbit-container {\n @include orbit-container;\n }\n\n .orbit-slide {\n @include orbit-slide;\n }\n\n .orbit-figure {\n @include orbit-figure;\n }\n\n .orbit-image {\n @include orbit-image;\n }\n\n .orbit-caption {\n @include orbit-caption;\n }\n\n %orbit-control {\n @include orbit-control;\n }\n\n .orbit-previous {\n @extend %orbit-control;\n @include orbit-previous;\n }\n\n .orbit-next {\n @extend %orbit-control;\n @include orbit-next;\n }\n\n .orbit-bullets {\n @include orbit-bullets;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group responsive-embed\n////\n\n/// Margin below a responsive embed container.\n/// @type Number\n$responsive-embed-margin-bottom: rem-calc(16) !default;\n\n/// Aspect ratios used to determine padding-bottom of responsive embed containers.\n/// @type Map\n$responsive-embed-ratios: (\n default: 4 by 3,\n widescreen: 16 by 9,\n) !default;\n\n/// Creates a responsive embed container.\n/// @param {String|List} $ratio [default] - Ratio of the container. Can be a key from the `$responsive-embed-ratios` map or a list formatted as `x by y`.\n@mixin responsive-embed($ratio: default) {\n @if type-of($ratio) == 'string' {\n $ratio: map-get($responsive-embed-ratios, $ratio);\n }\n position: relative;\n height: 0;\n margin-bottom: $responsive-embed-margin-bottom;\n padding-bottom: ratio-to-percentage($ratio);\n overflow: hidden;\n\n iframe,\n object,\n embed,\n video {\n position: absolute;\n top: 0;\n #{$global-left}: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@mixin foundation-responsive-embed {\n .responsive-embed,\n .flex-video {\n @include responsive-embed($ratio: default);\n\n $ratios: map-remove($responsive-embed-ratios,default);\n\n @each $name, $ratio in $ratios {\n &.#{$name} {\n padding-bottom: ratio-to-percentage($ratio);\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Finds the greatest common divisor of two integers.\n///\n/// @param {Number} $a - First number to compare.\n/// @param {Number} $b - Second number to compare.\n///\n/// @returns {Number} The greatest common divisor.\n@function gcd($a, $b) {\n // From: http://rosettacode.org/wiki/Greatest_common_divisor#JavaScript\n @if ($b != 0) {\n @return gcd($b, $a % $b);\n }\n @else {\n @return abs($a);\n }\n}\n\n/// Handles decimal exponents by trying to convert them into a fraction and then use a nth-root-algorithm for parts of the calculation\n///\n/// @param {Number} $base - The base number.\n/// @param {Number} $exponent - The exponent.\n///\n/// @returns {Number} The product of the exponentiation.\n@function pow($base, $exponent, $prec: 16) {\n @if (floor($exponent) != $exponent) {\n $prec2 : pow(10, $prec);\n $exponent: round($exponent * $prec2);\n $denominator: gcd($exponent, $prec2);\n @return nth-root(pow($base, $exponent / $denominator), $prec2 / $denominator, $prec);\n }\n\n $value: $base;\n @if $exponent > 1 {\n @for $i from 2 through $exponent {\n $value: $value * $base;\n }\n }\n @else if $exponent < 1 {\n @for $i from 0 through -$exponent {\n $value: $value / $base;\n }\n }\n\n @return $value;\n}\n\n@function nth-root($num, $n: 2, $prec: 12) {\n // From: http://rosettacode.org/wiki/Nth_root#JavaScript\n $x: 1;\n\n @for $i from 0 through $prec {\n $x: 1 / $n * (($n - 1) * $x + ($num / pow($x, $n - 1)));\n }\n\n @return $x;\n}\n\n/// Calculates the height as a percentage of the width for a given ratio.\n/// @param {List} $ratio - Ratio to use to calculate the height, formatted as `x by y`.\n/// @return {Number} A percentage value for the height relative to the width of a responsive container.\n@function ratio-to-percentage($ratio) {\n $w: nth($ratio, 1);\n $h: nth($ratio, 3);\n @return $h / $w * 100%;\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tabs\n////\n\n/// Default margin of the tab bar.\n/// @type Number\n$tab-margin: 0 !default;\n\n/// Default background color of a tab bar.\n/// @type Color\n$tab-background: $white !default;\n\n/// Font color of tab item.\n/// @type Color\n$tab-color: $primary-color !default;\n\n/// Active background color of a tab bar.\n/// @type Color\n$tab-background-active: $light-gray !default;\n\n/// Active font color of tab item.\n/// @type Color\n$tab-active-color: $primary-color !default;\n\n/// Font size of tab items.\n/// @type Number\n$tab-item-font-size: rem-calc(12) !default;\n\n/// Default background color on hover for items in a Menu.\n$tab-item-background-hover: $white !default;\n\n/// Default padding of a tab item.\n/// @type Number\n$tab-item-padding: 1.25rem 1.5rem !default;\n\n/// Default background color of tab content.\n/// @type Color\n$tab-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$tab-content-border: $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$tab-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$tab-content-padding: 1rem !default;\n\n/// Adds styles for a tab container. Apply this to a `<ul>`.\n@mixin tabs-container (\n $margin: $tab-margin,\n $background: $tab-background,\n $border-color: $tab-content-border\n) {\n @include clearfix;\n margin: $margin;\n border: 1px solid $border-color;\n background: $background;\n list-style-type: none;\n}\n\n/// Augments a tab container to have vertical tabs. Use this in conjunction with `tabs-container()`.\n@mixin tabs-container-vertical {\n > li {\n display: block;\n float: none;\n width: auto;\n }\n}\n\n/// Adds styles for the links within a tab container. Apply this to the `<li>` elements inside a tab container.\n@mixin tabs-title (\n $padding: $tab-item-padding,\n $font-size: $tab-item-font-size,\n $color: $tab-color,\n $color-active: $tab-active-color,\n $background-hover: $tab-item-background-hover,\n $background-active: $tab-background-active\n) {\n float: #{$global-left};\n\n > a {\n @include disable-mouse-outline;\n display: block;\n padding: $padding;\n font-size: $font-size;\n line-height: 1;\n color: $color;\n\n &:hover {\n background: $background-hover;\n color: scale-color($color, $lightness: -14%);\n }\n\n &:focus,\n &[aria-selected='true'] {\n background: $background-active;\n color: $color-active;\n }\n }\n}\n\n/// Adds styles for the wrapper that surrounds a tab group's content panes.\n@mixin tabs-content (\n $background: $tab-content-background,\n $color: $tab-content-color,\n $border-color: $tab-content-border\n) {\n border: 1px solid $border-color;\n border-top: 0;\n background: $background;\n color: $color;\n transition: all 0.5s ease;\n}\n\n/// Augments a tab content container to have a vertical style, by shifting the border around. Use this in conjunction with `tabs-content()`.\n@mixin tabs-content-vertical (\n $border-color: $tab-content-border\n) {\n border: 1px solid $border-color;\n border-#{$global-left}: 0;\n}\n\n/// Adds styles for an individual tab content panel within the tab content container.\n@mixin tabs-panel (\n $padding: $tab-content-padding\n) {\n display: none;\n padding: $padding;\n\n &.is-active {\n display: block;\n }\n}\n\n@mixin foundation-tabs {\n .tabs {\n @include tabs-container;\n }\n\n // Vertical\n .tabs.vertical {\n @include tabs-container-vertical;\n }\n\n // Simple\n .tabs.simple {\n > li > a {\n padding: 0;\n\n &:hover {\n background: transparent;\n }\n }\n }\n\n // Primary color\n .tabs.primary {\n background: $primary-color;\n\n > li > a {\n color: color-pick-contrast($primary-color);\n\n &:hover,\n &:focus {\n background: smart-scale($primary-color);\n }\n }\n }\n\n .tabs-title {\n @include tabs-title;\n }\n\n .tabs-content {\n @include tabs-content;\n }\n\n .tabs-content.vertical {\n @include tabs-content-vertical;\n }\n\n .tabs-panel {\n @include tabs-panel;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group thumbnail\n////\n\n/// Border around thumbnail images.\n/// @type Border\n$thumbnail-border: 4px solid $white !default;\n\n/// Bottom margin for thumbnail images.\n/// @type Length\n$thumbnail-margin-bottom: $global-margin !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2) !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5) !default;\n\n/// Transition proprties for thumbnail images.\n/// @type Transition\n$thumbnail-transition: box-shadow 200ms ease-out !default;\n\n/// Default radius for thumbnail images.\n/// @type Number\n$thumbnail-radius: $global-radius !default;\n\n/// Adds thumbnail styles to an element.\n@mixin thumbnail {\n display: inline-block;\n max-width: 100%;\n margin-bottom: $thumbnail-margin-bottom;\n\n border: $thumbnail-border;\n border-radius: $thumbnail-radius;\n box-shadow: $thumbnail-shadow;\n\n line-height: 0;\n}\n\n@mixin thumbnail-link {\n transition: $thumbnail-transition;\n\n &:hover,\n &:focus {\n box-shadow: $thumbnail-shadow-hover;\n }\n\n image {\n box-shadow: none;\n }\n}\n\n@mixin foundation-thumbnail {\n .thumbnail {\n @include thumbnail;\n }\n\n a.thumbnail {\n @include thumbnail-link;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group menu\n////\n\n/// Margin of a menu.\n/// @type Number\n$menu-margin: 0 !default;\n\n/// Left-hand margin of a nested menu.\n/// @type Number\n$menu-nested-margin: $global-menu-nested-margin !default;\n\n/// Padding for items in a pill menu.\n/// @type Number\n$menu-items-padding: $global-menu-padding !default;\n\n/// margin for items in a simple menu.\n/// @type Number\n$menu-simple-margin: 1rem !default;\n\n/// Text color of an active menu item.\n/// @type Color\n$menu-item-color-active: $white !default;\n\n/// Background color of an active menu item.\n/// @type Color\n$menu-item-background-active: get-color(primary) !default;\n\n/// Spacing between an icon and text in a menu item.\n/// @type Number\n$menu-icon-spacing: 0.25rem !default;\n\n/// Backward compatibility for menu state. If true, this duplicate `active` with `is-active`. \n/// But please note that `active` will be removed in upcoming versions.\n/// @type Boolean\n$menu-state-back-compat: true !default;\n\n/// Backward compatibility for menu centered. If true, this duplicate `.menu-centered > .menu` with `.menu.align-center`. \n/// But please note that `menu-centered` will be removed in upcoming versions.\n/// @type Boolean\n$menu-centered-back-compat: true !default;\n\n/// Backward compatibility for using `icon-*` classes without `.icons` classes\n/// But please note that this backward compatibility will be removed in upcoming versions.\n/// @type Boolean\n$menu-icons-back-compat: true !default;\n\n/// Creates the base styles for a Menu.\n@mixin menu-base {\n padding: 0;\n margin: 0;\n list-style: none;\n position: relative;\n\n @if $global-flexbox {\n display: flex;\n flex-wrap: wrap;\n }\n\n li {\n @include disable-mouse-outline;\n }\n\n a,\n .button {\n line-height: 1;\n text-decoration: none;\n display: block;\n padding: $menu-items-padding;\n }\n\n // Reset styles of inner elements\n input,\n select,\n a,\n button {\n margin-bottom: 0;\n }\n\n input {\n display: inline-block;\n }\n}\n\n/// Expands the items of a Menu, so each item is the same width.\n@mixin menu-expand {\n @if $global-flexbox {\n li {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n }\n }\n @else {\n display: table;\n width: 100%;\n\n > li {\n display: table-cell;\n vertical-align: middle;\n }\n }\n}\n\n/// Align menu items.\n@mixin menu-align($alignment) {\n @if $alignment == left {\n @if $global-flexbox {\n justify-content: flex-start;\n }\n @else {\n text-align: $global-left;\n }\n }\n @else if $alignment == right {\n @if $global-flexbox {\n li {\n display: flex;\n justify-content: flex-end;\n\n .submenu li {\n justify-content: flex-start;\n }\n }\n\n &.vertical li {\n display: block;\n text-align: $global-right;\n\n .submenu li {\n text-align: $global-right;\n }\n }\n }\n @else {\n text-align: $global-right;\n\n .submenu li {\n text-align: $global-left;\n }\n\n &.vertical {\n .submenu li {\n text-align: $global-right;\n }\n }\n }\n }\n @else if $alignment == center {\n @if $global-flexbox {\n li {\n display: flex;\n justify-content: center;\n\n .submenu li {\n justify-content: flex-start;\n }\n }\n }\n @else {\n text-align: center;\n\n .submenu li {\n text-align: $global-left;\n }\n }\n }\n}\n\n/// Sets the direction of a Menu.\n/// @param {Keyword} $dir [horizontal] - Direction of the Menu. Can be `horizontal` or `vertical`.\n@mixin menu-direction($dir: horizontal) {\n @if $dir == horizontal {\n @if $global-flexbox {\n flex-wrap: wrap;\n flex-direction: row;\n }\n @else {\n li {\n display: inline-block;\n }\n }\n }\n @else if $dir == vertical {\n @if $global-flexbox {\n flex-wrap: nowrap;\n flex-direction: column;\n }\n @else {\n li {\n display: block;\n }\n }\n }\n @else {\n @warn 'The direction used for menu-direction() must be horizontal or vertical.';\n }\n}\n\n/// Creates a simple Menu, which has no padding or hover state.\n/// @param {Keyword} $dir [$global-left] - Direction of the menu. This effects the side of the `<li>` that receives the margin.\n/// @param {Number} $margin [$menu-simple-margin] - The margin to apply to each `<li>`.\n@mixin menu-simple($dir: $global-left, $margin: $menu-simple-margin) {\n @if $global-flexbox {\n align-items: center;\n }\n\n li + li {\n margin-#{$dir}: $margin;\n }\n\n a {\n padding: 0;\n }\n}\n\n/// Adds styles for a nested Menu, by adding `margin-left` to the menu.\n/// @param {Keyword|Number} $margin [$menu-nested-margin] - Length of the margin.\n/// @param {Keyword} $nested-alignment [left] - Alignment of the nested class\n@mixin menu-nested(\n $margin: $menu-nested-margin,\n $nested-alignment: left\n) {\n @if $nested-alignment == right {\n margin-#{$global-right}: $margin;\n margin-#{$global-left}: 0;\n }\n @else {\n margin-#{$global-right}: 0;\n margin-#{$global-left}: $margin;\n }\n\n}\n\n/// Adds basic styles for icons in menus.\n@mixin menu-icons() {\n @if $global-flexbox {\n a {\n display: flex;\n }\n }\n @else {\n img,\n i,\n svg {\n vertical-align: middle;\n\n + span {\n vertical-align: middle;\n }\n }\n }\n}\n\n/// Adds position classes for icons within a menu.\n@mixin menu-icon-position($position: left, $spacing: $menu-icon-spacing) {\n @if $position == left {\n li a {\n @if $global-flexbox {\n flex-flow: row nowrap;\n }\n\n img,\n i,\n svg {\n margin-#{$global-right}: $spacing;\n\n @if not $global-flexbox {\n display: inline-block;\n }\n }\n }\n }\n @else if $position == right {\n li a {\n @if $global-flexbox {\n flex-flow: row nowrap;\n }\n\n img,\n i,\n svg {\n margin-#{$global-left}: $spacing;\n\n @if not $global-flexbox {\n display: inline-block;\n }\n }\n }\n }\n @else if $position == top {\n li a {\n @if $global-flexbox {\n flex-flow: column nowrap;\n }\n @else {\n text-align: center;\n }\n\n img,\n i,\n svg {\n @if not $global-flexbox {\n display: block;\n margin: 0 auto $spacing;\n }\n @else {\n align-self: stretch;\n margin-bottom: $spacing;\n text-align: center;\n }\n }\n }\n }\n @else if $position == bottom {\n li a {\n @if $global-flexbox {\n flex-flow: column nowrap;\n }\n @else {\n text-align: center;\n }\n\n img,\n i,\n svg {\n @if not $global-flexbox {\n display: block;\n margin: $spacing auto 0;\n }\n @else {\n align-self: stretch;\n margin-bottom: $spacing;\n text-align: center;\n }\n }\n }\n }\n}\n\n@mixin menu-text {\n padding: $global-menu-padding;\n\n font-weight: bold;\n line-height: 1;\n color: inherit;\n}\n\n@mixin menu-state-active {\n background: $menu-item-background-active;\n color: $menu-item-color-active;\n}\n\n@mixin foundation-menu {\n .menu {\n @include menu-base;\n\n // Default orientation: horizontal\n &, &.horizontal {\n @include menu-direction(horizontal);\n }\n\n // Vertical orientation modifier\n &.vertical {\n @include menu-direction(vertical);\n }\n\n // Even-width modifier for horizontal orientation\n &.expanded {\n @include menu-expand;\n }\n\n // Simple\n &.simple {\n @include menu-simple;\n }\n\n // Breakpoint specific versions\n @include -zf-each-breakpoint($small: false) {\n &.#{$-zf-size}-horizontal {\n @include menu-direction(horizontal);\n }\n\n &.#{$-zf-size}-vertical {\n @include menu-direction(vertical);\n }\n\n &.#{$-zf-size}-expanded {\n @include menu-expand;\n }\n\n &.#{$-zf-size}-simple {\n @include menu-expand;\n }\n }\n\n // Nesting\n &.nested {\n @include menu-nested;\n }\n\n // Icon Base Styles\n &.icons {\n @include menu-icons;\n }\n\n // Backward Compatibility for active state\n @if $menu-icons-back-compat {\n &.icon-top,\n &.icon-right,\n &.icon-bottom,\n &.icon-left {\n @include menu-icons;\n }\n }\n\n // Icon Left\n &.icon-left {\n @include menu-icon-position(left);\n }\n\n // Icon Right\n &.icon-right {\n @include menu-icon-position(right);\n }\n\n // Icon Top\n &.icon-top {\n @include menu-icon-position(top);\n }\n\n // Icon Bottom\n &.icon-bottom {\n @include menu-icon-position(bottom);\n }\n\n // Active state\n .is-active > a {\n @include menu-state-active;\n }\n \n // Backward Compatibility for active state\n @if $menu-state-back-compat {\n .active > a {\n @include menu-state-active;\n }\n }\n\n // Align left\n &.align-#{$global-left} {\n @include menu-align(left);\n }\n\n // Align right\n &.align-#{$global-right} {\n @include menu-align(right);\n\n .nested {\n @include menu-nested($nested-alignment: right);\n }\n }\n\n // Align center\n &.align-center {\n @include menu-align(center);\n }\n\n .menu-text {\n @include menu-text;\n }\n }\n\n @if $menu-centered-back-compat {\n .menu-centered {\n > .menu {\n @if $global-flexbox {\n justify-content: center;\n }\n \n @include menu-align(center);\n }\n }\n }\n\n // Prevent FOUC when using the Responsive Menu plugin\n .no-js [data-responsive-menu] ul {\n display: none;\n }\n}\n","@mixin foundation-menu-icon {\n .menu-icon {\n @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);\n }\n\n .menu-icon.dark {\n @include hamburger;\n }\n}\n","////\n/// @group accordion-menu\n////\n\n/// Sets accordion menu padding.\n/// @type Number\n$accordionmenu-padding: $global-menu-padding !default;\n\n/// Sets accordion menu nested margin\n/// @type Number\n$accordionmenu-nested-margin: $global-menu-nested-margin !default;\n\n/// Sets accordion menu submenu padding.\n/// @type Number\n$accordionmenu-submenu-padding: $accordionmenu-padding !default;\n\n/// Sets if accordion menus have the default arrow styles.\n/// @type Boolean\n$accordionmenu-arrows: true !default;\n\n/// Sets accordion menu arrow color if arrow is used.\n/// @type Color\n$accordionmenu-arrow-color: $primary-color !default;\n\n/// Sets accordion menu item padding.\n/// @type Color\n$accordionmenu-item-background: null !default;\n\n/// Sets accordion menu item border.\n/// @type Color\n$accordionmenu-border: null !default;\n\n/// Sets accordion menu item padding.\n/// @type Color\n$accordionmenu-submenu-toggle-background: null !default;\n\n/// Sets accordion menu item padding.\n/// @type List\n$accordion-submenu-toggle-border: $accordionmenu-border !default;\n\n/// Sets accordion menu submenu toggle background width.\n/// @type Number\n$accordionmenu-submenu-toggle-width: 40px !default;\n\n/// Sets accordion menu submenu toggle background height.\n/// @type Number\n$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width !default;\n\n/// Sets accordion menu arrow size if arrow is used.\n/// @type Length\n$accordionmenu-arrow-size: 6px !default;\n\n@mixin zf-accordion-menu-left-right-arrows {\n .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n position: relative;\n\n &::after {\n @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down);\n position: absolute;\n top: 50%;\n margin-top: -1 * ($accordionmenu-arrow-size / 2);\n #{$global-right}: 1rem;\n }\n }\n\n &.align-left .is-accordion-submenu-parent > a::after {\n right: 1rem;\n left: auto;\n }\n\n &.align-right .is-accordion-submenu-parent > a::after {\n right: auto;\n left: 1rem;\n }\n}\n@mixin foundation-accordion-menu {\n\n .accordion-menu {\n @if $accordionmenu-border {\n border-bottom: $accordionmenu-border;\n }\n\n li {\n @if $accordionmenu-border {\n border-top: $accordionmenu-border;\n border-right: $accordionmenu-border;\n border-left: $accordionmenu-border;\n }\n width: 100%;\n }\n\n a {\n @if $accordionmenu-item-background {\n background: $accordionmenu-item-background;\n }\n padding: $accordionmenu-padding;\n }\n\n .is-accordion-submenu a {\n padding: $accordionmenu-submenu-padding;\n }\n\n .nested.is-accordion-submenu {\n @include menu-nested($accordionmenu-nested-margin);\n }\n\n &.align-#{$global-right} {\n .nested.is-accordion-submenu {\n @include menu-nested($accordionmenu-nested-margin, right);\n }\n }\n\n @if $accordionmenu-arrows {\n @include zf-accordion-menu-left-right-arrows;\n\n .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n transform: rotate(180deg);\n transform-origin: 50% 50%;\n }\n }\n }\n\n .is-accordion-submenu li {\n @if $accordionmenu-border {\n border-right: 0;\n border-left: 0;\n }\n }\n\n .is-accordion-submenu-parent {\n position: relative;\n }\n\n .has-submenu-toggle > a {\n margin-#{$global-right}: $accordionmenu-submenu-toggle-width;\n }\n\n // Submenu toggle\n .submenu-toggle {\n position: absolute;\n top: 0;\n #{$global-right}: 0;\n\n width: $accordionmenu-submenu-toggle-width;\n height: $accordionmenu-submenu-toggle-height;\n\n cursor: pointer;\n\n border-#{$global-left}: $accordion-submenu-toggle-border;\n\n @if $accordionmenu-submenu-toggle-background {\n background: $accordionmenu-submenu-toggle-background;\n }\n\n // Add the arrow to the toggle\n &::after {\n @include css-triangle(6px, $accordionmenu-arrow-color, down);\n\n top: 0;\n bottom: 0;\n margin: auto;\n }\n }\n\n // Rotate the arrow when menu is open\n .submenu-toggle[aria-expanded='true']::after {\n transform: scaleY(-1);\n transform-origin: 50% 50%;\n }\n\n .submenu-toggle-text {\n @include element-invisible;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group drilldown\n////\n\n/// Transition property to use for animating menus.\n/// @type Transition\n$drilldown-transition: transform 0.15s linear !default;\n\n/// Adds arrows to drilldown items with submenus, as well as the back button.\n/// @type Boolean\n$drilldown-arrows: true !default;\n\n/// Sets drilldown menu item padding.\n/// @type Number\n$drilldown-padding: $global-menu-padding !default;\n\n/// Sets drilldown menu nested margin\n/// @type Number\n$drilldown-nested-margin: 0 !default;\n\n/// Background color for drilldown top level items.\n/// @type Color\n$drilldown-background: $white !default;\n\n/// Sets drilldown menu item padding in the submenu.\n/// @type Number\n$drilldown-submenu-padding: $drilldown-padding !default;\n\n/// Background color for drilldown submenus.\n/// @type Color\n$drilldown-submenu-background: $white !default;\n\n/// Sets drilldown arrow color if arrow is used.\n/// @type Color\n$drilldown-arrow-color: $primary-color !default;\n\n/// Sets drilldown arrow size if arrow is used.\n/// @type Length\n$drilldown-arrow-size: 6px !default;\n\n@mixin zf-drilldown-left-right-arrows {\n .is-drilldown-submenu-parent > a {\n position: relative;\n\n &::after {\n @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);\n position: absolute;\n top: 50%;\n margin-top: -1 * $drilldown-arrow-size;\n #{$global-right}: 1rem;\n }\n }\n\n &.align-left .is-drilldown-submenu-parent > a::after {\n @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);\n right: 1rem;\n left: auto;\n }\n\n &.align-right .is-drilldown-submenu-parent > a::after {\n @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);\n right: auto;\n left: 1rem;\n }\n\n}\n\n@mixin foundation-drilldown-menu {\n // Applied to the Menu container\n .is-drilldown {\n position: relative;\n overflow: hidden;\n\n li {\n display: block;\n }\n\n &.animate-height {\n transition: height 0.5s;\n }\n }\n\n // The top level <ul>\n .drilldown {\n a {\n padding: $drilldown-padding;\n background: $drilldown-background;\n }\n\n // Applied to submenu <ul>s\n .is-drilldown-submenu {\n position: absolute;\n top: 0;\n #{$global-left}: 100%;\n z-index: -1;\n\n width: 100%;\n background: $drilldown-submenu-background;\n transition: $drilldown-transition;\n\n &.is-active {\n z-index: 1;\n display: block;\n transform: translateX(if($global-text-direction == ltr, -100%, 100%));\n }\n\n &.is-closing {\n transform: translateX(if($global-text-direction == ltr, 100%, -100%));\n }\n\n // Submenu item padding\n a {\n padding: $drilldown-submenu-padding;\n }\n }\n\n .nested.is-drilldown-submenu {\n @include menu-nested($drilldown-nested-margin);\n }\n\n .drilldown-submenu-cover-previous {\n min-height: 100%;\n }\n\n @if $drilldown-arrows {\n @include zf-drilldown-left-right-arrows;\n\n .js-drilldown-back > a::before {\n @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);\n display: inline-block;\n vertical-align: middle;\n margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text\n }\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown-menu\n////\n\n/// Enables arrows for items with dropdown menus.\n/// @type Boolean\n$dropdownmenu-arrows: true !default;\n\n/// Sets dropdown menu arrow color if arrow is used.\n/// @type Color\n$dropdownmenu-arrow-color: $anchor-color !default;\n\n/// Sets dropdown menu arrow size if arrow is used.\n/// @type Length\n$dropdownmenu-arrow-size: 6px !default;\n\n/// Sets dropdown menu arrow padding for aligning the arrow correctly.\n/// @type Length\n$dropdownmenu-arrow-padding: 1.5rem !default;\n\n/// Minimum width of dropdown sub-menus.\n/// @type Length\n$dropdownmenu-min-width: 200px !default;\n\n/// Background color for top level items.\n/// @type Color\n$dropdownmenu-background: null !default;\n\n/// Background color for dropdowns.\n/// @type Color\n$dropdownmenu-submenu-background: $white !default;\n\n/// Padding for top level items.\n/// @type Number\n$dropdownmenu-padding: $global-menu-padding !default;\n\n/// Sets dropdown menu nested margin\n/// @type Number\n$dropdownmenu-nested-margin: 0 !default;\n\n/// Padding for sub-menu items.\n/// @type Number\n$dropdownmenu-submenu-padding: $dropdownmenu-padding !default;\n\n/// Border for dropdown sub-menus.\n/// @type List\n$dropdownmenu-border: 1px solid $medium-gray !default;\n\n// Border width for dropdown sub-menus.\n// Used to adjust top margin of a sub-menu if a border is used.\n// @type Length\n$dropdownmenu-border-width: nth($dropdownmenu-border, 1);\n\n/// Text color of an active dropdown menu item. Explicit override for menu defaults\n/// @type Color\n$dropdown-menu-item-color-active: get-color(primary) !default;\n\n/// Background color of an active dropdown menu item. Explicit override for menu defaults\n/// @type Color\n$dropdown-menu-item-background-active: transparent !default;\n\n@mixin zf-dropdown-left-right-arrows {\n > a::after {\n #{$global-right}: 14px;\n }\n\n &.opens-left > a::after {\n @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);\n right: auto;\n left: 5px;\n }\n\n &.opens-right > a::after {\n @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);\n }\n}\n\n@mixin dropdown-menu-direction($dir: horizontal) {\n @if $dir == horizontal {\n > li.opens-left { // sass-lint:disable-line no-qualifying-elements\n > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto;\n }\n }\n\n > li.opens-right { // sass-lint:disable-line no-qualifying-elements\n > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0;\n }\n }\n\n @if $dropdownmenu-arrows {\n > li.is-dropdown-submenu-parent > a { // sass-lint:disable-line no-qualifying-elements\n position: relative;\n padding-#{$global-right}: $dropdownmenu-arrow-padding;\n }\n\n > li.is-dropdown-submenu-parent > a::after { // sass-lint:disable-line no-qualifying-elements\n @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, down);\n #{$global-right}: 5px;\n #{$global-left}: auto;\n margin-top: -1 * ($dropdownmenu-arrow-size / 2);\n }\n }\n }\n @else if $dir == vertical {\n > li {\n .is-dropdown-submenu {\n top: 0;\n }\n\n &.opens-left {\n > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto;\n }\n }\n\n &.opens-right {\n > .is-dropdown-submenu {\n right: auto;\n left: 100%;\n }\n }\n\n @if $dropdownmenu-arrows {\n @include zf-dropdown-left-right-arrows;\n }\n }\n }\n @else {\n @warn 'The direction used for dropdown-menu-direction() must be horizontal or vertical.';\n }\n}\n\n@mixin foundation-dropdown-menu {\n .dropdown.menu {\n @include dropdown-menu-direction(horizontal);\n\n a {\n @include disable-mouse-outline;\n }\n\n // Top-level item\n > li > a {\n background: $dropdownmenu-background;\n padding: $dropdownmenu-padding;\n }\n\n // Top-level item active state\n > li.is-active > a {\n background: $dropdown-menu-item-background-active;\n color: $dropdown-menu-item-color-active;\n }\n\n .no-js & ul {\n display: none;\n }\n\n .nested.is-dropdown-submenu {\n @include menu-nested($dropdownmenu-nested-margin);\n }\n\n &.vertical {\n @include dropdown-menu-direction(vertical);\n }\n\n @each $size in $breakpoint-classes {\n @if $size != $-zf-zero-breakpoint {\n @include breakpoint($size) {\n &.#{$size}-horizontal {\n @include dropdown-menu-direction(horizontal);\n }\n\n &.#{$size}-vertical {\n @include dropdown-menu-direction(vertical);\n }\n }\n }\n }\n\n &.align-right {\n .is-dropdown-submenu.first-sub {\n top: 100%;\n right: 0;\n left: auto;\n }\n }\n }\n\n .is-dropdown-menu.vertical {\n width: 100px;\n\n &.align-right {\n float: right;\n }\n }\n\n .is-dropdown-submenu-parent {\n position: relative;\n\n a::after {\n position: absolute;\n top: 50%;\n #{$global-right}: 5px;\n #{$global-left}: auto;\n margin-top: -1 * $dropdownmenu-arrow-size;\n }\n\n &.opens-inner > .is-dropdown-submenu {\n\n top: 100%;\n @if $global-text-direction == 'rtl' {\n right: auto;\n }\n @else {\n left: auto;\n }\n }\n\n &.opens-left > .is-dropdown-submenu {\n right: 100%;\n left: auto;\n }\n\n &.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%;\n }\n }\n\n .is-dropdown-submenu {\n position: absolute;\n top: 0;\n #{$global-left}: 100%;\n z-index: 1;\n\n display: none;\n min-width: $dropdownmenu-min-width;\n\n border: $dropdownmenu-border;\n background: $dropdownmenu-submenu-background;\n\n .dropdown & a {\n padding: $dropdownmenu-submenu-padding;\n }\n\n .is-dropdown-submenu-parent {\n @if $dropdownmenu-arrows {\n @include zf-dropdown-left-right-arrows;\n }\n }\n\n @if (type-of($dropdownmenu-border-width) == 'number') {\n .is-dropdown-submenu {\n margin-top: (-$dropdownmenu-border-width);\n }\n }\n\n > li {\n width: 100%;\n }\n\n // [TODO] Cut back specificity\n //&:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > &, // why is this line needed? Opening is handled by JS and this causes some ugly flickering when the sub is re-positioned automatically...\n &.js-dropdown-active {\n display: block;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group off-canvas\n////\n\n/// Width map of a left/right off-canvas panel.\n/// @type Map\n$offcanvas-sizes: (\n small: 250px,\n) !default;\n\n/// Height map of a top/bottom off-canvas panel.\n/// @type Map\n$offcanvas-vertical-sizes: (\n small: 250px,\n) !default;\n\n/// Background color of an off-canvas panel.\n/// @type Color\n$offcanvas-background: $light-gray !default;\n\n/// Box shadow for the off-canvas overlap panel.\n/// @type Shadow\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7) !default;\n\n/// Inner box shadow size for the off-canvas push panel.\n/// @type Number\n$offcanvas-inner-shadow-size: 20px !default;\n\n/// Inner box shadow color for the off-canvas push panel.\n/// @type Color\n$offcanvas-inner-shadow-color: rgba($black, 0.25) !default;\n\n/// Z-index of an off-canvas content overlay.\n/// @type Number\n$offcanvas-overlay-zindex: 11 !default;\n\n/// Z-index of an off-canvas panel with the `push` transition.\n/// @type Number\n$offcanvas-push-zindex: 12 !default;\n\n/// Z-index of an off-canvas panel with the `overlap` transition.\n/// @type Number\n$offcanvas-overlap-zindex: 13 !default;\n\n/// Z-index of an off-canvas panel using the `reveal-for-*` classes or mixin.\n/// @type Number\n$offcanvas-reveal-zindex: 12 !default;\n\n/// Length of the animation on an off-canvas panel.\n/// @type Number\n$offcanvas-transition-length: 0.5s !default;\n\n/// Timing function of the animation on an off-canvas panel.\n/// @type Keyword\n$offcanvas-transition-timing: ease !default;\n\n/// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.\n/// @type Bool\n$offcanvas-fixed-reveal: true !default;\n\n/// Background color for the overlay that appears when an off-canvas panel is open.\n/// @type Color\n$offcanvas-exit-background: rgba($white, 0.25) !default;\n\n/// CSS class used for the main content area. The off-canvas mixins use this to target the page content.\n$maincontent-class: 'off-canvas-content' !default;\n\n/// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.\n@mixin off-canvas-basics {\n\n /// Transform deprecated size settings into map & show warning\n @if variable-exists(offcanvas-size) {\n $offcanvas-sizes: (small: $offcanvas-size, medium: $offcanvas-size) !global;\n @warn '$offcanvas-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-sizes instead';\n }\n @if variable-exists(offcanvas-vertical-size) {\n $offcanvas-vertical-sizes: (small: $offcanvas-vertical-size, medium: $offcanvas-vertical-size) !global;\n @warn '$offcanvas-vertical-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-vertical-sizes instead';\n }\n\n // Checks the z-indexes and increase them due to backwards compatibility.\n // This is necessary because the overlay's z-index is new since v6.4 and may be identical to the user custom settings of the push z-index.\n @if $offcanvas-push-zindex <= $offcanvas-overlay-zindex { $offcanvas-push-zindex: $offcanvas-overlay-zindex + 1 !global; }\n @if $offcanvas-overlap-zindex <= $offcanvas-push-zindex { $offcanvas-overlap-zindex: $offcanvas-push-zindex + 1 !global; }\n @if $offcanvas-reveal-zindex <= $offcanvas-overlay-zindex { $offcanvas-reveal-zindex: $offcanvas-overlay-zindex + 1 !global; }\n\n // Hides overflow on body when an off-canvas panel is open.\n .is-off-canvas-open {\n overflow: hidden;\n }\n\n // Off-canvas overlay (generated by JavaScript)\n .js-off-canvas-overlay {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $offcanvas-overlay-zindex;\n\n width: 100%;\n height: 100%;\n\n transition: opacity $offcanvas-transition-length $offcanvas-transition-timing, visibility $offcanvas-transition-length $offcanvas-transition-timing;\n\n background: $offcanvas-exit-background;\n\n opacity: 0;\n visibility: hidden;\n\n overflow: hidden;\n\n &.is-visible {\n opacity: 1;\n visibility: visible;\n }\n\n &.is-closable {\n cursor: pointer;\n }\n\n &.is-overlay-absolute {\n position: absolute;\n }\n\n &.is-overlay-fixed {\n position: fixed;\n }\n }\n}\n\n// Adds basic styles for an off-canvas wrapper.\n@mixin off-canvas-wrapper() {\n position: relative;\n overflow: hidden;\n}\n\n/// Adds basic styles for an off-canvas panel.\n@mixin off-canvas-base(\n $background: $offcanvas-background,\n $transition: $offcanvas-transition-length $offcanvas-transition-timing,\n $fixed: true\n) {\n @include disable-mouse-outline;\n\n @if $fixed == true {\n position: fixed;\n }\n @else {\n position: absolute;\n }\n\n // Set the off-canvas z-index.\n z-index: $offcanvas-push-zindex;\n\n // Increase CSS specificity\n &.is-transition-push {\n z-index: $offcanvas-push-zindex;\n }\n\n transition: transform $transition;\n backface-visibility: hidden;\n\n background: $background;\n\n // Hide inactive off-canvas within the content that have the same position\n &.is-closed {\n visibility: hidden;\n }\n\n // Overlap only styles.\n &.is-transition-overlap {\n z-index: $offcanvas-overlap-zindex;\n\n &.is-open {\n box-shadow: $offcanvas-shadow;\n }\n }\n\n // Sets transform to 0 to show an off-canvas panel.\n &.is-open {\n transform: translate(0, 0);\n }\n}\n\n/// Adds styles to position an off-canvas panel to the left/right/top/bottom.\n@mixin off-canvas-position(\n $position: left,\n $orientation: horizontal,\n $sizes: if($orientation == horizontal, $offcanvas-sizes, $offcanvas-vertical-sizes)\n) {\n @if $position == left {\n top: 0;\n left: 0;\n height: 100%;\n overflow-y: auto;\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n width: $size;\n transform: translateX(-$size);\n }\n }\n\n // Sets the position for nested off-canvas element\n @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateX(-$size);\n }\n }\n &.is-transition-overlap.is-open {\n transform: translate(0, 0);\n }\n }\n\n // Sets the open position for the content\n @at-root .#{$maincontent-class}.is-open-#{$position} {\n &.has-transition-push {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateX($size);\n }\n }\n }\n }\n }\n @else if $position == right {\n top: 0;\n right: 0;\n height: 100%;\n overflow-y: auto;\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n width: $size;\n transform: translateX($size);\n }\n }\n\n // Sets the position for nested off-canvas element\n @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateX($size);\n }\n }\n &.is-transition-overlap.is-open {\n transform: translate(0, 0);\n }\n }\n\n // Sets the open position for the content\n @at-root .#{$maincontent-class}.is-open-#{$position} {\n &.has-transition-push {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateX(-$size);\n }\n }\n }\n }\n }\n @else if $position == top {\n top: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n height: $size;\n transform: translateY(-$size);\n }\n }\n\n // Sets the position for nested off-canvas element\n @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateY(-$size);\n }\n }\n &.is-transition-overlap.is-open {\n transform: translate(0, 0);\n }\n }\n\n // Sets the open position for the content\n @at-root .#{$maincontent-class}.is-open-#{$position} {\n &.has-transition-push {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateY($size);\n }\n }\n }\n }\n }\n @else if $position == bottom {\n bottom: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n height: $size;\n transform: translateY($size);\n }\n }\n\n // Sets the position for nested off-canvas element\n @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateY($size);\n }\n }\n &.is-transition-overlap.is-open {\n transform: translate(0, 0);\n }\n }\n\n // Sets the open position for the content\n @at-root .#{$maincontent-class}.is-open-#{$position} {\n &.has-transition-push {\n @each $name, $size in $sizes {\n @include breakpoint($name) {\n transform: translateY(-$size);\n }\n }\n }\n }\n }\n\n // If $offcanvas-inner-shadow-size is set, add inner box-shadow.\n // This mimics the off-canvas panel having a lower z-index, without having to have one.\n @if $offcanvas-inner-shadow-size {\n &.is-transition-push {\n @if $position == left {\n @include inner-side-shadow(right, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n }\n @else if $position == right {\n @include inner-side-shadow(left, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n }\n @else if $position == top {\n @include inner-side-shadow(bottom, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n }\n @else if $position == bottom {\n @include inner-side-shadow(top, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n }\n }\n }\n\n}\n\n/// Sets the styles for the content container.\n@mixin off-canvas-content() {\n transform: none;\n transition: transform $offcanvas-transition-length $offcanvas-transition-timing;\n backface-visibility: hidden;\n\n // Transform scope until the element is closed (makes sure transitionend gets triggered)\n &.has-transition-push {\n transform: translate(0, 0);\n }\n\n // Consider element & content, nested in another content\n .off-canvas.is-open {\n transform: translate(0, 0);\n }\n}\n\n/// Adds styles that reveal an off-canvas panel.\n@mixin off-canvas-reveal(\n$position: left,\n$zindex: $offcanvas-reveal-zindex,\n$content: $maincontent-class,\n$breakpoint: small\n) {\n transform: none;\n z-index: $zindex;\n transition: none;\n visibility: visible;\n\n @if not $offcanvas-fixed-reveal {\n position: absolute;\n }\n\n .close-button {\n display: none;\n }\n\n // Consider revealed element is nested in content\n .#{$maincontent-class} & {\n transform: none;\n }\n\n @at-root .#{$content}.has-reveal-#{$position} {\n margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);\n }\n\n // backwards compatibility (prior to v6.4)\n & ~ .#{$content} {\n margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);\n }\n}\n\n/// Overrides the off-canvas styles\n@mixin in-canvas() {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none;\n\n // Increase CSS specificity\n &.position-left,\n &.position-right,\n &.position-top,\n &.position-bottom {\n box-shadow: none;\n transform: none;\n }\n\n .close-button {\n display: none;\n }\n}\n\n@mixin foundation-off-canvas {\n @include off-canvas-basics;\n\n // Off-canvas wrapper\n .off-canvas-wrapper {\n @include off-canvas-wrapper;\n }\n\n // Off-canvas container\n .off-canvas {\n @include off-canvas-base;\n\n // Force position absolute for nested off-canvas because fixed doesn't work for push transition within the transform scope.\n @at-root .#{$maincontent-class} & {\n // NOTE: since overlap transition is currently forced if nested, there's no need to force position absolute until nested push transition is supported.\n // position: absolute;\n }\n }\n\n // Off-canvas container with absolute position\n .off-canvas-absolute {\n @include off-canvas-base($fixed: false);\n }\n\n // Off-canvas position classes\n .position-left { @include off-canvas-position(left, horizontal); }\n .position-right { @include off-canvas-position(right, horizontal); }\n .position-top { @include off-canvas-position(top, vertical); }\n .position-bottom { @include off-canvas-position(bottom, vertical); }\n\n .off-canvas-content {\n @include off-canvas-content;\n }\n\n // Reveal off-canvas panel on larger screens\n @each $name, $value in $breakpoint-classes {\n @if $name != $-zf-zero-breakpoint {\n @include breakpoint($name) {\n .position-left.reveal-for-#{$name} {\n @include off-canvas-reveal(left, $offcanvas-reveal-zindex, $maincontent-class, $name);\n }\n\n .position-right.reveal-for-#{$name} {\n @include off-canvas-reveal(right, $offcanvas-reveal-zindex, $maincontent-class, $name);\n }\n\n .position-top.reveal-for-#{$name} {\n @include off-canvas-reveal(top, $offcanvas-reveal-zindex, $maincontent-class, $name);\n }\n\n .position-bottom.reveal-for-#{$name} {\n @include off-canvas-reveal(bottom, $offcanvas-reveal-zindex, $maincontent-class, $name);\n }\n }\n }\n }\n\n // Move in-canvas for larger screens\n @each $name, $value in $breakpoint-classes {\n @if $name != $-zf-zero-breakpoint {\n @include breakpoint($name) {\n .off-canvas.in-canvas-for-#{$name} {\n @include in-canvas;\n }\n }\n }\n }\n}\n\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-sticky {\n .sticky-container {\n position: relative;\n }\n\n .sticky {\n position: relative;\n z-index: 0;\n transform: translate3d(0, 0, 0);\n }\n\n .sticky.is-stuck {\n position: fixed;\n z-index: 5;\n width: 100%;\n\n &.is-at-top {\n top: 0;\n }\n\n &.is-at-bottom {\n bottom: 0;\n }\n }\n\n .sticky.is-anchored {\n position: relative;\n right: auto;\n left: auto;\n\n &.is-at-bottom {\n bottom: 0;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group title-bar\n////\n\n/// Background color of a title bar.\n/// @type Color\n$titlebar-background: $black !default;\n\n/// Color of text inside a title bar.\n/// @type Color\n$titlebar-color: $white !default;\n\n/// Padding inside a title bar.\n/// @type Length\n$titlebar-padding: 0.5rem !default;\n\n/// Font weight of text inside a title bar.\n/// @type Weight\n$titlebar-text-font-weight: bold !default;\n\n/// Color of menu icons inside a title bar.\n/// @type Color\n$titlebar-icon-color: $white !default;\n\n/// Color of menu icons inside a title bar on hover.\n/// @type Color\n$titlebar-icon-color-hover: $medium-gray !default;\n\n/// Spacing between the menu icon and text inside a title bar.\n/// @type Length\n$titlebar-icon-spacing: 0.25rem !default;\n\n@mixin foundation-title-bar {\n .title-bar {\n padding: $titlebar-padding;\n background: $titlebar-background;\n color: $titlebar-color;\n\n @if $global-flexbox {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n @else {\n @include clearfix;\n }\n\n .menu-icon {\n margin-#{$global-left}: $titlebar-icon-spacing;\n margin-#{$global-right}: $titlebar-icon-spacing;\n }\n }\n\n @if $global-flexbox {\n .title-bar-left,\n .title-bar-right {\n flex: 1 1 0px; // sass-lint:disable-line zero-unit\n }\n\n .title-bar-right {\n text-align: right;\n }\n }\n @else {\n .title-bar-left {\n float: left;\n }\n\n .title-bar-right {\n float: right;\n text-align: right;\n }\n }\n\n .title-bar-title {\n display: inline-block;\n vertical-align: middle;\n font-weight: $titlebar-text-font-weight;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group top-bar\n////\n\n/// Padding for the top bar.\n/// @type Number\n$topbar-padding: 0.5rem !default;\n\n/// Background color for the top bar. This color also cascades to menus within the top bar.\n/// @type Color\n$topbar-background: $light-gray !default;\n\n/// Background color submenus within the top bar. Usefull if $topbar-background is transparent.\n/// @type Color\n$topbar-submenu-background: $topbar-background !default;\n\n/// Spacing for the top bar title.\n/// @type Number\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0 !default;\n\n/// Maximum width of `<input>` elements inside the top bar.\n/// @type Number\n$topbar-input-width: 200px !default;\n\n/// Breakpoint at which top bar switches from mobile to desktop view.\n/// @type Breakpoint\n$topbar-unstack-breakpoint: medium !default;\n\n/// Adds styles for a top bar container.\n@mixin top-bar-container {\n @if $global-flexbox {\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n }\n @else {\n @include clearfix;\n }\n\n padding: $topbar-padding;\n\n &,\n ul {\n background-color: $topbar-background;\n }\n\n // Check if $topbar-background is differnt from $topbar-background-submenu\n @if ($topbar-background != $topbar-submenu-background) {\n ul ul {\n background-color: $topbar-submenu-background;\n }\n }\n\n // Restrain width of inputs by default to make them easier to arrange\n input {\n max-width: $topbar-input-width;\n margin-#{$global-right}: 1rem;\n }\n\n // The above styles shouldn't apply to input group fields\n .input-group-field {\n width: 100%;\n margin-#{$global-right}: 0;\n }\n\n input.button { // sass-lint:disable-line no-qualifying-elements\n width: auto;\n }\n}\n\n/// Makes sections of a top bar stack on top of each other.\n@mixin top-bar-stacked {\n @if $global-flexbox {\n flex-wrap: wrap;\n\n // Sub-sections\n .top-bar-left,\n .top-bar-right {\n flex: 0 0 100%;\n max-width: 100%;\n }\n }\n @else {\n // Sub-sections\n .top-bar-left,\n .top-bar-right {\n width: 100%;\n }\n }\n}\n\n/// Undoes the CSS applied by the `top-bar-stacked()` mixin.\n@mixin top-bar-unstack {\n @if $global-flexbox {\n flex-wrap: nowrap;\n\n .top-bar-left {\n flex: 1 1 auto;\n margin-right: auto;\n }\n\n .top-bar-right {\n flex: 0 1 auto;\n margin-left: auto;\n }\n }\n @else {\n .top-bar-left,\n .top-bar-right {\n width: auto;\n }\n }\n}\n\n@mixin foundation-top-bar {\n // Top bar container\n .top-bar {\n @include top-bar-container;\n\n // Stack on small screens by default\n @include top-bar-stacked;\n\n @include breakpoint($topbar-unstack-breakpoint) {\n @include top-bar-unstack;\n }\n\n // Generate classes for stacking on each screen size (defined in $breakpoint-classes)\n @each $size in $breakpoint-classes {\n @if $size != $-zf-zero-breakpoint {\n &.stacked-for-#{$size} {\n @include breakpoint($size down) {\n @include top-bar-stacked;\n }\n }\n }\n }\n }\n\n // Sub-sections\n @if $global-flexbox {\n .top-bar-title {\n flex: 0 0 auto;\n margin: $topbar-title-spacing;\n }\n\n .top-bar-left,\n .top-bar-right {\n flex: 0 0 auto;\n }\n }\n @else {\n .top-bar-title {\n display: inline-block;\n float: left;\n padding: $topbar-title-spacing;\n\n .menu-icon {\n bottom: 2px;\n }\n }\n\n .top-bar-left {\n float: left;\n }\n\n .top-bar-right {\n float: right;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group float\n////\n\n@mixin foundation-float-classes {\n .float-left {\n float: left !important;\n }\n\n .float-right {\n float: right !important;\n }\n\n .float-center {\n display: block;\n margin-right: auto;\n margin-left: auto;\n }\n\n .clearfix {\n @include clearfix;\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group Flexbox Utilities\n////\n//\n/// Default value for the count of source ordering`\n/// @type Number\n$flex-source-ordering-count: 6 !default;\n\n/// Quickly disable/enable Responsive breakpoints for Vanilla Flex Helpers.\n/// @type Boolean\n$flexbox-responsive-breakpoints: true !default;\n\n@mixin flex-helpers {\n .flex-container {\n @include flex;\n }\n\n .flex-child-auto {\n flex: 1 1 auto;\n }\n\n .flex-child-grow {\n flex: 1 0 auto;\n }\n\n .flex-child-shrink {\n flex: 0 1 auto;\n }\n\n @each $dir, $prop in $-zf-flex-direction {\n .flex-dir-#{$dir} {\n @include flex-direction($prop);\n }\n }\n\n @if ($flexbox-responsive-breakpoints) {\n // Loop through Responsive Breakpoints\n @each $size in $breakpoint-classes {\n @include breakpoint($size) {\n @if $size != $-zf-zero-breakpoint {\n .#{$size}-flex-container {\n @include flex;\n }\n\n .#{$size}-flex-child-auto {\n flex: 1 1 auto;\n }\n\n .#{$size}-flex-child-grow {\n flex: 1 0 auto;\n }\n\n .#{$size}-flex-child-shrink {\n flex: 0 1 auto;\n }\n\n @each $dir, $prop in $-zf-flex-direction {\n .#{$size}-flex-dir-#{$dir} {\n @include flex-direction($prop);\n }\n }\n }\n }\n }\n }\n}\n\n@mixin foundation-flex-classes {\n // Horizontal alignment using justify-content\n @each $hdir, $prop in $-zf-flex-justify {\n .align-#{$hdir} {\n @include flex-align($x: $hdir);\n }\n }\n \n // Horizontal alignment Specifically for Vertical Menu\n @each $hdir, $prop in map-remove($-zf-flex-justify, 'justify', 'spaced') {\n .align-#{$hdir} {\n &.vertical {\n &.menu > li > a {\n @include flex-align($x: $hdir);\n }\n }\n }\n }\n\n // Vertical alignment using align-items and align-self\n @each $vdir, $prop in $-zf-flex-align {\n .align-#{$vdir} {\n @include flex-align($y: $vdir);\n }\n\n .align-self-#{$vdir} {\n @include flex-align-self($y: $vdir);\n }\n }\n\n // Central alignment of content\n .align-center-middle {\n @include flex-align($x: center, $y: middle);\n align-content: center;\n }\n\n // Source ordering\n @include -zf-each-breakpoint {\n @for $i from 1 through $flex-source-ordering-count {\n .#{$-zf-size}-order-#{$i} {\n @include flex-order($i);\n }\n }\n }\n\n // Vanilla Flexbox Helpers\n @include flex-helpers;\n}\n","@function -zf-flex-justify($text-direction){\n $-zf-flex-justify: (\n 'left': if($text-direction == rtl, flex-end, flex-start),\n 'right': if($text-direction == rtl, flex-start, flex-end),\n 'center': center,\n 'justify': space-between,\n 'spaced': space-around,\n );\n\n @return $-zf-flex-justify;\n}\n\n\n$-zf-flex-align: (\n 'top': flex-start,\n 'bottom': flex-end,\n 'middle': center,\n 'stretch': stretch,\n);\n\n$-zf-flex-direction: (\n 'row': row,\n 'row-reverse': row-reverse,\n 'column': column,\n 'column-reverse': column-reverse,\n);\n\n/// Enables flexbox by adding `display: flex` to the element.\n@mixin flex {\n display: flex;\n}\n\n/// Horizontally or vertically aligns the items within a flex container.\n///\n/// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align($x: null, $y: null) {\n @if $x {\n @if map-has-key($-zf-flex-justify, $x) {\n $x: map-get($-zf-flex-justify, $x);\n }\n @else {\n @warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.';\n }\n }\n\n @if $y {\n @if map-has-key($-zf-flex-align, $y) {\n $y: map-get($-zf-flex-align, $y);\n }\n @else {\n @warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.';\n }\n }\n\n justify-content: $x;\n align-items: $y;\n}\n\n/// Vertically align a single column within a flex row. Apply this mixin to a flex column.\n///\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align-self($y: null) {\n @if $y {\n @if map-has-key($-zf-flex-align, $y) {\n $y: map-get($-zf-flex-align, $y);\n }\n @else {\n @warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.';\n }\n }\n\n align-self: $y;\n}\n\n/// Changes the source order of a flex child. Children with lower numbers appear first in the layout.\n/// @param {Number} $order [0] - Order number to apply.\n@mixin flex-order($order: 0) {\n order: $order;\n}\n\n/// Change flex-direction\n/// @param {Keyword} $direction [row] - Flex direction to use. Can be\n/// - row (default): same as text direction\n/// - row-reverse: opposite to text direction\n/// - column: same as row but top to bottom\n/// - column-reverse: same as row-reverse top to bottom\n@mixin flex-direction($direction: row) {\n flex-direction: $direction;\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Hide an element by default, only displaying it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for($size) {\n $size: map-get($breakpoints, $size);\n // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n // See https://github.com/zurb/foundation-sites/issues/11313\n $size: -zf-bp-to-em($size) - .00125;\n\n @include breakpoint($size down) {\n display: none !important;\n }\n}\n\n/// Hide an element by default, only displaying it within a certain breakpoint.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for-only($size) {\n $lower-bound-size: map-get($breakpoints, $size);\n $upper-bound-size: -zf-map-next($breakpoints, $size);\n\n // more often than not this will be correct, just one time round the loop it won't so set in scope here\n $lower-bound: -zf-bp-to-em($lower-bound-size) - .00125;\n // test actual lower-bound-size, if 0 set it to 0em\n @if strip-unit($lower-bound-size) == 0 {\n $lower-bound: -zf-bp-to-em($lower-bound-size);\n }\n\n @if $upper-bound-size == null {\n @media screen and (max-width: $lower-bound) {\n display: none !important;\n }\n }\n @else {\n $upper-bound: -zf-bp-to-em($upper-bound-size);\n\n @media screen and (max-width: $lower-bound), screen and (min-width: $upper-bound) {\n display: none !important;\n }\n }\n}\n\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for($size) {\n @include breakpoint($size) {\n display: none !important;\n }\n}\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for-only($size) {\n @include breakpoint($size only) {\n display: none !important;\n }\n}\n\n@mixin foundation-visibility-classes {\n // Basic hiding classes\n .hide {\n display: none !important;\n }\n\n .invisible {\n visibility: hidden;\n }\n\n // Responsive visibility classes\n @each $size in $breakpoint-classes {\n @if $size != $-zf-zero-breakpoint {\n .hide-for-#{$size} {\n @include hide-for($size);\n }\n\n .show-for-#{$size} {\n @include show-for($size);\n }\n }\n\n .hide-for-#{$size}-only {\n @include hide-for-only($size);\n }\n\n .show-for-#{$size}-only {\n @include show-for-only($size);\n }\n }\n\n // Screen reader visibility classes\n // Need a \"hide-for-sr\" class? Add aria-hidden='true' to the element\n .show-for-sr,\n .show-on-focus {\n @include element-invisible;\n }\n\n // Only display the element when it's focused\n .show-on-focus {\n &:active,\n &:focus {\n @include element-invisible-off;\n }\n }\n\n // Landscape and portrait visibility\n .show-for-landscape,\n .hide-for-portrait {\n display: block !important;\n\n @include breakpoint(landscape) {\n display: block !important;\n }\n\n @include breakpoint(portrait) {\n display: none !important;\n }\n }\n\n .hide-for-landscape,\n .show-for-portrait {\n display: none !important;\n\n @include breakpoint(landscape) {\n display: none !important;\n }\n\n @include breakpoint(portrait) {\n display: block !important;\n }\n }\n}\n",".sample-grid {\n margin-bottom: 2em;\n .cell {\n background: $gray-lightest;\n padding: 10px 15px;\n min-height: 80px;\n }\n}\n\n// Helper classes.\n.grid-grow {\n flex-grow: 1 !important;\n}\n","/// Mixin - Transition\n@mixin transition($transition-property, $transition-time, $method) {\n -webkit-transition: $transition-property $transition-time $method;\n -moz-transition: $transition-property $transition-time $method;\n -ms-transition: $transition-property $transition-time $method;\n -o-transition: $transition-property $transition-time $method;\n transition: $transition-property $transition-time $method;\n}\n\n.animate-fade {\n @include transition(opacity, 0.3s, ease-out);\n\n &:hover {\n opacity: 0;\n }\n}\n\n.animate-move {\n > .demo-shape {\n @include transition(all, 0.8s, ease-in-out);\n }\n}\n\n.demo-animate {\n background-color: $gray-lightest;\n cursor: pointer;\n padding: 1em;\n text-align: center;\n}\n","html {\n box-sizing: border-box;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: inherit;\n}\n\n// Background color for main content. Body color is set by footer color.\n.layout-container,\n.layout__wrapper--main {\n background: white;\n}\n\nbody.footer-color {\n &--dk-gray {\n background: $gray-darkest;\n }\n\n &--md-gray {\n background: $gray;\n }\n\n &--lt-gray {\n background: $gray-lightest;\n }\n\n &--white {\n background: white;\n }\n}\n\n$grid-container-padding: rem-calc(40);\n\n.grid-container {\n padding-right: $grid-container-padding;\n padding-left: $grid-container-padding;\n}\n\n.layout__wrapper--main {\n background: white;\n}\n","// Hide only visually, but have it available for screenreaders: h5bp.com/v\n//\n@mixin visually-hidden($focusable: false) {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n // Extends the `visually-hidden` class to allow the element to be focusable\n // when navigated to via the keyboard: h5bp.com/p\n @if $focusable == true {\n &:active,\n &:focus {\n clip: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n position: static !important;\n width: auto !important;\n }\n }\n}\n\n.visually-hidden,\n.visuallyhidden {\n position: absolute !important;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n}\n","address {\n font-style: normal !important;\n}\n","// These styles are specifically for Pattern Lab.\n\n.sg-main {\n padding: 0 4%;\n font-family: $proxima;\n}\n\n.sg-tabs-panel {\n min-height: 25em !important;\n}\n\n.sg-pattern-extra-code {\n width: 100% !important;\n}\n\n.sg-pattern-extra-code .language-markup {\n font-size: 85% !important;\n}\n\n#sg-patterns {\n .sg-subtype h2 {\n font-size: 1.75rem;\n font-weight: 700;\n text-transform: uppercase;\n margin-bottom: 5px;\n clear: both;\n background: $gray-lightest;\n @include breakout;\n padding: 6px 0 0 4.5%;\n margin-top: 2.5em;\n a {\n color: $red;\n font-weight: 700;\n text-decoration: none;\n &:hover {\n color: $teal;\n }\n }\n }\n .sg-subtype:first-child h2 {\n margin-top: 0;\n }\n}\n\n.sg-pattern-title a {\n font-family: $proxima !important;\n color: $gray-dark;\n font-size: 1.375rem;\n text-transform: uppercase;\n}\n\n.sg-colors {\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n padding: 0;\n margin: 0;\n\n li {\n flex: auto;\n padding: 0.3em;\n margin: 0 0.3em 1em;\n min-width: 9em;\n max-width: 10em;\n }\n\n &__sample {\n display: block;\n height: 100px;\n margin-bottom: 0.3em;\n border: 1px solid $gray-lighter;\n }\n}\n\n.sg-typography {\n display: flex;\n flex-wrap: wrap;\n\n .sg-typography__group {\n padding: 1em 0.25em;\n min-width: 40%;\n\n .sg-info {\n padding: 10px;\n font-size: 30px;\n }\n }\n}\n\n#viewall-base-utils {\n display: none;\n}\n","@mixin heading(\n $size: 36,\n $weight: $header-font-weight,\n $color: $header-color,\n $font-family: $header-font-family,\n $line-height: $header-lineheight,\n $color-link: inherit,\n $color-link-hover: $header-color--hover\n) {\n font-size: rem-calc($size);\n font-weight: $weight;\n color: $color;\n font-family: $proxima;\n line-height: $line-height;\n a,\n &__link {\n color: $color-link;\n text-decoration: none;\n font-weight: $weight;\n\n &:hover {\n color: $color-link-hover;\n }\n\n &:focus {\n outline: 1px dotted $color-link-hover;\n outline-offset: 2px;\n }\n }\n}\n\nh1,\n.h1 {\n @include heading(42, 800, $line-height: 1.1);\n}\n\nh2,\n.h2 {\n @include heading(32, 700);\n}\n\nh3,\n.h3 {\n @include heading(26);\n}\n\nh4,\n.h4 {\n @include heading(22);\n}\n\nh5,\n.h5 {\n @include heading(20, 400);\n}\n\nh6,\n.h6 {\n @include heading(18, 400);\n}\n\nh1.page-title {\n margin-top: $space-y;\n margin-bottom: $space-y-half;\n}\n\n// Headers within long text.\n.field--type-text-long {\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: $space-y-half;\n margin-bottom: $space-y-half;\n }\n\n p ~ h2,\n p ~ h3,\n p ~ h4,\n p ~ h5,\n p ~ h6 {\n margin-top: $space-y-plus-half;\n }\n\n ul ~ h2,\n ul ~ h3,\n ul ~ h4,\n ul ~ h5,\n ul ~ h6 {\n margin-top: $space-y-plus-half;\n }\n\n ol ~ h2,\n ol ~ h3,\n ol ~ h4,\n ol ~ h5,\n ol ~ h6 {\n margin-top: $space-y-plus-half;\n }\n}\n","//////////////////////////\n// General Variables\n// Note: colors should go into\n// components/_patterns/00-base/global/01-colors/_color-vars.scss\n// and typography into\n// components/_patterns/00-base/global/typography/_typography.scss\n\n// Vertical spacing (y).\n$space-y: rem-calc(20);\n\n// More space.\n$space-y-plus-half: $space-y * 1.5;\n$space-y-double: $space-y * 2;\n$space-y-triple: $space-y * 3;\n\n// Less space.\n$space-y-two-thirds: $space-y * 0.667;\n$space-y-half: $space-y / 2;\n$space-y-third: $space-y / 3;\n$space-y-quarter: $space-y / 4;\n\n// Horizontal spacing (x).\n$space-x: rem-calc(26);\n\n// Less space.\n$space-x-half: $space-x / 2;\n$space-x-third: $space-x / 3;\n$space-x-quarter: $space-x / 4;\n\n// Typography spacing.\n$header-margin-after: rem-calc(16);\n$header-margin-after-less: rem-calc(8);\n\n// Box spacing.\n$padding-y: rem-calc(18);\n$padding-x: rem-calc(22);\n$padding-y-bottom: rem-calc(6);\n\n// Grid spacing.\n$grid-margin-after: rem-calc(24);\n\n// Shadows.\n$drop-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n",".tagline {\n font-family: $capita;\n font-size: rem-calc(28);\n font-style: italic;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: $space-y;\n}\n\n.tagline--small {\n font-size: rem-calc(22);\n}\n",".blockquote {\n border-left: solid 3px $gray-lighter;\n margin: 2em 0 2em 2em;\n padding-left: 1em;\n padding-right: 3em;\n p {\n line-height: 1.6;\n }\n}\n\nblockquote:not(.pull-quote) {\n @extend .blockquote;\n}\n\n.pull-quote {\n border: 0;\n padding: 2em;\n padding-right: 4em;\n margin: 2em 0;\n position: relative;\n}\n\n.pull-quote__icon {\n color: $gray-lighter;\n position: absolute;\n top: 0.8em;\n}\n\n.pull-quote__text {\n font-family: $capita;\n font-style: italic;\n font-weight: 300;\n font-size: 115%;\n padding: 0;\n padding-left: 3.5em;\n\n p {\n line-height: 1.6;\n }\n}\n",".section-header {\n font-size: rem-calc(28);\n font-weight: 400;\n text-transform: uppercase;\n margin-bottom: $space-y;\n}\n","p,\n.paragraph {\n line-height: 1.4;\n}\n\n.paragraph--center {\n text-align: center;\n width: 85%;\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.paragraph--intro {\n font-family: $capita;\n font-style: italic;\n font-weight: 400;\n font-size: rem-calc(20);\n line-height: 1.75;\n}\n",".pipe {\n margin: 0 3px;\n color: $red;\n font-weight: 700;\n}\n\ncode {\n font-size: 0.875em;\n}\n","/// Link\n$color-link: $red;\n$color-link--hover: $teal;\n\n@mixin link {\n color: $color-link;\n text-decoration: underline;\n font-weight: 400;\n\n &:hover {\n color: $color-link--hover;\n }\n\n &:focus {\n outline: 1px dotted $color-link--hover;\n outline-offset: 2px;\n }\n}\n\na,\n.link {\n @include link;\n}\n\nspan.ext {\n margin-left: 4px;\n}\n\n//fixes extlink buttons in Chrome\na.button {\n span.link-content {\n float: left;\n }\n}\n",".social-media__item {\n display: inline-block;\n padding: 0;\n margin: 0;\n}\n\n.social-media__item a {\n float: left;\n background: $gray;\n color: $white;\n width: 2.65em;\n margin: 0.35em 0.7em 0.15em 0;\n text-align: center;\n padding: 0.625em 0 0.45em;\n font-size: 105%;\n}\n\n.social-media__item a span.ext {\n display: none;\n}\n\n// focus\n.social-media__item a:focus {\n outline: 2px dotted black;\n outline-offset: 0;\n}\n\n//hover colors\n.social-media__item a:hover {\n background: $gray-dark;\n}\n.social-media__item--Twitter a:hover {\n background: #00aced;\n}\n.social-media__item--Facebook a:hover {\n background: #1877f2;\n}\n.social-media__item--LinkedIn a:hover {\n background: #007bb6;\n}\n.social-media__item--YouTube a:hover {\n background: #f00;\n}\n.social-media__item--Instagram a:hover {\n background: #c13584;\n}\n.social-media__item--Photo-sharing a:hover {\n background: #6eb800;\n}\n","@mixin button-std($bg: $red, $color: $white) {\n background-color: $bg;\n color: $color;\n font-size: 14px;\n font-weight: 600;\n line-height: 1.25;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n padding: 11px 16px 10px;\n margin-bottom: 16px;\n display: inline-block;\n position: relative;\n cursor: pointer;\n\n &:active {\n position: relative;\n top: 1px;\n background-color: darken($bg, 5%) !important;\n }\n\n &:hover {\n background-color: lighten($bg, 3%);\n }\n\n &:focus {\n background-color: lighten($bg, 3%);\n outline: 2px dotted $gray-darkest;\n outline-offset: 0;\n }\n}\n\n@mixin button-rev($bg: $white, $color: $red) {\n background-color: $bg;\n color: $color;\n border: 1px solid $color;\n padding: 11px 16px 10px;\n\n &:active {\n border: 1px solid $color;\n background-color: darken($color, 5%) !important;\n padding: 12px 16px 11px;\n top: 0;\n }\n\n &:hover {\n background-color: $color;\n }\n &:focus {\n background-color: $color;\n }\n}\n\n@mixin button-gray {\n @include button-std($gray);\n}\n\n@mixin button-teal {\n @include button-std($teal);\n}\n\n@mixin button-alt-teal {\n @include button-rev($white, $teal);\n}\n\n@mixin button-alt-gray {\n @include button-rev($white, $gray);\n}\n\n.button {\n @include button-std;\n\n &--gray {\n @include button-gray;\n }\n\n &--teal {\n @include button-teal;\n }\n\n &--alt {\n @include button-rev;\n }\n\n &--alt-gray {\n @include button-alt-gray;\n }\n\n &--alt-teal {\n @include button-alt-teal;\n }\n}\n\n.more-link {\n @include button;\n}\n","/// Mixin - list-reset\n/// Reset list item defaults when no margin, padding, list styles needed\n@mixin list-reset {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.list-item {\n margin-bottom: $space-y-third;\n padding-left: $space-x-quarter;\n}\n\n.dl-term {\n font-weight: 700;\n margin-bottom: 0;\n}\n\n.dl-def {\n margin-left: $space-x-half;\n margin-bottom: $space-y-half;\n}\n\nul,\nol {\n padding-left: $space-x-third;\n}\n\nul {\n list-style-type: disc;\n}\n\nol {\n list-style-type: decimal;\n}\n\nol ol {\n list-style-type: lower-alpha;\n}\n\nol ol ol {\n list-style-type: lower-roman;\n}\n\n.field--type-text-long {\n ol,\n ul {\n li {\n @extend .list-item;\n }\n }\n}\n",".table__caption {\n text-align: left;\n margin-bottom: 0.5em;\n}\n\n.table__heading-cell {\n font-weight: 700;\n &[scope='row'] {\n text-align: left;\n }\n}\n","//common styles for all form elements\n.form-item {\n color: $gray-darker;\n margin-bottom: 0.5em;\n\n @include clearfix;\n}\n\n.form-item__label {\n display: block;\n font-weight: 600;\n\n // @include xs {\n // display: block;\n // margin-right: 2%;\n // padding: 0.6em 0 0.3em 0;\n // }\n}\n\n.form-item__description {\n font-size: rem-calc(14);\n margin-top: -0.5em;\n margin-bottom: 1.5em;\n}\n\n// Styling for the required fields\n\n[aria-required='true']:before {\n content: '*';\n color: $red;\n padding-right: 5px;\n}\n\n// Remove margin on the second of nested form-items.\n.form-item > .form-item {\n margin-bottom: 0;\n}\n","/////////////////////\n// General Mixins (put specific ones in component files where applicable)\n\n/// Mixin - Clearfix.\n/// Adds clearfix based on http://bourbon.io/docs/#clearfix\n/// use example = @include cleafix\n\n@mixin clearfix {\n &::after {\n clear: both;\n content: '';\n display: table;\n }\n}\n\n/// Mixin - list-reset\n/// Reset list item defaults when no margin, padding, list styles needed\n@mixin list-reset {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/// Mixin - With Icon\n/// Precede Text with SVG icon\n@mixin with-icon {\n background-size: cover;\n content: '';\n display: inline-block;\n margin-right: 0.1em;\n padding: 0.8em;\n}\n\n/// Mixin - Wrapper\n/// Outer container mixin for large screens\n@mixin wrapper(\n $container-max-width: $max-width,\n $outer-container-break: $small,\n $v-margin: 0,\n $v-padding: 0,\n $h-padding: 4%,\n $h-padding-large: $h-padding\n) {\n max-width: #{$container-max-width};\n width: 100%;\n margin: #{$v-margin} auto;\n padding: #{$v-padding} #{$h-padding};\n\n @include breakpoint($outer-container-break) {\n padding: #{$v-padding} #{$h-padding-large};\n }\n\n @include breakpoint($container-max-width) {\n padding-left: calc(\n #{$h-padding-large} + calc(-50vw + calc(#{$container-max-width} / 2))\n );\n padding-right: calc(\n #{$h-padding-large} + calc(-50vw + calc(#{$container-max-width} / 2))\n );\n }\n}\n\n/// Use the breakout mixin for elements that should be edge-to-edge\n/// Even when a parent container uses the wrapper mixin\n@mixin breakout($v-padding: 5rem) {\n margin-left: calc(-50vw + 50%);\n margin-right: calc(-50vw + 50%);\n padding-left: calc(#{$v-padding} + calc(-50vw + 50%));\n padding-right: calc(#{$v-padding} + calc(-50vw + 50%));\n}\n\n/// Mixin - Standard Margin\n@mixin margin {\n margin-bottom: 1em;\n}\n\n@mixin no-bottom {\n margin-bottom: 0;\n}\n\n@mixin short-bottom {\n margin-bottom: 0.25em;\n}\n",".form-item--radios,\n.form-item--radio__item {\n @include list-reset;\n\n @extend .form-options-list;\n}\n","// CSS-only select styling (from https://github.com/filamentgroup/select-css)\n\n.form-item__dropdown {\n border: 1px solid $gray-lighter;\n background-color: $white;\n display: block;\n position: relative;\n\n &::after {\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 9px solid $gray;\n content: ' ';\n position: absolute;\n top: 41%;\n right: 1em;\n z-index: 2;\n\n /* These hacks make the select behind the arrow clickable in some browsers */\n pointer-events: none;\n display: none;\n }\n\n &:hover {\n border-color: $gray-light;\n\n &::after {\n border-top: 9px solid $gray-dark;\n }\n }\n}\n\n.form-item__select {\n border: 1px solid $gray-lightest;\n font-size: rem-calc(14);\n margin: 0;\n outline: none;\n padding: 0.63em 0.8em;\n width: 100%;\n\n :focus {\n border-color: $color-link--hover;\n border-radius: 0;\n border-style: dotted;\n border-width: 1px;\n }\n}\n\n@supports (-webkit-appearance: none) or (appearance: none) or\n ((-moz-appearance: none) and (mask-type: alpha)) {\n /* Show custom arrow */\n .form-item__dropdown::after {\n display: block;\n }\n\n /* Remove select styling */\n .form-item__select {\n padding-right: 2em; /* Match-01 */\n\n /* inside @supports so that iOS <= 8 display the native arrow */\n background: none; /* Match-04 */\n\n /* inside @supports so that Android <= 4.3 display the native arrow */\n border: 1px solid transparent; /* Match-05 */\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n\n &:focus {\n border-color: $color-link--hover;\n border-radius: 0;\n border-style: dotted;\n border-width: 2px;\n }\n }\n}\n",".form-item__textarea {\n font-family: $font;\n font-size: 0.9em;\n\n &:focus {\n border: 2px solid $gray;\n outline: none;\n }\n}\n","/* Styling for the text areas */\n\n.form-item__textfield {\n border: 1px solid $gray-lighter;\n padding: 0.625em 1em;\n margin-bottom: 1em;\n font-size: rem-calc(14);\n line-height: 1.5;\n width: 100%;\n\n &:focus {\n border: 2px solid $gray;\n outline: none;\n }\n\n &.has-placeholder {\n &:not(:placeholder-shown):invalid {\n border: 2px solid $red;\n }\n\n &:not(:placeholder-shown):valid {\n border: 2px solid $teal;\n }\n }\n\n &::-webkit-input-placeholder {\n color: $gray-light;\n }\n\n &:-moz-placeholder {\n color: $gray-light;\n }\n\n &::-moz-placeholder {\n color: $gray;\n }\n\n &:-ms-input-placeholder {\n color: $gray;\n }\n\n &:-moz-ui-invalid {\n box-shadow: none;\n }\n}\n","@mixin img {\n display: block;\n height: auto;\n max-width: 100%;\n}\n\nimg,\npicture {\n @include img;\n}\n\nimg {\n border: 1px solid $gray;\n}\n\nfigure {\n margin: 0; //override normalize\n}\n\n.figure__caption {\n font-style: italic;\n}\n","// Responsive Video using CSS only\n.video {\n height: 0;\n overflow: hidden;\n padding-top: 35px;\n padding-bottom: 56.25%; // 56.25% = 16x9\n position: relative;\n\n &--full {\n padding-bottom: 75%; // 75% = 4x3\n }\n\n iframe {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n }\n}\n",".address-block__wordmark {\n margin-bottom: 0.5em;\n\n img {\n width: 280px;\n border: none;\n }\n}\n.address-block__address {\n p {\n margin: 0;\n font-size: 0.875rem;\n line-height: 1.375;\n font-weight: 300;\n }\n\n .site-name {\n font-weight: 600;\n font-size: 1rem;\n margin-bottom: 2px;\n }\n\n .pipe {\n font-size: 120%;\n vertical-align: -2%;\n }\n\n span.mailto {\n display: none;\n }\n}\n","@mixin callout($color: $gray-light) {\n border: 1px solid $color;\n margin: 2em 0.625em;\n display: flex;\n align-items: stretch;\n\n .callout__icon {\n float: left;\n background: $color;\n color: white;\n text-align: center;\n display: flex;\n align-items: center;\n }\n\n .svg-inline--fa {\n font-size: 1.5em;\n margin: 0 0.5em;\n\n &.fa-exclamation {\n font-size: 1.625em;\n margin: 0 0.6875em;\n }\n }\n\n .callout__body {\n margin: 1em 1.25em 1em 1.5em;\n line-height: 1.4;\n }\n}\n\n.callout {\n @include callout();\n}\n\n.callout--caution {\n @include callout($orange);\n}\n\n.callout--ux-tip {\n @include callout($violet);\n}\n\n.callout {\n p:last-child {\n margin-bottom: 0;\n }\n}\n","/* Card styling */\n\n.card {\n display: inline-block;\n margin-bottom: $grid-margin-after;\n overflow: hidden;\n background-color: $white;\n box-shadow: $drop-shadow;\n width: 100%;\n}\n\n.card__inner {\n padding: $padding-y $padding-x $padding-y-bottom;\n}\n\n.card__image {\n border: none;\n height: 200px;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n object-fit: cover;\n}\n\n.card__title {\n @include heading(26);\n margin-bottom: $header-margin-after-less;\n}\n\n.card__content {\n font-weight: 400;\n}\n\n.card button {\n margin-top: $space-y-half;\n}\n\n// Card sizes.\n// Adjust a bit based on breakpoints.\n@include breakpoint(medium) {\n .card--small {\n max-width: 320px;\n }\n\n .card--medium {\n max-width: 440px;\n }\n}\n@include breakpoint(large) {\n .card--large {\n max-width: 640px;\n }\n}\n","// Details-item.\ndetails,\n.details-item {\n margin-bottom: 3px;\n border: 1px solid $gray-lightest;\n\n summary {\n background: $gray-lightest;\n padding: 0.675em 1em;\n font-size: rem-calc(18);\n font-weight: 600;\n\n &:hover,\n &[aria-expanded='true'] {\n background: darken($gray-lightest, 5%);\n }\n\n &:focus {\n outline: 1px dotted $teal;\n }\n }\n\n .details__inner {\n padding: 1em;\n }\n}\n\n// Plus variation.\n.details-item--plus {\n summary {\n // Hide arrows.\n list-style: none;\n list-style-image: none;\n &::-webkit-details-marker {\n display: none;\n }\n\n .summary__inner {\n display: flex;\n align-items: center;\n position: relative;\n }\n\n // Plus/Minus.\n .summary__controls {\n position: absolute;\n right: 18px;\n\n .pm-control {\n position: relative;\n height: 24px;\n width: 2px;\n\n &.plus {\n background: $gray-darkest;\n -webkit-transition: all 0.8s ease;\n -moz-transition: all 0.8s ease;\n -o-transition: all 0.8s ease;\n transition: all 0.8s ease;\n }\n\n &.minus {\n background: $clear;\n -webkit-transition: all 0.4s ease;\n -moz-transition: all 0.4s ease;\n -o-transition: all 0.4s ease;\n transition: all 0.4s ease;\n }\n\n &:after {\n background: $gray-darkest;\n content: '';\n position: absolute;\n height: 2px;\n width: 24px;\n left: -11px;\n top: 11px;\n }\n }\n }\n }\n}\n\n// If icon.\n.summary__icon {\n display: inline-block;\n width: 36px;\n line-height: 1;\n margin-right: 16px;\n text-align: center;\n\n .svg-inline--fa {\n font-size: 26px;\n color: $red;\n }\n}\n","input {\n margin-bottom: 5px !important;\n}\n\nlegend {\n font-weight: 600;\n}\n\n.label {\n background: none;\n color: inherit;\n padding: 0;\n font-size: inherit;\n}\n\n.form-item label {\n @extend .form-item__label;\n}\n\n.form-item {\n max-width: none;\n}\n\n.form-fieldset {\n border: 0;\n margin: 2em 0 1em;\n padding: 1em 1.5em;\n background-color: $gray-lightest;\n\n legend {\n text-transform: uppercase;\n }\n\n .button {\n margin-top: 0.5em;\n margin-bottom: 0.5em;\n }\n}\n\n//reusable classes\n.form-options-list {\n line-height: 160%;\n\n input {\n margin: 0 4px 0 1px;\n }\n}\n\n// If in PL\n.sg-main {\n .form-fieldset {\n max-width: 600px;\n }\n}\n",".login-box {\n background: $gray-lightest;\n padding: 1em 1.25em 0.5em;\n}\n.login-box--osu {\n margin-bottom: 1.25em;\n}\n.login-box__header {\n font-size: rem-calc(20);\n margin-bottom: 0.5em;\n}\n.login-box__header--drupal {\n display: inline;\n}\n.login-form {\n padding-top: 0.5em;\n .button {\n margin-top: 0.5em;\n margin-bottom: 0;\n }\n}\n.details__inner--drupal {\n background-color: $gray-lightest;\n}\n\n// Hide SAML login link because it is already displayed further up the page.\n#edit-simplesamlphp-auth-login-link {\n display: none;\n}\n","@mixin info-box($background: $gray-lightest, $color: $gray-darkest) {\n background-color: $background;\n color: $color;\n margin-bottom: $grid-margin-after;\n padding: $padding-y $padding-x $padding-y-bottom;\n width: 100%;\n\n .info-box__title {\n @include heading(26);\n color: $color;\n margin-bottom: $header-margin-after-less;\n }\n\n @if $background == $white {\n border: 1px solid $gray-lightest;\n }\n}\n\n.info-box {\n @include info-box();\n}\n\n.info-box--white {\n @include info-box($white);\n}\n\n// Infobox sizes.\n// Adjust a bit based on breakpoints.\n@include breakpoint(medium) {\n .info-box--small {\n max-width: 320px;\n }\n\n .info-box--medium {\n max-width: 440px;\n }\n}\n@include breakpoint(large) {\n .info-box--large {\n max-width: 640px;\n }\n}\n",".breadcrumb {\n @include list-reset;\n padding: $space-y-half 0 $space-y;\n}\n\n.breadcrumb__item,\n.breadcrumb__link,\n.breadcrumb__link:link,\n.breadcrumb__link:visited,\n.breadcrumb__link:focus {\n color: $gray;\n font-weight: 400;\n text-decoration: none;\n}\n\n.breadcrumb__link:hover {\n text-decoration: underline;\n color: $gray-darkest;\n}\n\n.breadcrumb__item {\n display: inline-block;\n font-size: rem-calc(14);\n font-weight: 400;\n\n &::after {\n content: '|';\n color: $red;\n font-weight: 700;\n margin: 0 3px;\n }\n\n &:last-child {\n color: $gray-darkest;\n\n &::after {\n content: none;\n }\n }\n}\n\n.breadcrumb_link:active {\n color: $red;\n}\n","//adapted from https://code.osu.edu/ocio_odee_web/a11y-navbar\n\n//translate variables for this theme\n$lt-gray: $gray-lightest;\n$md-gray: $gray;\n$dk-gray: $gray-darkest;\n\n//from original sass/mixins/_visually-hidden.scss\n// Hide only visually, but have it available for screenreaders: h5bp.com/v\n@mixin visually-hidden($focusable: false) {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n // Extends the `visually-hidden` class to allow the element to be focusable\n // when navigated to via the keyboard: h5bp.com/p\n @if $focusable == true {\n &:active,\n &:focus {\n clip: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n position: static !important;\n width: auto !important;\n }\n }\n}\n\n//from original sass/reset/_button-reset.scss\n@mixin button-reset {\n padding: 0;\n border: none;\n font: inherit;\n color: inherit;\n background-color: transparent;\n cursor: pointer;\n}\n\n//excerpt from original sass/reset/_reset-src.scss\n@mixin element-reset {\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n}\n\n// from original sass/base/_navbar.scss -- altered for this theme\nnav.a11y-navbar {\n @include element-reset();\n\n /*\n\t\tReset potentially nested elements.\n\t*/\n div,\n span,\n ul,\n ol,\n li,\n a,\n p {\n @include element-reset();\n }\n\n ul,\n ol,\n li {\n @include list-reset();\n }\n\n font-family: $proxima;\n display: block;\n position: relative;\n width: 100%;\n overflow: visible;\n\n ul.a11y-navbar-menubar {\n background-color: $lt-gray;\n list-style-type: none;\n\n li {\n list-style-type: none;\n position: relative;\n\n a[role='menuitem'] {\n color: $dk-gray;\n text-decoration: none;\n background-color: $lt-gray;\n line-height: 2.25rem;\n padding: 0 1rem;\n display: block;\n height: 2.25rem;\n text-transform: uppercase;\n position: relative;\n z-index: 99;\n margin-bottom: 1px;\n\n &:focus,\n &:hover {\n color: $lt-gray;\n background-color: $dk-gray;\n outline-offset: -1px;\n outline-color: white;\n z-index: 999;\n }\n }\n\n ul[role='menu'] {\n opacity: 0;\n\n &.a11y-navbar-menu-open {\n display: block;\n min-width: 10rem;\n width: 100%;\n position: absolute;\n opacity: 1;\n transition: opacity 0.4s linear;\n z-index: 9999;\n\n li {\n display: block;\n width: 100%;\n\n a[aria-haspopup='true'] {\n &::after {\n // Right arrows\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-bottom: 0.25rem solid transparent;\n border-left: 0.25rem solid $dk-gray;\n position: absolute;\n right: 0.5rem;\n top: 0.75rem;\n }\n\n &:focus::after,\n &:hover::after {\n border-left: 0.25rem solid $lt-gray;\n }\n }\n }\n }\n\n &.a11y-navbar-menu-closed {\n @include visually-hidden();\n }\n }\n }\n\n &.a11y-navbar-orientation-horizontal {\n li {\n display: inline-block;\n\n a[role='menuitem'] {\n &.a11y-navbar-menuitem {\n border-bottom: none;\n\n &[aria-haspopup='true'] {\n padding-right: 1.5rem;\n\n &::after {\n // Down arrows\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid $dk-gray;\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 0.5rem;\n top: 1rem;\n }\n\n &:focus::after,\n &:hover::after {\n border-top: 0.25rem solid $lt-gray;\n }\n }\n }\n }\n\n ul[role='menu'] {\n &.a11y-navbar-menu-open {\n top: 2.325rem;\n left: 0;\n background: white;\n\n li {\n a[role='menuitem'] {\n // Second-level menu items\n background-color: darken($lt-gray, 10%);\n\n &:focus,\n &:hover {\n background-color: $dk-gray;\n }\n }\n\n ul[role='menu'] {\n top: 0;\n left: 100%;\n\n li {\n a[role='menuitem'] {\n // Third-level menu items\n background-color: darken($lt-gray, 20%);\n\n &:focus,\n &:hover {\n background-color: $dk-gray;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n\n &.a11y-navbar-orientation-vertical {\n width: 10rem;\n\n a[role='menuitem'] {\n &[aria-haspopup='true'] {\n &::after {\n // Right arrows\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent;\n border-bottom: 0.25rem solid transparent;\n border-left: 0.25rem solid $dk-gray;\n position: absolute;\n right: 0.25rem;\n top: 0.5rem;\n }\n }\n }\n\n li {\n border: 1px solid $md-gray;\n border-bottom: none;\n\n &:last-child {\n border-bottom: 1px solid $md-gray;\n }\n\n ul[role='menu'] {\n &.a11y-navbar-menu-open {\n top: -1px;\n left: 100%;\n }\n }\n }\n }\n }\n\n &.a11y-navbar-responsive {\n & div.a11y-navbar-instructions-show {\n // Keep instructions visually hidden in responsive menu.\n @include visually-hidden();\n }\n\n ul.a11y-navbar-menubar {\n // Responsive menu should be identical whether vertical or horizontal initially.\n border-top: 1px solid white;\n background: white;\n\n &.a11y-navbar-orientation-horizontal,\n &.a11y-navbar-orientation-vertical {\n // Undo aria-orientation=\"vertical\" ul[role=menubar] width setting.\n width: auto;\n\n li {\n // Undo aria-orientation=\"vertical\" li border setting.\n border: none;\n display: block;\n\n a[role='menuitem'] {\n &.a11y-navbar-menuitem {\n color: $dk-gray;\n background-color: darken($lt-gray, 7%);\n border-right: none;\n position: relative;\n z-index: 99;\n height: 2.5rem;\n line-height: 2.5;\n margin-bottom: 1px;\n }\n\n &:focus,\n &:hover {\n outline: 2px dotted $teal;\n outline-offset: -2px;\n z-index: 999;\n }\n\n &[aria-haspopup='true'] {\n padding-right: 1.5rem;\n\n &::after {\n // Down arrows\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 1.325rem;\n top: 1rem;\n }\n\n &:focus::after,\n &:hover::after {\n border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles\n }\n }\n }\n\n ul[role='menu'] {\n opacity: 1;\n max-height: 0;\n overflow: hidden;\n position: static;\n width: 100%;\n\n &.a11y-navbar-menu-open {\n max-height: 9999px;\n transition: max-height 1s ease-in;\n }\n\n li {\n a[role='menuitem'] {\n // Second-level menuitems.\n color: $dk-gray;\n background-color: darken($lt-gray, 15%);\n padding-left: 1.875rem;\n height: 2.5rem;\n line-height: 2.5;\n margin-bottom: 1px;\n\n &:focus,\n &:hover {\n background-color: darken($lt-gray, 15%);\n outline: 2px dotted $teal;\n outline-offset: -2px;\n }\n // Override default right arrows on submenus.\n &[aria-haspopup='true'] {\n padding-right: 1.5rem;\n\n &::after {\n // Down arrows\n content: '';\n width: 0;\n height: 0;\n border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles\n border-right: 0.25rem solid transparent;\n border-left: 0.25rem solid transparent;\n position: absolute;\n right: 1.325rem;\n top: 1rem;\n }\n\n &:focus::after,\n &:hover::after {\n border-top: 0.25rem solid transparent; //should be transparent when using responsiveSubmenuToggles\n }\n }\n }\n\n ul[role='menu'] {\n li {\n a[role='menuitem'] {\n // Third-level menuitems.\n color: darken($dk-gray, 10%);\n background-color: darken($lt-gray, 25%);\n padding-left: 2.75rem;\n\n &:focus,\n &:hover {\n color: darken($dk-gray, 10%);\n background-color: darken($lt-gray, 25%);\n }\n }\n }\n }\n }\n }\n\n button.a11y-navbar-submenu-toggle {\n position: absolute;\n right: 0.75rem;\n top: 0.1875rem;\n height: 2.125rem;\n width: 2.125rem;\n z-index: 9999;\n box-shadow: none;\n border: none;\n border-radius: 0;\n background-color: transparent;\n padding: 0;\n\n &:focus {\n outline: 1px dotted $dk-gray;\n }\n\n span {\n @include visually-hidden();\n }\n\n &::after {\n // Pure CSS Chevron.\n content: '';\n display: inline-block;\n border-right: 2px solid $dk-gray;\n border-bottom: 2px solid $dk-gray;\n width: 10px;\n height: 10px;\n background-color: transparent;\n position: relative;\n }\n\n &[aria-expanded='true'] {\n &::after {\n transform: rotate(225deg);\n top: 3px;\n }\n }\n\n &[aria-expanded='false'] {\n &::after {\n transform: rotate(45deg);\n top: -2px;\n }\n }\n }\n }\n }\n }\n }\n\n &.a11y-navbar-closed {\n @include visually-hidden();\n }\n\n div.a11y-navbar-instructions {\n @include visually-hidden();\n }\n}\n\nbutton.a11y-navbar-toggle {\n @include button-reset();\n\n font-family: $proxima;\n background-color: $lt-gray;\n color: $dk-gray;\n width: 100%;\n padding: 0.5rem 1.125rem;\n text-align: left;\n position: relative;\n text-transform: uppercase;\n\n &:focus {\n outline: 2px dotted $teal;\n outline-offset: -2px;\n z-index: 999;\n }\n\n // Hamburger icon.\n span {\n position: absolute;\n right: 1.125rem;\n top: 45%;\n\n &,\n &::after,\n &::before {\n cursor: pointer;\n border-radius: 1px;\n height: 3px;\n width: 20px;\n background: $dk-gray;\n position: absolute;\n display: block;\n content: '';\n }\n\n &::before {\n top: -5px;\n }\n\n &::after {\n bottom: -5px;\n }\n }\n}\n",".pager {\n margin: 2em 0;\n}\n\n.pager__items {\n @include list-reset;\n text-align: center;\n}\n\n.pager__item {\n display: inline-block;\n margin: 0 0.75em;\n}\n\n.pager__link,\n.pager__link:link,\n.pager__link:visited {\n border: 1px solid $red;\n font-weight: 600;\n text-decoration: none;\n line-height: 1;\n padding: 8px;\n display: block;\n min-width: 36px;\n\n &.is-active,\n &:hover {\n color: $white;\n background: $red;\n }\n\n &:focus {\n outline: 2px dotted $gray-darkest;\n outline-offset: 0;\n border-color: $clear;\n }\n}\n\n.pager__link--prev {\n svg {\n transform: rotate(180deg);\n }\n}\n",".social-media-links__list {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n","$statuses: (\n 'status': $teal,\n 'warning': $orange-dark,\n 'error': $violet,\n) !default;\n\n@each $status-type, $color in $statuses {\n .status--#{$status-type} {\n background: $color;\n color: $white;\n font-size: 1rem;\n font-weight: 600;\n display: block;\n margin-bottom: 2em;\n padding: 1.5em;\n\n a {\n color: $gray-lighter;\n font-weight: 600;\n text-decoration: underline;\n\n &:focus,\n &:hover {\n color: $white;\n }\n }\n\n ul {\n padding: 0;\n margin: 0;\n }\n\n .icon {\n float: left;\n margin-right: 1.25em;\n }\n\n .svg-inline--fa {\n font-size: 2rem;\n margin-top: -0.1375em;\n }\n\n .placeholder {\n font-style: normal;\n font-weight: 700;\n }\n }\n}\n","@mixin tile($background: $gray-lightest, $color: $gray-darkest) {\n background-color: $background;\n color: $color;\n margin-bottom: $grid-margin-after;\n padding: $padding-y $padding-x $padding-y-bottom;\n width: 100%;\n text-align: center;\n display: block;\n text-decoration: none;\n color: $color;\n\n &:hover {\n background: darken($background, 2%);\n }\n\n .tile__icon {\n max-width: rem-calc(100);\n height: auto;\n margin: $space-y-half auto $space-y;\n }\n\n .tile__title {\n color: $color;\n margin-top: 3px;\n\n h2,\n h3,\n h4 {\n @include heading(26, 700);\n margin-bottom: $header-margin-after-less;\n }\n }\n .tile__body {\n font-family: $capita;\n font-style: italic;\n font-weight: 300;\n }\n\n @if $background == $white {\n border: 1px solid $gray-lightest;\n }\n}\n\na.tile {\n @include tile();\n}\n\na.tile--white {\n @include tile($white);\n}\n",".info-box-grid {\n margin-top: $space-y;\n}\n","//common elements\n.masthead {\n @include clearfix;\n}\n\n.masthead__inner {\n}\n\n#site-name {\n display: table;\n}\n\n.site-name__inner {\n display: table-cell;\n vertical-align: middle;\n}\n\n.site-name__prefix {\n display: block;\n}\n\n#site-logo {\n display: none;\n float: right;\n\n @include breakpoint(medium) {\n display: block;\n }\n}\n\n//mixin for masthead--standard\n@mixin masthead-standard($bg-color: $gray-darkest, $text-color: $white) {\n background: $bg-color;\n padding: 0.75em 0;\n\n #site-name {\n @include breakpoint(medium) {\n padding-right: 2em;\n height: 135px;\n }\n }\n\n .site-name__prefix {\n font-size: rem-calc(18);\n font-weight: 400;\n color: $text-color;\n letter-spacing: 0.0125em;\n margin-left: 2px;\n }\n\n .site-name__link {\n @include heading(42, 700);\n line-height: 105%;\n text-decoration: none;\n color: $text-color;\n letter-spacing: 0.0125em;\n\n @include breakpoint(large) {\n font-size: rem-calc(48);\n }\n }\n\n .site-name__link--long {\n font-size: rem-calc(30);\n }\n\n .site-logo__image {\n width: auto;\n border: none;\n float: right;\n @include breakpoint(medium) {\n height: 125px;\n }\n @include breakpoint(large) {\n height: 135px;\n }\n }\n}\n\n//mixin for masthead--slim\n@mixin masthead-slim($bg-color: $gray-darkest, $text-color: $white) {\n background: $bg-color;\n\n #site-name {\n min-height: 90px;\n padding: 0.75em 0;\n\n @include breakpoint(medium) {\n padding-right: 2em;\n height: 120px;\n }\n }\n\n .site-name__prefix {\n font-size: 1rem;\n font-weight: 300;\n color: $text-color;\n margin-bottom: -3px;\n margin-left: 2px;\n }\n\n .site-name__link {\n @include heading(42, 700);\n line-height: 105%;\n text-decoration: none;\n color: $text-color;\n letter-spacing: 0.0125em;\n\n @include breakpoint(large) {\n font-size: rem-calc(48);\n }\n }\n\n .site-name__link--long {\n font-size: rem-calc(30);\n }\n\n .site-logo__image {\n height: 90px;\n width: auto;\n border: none;\n box-shadow: 0 1px 6px 0 rgba(49, 49, 49, 0.5);\n float: right;\n }\n}\n\n// apply mixins based on class\n.masthead--standard,\n.masthead--standard.masthead--dk-gray {\n @include masthead-standard;\n}\n\n.masthead--standard.masthead--md-gray {\n @include masthead-standard($gray);\n}\n\n.masthead--standard.masthead--lt-gray {\n @include masthead-standard($gray-lightest, $gray-darker);\n}\n\n.masthead--standard.masthead--white {\n @include masthead-standard($white, $gray-dark);\n}\n\n.masthead--slim,\n.masthead--slim.masthead--dk-gray {\n @include masthead-slim;\n}\n\n.masthead--slim,\n.masthead--slim.masthead--md-gray {\n @include masthead-slim($gray);\n}\n\n.masthead--slim,\n.masthead--slim.masthead--lt-gray {\n @include masthead-slim($gray-lightest, $gray-darker);\n}\n\n.masthead--slim,\n.masthead--slim.masthead--white {\n @include masthead-slim($white, $gray-dark);\n}\n","@mixin osu-navbar(\n $bg-color: $gray-lightest,\n $text-color: $gray-darker,\n $image-src: '/images/'\n) {\n background: $bg-color;\n color: $text-color;\n border-bottom: 5px solid $red;\n\n @include clearfix;\n\n p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0;\n padding: 0;\n }\n\n .univ_info {\n float: left;\n padding: 0.875em 0 0.9em;\n }\n\n .univ_name a {\n height: 14px;\n width: 80px;\n margin-left: 0;\n display: block;\n text-indent: -9999px;\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}osu_name.png)\n 0 0 no-repeat;\n\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}osu_name@2x.png)\n 0 0 no-repeat;\n background-size: contain;\n }\n }\n\n .univ_links {\n float: right;\n clear: none;\n padding: 0.875em 0 0;\n\n .links {\n float: left;\n\n ul {\n margin: 0;\n margin-top: -2px;\n\n li {\n font-size: 0.84375em;\n list-style: none;\n float: left;\n margin-right: 0.5em;\n\n @include breakpoint(large) {\n margin-right: 1.2em;\n }\n\n &:last-child {\n margin-right: 0;\n }\n\n a {\n height: 23px;\n width: 23px;\n display: block;\n overflow: hidden;\n text-indent: -999px;\n background: 0 0 no-repeat;\n color: $text-color;\n text-decoration: none;\n\n @include breakpoint(large) {\n text-indent: 0;\n width: auto;\n background: none !important;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n &.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-help.png);\n }\n &.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-buckeyelink.png);\n }\n &.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-map.png);\n }\n &.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-findpeople.png);\n }\n &.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-webmail.png);\n }\n &.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}/resp-search.png);\n }\n\n @media (-webkit-min-device-pixel-ratio: 2),\n (min-resolution: 192dpi) {\n &.help {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-help@2x.png);\n }\n &.buckeyelink {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-buckeyelink@2x.png);\n }\n &.map {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-map@2x.png);\n }\n &.findpeople {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-findpeople@2x.png);\n }\n &.webmail {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-webmail@2x.png);\n }\n &.search {\n background: url(https://www.osu.edu/assets/web/navbar/osu_navbar#{$image-src}resp-search@2x.png);\n }\n\n -webkit-background-size: 23px !important;\n -moz-background-size: 23px !important;\n background-size: 23px !important;\n }\n }\n }\n }\n }\n }\n}\n\n#osu_navbar,\n#osu_navbar.light {\n @include osu-navbar;\n\n background: linear-gradient(to bottom, #e3e3e3 0, #b9b9ba 100%);\n}\n\n#osu_navbar.dark {\n @include osu-navbar($gray-darker, $white, '/images/white/');\n}\n","//footer layout\n.site-footer {\n padding: 1.5em 0;\n}\n\n.site-footer__social-media {\n margin-bottom: 1.75em;\n}\n\n.site-footer__address-block {\n margin-bottom: 1.5em;\n}\n\n//layout after large breakpoint\n@include breakpoint(large) {\n .site-footer__social-media {\n float: right;\n }\n}\n\n//footer text\n.footer-text {\n line-height: 125%;\n font-size: 0.875rem;\n}\n\n.site-footer__ada-statement,\n.site-footer__footer-text {\n @extend .footer-text;\n}\n\n//footer login\n.site-footer__login-link {\n margin-top: 2em;\n\n a {\n text-transform: uppercase;\n font-size: 0.75rem;\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n//mixin for colors\n@mixin footer(\n $bg-color: $gray-darkest,\n $text-color: $white,\n $link-hover: $gray-lighter,\n $pipe-color: $gray-lighter\n) {\n background: $bg-color;\n color: $text-color;\n\n a {\n color: $text-color;\n }\n\n a:hover {\n color: $link-hover;\n }\n\n .pipe {\n color: $pipe-color;\n }\n\n .social-media__item a {\n color: white;\n }\n}\n\n.site-footer,\n.site-footer--dk-gray {\n @include footer;\n\n .social-media__item a:focus {\n outline: 2px dotted $white;\n }\n}\n\n.site-footer--md-gray {\n @include footer($gray, $white, $gray-lightest, $gray-lightest);\n\n .social-media__item a {\n border: 1px solid $gray-lighter;\n }\n}\n\n.site-footer--lt-gray {\n @include footer($gray-lightest, $gray-darker, $red, $red);\n}\n\n.site-footer--white {\n @include footer($white, $gray-dark, $red, $red);\n}\n",".tile-grid {\n margin-top: $space-y;\n}\n"]} \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/favicon_16x16.jpg b/libraries/it-osu-pl-drupal/images/favicon_16x16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05e744965e4c5b6e5bfc151c0c9ac8bca5d401cb Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/favicon_16x16.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/favicon_32x32.jpg b/libraries/it-osu-pl-drupal/images/favicon_32x32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0970980b7db94f921f3036ba2bfb94cfeefa5672 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/favicon_32x32.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/fpo_16x9.png b/libraries/it-osu-pl-drupal/images/fpo_16x9.png new file mode 100644 index 0000000000000000000000000000000000000000..013949dccae04669dfc76af637f00bdaf242c53f Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/fpo_16x9.png differ diff --git a/libraries/it-osu-pl-drupal/images/fpo_4x3.png b/libraries/it-osu-pl-drupal/images/fpo_4x3.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff84b81be949f855d71d99d8ecf6632004a17a6 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/fpo_4x3.png differ diff --git a/libraries/it-osu-pl-drupal/images/fpo_avatar.png b/libraries/it-osu-pl-drupal/images/fpo_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..e666a40ed360b77640dd650d77bbff70518594e2 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/fpo_avatar.png differ diff --git a/libraries/it-osu-pl-drupal/images/fpo_square.png b/libraries/it-osu-pl-drupal/images/fpo_square.png new file mode 100644 index 0000000000000000000000000000000000000000..ce8a1e4e6300201c394e9f87ffdb7d5cdef5952b Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/fpo_square.png differ diff --git a/libraries/it-osu-pl-drupal/images/logo.png b/libraries/it-osu-pl-drupal/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..93db733d252d338b320a40bbbd59d372c46e14a3 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/logo.png differ diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/block-o/block-o.svg b/libraries/it-osu-pl-drupal/images/osu-logos/block-o/block-o.svg new file mode 100644 index 0000000000000000000000000000000000000000..a58b3a36fe0cecd33fdb404e18c002aa27f85140 --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/block-o/block-o.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 560"><style>.st0{fill:#b00}.st1{fill:#fff}</style><path class="st0" d="M0 0h500v560H0z"/><path class="st1" d="M181.4 193.4l26.1-26.1H292l26.1 26.1v173.9L292 393.4h-84.6l-26.1-26.1.1-173.9zM384 165.1l-64.5-64.3H179.9l-64.8 64.9v229.6l64.8 64.9h139.7L384 396V165.1z"/><path class="st1" d="M106.6 399V160.5l70.2-70.1h146.8l70.5 70.1-1.2 239-69.7 69.7H176.9L106.6 399zm67.3-315.3L100 157.5V402l73.4 74.3h152.8l73.4-73.8.5-244.9-73.3-73.8H173.9v-.1z"/><path class="st1" d="M215.2 184.1h69.4l16.5 16.5v159.9l-15.9 15.9h-70.6l-15.7-15.7V200.4l16.3-16.3zm92.6 14L287 177.4h-74.8l-20.4 20.4v165.3l20 20h76.1l19.8-19.8.1-165.2z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-dk-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-dk-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..2cab901a50495f888d075780f17671a18d6fcf40 --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-dk-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="288" height="216" viewBox="143.78 36 288 216"><path fill="#B00" d="M274.167 79.29l5.183-5.184h16.795l5.182 5.184v34.538l-5.182 5.182H279.35l-5.183-5.182V79.29zm40.245-5.638l-12.811-12.776h-27.736l-12.877 12.885v45.609l12.876 12.884h27.737l12.811-12.742v-45.86z"/><path fill="#FFF" d="M259.306 120.112V72.745l13.944-13.929 29.148-.003 14 13.932-.246 47.467-13.854 13.853-29.048-.001-13.944-13.952zm13.355-62.624L257.99 72.154v48.56l14.569 14.753h30.345L317.47 120.8l.1-48.646-14.566-14.666h-30.343z"/><path fill="#FFF" d="M280.868 77.427h13.775l3.285 3.285v31.761l-3.162 3.164h-14.023l-3.115-3.116V80.668l3.24-3.241zm18.388 2.789l-4.115-4.115h-14.847l-4.058 4.059v32.834l3.97 3.969h15.115l3.938-3.937v-32.81h-.003zm-121.14 80.814l-.437-3.021h-5.527v19.533l2.944.437v1.854h-10.475v-1.854l2.945-.437V158.01h-5.528l-.437 3.021h-1.966v-5.566h20.444v5.566l-1.963-.001zm15.169 18.805v-1.746l2.728-.438v-6.656h-7.274v6.656l2.728.438v1.746h-9.93v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h9.93v1.746l-2.728.438v5.746h7.274v-5.746l-2.728-.438v-1.746h9.93v1.746l-2.836.438v14.73l2.836.438v1.746h-9.93zm28.516 0h-16.478v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h16.478v5.057h-1.854l-.438-2.727h-6.982v5.674h4.363l.438-2.438h1.636v7.058h-1.636l-.438-2.438h-4.363v6.584h6.982l.438-2.729h1.854v5.057zm23.169.437c-7.565 0-10.875-4.513-10.875-12.695 0-8.148 3.346-12.551 10.913-12.551 7.565 0 10.876 4.512 10.876 12.694 0 8.15-3.346 12.552-10.914 12.552zm.038-22.589c-4.038 0-6.11 3.238-6.11 9.93 0 6.73 2 10.005 6.037 10.005 4.039 0 6.111-3.238 6.111-9.931-.001-6.731-2.001-10.004-6.038-10.004zm24.588 22.152v-1.746l2.728-.438v-6.656h-7.273v6.656l2.729.438v1.746h-9.932v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h9.932v1.746l-2.729.438v5.746h7.273v-5.746l-2.728-.438v-1.746h9.931v1.746l-2.837.438v14.73l2.837.438v1.746h-9.931zm12.294 0v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h10.04v1.746l-2.838.438v14.73l2.838.438v1.746h-10.04zm20.807.363c-6.439 0-9.24-3.603-9.24-9.93 0-6.328 2.836-9.857 9.275-9.857 6.438 0 9.238 3.602 9.238 9.93.001 6.33-2.835 9.857-9.273 9.857zm.035-17.277c-3.057 0-4.691 2.219-4.691 7.348 0 5.164 1.562 7.42 4.619 7.42 3.055 0 4.729-2.219 4.729-7.348 0-5.164-1.602-7.42-4.657-7.42zm29.135 17.351c-4.219 0-7.602-1.455-7.602-1.455v-5.201h2.072l.473 3.346s1.564.545 4.33.545c2.836 0 5.383-.945 5.383-4.037 0-2.801-1.965-3.201-4.365-4.002-3.818-1.273-7.857-2.363-7.857-7.602 0-4.256 2.656-6.84 8.223-6.84 2.547 0 5.199.584 7.273 1.383v4.875h-2.074l-.471-3.129s-2.184-.473-4.295-.473c-2.109 0-4.291.729-4.291 3.528 0 6.074 12.223 2.072 12.223 11.785 0 4.586-2.983 7.277-9.022 7.277zm26.262-14.259l-.436-2.945h-4.221v14.584l2.838.438v1.746h-10.039v-1.746l2.838-.438v-14.584h-4.221l-.436 2.945h-1.857v-5.275h17.389v5.275h-1.855zm13.531 13.822v-1.746l2.727-.438-1.344-3.453h-7.275l-1.348 3.453 2.73.438v1.746h-8.33v-1.746l2.729-.438 6.547-16.914h4.184l6.547 16.914 2.729.438v1.746h-9.896zm-2.258-15.422l-2.764 7.566h5.529l-2.765-7.566zm26.516 1.6l-.438-2.945h-4.219v14.584l2.838.438v1.746h-10.041v-1.746l2.838-.438v-14.584h-4.221l-.436 2.945h-1.855v-5.275h17.389v5.275h-1.855zm20.006 13.822h-16.479v-1.746l2.838-.438v-14.73l-2.838-.438v-1.746h16.479v5.057h-1.854l-.439-2.727h-6.98v5.674h4.361l.439-2.438h1.637v7.058h-1.637l-.439-2.438h-4.361v6.584h6.98l.439-2.729h1.854v5.057zM211.56 193.778v12.44c0 4.183-.255 6.002-2.219 7.966-1.419 1.42-3.747 2.108-7.202 2.108-3.42 0-5.966-.944-7.566-2.545-2.072-2.074-1.854-5.166-1.854-7.856v-12.113l-2.946-.437v-1.854h10.476v1.854l-2.947.437v14.26c0 4.002 2.22 5.602 5.639 5.602 1.82 0 3.312-.363 4.293-1.418.873-.91 1.346-2.328 1.346-4.184v-14.26l-2.946-.437v-1.854h8.875v1.854l-2.949.437zm22.951 5.166v16.914h-3.419l-9.713-13.642v11.457l2.838.438v1.746h-8.548v-1.746l2.837-.438v-14.729l-2.837-.438v-1.746h6.657l9.312 13.023v-10.841l-2.836-.438v-1.746h8.547v1.746l-2.838.44zm5.092 16.914v-1.746l2.839-.438v-14.729l-2.839-.438v-1.746h10.039v1.746l-2.837.438v14.729l2.837.438v1.746h-10.039zm31.355-16.914l-6.366 16.914h-4.22l-6.367-16.914-2.726-.438v-1.746h9.892v1.746l-2.728.438 4.839 13.096 4.8-13.096-2.727-.438v-1.746h8.329v1.746l-2.726.438zm20.698 16.914h-16.479v-1.746l2.836-.438v-14.729l-2.836-.438v-1.746h16.479v5.058h-1.857l-.436-2.729h-6.985v5.677h4.365l.438-2.438h1.637v7.057h-1.637l-.438-2.438h-4.365v6.584h6.985l.436-2.729h1.857v5.055zm16.731 0l-1.783-4.365c-1.201-2.91-1.928-4.256-4.473-4.256h-.328v6.438l2.729.438v1.746H294.6v-1.746l2.836-.438v-14.73l-2.836-.438v-1.746h9.641c1.963 0 4.254.109 5.746 1.492.98.91 1.527 2.146 1.527 3.564 0 2.219-1.455 4.219-3.455 4.838 1.6 1.199 2.982 5.129 3.783 7.02l2.729.438v1.746h-6.184v-.001zm-2.037-16.187c-.729-.764-2.293-.691-3.273-.691h-1.273v6.111h.766c1.234 0 2.945.146 3.854-.873.582-.654.729-1.418.729-2.254-.005-.838-.184-1.637-.803-2.293zm16.839 16.551c-3.564 0-6.547-1.199-6.547-1.199v-4.946h1.965l.471 3.127s1.383.401 3.531.401c2.328 0 4.107-.766 4.107-2.84 0-1.453-.799-1.963-2-2.363-3.527-1.2-8.039-1.709-8.039-6.475 0-3.42 2.365-5.494 7.057-5.494 2.146 0 4.365.438 6.295 1.129v4.729h-1.965l-.473-2.981s-1.602-.363-3.383-.363c-1.783 0-3.348.617-3.348 2.473 0 4.258 10.076 1.42 10.076 8.984.002 3.708-2.69 5.818-7.747 5.818zm10.295-.364v-1.746l2.836-.438v-14.729l-2.836-.438v-1.746h10.039v1.746l-2.838.438v14.729l2.838.438v1.746h-10.039zm27.645-13.822l-.438-2.947h-4.219v14.586l2.838.438v1.746h-10.04v-1.746l2.838-.438v-14.586h-4.223l-.434 2.947h-1.855v-5.275h17.389v5.275h-1.856zm21.933-3.092l-5.566 8.621v6.108l2.838.438v1.746h-10.039v-1.746l2.838-.438v-6.108l-5.641-8.621-2.729-.438v-1.746h10.113v1.746l-2.729.438 3.928 6.184 3.893-6.184-2.619-.438v-1.746h8.439v1.746l-2.726.438zm-194.743 30.198v1.371h198.923v-1.371z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-lt-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-lt-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..13ca41a5481943608ccead7eaa26f6576bebb874 --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-lt-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 288 216"><style>.st0{fill:#b00}.st1{fill:#2d2d2d}</style><path class="st0" d="M130.4 43.3l5.2-5.2h16.8l5.2 5.2v34.5l-5.2 5.2h-16.8l-5.2-5.2V43.3zm40.2-5.6l-12.8-12.8h-27.7l-12.9 12.9v45.6l12.9 12.9h27.7l12.8-12.7V37.7z"/><path class="st1" d="M115.5 84.1V36.7l13.9-13.9h29.1l14 13.9-.2 47.5-13.9 13.9h-29l-13.9-14zm13.4-62.6l-14.7 14.7v48.6l14.6 14.8h30.3l14.6-14.7.1-48.6-14.6-14.7-30.3-.1z"/><path class="st1" d="M137.1 41.4h13.8l3.3 3.3v31.8l-3.2 3.2h-14l-3.1-3.1V44.7l3.2-3.3zm18.4 2.8l-4.1-4.1h-14.8l-4.1 4.1V77l4 4h15.1l3.9-3.9V44.2zM34.3 125l-.4-3h-5.5v19.5l2.9.4v1.9H20.8V142l2.9-.4V122h-5.5l-.4 3h-2v-5.6h20.4v5.6h-1.9zm15.2 18.8v-1.7l2.7-.4V135H45v6.7l2.7.4v1.7h-9.9v-1.7l2.8-.4V127l-2.8-.4v-1.7h9.9v1.7l-2.7.4v5.7h7.3V127l-2.7-.4v-1.7h9.9v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm28.5 0H61.5v-1.7l2.8-.4V127l-2.8-.4v-1.7H78v5.1h-1.9l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1h-1.6l-.4-2.4h-4.4v6.6h7l.4-2.7H78v4.6zm23.2.5c-7.6 0-10.9-4.5-10.9-12.7 0-8.1 3.3-12.6 10.9-12.6 7.6 0 10.9 4.5 10.9 12.7s-3.3 12.6-10.9 12.6zm0-22.6c-4 0-6.1 3.2-6.1 9.9s2 10 6 10 6.1-3.2 6.1-9.9c.1-6.7-1.9-10-6-10zm24.6 22.1v-1.7l2.7-.4V135h-7.3v6.7l2.7.4v1.7H114v-1.7l2.8-.4V127l-2.8-.4v-1.7h9.9v1.7l-2.7.4v5.7h7.3V127l-2.7-.4v-1.7h9.9v1.7l-2.8.4v14.7l2.8.4v1.7h-9.9zm12.3 0v-1.7l2.8-.4V127l-2.8-.4v-1.7h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm20.8.4c-6.4 0-9.2-3.6-9.2-9.9 0-6.3 2.8-9.9 9.3-9.9 6.4 0 9.2 3.6 9.2 9.9 0 6.4-2.8 9.9-9.3 9.9zm.1-17.3c-3.1 0-4.7 2.2-4.7 7.3 0 5.2 1.6 7.4 4.6 7.4 3.1 0 4.7-2.2 4.7-7.3s-1.6-7.4-4.6-7.4zm29.1 17.4c-4.2 0-7.6-1.5-7.6-1.5v-5.2h2.1l.5 3.3s1.6.5 4.3.5c2.8 0 5.4-.9 5.4-4 0-2.8-2-3.2-4.4-4-3.8-1.3-7.9-2.4-7.9-7.6 0-4.3 2.7-6.8 8.2-6.8 2.5 0 5.2.6 7.3 1.4v4.9h-2.1l-.5-3.1s-2.2-.5-4.3-.5c-2.1 0-4.3.7-4.3 3.5 0 6.1 12.2 2.1 12.2 11.8.1 4.6-2.9 7.3-8.9 7.3zm26.3-14.3l-.4-2.9h-4.2v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-1.9v-5.3h17.4v5.3h-1.9zm13.5 13.8v-1.7l2.7-.4-1.3-3.5H222l-1.3 3.5 2.7.4v1.7H215v-1.7l2.7-.4 6.5-16.9h4.2l6.5 16.9 2.7.4v1.7h-9.7zm-2.3-15.4l-2.8 7.6h5.5l-2.7-7.6zm26.5 1.6l-.4-2.9h-4.2v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-1.9v-5.3H254v5.3h-1.9zm20 13.8h-16.5v-1.7l2.8-.4V127l-2.8-.4v-1.7h16.5v5.1h-1.9l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1h-1.6l-.4-2.4h-4.4v6.6h7l.4-2.7h1.9v4.6zm-204.3 14v12.4c0 4.2-.3 6-2.2 8-1.4 1.4-3.7 2.1-7.2 2.1-3.4 0-6-.9-7.6-2.5-2.1-2.1-1.9-5.2-1.9-7.9v-12.1l-2.9-.4v-1.9h10.5v1.9l-2.9.4V172c0 4 2.2 5.6 5.6 5.6 1.8 0 3.3-.4 4.3-1.4.9-.9 1.3-2.3 1.3-4.2v-14.3l-2.9-.4v-1.9h8.9v1.9l-3 .5zm22.9 5.1v16.9h-3.4l-9.7-13.6v11.5l2.8.4v1.7h-8.5v-1.7l2.8-.4V163l-2.8-.4v-1.7h6.7l9.3 13v-10.8l-2.8-.4V161h8.5v1.7l-2.9.2zm5.1 17v-1.7l2.8-.4v-14.7l-2.8-.4V161h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm31.4-17l-6.4 16.9h-4.2l-6.4-16.9-2.7-.4v-1.7h9.9v1.7l-2.7.4 4.8 13.1 4.8-13.1-2.7-.4v-1.7h8.3v1.7l-2.7.4zm20.7 17h-16.5v-1.7l2.8-.4v-14.7l-2.8-.4V161h16.5v5.1H146l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1h-1.6l-.4-2.4h-4.4v6.6h7l.4-2.7h1.9v4.6zm16.7 0l-1.8-4.4c-1.2-2.9-1.9-4.3-4.5-4.3h-.3v6.4l2.7.4v1.7h-9.9V178l2.8-.4v-14.7l-2.8-.4v-1.7h9.6c2 0 4.3.1 5.7 1.5 1 .9 1.5 2.1 1.5 3.6 0 2.2-1.5 4.2-3.5 4.8 1.6 1.2 3 5.1 3.8 7l2.7.4v1.7l-6 .1zm-2-16.2c-.7-.8-2.3-.7-3.3-.7H158v6.1h.8c1.2 0 2.9.1 3.9-.9.6-.7.7-1.4.7-2.3 0-.8-.2-1.6-.8-2.2zm16.8 16.5c-3.6 0-6.5-1.2-6.5-1.2v-4.9h2l.5 3.1s1.4.4 3.5.4c2.3 0 4.1-.8 4.1-2.8 0-1.5-.8-2-2-2.4-3.5-1.2-8-1.7-8-6.5 0-3.4 2.4-5.5 7.1-5.5 2.1 0 4.4.4 6.3 1.1v4.7h-2l-.5-3s-1.6-.4-3.4-.4c-1.8 0-3.3.6-3.3 2.5 0 4.3 10.1 1.4 10.1 9-.1 3.8-2.8 5.9-7.9 5.9zm10.3-.3v-1.7l2.8-.4v-14.7l-2.8-.4V161h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm27.7-13.9l-.4-2.9h-4.2v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-1.9v-5.3h17.4v5.3h-1.9zm21.9-3.1l-5.6 8.6v6.1l2.8.4v1.7h-10V178l2.8-.4v-6.1l-5.6-8.6-2.7-.4v-1.7h10.1v1.7l-2.7.4 3.9 6.2 3.9-6.2-2.6-.4v-1.7h8.4v1.7l-2.7.4zM44.5 193.1v1.4h199v-1.4z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-md-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-md-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..4c0d7d68491fa68b0236b1f1a8f11250a3a97097 --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-md-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 288 216"><style>.st0{fill:#fff}</style><path class="st0" d="M129.8 45.3l5.2-5.2h16.8l5.2 5.2v34.5l-5.2 5.2H135l-5.2-5.2V45.3zm40.2-5.6l-12.8-12.8h-27.7l-12.9 12.9v45.6l12.9 12.9h27.7L170 85.5V39.7z"/><path class="st0" d="M114.9 86.1V38.7l13.9-13.9h29.1l14 13.9-.2 47.5-13.9 13.9h-29l-13.9-14zm13.4-62.6l-14.7 14.7v48.6l14.6 14.8h30.3l14.6-14.7.1-48.6-14.6-14.7h-30.3v-.1z"/><path class="st0" d="M136.5 43.4h13.8l3.3 3.3v31.8l-3.2 3.2h-14l-3.1-3.1V46.7l3.2-3.3zm18.4 2.8l-4.1-4.1H136l-4.1 4.1V79l4 4H151l3.9-3.9V46.2zM33.8 127l-.4-3h-5.5v19.5l2.9.4v1.9H20.3V144l2.9-.4V124h-5.5l-.4 3h-2v-5.6h20.4v5.6h-1.9zm15.1 18.8v-1.7l2.7-.4V137h-7.3v6.7l2.7.4v1.7h-9.9v-1.7l2.8-.4V129l-2.8-.4v-1.7H47v1.7l-2.7.4v5.7h7.3V129l-2.7-.4v-1.7h9.9v1.7l-2.8.4v14.7l2.8.4v1.7h-9.9zm28.5 0H61v-1.7l2.8-.4V129l-2.8-.4v-1.7h16.5v5.1h-1.9l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1H73l-.4-2.4h-4.4v6.6h7l.4-2.7h1.9v4.6zm23.2.5c-7.6 0-10.9-4.5-10.9-12.7 0-8.1 3.3-12.6 10.9-12.6 7.6 0 10.9 4.5 10.9 12.7s-3.3 12.6-10.9 12.6zm0-22.6c-4 0-6.1 3.2-6.1 9.9s2 10 6 10 6.1-3.2 6.1-9.9c.1-6.7-1.9-10-6-10zm24.6 22.1v-1.7l2.7-.4V137h-7.3v6.7l2.7.4v1.7h-9.9v-1.7l2.8-.4V129l-2.8-.4v-1.7h9.9v1.7l-2.7.4v5.7h7.3V129l-2.7-.4v-1.7h9.9v1.7l-2.8.4v14.7l2.8.4v1.7h-9.9zm12.3 0v-1.7l2.8-.4V129l-2.8-.4v-1.7h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm20.8.4c-6.4 0-9.2-3.6-9.2-9.9 0-6.3 2.8-9.9 9.3-9.9 6.4 0 9.2 3.6 9.2 9.9 0 6.4-2.8 9.9-9.3 9.9zm.1-17.3c-3.1 0-4.7 2.2-4.7 7.3 0 5.2 1.6 7.4 4.6 7.4 3.1 0 4.7-2.2 4.7-7.3s-1.6-7.4-4.6-7.4zm29.1 17.4c-4.2 0-7.6-1.5-7.6-1.5v-5.2h2.1l.5 3.3s1.6.5 4.3.5c2.8 0 5.4-.9 5.4-4 0-2.8-2-3.2-4.4-4-3.8-1.3-7.9-2.4-7.9-7.6 0-4.3 2.7-6.8 8.2-6.8 2.5 0 5.2.6 7.3 1.4v4.9h-2.1l-.5-3.1s-2.2-.5-4.3-.5c-2.1 0-4.3.7-4.3 3.5 0 6.1 12.2 2.1 12.2 11.8.1 4.6-2.9 7.3-8.9 7.3zm26.3-14.3l-.4-2.9h-4.2v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-1.9v-5.3h17.4v5.3h-1.9zm13.5 13.8v-1.7l2.7-.4-1.3-3.5h-7.3l-1.3 3.5 2.7.4v1.7h-8.3v-1.7l2.7-.4 6.5-16.9h4.2l6.5 16.9 2.7.4v1.7h-9.8zm-2.3-15.4l-2.8 7.6h5.5l-2.7-7.6zm26.6 1.6l-.4-2.9H247v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-2v-5.3h17.4v5.3h-1.8zm20 13.8h-16.5v-1.7l2.8-.4V129l-2.8-.4v-1.7h16.5v5.1h-1.9l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1h-1.6l-.4-2.4h-4.4v6.6h7l.4-2.7h1.9v4.6zm-204.4 14v12.4c0 4.2-.3 6-2.2 8-1.4 1.4-3.7 2.1-7.2 2.1-3.4 0-6-.9-7.6-2.5-2.1-2.1-1.9-5.2-1.9-7.9v-12.1l-2.9-.4v-1.9h10.5v1.9l-2.9.4V174c0 4 2.2 5.6 5.6 5.6 1.8 0 3.3-.4 4.3-1.4.9-.9 1.3-2.3 1.3-4.2v-14.3l-2.9-.4v-1.9h8.9v1.9l-3 .5zm22.9 5.1v16.9h-3.4L77 168.2v11.5l2.8.4v1.7h-8.5v-1.7l2.8-.4V165l-2.8-.4v-1.7H78l9.3 13v-10.8l-2.8-.4V163H93v1.7l-2.9.2zm5.1 17v-1.7l2.8-.4v-14.7l-2.8-.4V163h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm31.4-17l-6.4 16.9H116l-6.4-16.9-2.7-.4v-1.7h9.9v1.7l-2.7.4 4.8 13.1 4.8-13.1-2.7-.4v-1.7h8.3v1.7l-2.7.4zm20.7 17h-16.5v-1.7l2.8-.4v-14.7l-2.8-.4V163h16.5v5.1h-1.9l-.4-2.7h-7v5.7h4.4l.4-2.4h1.6v7.1h-1.6l-.4-2.4H138v6.6h7l.4-2.7h1.9v4.6zm16.7 0l-1.8-4.4c-1.2-2.9-1.9-4.3-4.5-4.3h-.3v6.4l2.7.4v1.7h-9.9V180l2.8-.4v-14.7l-2.8-.4v-1.7h9.6c2 0 4.3.1 5.7 1.5 1 .9 1.5 2.1 1.5 3.6 0 2.2-1.5 4.2-3.5 4.8 1.6 1.2 3 5.1 3.8 7l2.7.4v1.7h-6zm-2-16.2c-.7-.8-2.3-.7-3.3-.7h-1.3v6.1h.8c1.2 0 2.9.1 3.9-.9.6-.7.7-1.4.7-2.3 0-.8-.2-1.6-.8-2.2zm16.8 16.5c-3.6 0-6.5-1.2-6.5-1.2v-4.9h2l.5 3.1s1.4.4 3.5.4c2.3 0 4.1-.8 4.1-2.8 0-1.5-.8-2-2-2.4-3.5-1.2-8-1.7-8-6.5 0-3.4 2.4-5.5 7.1-5.5 2.1 0 4.4.4 6.3 1.1v4.7h-2l-.5-3s-1.6-.4-3.4-.4c-1.8 0-3.3.6-3.3 2.5 0 4.3 10.1 1.4 10.1 9-.1 3.8-2.8 5.9-7.9 5.9zm10.3-.3v-1.7l2.8-.4v-14.7l-2.8-.4V163h10v1.7l-2.8.4v14.7l2.8.4v1.7h-10zm27.7-13.9l-.4-2.9h-4.2v14.6l2.8.4v1.7h-10v-1.7l2.8-.4v-14.6h-4.2l-.4 2.9h-1.9v-5.3h17.4v5.3h-1.9zm21.9-3.1l-5.6 8.6v6.1l2.8.4v1.7h-10V180l2.8-.4v-6.1l-5.6-8.6-2.7-.4v-1.7h10.1v1.7l-2.7.4 3.9 6.2 3.9-6.2-2.6-.4v-1.7h8.4v1.7l-2.7.4zM44 195.1v1.4h198.9v-1.4H44z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-white.svg b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-white.svg new file mode 100644 index 0000000000000000000000000000000000000000..0a326a6ad0370198c145ff096984545a0a533fec --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/stacked/osu-stacked-white.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="288" height="216" viewBox="143.78 36 288 216"><path fill="#B00" d="M274.167 79.29l5.183-5.184h16.795l5.182 5.184v34.538l-5.182 5.182H279.35l-5.183-5.182V79.29zm40.245-5.638l-12.811-12.776h-27.736l-12.877 12.885v45.609l12.876 12.884h27.737l12.811-12.742v-45.86z"/><path fill="#666" d="M259.306 120.112V72.745l13.944-13.929 29.148-.003 14 13.932-.246 47.467-13.854 13.853-29.048-.001-13.944-13.952zm13.355-62.624L257.99 72.154v48.56l14.569 14.753h30.345L317.47 120.8l.1-48.646-14.566-14.666h-30.343z"/><path fill="#666" d="M280.868 77.427h13.775l3.285 3.285v31.761l-3.162 3.164h-14.023l-3.115-3.116V80.668l3.24-3.241zm18.388 2.789l-4.115-4.115h-14.847l-4.058 4.059v32.834l3.97 3.969h15.115l3.938-3.937v-32.81h-.003zm-121.14 80.814l-.437-3.021h-5.527v19.533l2.944.437v1.854h-10.475v-1.854l2.945-.437V158.01h-5.528l-.437 3.021h-1.966v-5.566h20.444v5.566l-1.963-.001zm15.169 18.805v-1.746l2.728-.438v-6.656h-7.274v6.656l2.728.438v1.746h-9.93v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h9.93v1.746l-2.728.438v5.746h7.274v-5.746l-2.728-.438v-1.746h9.93v1.746l-2.836.438v14.73l2.836.438v1.746h-9.93zm28.516 0h-16.478v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h16.478v5.057h-1.854l-.438-2.727h-6.982v5.674h4.363l.438-2.438h1.636v7.058h-1.636l-.438-2.438h-4.363v6.584h6.982l.438-2.729h1.854v5.057zm23.169.437c-7.565 0-10.875-4.513-10.875-12.695 0-8.148 3.346-12.551 10.913-12.551 7.565 0 10.876 4.512 10.876 12.694 0 8.15-3.346 12.552-10.914 12.552zm.038-22.589c-4.038 0-6.11 3.238-6.11 9.93 0 6.73 2 10.005 6.037 10.005 4.039 0 6.111-3.238 6.111-9.931-.001-6.731-2.001-10.004-6.038-10.004zm24.588 22.152v-1.746l2.728-.438v-6.656h-7.273v6.656l2.729.438v1.746h-9.932v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h9.932v1.746l-2.729.438v5.746h7.273v-5.746l-2.728-.438v-1.746h9.931v1.746l-2.837.438v14.73l2.837.438v1.746h-9.931zm12.294 0v-1.746l2.837-.438v-14.73l-2.837-.438v-1.746h10.04v1.746l-2.838.438v14.73l2.838.438v1.746h-10.04zm20.807.363c-6.439 0-9.24-3.603-9.24-9.93 0-6.328 2.836-9.857 9.275-9.857 6.438 0 9.238 3.602 9.238 9.93.001 6.33-2.835 9.857-9.273 9.857zm.035-17.277c-3.057 0-4.691 2.219-4.691 7.348 0 5.164 1.562 7.42 4.619 7.42 3.055 0 4.729-2.219 4.729-7.348 0-5.164-1.602-7.42-4.657-7.42zm29.135 17.351c-4.219 0-7.602-1.455-7.602-1.455v-5.201h2.072l.473 3.346s1.564.545 4.33.545c2.836 0 5.383-.945 5.383-4.037 0-2.801-1.965-3.201-4.365-4.002-3.818-1.273-7.857-2.363-7.857-7.602 0-4.256 2.656-6.84 8.223-6.84 2.547 0 5.199.584 7.273 1.383v4.875h-2.074l-.471-3.129s-2.184-.473-4.295-.473c-2.109 0-4.291.729-4.291 3.528 0 6.074 12.223 2.072 12.223 11.785 0 4.586-2.983 7.277-9.022 7.277zm26.262-14.259l-.436-2.945h-4.221v14.584l2.838.438v1.746h-10.039v-1.746l2.838-.438v-14.584h-4.221l-.436 2.945h-1.857v-5.275h17.389v5.275h-1.855zm13.531 13.822v-1.746l2.727-.438-1.344-3.453h-7.275l-1.348 3.453 2.73.438v1.746h-8.33v-1.746l2.729-.438 6.547-16.914h4.184l6.547 16.914 2.729.438v1.746h-9.896zm-2.258-15.422l-2.764 7.566h5.529l-2.765-7.566zm26.516 1.6l-.438-2.945h-4.219v14.584l2.838.438v1.746h-10.041v-1.746l2.838-.438v-14.584h-4.221l-.436 2.945h-1.855v-5.275h17.389v5.275h-1.855zm20.006 13.822h-16.479v-1.746l2.838-.438v-14.73l-2.838-.438v-1.746h16.479v5.057h-1.854l-.439-2.727h-6.98v5.674h4.361l.439-2.438h1.637v7.058h-1.637l-.439-2.438h-4.361v6.584h6.98l.439-2.729h1.854v5.057zM211.56 193.778v12.44c0 4.183-.255 6.002-2.219 7.966-1.419 1.42-3.747 2.108-7.202 2.108-3.42 0-5.966-.944-7.566-2.545-2.072-2.074-1.854-5.166-1.854-7.856v-12.113l-2.946-.437v-1.854h10.476v1.854l-2.947.437v14.26c0 4.002 2.22 5.602 5.639 5.602 1.82 0 3.312-.363 4.293-1.418.873-.91 1.346-2.328 1.346-4.184v-14.26l-2.946-.437v-1.854h8.875v1.854l-2.949.437zm22.951 5.166v16.914h-3.419l-9.713-13.642v11.457l2.838.438v1.746h-8.548v-1.746l2.837-.438v-14.729l-2.837-.438v-1.746h6.657l9.312 13.023v-10.841l-2.836-.438v-1.746h8.547v1.746l-2.838.44zm5.092 16.914v-1.746l2.839-.438v-14.729l-2.839-.438v-1.746h10.039v1.746l-2.837.438v14.729l2.837.438v1.746h-10.039zm31.355-16.914l-6.366 16.914h-4.22l-6.367-16.914-2.726-.438v-1.746h9.892v1.746l-2.728.438 4.839 13.096 4.8-13.096-2.727-.438v-1.746h8.329v1.746l-2.726.438zm20.698 16.914h-16.479v-1.746l2.836-.438v-14.729l-2.836-.438v-1.746h16.479v5.058h-1.857l-.436-2.729h-6.985v5.677h4.365l.438-2.438h1.637v7.057h-1.637l-.438-2.438h-4.365v6.584h6.985l.436-2.729h1.857v5.055zm16.731 0l-1.783-4.365c-1.201-2.91-1.928-4.256-4.473-4.256h-.328v6.438l2.729.438v1.746H294.6v-1.746l2.836-.438v-14.73l-2.836-.438v-1.746h9.641c1.963 0 4.254.109 5.746 1.492.98.91 1.527 2.146 1.527 3.564 0 2.219-1.455 4.219-3.455 4.838 1.6 1.199 2.982 5.129 3.783 7.02l2.729.438v1.746h-6.184v-.001zm-2.037-16.187c-.729-.764-2.293-.691-3.273-.691h-1.273v6.111h.766c1.234 0 2.945.146 3.854-.873.582-.654.729-1.418.729-2.254-.005-.838-.184-1.637-.803-2.293zm16.839 16.551c-3.564 0-6.547-1.199-6.547-1.199v-4.946h1.965l.471 3.127s1.383.401 3.531.401c2.328 0 4.107-.766 4.107-2.84 0-1.453-.799-1.963-2-2.363-3.527-1.2-8.039-1.709-8.039-6.475 0-3.42 2.365-5.494 7.057-5.494 2.146 0 4.365.438 6.295 1.129v4.729h-1.965l-.473-2.981s-1.602-.363-3.383-.363c-1.783 0-3.348.617-3.348 2.473 0 4.258 10.076 1.42 10.076 8.984.002 3.708-2.69 5.818-7.747 5.818zm10.295-.364v-1.746l2.836-.438v-14.729l-2.836-.438v-1.746h10.039v1.746l-2.838.438v14.729l2.838.438v1.746h-10.039zm27.645-13.822l-.438-2.947h-4.219v14.586l2.838.438v1.746h-10.04v-1.746l2.838-.438v-14.586h-4.223l-.434 2.947h-1.855v-5.275h17.389v5.275h-1.856zm21.933-3.092l-5.566 8.621v6.108l2.838.438v1.746h-10.039v-1.746l2.838-.438v-6.108l-5.641-8.621-2.729-.438v-1.746h10.113v1.746l-2.729.438 3.928 6.184 3.893-6.184-2.619-.438v-1.746h8.439v1.746l-2.726.438zm-194.743 30.198v1.371h198.923v-1.371z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-dk-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-dk-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..2a80846ea9f268bc9be11abc5252881ca89e395d --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-dk-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="290" height="40" viewBox="0 0 290 40"><path d="M11.782 10.949L11.51 9.07H8.07v12.157l1.833.271v1.154H3.384v-1.154l1.833-.271V9.07h-3.44l-.272 1.879H.282V7.486h12.723v3.463h-1.223zm9.439 11.703v-1.087l1.697-.272v-4.142h-4.526v4.142l1.697.272v1.087H13.91v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.179v1.086l-1.697.272v3.576h4.526v-3.576l-1.697-.272v-1.086H27.4v1.086l-1.764.272v9.167l1.764.272v1.087h-6.179zm17.746 0H28.713v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h10.254v3.147h-1.154l-.272-1.698h-4.346v3.532h2.717l.272-1.517h1.018v4.391h-1.018l-.272-1.517h-2.717v4.097h4.346l.272-1.698h1.154v3.147zM53.409 8.867c-2.513 0-3.803 2.015-3.803 6.179 0 4.188 1.245 6.226 3.757 6.226 2.514 0 3.803-2.015 3.803-6.179.001-4.189-1.244-6.226-3.757-6.226zm-.023 14.057c-4.708 0-6.768-2.807-6.768-7.899 0-5.071 2.082-7.811 6.791-7.811 4.708 0 6.769 2.808 6.769 7.9 0 5.071-2.083 7.81-6.792 7.81zm15.325-.272v-1.087l1.697-.272v-4.142h-4.527v4.142l1.698.272v1.087h-6.18v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.18v1.086l-1.698.272v3.576h4.527v-3.576l-1.697-.272v-1.086h6.18v1.086l-1.767.272v9.167l1.767.272v1.087h-6.18zm7.65 0v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.248v1.086l-1.766.272v9.167l1.766.272v1.087h-6.248zm12.971-10.526c-1.902 0-2.92 1.381-2.92 4.573 0 3.213.973 4.617 2.875 4.617 1.902 0 2.944-1.381 2.944-4.572-.001-3.214-.998-4.618-2.899-4.618zm-.022 10.752c-4.007 0-5.75-2.241-5.75-6.179 0-3.939 1.765-6.135 5.772-6.135 4.006 0 5.749 2.242 5.749 6.18 0 3.939-1.765 6.134-5.771 6.134zm18.153.046c-2.625 0-4.731-.905-4.731-.905v-3.237h1.29l.294 2.083s.973.339 2.694.339c1.765 0 3.35-.588 3.35-2.513 0-1.742-1.223-1.991-2.717-2.49-2.376-.792-4.889-1.472-4.889-4.73 0-2.649 1.653-4.256 5.116-4.256 1.584 0 3.236.363 4.526.86v3.034h-1.29l-.294-1.947s-1.358-.294-2.672-.294c-1.312 0-2.671.453-2.671 2.196 0 3.78 7.607 1.29 7.607 7.334.001 2.85-1.855 4.526-5.613 4.526zm16.343-8.873l-.271-1.834h-2.627v9.076l1.766.272v1.087h-6.247v-1.087l1.765-.272v-9.076h-2.626l-.271 1.834h-1.155v-3.283h10.82v3.283h-1.154zm7.015-.997l-1.72 4.709h3.44l-1.72-4.709zm1.405 9.598v-1.087l1.696-.272-.836-2.149h-4.527l-.838 2.149 1.698.272v1.087h-5.184v-1.087l1.698-.272 4.074-10.525h2.603l4.075 10.525 1.698.272v1.087h-6.157zm15.095-8.601l-.271-1.834h-2.625v9.076l1.765.272v1.087h-6.248v-1.087l1.766-.272v-9.076h-2.626l-.272 1.834h-1.154v-3.283h10.821v3.283h-1.156zm12.45 8.601h-10.253v-1.087l1.765-.272v-9.167l-1.765-.272v-1.086h10.253v3.147h-1.154l-.272-1.698H154v3.532h2.715l.272-1.517h1.018v4.391h-1.018l-.272-1.517H154v4.097h4.345l.272-1.698h1.154v3.147zm20.667-13.74v7.742c0 2.603-.158 3.734-1.38 4.957-.884.883-2.332 1.313-4.482 1.313-2.128 0-3.713-.589-4.709-1.584-1.289-1.291-1.153-3.215-1.153-4.89V8.912l-1.835-.271V7.486h6.521v1.155l-1.834.271v8.874c0 2.49 1.38 3.486 3.508 3.486 1.133 0 2.061-.226 2.671-.884.543-.565.839-1.447.839-2.602V8.912l-1.834-.271V7.486h5.522v1.155l-1.834.271zm14.283 3.214v10.526h-2.127l-6.045-8.488v7.129l1.766.272v1.087h-5.32v-1.087l1.767-.272v-9.167l-1.767-.272v-1.086h4.144l5.794 8.104v-6.746l-1.765-.272v-1.086h5.318v1.086l-1.765.272zm3.168 10.526v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.247v1.086l-1.765.272v9.167l1.765.272v1.087h-6.247zm19.513-10.526l-3.961 10.526h-2.627l-3.96-10.526-1.698-.272v-1.086h6.156v1.086l-1.697.272 3.01 8.149 2.988-8.149-1.697-.272v-1.086h5.184v1.086l-1.698.272zm12.88 10.526h-10.255v-1.087l1.765-.272v-9.167l-1.765-.272v-1.086h10.255v3.147h-1.156l-.271-1.698h-4.346v3.532h2.716l.271-1.517h1.021v4.391h-1.021l-.271-1.517h-2.716v4.097h4.346l.271-1.698h1.156v3.147zm9.144-10.073c-.453-.475-1.428-.43-2.037-.43h-.792v3.803h.475c.77 0 1.834.091 2.4-.543.361-.407.452-.882.452-1.402 0-.523-.112-1.02-.498-1.428zm1.267 10.073l-1.11-2.716c-.746-1.811-1.198-2.649-2.782-2.649h-.204v4.006l1.698.272v1.087h-6.182v-1.087l1.766-.272v-9.167l-1.766-.272v-1.087h6c1.223 0 2.647.068 3.576.929.611.566.951 1.335.951 2.218 0 1.381-.907 2.625-2.151 3.011.996.746 1.856 3.191 2.354 4.367l1.699.272v1.087h-3.849v.001zm9.212.226c-2.217 0-4.074-.746-4.074-.746v-3.079h1.224l.293 1.947s.86.248 2.197.248c1.448 0 2.557-.475 2.557-1.765 0-.905-.498-1.222-1.244-1.471-2.197-.748-5.004-1.063-5.004-4.029 0-2.128 1.472-3.418 4.392-3.418 1.337 0 2.717.272 3.917.702v2.942h-1.224l-.293-1.856s-.996-.226-2.105-.226-2.083.385-2.083 1.539c0 2.648 6.271.883 6.271 5.591-.001 2.308-1.676 3.621-4.824 3.621zm6.407-.226v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.249v1.086l-1.767.272v9.167l1.767.272v1.087h-6.249zm17.204-8.601l-.273-1.834h-2.626v9.076l1.767.272v1.087h-6.249v-1.087l1.766-.272v-9.076h-2.626l-.271 1.834h-1.155v-3.283h10.821v3.283h-1.154zm13.648-1.925l-3.463 5.366v3.801l1.766.272v1.087h-6.247v-1.087l1.765-.272v-3.801l-3.508-5.366-1.699-.272v-1.086h6.293v1.086l-1.697.272 2.444 3.849 2.422-3.849-1.63-.272v-1.086h5.252v1.086l-1.698.272zM.25 30.93v.86h289.5v-.86H.25z" fill="#FFF"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-lt-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-lt-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..dfcbf9b8ad00e3d1eb2f6008b0d2bd6036d1aaf6 --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-lt-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 290 40"><style>.st0{fill:#2d2d2d}</style><path class="st0" d="M11.8 10.9l-.3-1.8H8.1v12.1l1.8.3v1.2H3.4v-1.2l1.8-.3V9.1H1.8l-.3 1.8H.3V7.5H13v3.4zm9.4 11.8v-1.1l1.7-.3v-4.1h-4.5v4.1l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v3.6h4.5v-3.6l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm17.8 0H28.7v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1H39v3.1h-1.2l-.3-1.7h-4.3v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5h-2.7v4.1h4.3l.3-1.7H39zM53.4 8.9c-2.5 0-3.8 2-3.8 6.2s1.2 6.2 3.8 6.2c2.5 0 3.8-2 3.8-6.2s-1.3-6.2-3.8-6.2zm0 14c-4.7 0-6.8-2.8-6.8-7.9s2.1-7.8 6.8-7.8 6.8 2.8 6.8 7.9-2.1 7.8-6.8 7.8zm15.3-.2v-1.1l1.7-.3v-4.1h-4.5v4.1l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v3.6h4.5v-3.6l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm7.7 0v-1.1l1.7-.3v-9.2l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm12.9-10.6c-1.9 0-2.9 1.4-2.9 4.6s1 4.6 2.9 4.6 2.9-1.4 2.9-4.6c0-3.2-1-4.6-2.9-4.6zm0 10.8c-4 0-5.8-2.2-5.8-6.2 0-3.9 1.8-6.1 5.8-6.1s5.7 2.2 5.7 6.2c.1 3.9-1.7 6.1-5.7 6.1zm18.2 0c-2.6 0-4.7-.9-4.7-.9v-3.2h1.3l.3 2.1s1 .3 2.7.3c1.8 0 3.3-.6 3.3-2.5 0-1.7-1.2-2-2.7-2.5-2.4-.8-4.9-1.5-4.9-4.7 0-2.6 1.7-4.3 5.1-4.3 1.6 0 3.2.4 4.5.9v3h-1.3l-.3-1.9s-1.4-.3-2.7-.3c-1.3 0-2.7.5-2.7 2.2 0 3.8 7.6 1.3 7.6 7.3.1 2.8-1.8 4.5-5.5 4.5zm16.3-8.8l-.3-1.9h-2.6v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.2v-3.3H125v3.3zm7-1l-1.7 4.7h3.4l-1.7-4.7zm1.4 9.6v-1.1l1.7-.3-.8-2.1h-4.5l-.8 2.1 1.7.3v1.1h-5.2v-1.1l1.7-.3 4.1-10.5h2.6l4.1 10.5 1.7.3v1.1h-6.3zm15.1-8.6l-.2-1.9h-2.7v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.1v-3.3h10.8v3.3zm12.5 8.6h-10.3v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h10.3v3.1h-1.2l-.3-1.7H154v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5H154v4.1h4.3l.3-1.7h1.2zm20.6-13.8v7.7c0 2.6-.2 3.7-1.4 5-.9.9-2.3 1.3-4.5 1.3-2.1 0-3.7-.6-4.7-1.6-1.3-1.3-1.2-3.2-1.2-4.9V8.9l-1.8-.3V7.5h6.5v1.2l-1.8.3v8.9c0 2.5 1.4 3.5 3.5 3.5 1.1 0 2.1-.2 2.7-.9.5-.6.8-1.4.8-2.6v-9l-1.8-.3V7.5h5.5v1.2l-1.8.2zm14.3 3.2v10.6h-2.1l-6.1-8.5v7.1l1.8.3v1.1H183v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h4.1l5.8 8.1v-6.8l-1.7-.2v-1.1h5.3v1.1zm3.2 10.6v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v9.2l1.7.3v1.1zm19.5-10.6l-4 10.6h-2.6l-3.9-10.6-1.7-.2v-1.1h6.1v1.1l-1.7.2 3 8.2 3-8.2-1.7-.2v-1.1h5.2v1.1zm12.9 10.6H220v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h10.3v3.1h-1.2l-.2-1.7h-4.4v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5h-2.7v4.1h4.4l.2-1.7h1.2zm9.1-10.1c-.5-.5-1.4-.4-2-.4h-.8V16h.5c.8 0 1.8.1 2.4-.5.4-.4.5-.9.5-1.4-.1-.6-.2-1.1-.6-1.5zm1.3 10.1l-1.1-2.7c-.7-1.8-1.2-2.6-2.8-2.6h-.2v4l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.3v-1.1h6c1.2 0 2.6.1 3.6.9.6.6 1 1.3 1 2.2 0 1.4-.9 2.6-2.2 3 1 .7 1.9 3.2 2.4 4.4l1.7.3v1.1h-3.9zm9.2.2c-2.2 0-4.1-.7-4.1-.7v-3.1h1.2l.3 1.9s.9.2 2.2.2c1.4 0 2.6-.5 2.6-1.8 0-.9-.5-1.2-1.2-1.5-2.2-.7-5-1.1-5-4 0-2.1 1.5-3.4 4.4-3.4 1.3 0 2.7.3 3.9.7v2.9H253l-.3-1.9s-1-.2-2.1-.2-2.1.4-2.1 1.5c0 2.6 6.3.9 6.3 5.6-.1 2.5-1.7 3.8-4.9 3.8zm6.4-.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.3v1.1l-1.8.2v9.2l1.8.3v1.1zm17.2-8.6l-.3-1.9h-2.6v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.2v-3.3h10.9v3.3zm13.7-2l-3.5 5.4v3.8l1.8.3v1.1h-6.3v-1.1l1.8-.3v-3.8l-3.5-5.4-1.7-.2v-1.1h6.3v1.1l-1.7.2 2.4 3.9 2.4-3.9-1.6-.2v-1.1h5.3v1.1zM.2 30.9v.9h289.6v-.9z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-md-gray.svg b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-md-gray.svg new file mode 100644 index 0000000000000000000000000000000000000000..2a80846ea9f268bc9be11abc5252881ca89e395d --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-md-gray.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="290" height="40" viewBox="0 0 290 40"><path d="M11.782 10.949L11.51 9.07H8.07v12.157l1.833.271v1.154H3.384v-1.154l1.833-.271V9.07h-3.44l-.272 1.879H.282V7.486h12.723v3.463h-1.223zm9.439 11.703v-1.087l1.697-.272v-4.142h-4.526v4.142l1.697.272v1.087H13.91v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.179v1.086l-1.697.272v3.576h4.526v-3.576l-1.697-.272v-1.086H27.4v1.086l-1.764.272v9.167l1.764.272v1.087h-6.179zm17.746 0H28.713v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h10.254v3.147h-1.154l-.272-1.698h-4.346v3.532h2.717l.272-1.517h1.018v4.391h-1.018l-.272-1.517h-2.717v4.097h4.346l.272-1.698h1.154v3.147zM53.409 8.867c-2.513 0-3.803 2.015-3.803 6.179 0 4.188 1.245 6.226 3.757 6.226 2.514 0 3.803-2.015 3.803-6.179.001-4.189-1.244-6.226-3.757-6.226zm-.023 14.057c-4.708 0-6.768-2.807-6.768-7.899 0-5.071 2.082-7.811 6.791-7.811 4.708 0 6.769 2.808 6.769 7.9 0 5.071-2.083 7.81-6.792 7.81zm15.325-.272v-1.087l1.697-.272v-4.142h-4.527v4.142l1.698.272v1.087h-6.18v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.18v1.086l-1.698.272v3.576h4.527v-3.576l-1.697-.272v-1.086h6.18v1.086l-1.767.272v9.167l1.767.272v1.087h-6.18zm7.65 0v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.248v1.086l-1.766.272v9.167l1.766.272v1.087h-6.248zm12.971-10.526c-1.902 0-2.92 1.381-2.92 4.573 0 3.213.973 4.617 2.875 4.617 1.902 0 2.944-1.381 2.944-4.572-.001-3.214-.998-4.618-2.899-4.618zm-.022 10.752c-4.007 0-5.75-2.241-5.75-6.179 0-3.939 1.765-6.135 5.772-6.135 4.006 0 5.749 2.242 5.749 6.18 0 3.939-1.765 6.134-5.771 6.134zm18.153.046c-2.625 0-4.731-.905-4.731-.905v-3.237h1.29l.294 2.083s.973.339 2.694.339c1.765 0 3.35-.588 3.35-2.513 0-1.742-1.223-1.991-2.717-2.49-2.376-.792-4.889-1.472-4.889-4.73 0-2.649 1.653-4.256 5.116-4.256 1.584 0 3.236.363 4.526.86v3.034h-1.29l-.294-1.947s-1.358-.294-2.672-.294c-1.312 0-2.671.453-2.671 2.196 0 3.78 7.607 1.29 7.607 7.334.001 2.85-1.855 4.526-5.613 4.526zm16.343-8.873l-.271-1.834h-2.627v9.076l1.766.272v1.087h-6.247v-1.087l1.765-.272v-9.076h-2.626l-.271 1.834h-1.155v-3.283h10.82v3.283h-1.154zm7.015-.997l-1.72 4.709h3.44l-1.72-4.709zm1.405 9.598v-1.087l1.696-.272-.836-2.149h-4.527l-.838 2.149 1.698.272v1.087h-5.184v-1.087l1.698-.272 4.074-10.525h2.603l4.075 10.525 1.698.272v1.087h-6.157zm15.095-8.601l-.271-1.834h-2.625v9.076l1.765.272v1.087h-6.248v-1.087l1.766-.272v-9.076h-2.626l-.272 1.834h-1.154v-3.283h10.821v3.283h-1.156zm12.45 8.601h-10.253v-1.087l1.765-.272v-9.167l-1.765-.272v-1.086h10.253v3.147h-1.154l-.272-1.698H154v3.532h2.715l.272-1.517h1.018v4.391h-1.018l-.272-1.517H154v4.097h4.345l.272-1.698h1.154v3.147zm20.667-13.74v7.742c0 2.603-.158 3.734-1.38 4.957-.884.883-2.332 1.313-4.482 1.313-2.128 0-3.713-.589-4.709-1.584-1.289-1.291-1.153-3.215-1.153-4.89V8.912l-1.835-.271V7.486h6.521v1.155l-1.834.271v8.874c0 2.49 1.38 3.486 3.508 3.486 1.133 0 2.061-.226 2.671-.884.543-.565.839-1.447.839-2.602V8.912l-1.834-.271V7.486h5.522v1.155l-1.834.271zm14.283 3.214v10.526h-2.127l-6.045-8.488v7.129l1.766.272v1.087h-5.32v-1.087l1.767-.272v-9.167l-1.767-.272v-1.086h4.144l5.794 8.104v-6.746l-1.765-.272v-1.086h5.318v1.086l-1.765.272zm3.168 10.526v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.247v1.086l-1.765.272v9.167l1.765.272v1.087h-6.247zm19.513-10.526l-3.961 10.526h-2.627l-3.96-10.526-1.698-.272v-1.086h6.156v1.086l-1.697.272 3.01 8.149 2.988-8.149-1.697-.272v-1.086h5.184v1.086l-1.698.272zm12.88 10.526h-10.255v-1.087l1.765-.272v-9.167l-1.765-.272v-1.086h10.255v3.147h-1.156l-.271-1.698h-4.346v3.532h2.716l.271-1.517h1.021v4.391h-1.021l-.271-1.517h-2.716v4.097h4.346l.271-1.698h1.156v3.147zm9.144-10.073c-.453-.475-1.428-.43-2.037-.43h-.792v3.803h.475c.77 0 1.834.091 2.4-.543.361-.407.452-.882.452-1.402 0-.523-.112-1.02-.498-1.428zm1.267 10.073l-1.11-2.716c-.746-1.811-1.198-2.649-2.782-2.649h-.204v4.006l1.698.272v1.087h-6.182v-1.087l1.766-.272v-9.167l-1.766-.272v-1.087h6c1.223 0 2.647.068 3.576.929.611.566.951 1.335.951 2.218 0 1.381-.907 2.625-2.151 3.011.996.746 1.856 3.191 2.354 4.367l1.699.272v1.087h-3.849v.001zm9.212.226c-2.217 0-4.074-.746-4.074-.746v-3.079h1.224l.293 1.947s.86.248 2.197.248c1.448 0 2.557-.475 2.557-1.765 0-.905-.498-1.222-1.244-1.471-2.197-.748-5.004-1.063-5.004-4.029 0-2.128 1.472-3.418 4.392-3.418 1.337 0 2.717.272 3.917.702v2.942h-1.224l-.293-1.856s-.996-.226-2.105-.226-2.083.385-2.083 1.539c0 2.648 6.271.883 6.271 5.591-.001 2.308-1.676 3.621-4.824 3.621zm6.407-.226v-1.087l1.766-.272v-9.167l-1.766-.272v-1.086h6.249v1.086l-1.767.272v9.167l1.767.272v1.087h-6.249zm17.204-8.601l-.273-1.834h-2.626v9.076l1.767.272v1.087h-6.249v-1.087l1.766-.272v-9.076h-2.626l-.271 1.834h-1.155v-3.283h10.821v3.283h-1.154zm13.648-1.925l-3.463 5.366v3.801l1.766.272v1.087h-6.247v-1.087l1.765-.272v-3.801l-3.508-5.366-1.699-.272v-1.086h6.293v1.086l-1.697.272 2.444 3.849 2.422-3.849-1.63-.272v-1.086h5.252v1.086l-1.698.272zM.25 30.93v.86h289.5v-.86H.25z" fill="#FFF"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-white.svg b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-white.svg new file mode 100644 index 0000000000000000000000000000000000000000..8c5624c5c9bcfeab01a8a03812cd6d85ee675f6b --- /dev/null +++ b/libraries/it-osu-pl-drupal/images/osu-logos/wordmark/osu-footer-wordmark-white.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 290 40"><style>.st0{fill:#666}</style><path class="st0" d="M11.8 10.9l-.3-1.8H8.1v12.1l1.8.3v1.2H3.4v-1.2l1.8-.3V9.1H1.8l-.3 1.8H.3V7.5H13v3.4zm9.4 11.8v-1.1l1.7-.3v-4.1h-4.5v4.1l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v3.6h4.5v-3.6l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm17.8 0H28.7v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1H39v3.1h-1.2l-.3-1.7h-4.3v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5h-2.7v4.1h4.3l.3-1.7H39zM53.4 8.9c-2.5 0-3.8 2-3.8 6.2s1.2 6.2 3.8 6.2c2.5 0 3.8-2 3.8-6.2s-1.3-6.2-3.8-6.2zm0 14c-4.7 0-6.8-2.8-6.8-7.9 0-5.1 2.1-7.8 6.8-7.8 4.7 0 6.8 2.8 6.8 7.9 0 5.1-2.1 7.8-6.8 7.8zm15.3-.2v-1.1l1.7-.3v-4.1h-4.5v4.1l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v3.6h4.5v-3.6l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm7.7 0v-1.1l1.7-.3v-9.2l-1.7-.2v-1.1h6.2v1.1l-1.8.2v9.2l1.8.3v1.1zm12.9-10.6c-1.9 0-2.9 1.4-2.9 4.6 0 3.2 1 4.6 2.9 4.6s2.9-1.4 2.9-4.6c0-3.2-1-4.6-2.9-4.6zm0 10.8c-4 0-5.8-2.2-5.8-6.2 0-3.9 1.8-6.1 5.8-6.1s5.7 2.2 5.7 6.2c.1 3.9-1.7 6.1-5.7 6.1zm18.2 0c-2.6 0-4.7-.9-4.7-.9v-3.2h1.3l.3 2.1s1 .3 2.7.3c1.8 0 3.3-.6 3.3-2.5 0-1.7-1.2-2-2.7-2.5-2.4-.8-4.9-1.5-4.9-4.7 0-2.6 1.7-4.3 5.1-4.3 1.6 0 3.2.4 4.5.9v3h-1.3l-.3-1.9s-1.4-.3-2.7-.3c-1.3 0-2.7.5-2.7 2.2 0 3.8 7.6 1.3 7.6 7.3.1 2.8-1.8 4.5-5.5 4.5zm16.3-8.8l-.3-1.9h-2.6v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.2v-3.3H125v3.3zm7-1l-1.7 4.7h3.4l-1.7-4.7zm1.4 9.6v-1.1l1.7-.3-.8-2.1h-4.5l-.8 2.1 1.7.3v1.1h-5.2v-1.1l1.7-.3 4.1-10.5h2.6l4.1 10.5 1.7.3v1.1h-6.3zm15.1-8.6l-.2-1.9h-2.7v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.1v-3.3h10.8v3.3zm12.5 8.6h-10.3v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h10.3v3.1h-1.2l-.3-1.7H154v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5H154v4.1h4.3l.3-1.7h1.2zm20.6-13.8v7.7c0 2.6-.2 3.7-1.4 5-.9.9-2.3 1.3-4.5 1.3-2.1 0-3.7-.6-4.7-1.6-1.3-1.3-1.2-3.2-1.2-4.9V8.9l-1.8-.3V7.5h6.5v1.2l-1.8.3v8.9c0 2.5 1.4 3.5 3.5 3.5 1.1 0 2.1-.2 2.7-.9.5-.6.8-1.4.8-2.6v-9l-1.8-.3V7.5h5.5v1.2l-1.8.2zm14.3 3.2v10.6h-2.1l-6.1-8.5v7.1l1.8.3v1.1H183v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h4.1l5.8 8.1v-6.8l-1.7-.2v-1.1h5.3v1.1zm3.2 10.6v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.2v1.1l-1.7.2v9.2l1.7.3v1.1zm19.5-10.6l-4 10.6h-2.6l-3.9-10.6-1.7-.2v-1.1h6.1v1.1l-1.7.2 3 8.2 3-8.2-1.7-.2v-1.1h5.2v1.1zm12.9 10.6H220v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h10.3v3.1h-1.2l-.2-1.7h-4.4v3.5h2.7l.3-1.5h1v4.4h-1l-.3-1.5h-2.7v4.1h4.4l.2-1.7h1.2zm9.1-10.1c-.5-.5-1.4-.4-2-.4h-.8V16h.5c.8 0 1.8.1 2.4-.5.4-.4.5-.9.5-1.4-.1-.6-.2-1.1-.6-1.5zm1.3 10.1l-1.1-2.7c-.7-1.8-1.2-2.6-2.8-2.6h-.2v4l1.7.3v1.1h-6.2v-1.1l1.8-.3v-9.2l-1.8-.3v-1.1h6c1.2 0 2.6.1 3.6.9.6.6 1 1.3 1 2.2 0 1.4-.9 2.6-2.2 3 1 .7 1.9 3.2 2.4 4.4l1.7.3v1.1h-3.9zm9.2.2c-2.2 0-4.1-.7-4.1-.7v-3.1h1.2l.3 1.9s.9.2 2.2.2c1.4 0 2.6-.5 2.6-1.8 0-.9-.5-1.2-1.2-1.5-2.2-.7-5-1.1-5-4 0-2.1 1.5-3.4 4.4-3.4 1.3 0 2.7.3 3.9.7v2.9H253l-.3-1.9s-1-.2-2.1-.2-2.1.4-2.1 1.5c0 2.6 6.3.9 6.3 5.6-.1 2.5-1.7 3.8-4.9 3.8zm6.4-.2v-1.1l1.8-.3v-9.2l-1.8-.2v-1.1h6.3v1.1l-1.8.2v9.2l1.8.3v1.1zm17.2-8.6l-.3-1.9h-2.6v9.1l1.8.3v1.1h-6.3v-1.1l1.8-.3v-9.1h-2.6l-.3 1.9h-1.2v-3.3h10.9v3.3zm13.7-2l-3.5 5.4v3.8l1.8.3v1.1h-6.3v-1.1l1.8-.3v-3.8l-3.5-5.4-1.7-.2v-1.1h6.3v1.1l-1.7.2 2.4 3.9 2.4-3.9-1.6-.2v-1.1h5.3v1.1zM.2 30.9v.9h289.6v-.9H.2z"/></svg> \ No newline at end of file diff --git a/libraries/it-osu-pl-drupal/images/sample/landscape-16x9-mountains.jpg b/libraries/it-osu-pl-drupal/images/sample/landscape-16x9-mountains.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c0d92b29f77787ab7ffa1319e0c7fec99e505fb Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/landscape-16x9-mountains.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/thumb-square-fire.jpg b/libraries/it-osu-pl-drupal/images/sample/thumb-square-fire.jpg new file mode 100644 index 0000000000000000000000000000000000000000..20a5c5ed6dd169b7d0c71dd9c789644109c38f2c Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/thumb-square-fire.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/thumb-square-gear.jpg b/libraries/it-osu-pl-drupal/images/sample/thumb-square-gear.jpg new file mode 100644 index 0000000000000000000000000000000000000000..052a52a179addd91cc845ed78be1c74b9bd9f208 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/thumb-square-gear.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/thumb-square-ivy.jpg b/libraries/it-osu-pl-drupal/images/sample/thumb-square-ivy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64183a7a3bfadf92cfa14c51af6dc26b2372063f Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/thumb-square-ivy.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/thumb-square-river.jpg b/libraries/it-osu-pl-drupal/images/sample/thumb-square-river.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f190186895546e50637764384c67ee2a1c7fdf31 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/thumb-square-river.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/thumb-square-yosemite.jpg b/libraries/it-osu-pl-drupal/images/sample/thumb-square-yosemite.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f388d79828395c020fa8696fbe9e937933aa5b6 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/thumb-square-yosemite.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climber.jpg b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climber.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1348cd7e743d0965b15a5771a116b0d48fdf3ef8 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climber.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climbers.jpg b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climbers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8461a191f8418794b5dd2b3dd1321d4be408d29 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-climbers.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/sample/tout-4x3-stream.jpg b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-stream.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e091d1d0d17ed9a46065f4207f65488aa34da0e Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/sample/tout-4x3-stream.jpg differ diff --git a/libraries/it-osu-pl-drupal/images/upload-red.png b/libraries/it-osu-pl-drupal/images/upload-red.png new file mode 100644 index 0000000000000000000000000000000000000000..ec30ef54df05a092112a961ea2760bcacef9dda1 Binary files /dev/null and b/libraries/it-osu-pl-drupal/images/upload-red.png differ diff --git a/libraries/it-osu-pl-drupal/js/other/hoverintent.min.js b/libraries/it-osu-pl-drupal/js/other/hoverintent.min.js new file mode 100644 index 0000000000000000000000000000000000000000..55e92aeea5cd7a0511c83d5cce2d913632072323 --- /dev/null +++ b/libraries/it-osu-pl-drupal/js/other/hoverintent.min.js @@ -0,0 +1 @@ +!function(e,t){if("function"==typeof define&&define.amd)define("hoverintent",["module"],t);else if("undefined"!=typeof exports)t(module);else{var n={exports:{}};t(n),e.hoverintent=n.exports}}(this,function(e){"use strict";var t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e};e.exports=function(e,n,o){function i(e,t){return y&&(y=clearTimeout(y)),b=0,p?void 0:o.call(e,t)}function r(e){m=e.clientX,d=e.clientY}function u(e,t){if(y&&(y=clearTimeout(y)),Math.abs(h-m)+Math.abs(E-d)<x.sensitivity)return b=1,p?void 0:n.call(e,t);h=m,E=d,y=setTimeout(function(){u(e,t)},x.interval)}function s(t){return L=!0,y&&(y=clearTimeout(y)),e.removeEventListener("mousemove",r,!1),1!==b&&(h=t.clientX,E=t.clientY,e.addEventListener("mousemove",r,!1),y=setTimeout(function(){u(e,t)},x.interval)),this}function c(t){return L=!1,y&&(y=clearTimeout(y)),e.removeEventListener("mousemove",r,!1),1===b&&(y=setTimeout(function(){i(e,t)},x.timeout)),this}function v(t){L||(p=!0,n.call(e,t))}function a(t){!L&&p&&(p=!1,o.call(e,t))}function f(){e.addEventListener("focus",v,!1),e.addEventListener("blur",a,!1)}function l(){e.removeEventListener("focus",v,!1),e.removeEventListener("blur",a,!1)}var m,d,h,E,L=!1,p=!1,T={},b=0,y=0,x={sensitivity:7,interval:100,timeout:0,handleFocus:!1};return T.options=function(e){var n=e.handleFocus!==x.handleFocus;return x=t({},x,e),n&&(x.handleFocus?f():l()),T},T.remove=function(){e&&(e.removeEventListener("mouseover",s,!1),e.removeEventListener("mouseout",c,!1),l())},e&&(e.addEventListener("mouseover",s,!1),e.addEventListener("mouseout",c,!1)),T}}); diff --git a/libraries/it-osu-pl-drupal/js/patterns/02-molecules/details/details.js b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/details/details.js new file mode 100644 index 0000000000000000000000000000000000000000..534750cceaa68036743e054017c8d11754cfdf4d --- /dev/null +++ b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/details/details.js @@ -0,0 +1,51 @@ +(function($) { + + // Toggle plus and minus for details elements. + var summary = $('.summary--plus'); + + summary.click(function() { + var parent = this.closest('details'); + var control = $('.pm-control', this); + + if (parent.hasAttribute('open')) { + control.removeClass('minus').addClass('plus'); + } else { + control.removeClass('plus').addClass('minus'); + } + }); + + // Function to open details if corresponding hash is in the url. + var openDetails = function() { + var hashValue = location.hash; + var detailsElement = $('details'); + + detailsElement.each(function() { + var detailsSummary = $('summary', this); + var detailsId = $(this).attr('id'); + var detailsHash = '#' + detailsId; + + // If detailsHash matches hashValue, open details element. + if (detailsHash == hashValue) { + $(this).attr('open', true); + detailsSummary.attr({ + 'aria-expanded': true, + 'aria-pressed': true, + }); + } else { + $(this).attr('open', false); + detailsSummary.attr({ + 'aria-expanded': false, + 'aria-pressed': false, + }); + } + }); + }; + + // Run on initial page load if there is a hash is in the url. + if (window.location.hash) { + openDetails(); + } + // Also listen for hash changes. + window.addEventListener('hashchange', openDetails, false); + +})(jQuery); diff --git a/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/a11yNavbar.js b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/a11yNavbar.js new file mode 100644 index 0000000000000000000000000000000000000000..aa498408a32923ed2b478e59ebcfe751d9075a6c --- /dev/null +++ b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/a11yNavbar.js @@ -0,0 +1,1095 @@ +/** + * @file a11yNavbar.js + * + * A11y Navbar Copyright (c) 2019 Joe Bondra + */ + +class a11yNavbar { + constructor(id, options = {}) { + // Define members. + this._keyCode = { + TAB: 9, + ENTER: 13, + ESC: 27, + SPACE: 32, + END: 35, + HOME: 36, + ARROW_LEFT: 37, + ARROW_UP: 38, + ARROW_RIGHT: 39, + ARROW_DOWN: 40, + }; + + this._touchmoveActive = false; // Used to determine if user is currently scrolling via touch. + + // Merge user-defined options with default options. + this._defaultOptions = { + windowObj: window, + domObj: document, + ariaLabel: '', + hoverintent: hoverintent, + orientation: 'horizontal', + breakpointMinWidth: 500, + responsiveToggleText: 'Menu', + responsiveSubmenuToggles: false, + mode: 'standard', + }; + this._options = Object.assign(this._defaultOptions, options); + + this._id = id; + this._navElem = this._options.domObj.getElementById(this._id); + this._menubarMenuitems = []; + this._currentMenubarIndex = 0; + this._currentMenuitem = null; + + // Reset navbar when navbar loses focus. + this._navElem.addEventListener( + 'focusout', + this.handleFocusoutNavElem.bind(this), + ); + + // Reset navbar when touchend event occurs outside navbar. + this._options.domObj.addEventListener( + 'touchend', + this.handleTouchendDocument.bind(this), + ); + this._navElem.addEventListener( + 'touchend', + this.handleTouchendNavElem.bind(this), + ); + + if (this._options.mode == 'dualAction') { + // Add element to explain alternate instructions for mode dualAction. + this._menubarInstructions = this._options.domObj.createElement('div'); + this._menubarInstructions.innerHTML = + '<p>Use <strong>Enter</strong> or <strong>Space</strong> to activate links.</p>' + + '<p>Use appropriate arrow key to open or close submenus.</p>'; + this._menubarInstructions.setAttribute( + 'id', + this._id + '-menubar-instructions', + ); + this._menubarInstructions.classList.add('a11y-navbar-instructions'); + this._navElem.insertBefore( + this._menubarInstructions, + this._navElem.firstElementChild, + ); + } + + // Add/Remove toggle button based on breakpointMinWidth. + this._menubarToggle = this._options.domObj.createElement('button'); + this._menubarToggle.textContent = this._options.responsiveToggleText; + this._menubarToggle.setAttribute('id', this._id + '-toggle'); + this._menubarToggle.setAttribute('aria-expanded', 'false'); + this._menubarToggle.setAttribute('aria-controls', this._id); + this._menubarToggle.classList.add('a11y-navbar-toggle'); + let menuIcon = this._options.domObj.createElement('span'); + menuIcon.setAttribute('aria-hidden', 'true'); + this._menubarToggle.appendChild(menuIcon); + this._menubarToggle.addEventListener( + 'click', + this.handleClickMenubarToggle.bind(this), + ); + + this._options.windowObj.addEventListener( + 'resize', + this.handleMenubarResize.bind(this), + ); + + // TODO: Add configurable defaults for class names. + + // Set up aria roles and attributes. + this._navElem.setAttribute('aria-label', this._options.ariaLabel); + this._navElem.classList.add('a11y-navbar'); + + let menubar = this._navElem.querySelector('ul'); + + menubar.setAttribute('aria-label', this._options.ariaLabel); + menubar.classList.add('a11y-navbar-menubar'); + menubar.classList.add( + 'a11y-navbar-orientation-' + this._options.orientation, + ); + + if (this._options.orientation == 'horizontal') { + menubar.setAttribute('role', 'menubar'); + } else if (this._options.orientation == 'vertical') { + // aria-orientation is implicitly 'vertical' for menus, and not supported on role=menubar. + menubar.setAttribute('role', 'menu'); + } + + // Add hoverintent functionality (or mouse events if hoverintent not available). + if (this._options.hoverintent) { + // Hoverintent in environment. + let options = { + timeout: 900, + interval: 50, + }; + + this._options + .hoverintent( + menubar, + function(event) {}, + this.handleMouseoutMenubar.bind(this), + ) + .options(options); + } else { + // Default mouse events. + menubar.addEventListener( + 'mouseout', + this.handleMouseoutMenubar.bind(this), + ); + } + + // For menubar menuitems specifically. + let menubarMenuitems = menubar.children; + + for (let i = 0; i < menubarMenuitems.length; i++) { + let menubarMenuitem = menubarMenuitems[i].querySelector('a'); + menubarMenuitem.classList.add('a11y-navbar-menuitem'); + + // collect these as an Array or something and store in the class. + this._menubarMenuitems[i] = menubarMenuitem; + + // Add keydown handler (bound to a11yNavbar instance). + menubarMenuitem.addEventListener( + 'keydown', + this.handleKeydownMenubar.bind(this), + ); + } + + // Add keydown handler to submenu menuitems (bound to a11yNavbar instance). + let submenuMenuitems = this._navElem.querySelectorAll('a + ul > li > a'); + + for (let i = 0; i < submenuMenuitems.length; i++) { + submenuMenuitems[i].addEventListener( + 'keydown', + this.handleKeydownSubmenu.bind(this), + ); + + // Add handler to open parent menuitems if menu was closed by non-keyboard interaction. + submenuMenuitems[i].addEventListener( + 'focusin', + this.handleFocusinMenuitem.bind(this), + ); + } + + // Attributes for all menuitems. + let menuitems = menubar.querySelectorAll('li > a'); + + for (let j = 0; j < menuitems.length; j++) { + menuitems[j].setAttribute('role', 'menuitem'); + menuitems[j].setAttribute('tabindex', '-1'); + + // Add hoverintent functionality (or mouse events if hoverintent not available). + if (this._options.hoverintent) { + // Hoverintent in environment. + let options = { + timeout: 500, + interval: 100, + }; + + this._options + .hoverintent( + menuitems[j], + this.handleMouseoverMenuitem.bind(this), + function(event) {}, + ) + .options(options); + } else { + // Default mouse events. + menuitems[j].addEventListener( + 'mouseover', + this.handleMouseoverMenuitem.bind(this), + ); + } + + // @see https://w3c.github.io/touch-events/#mouse-events + // Override click event for all menuitems. + menuitems[j].addEventListener( + 'click', + this.handleClickMenuitem.bind(this), + ); + + // Override touch events for all menuitems. + menuitems[j].addEventListener( + 'touchstart', + this.handleTouchstartMenuitem.bind(this), + ); + menuitems[j].addEventListener( + 'touchmove', + this.handleTouchmoveMenuitem.bind(this), + ); + menuitems[j].addEventListener( + 'touchend', + this.handleTouchendMenuitem.bind(this), + ); + } + + // Attributes for all submenus. + let submenus = menubar.querySelectorAll('li > a + ul'); + + for (let k = 0; k < submenus.length; k++) { + // Get aria-label from anchor sibing. + let submenuLiElem = submenus[k].parentNode; + let aElem = submenuLiElem.querySelector('a'); + let aElemText = aElem.textContent; + + aElem.setAttribute('aria-haspopup', 'true'); + aElem.setAttribute('aria-expanded', 'false'); + + submenus[k].setAttribute('id', this._id + '-submenu-' + k); + submenus[k].setAttribute('role', 'menu'); + submenus[k].setAttribute('aria-label', aElemText); + submenus[k].classList.add('a11y-navbar-submenu'); + submenus[k].classList.add('a11y-navbar-menu-closed'); + } + + // All li elements should have an aria role of "none". + let liElem = menubar.querySelectorAll('li'); + + for (let l = 0; l < liElem.length; l++) { + liElem[l].setAttribute('role', 'none'); + } + + // First menubar menuitem should have tabindex 0. + this._menubarMenuitems[0].setAttribute('tabindex', '0'); + + if (this._options.mode == 'dualAction') { + // Add instructions for dualAction mode to first menubar menuitem. + this._menubarMenuitems[0].setAttribute( + 'aria-describedby', + this._id + '-menubar-instructions', + ); + } + + // First menubar menuitem should be the current menuitem. + this._currentMenuitem = this._menubarMenuitems[0]; + + // Check if the menu should be resized on page load. + this.menubarResize(); + } + + destroy() { + // Remove all attributes/behaviors, etc. from constructor. + } + + // Event Handlers ----------------------------------------------------- + + handleMenubarResize(event) { + if (event.defaultPrevented) { + return; + } + + this.menubarResize(); + } + + handleClickMenubarToggle(event) { + if (event.defaultPrevented) { + return; + } + + if (this._navElem.classList.contains('a11y-navbar-closed')) { + this._navElem.classList.remove('a11y-navbar-closed'); + this._navElem.classList.add('a11y-navbar-open'); + this._menubarToggle.setAttribute('aria-expanded', 'true'); + } else if (this._navElem.classList.contains('a11y-navbar-open')) { + this._navElem.classList.remove('a11y-navbar-open'); + this._navElem.classList.add('a11y-navbar-closed'); + this._menubarToggle.setAttribute('aria-expanded', 'false'); + } + } + + handleKeydownMenubar(event) { + if (event.defaultPrevented) { + return; + } + + /* + When items in a menubar are arranged vertically and items in menu containers are arranged horizontally: + -Down Arrow performs as Right Arrow, and vice versa. + -Up Arrow performs as Left Arrow, and vice versa. + */ + + let preventDefault = false; // Flag to prevent the keypress from doing what it usually would do. + let menuitem = event.target; + let key = this.normalizeKey(event.key || event.keyCode); + let mode = this._options.mode; + + if ( + (key == this._keyCode.SPACE && mode == 'standard') || + (key == this._keyCode.ENTER && mode == 'standard') || + (this._options.orientation == 'horizontal' && + key == this._keyCode.ARROW_DOWN) || + (this._options.orientation == 'vertical' && + key == this._keyCode.ARROW_RIGHT) + ) { + this.closeAllSubmenus(); + if (this.hasSubmenu(menuitem)) { + // Opens submenu and moves focus to first item in the submenu. + this.openSubmenu(menuitem); + let firstMenuitem = menuitem.parentNode + .querySelector('ul[role=menu] > li') + .querySelector('a'); + + if (firstMenuitem != null) { + firstMenuitem.focus(); + this.updateCurrentMenuitem(firstMenuitem); + } + } + preventDefault = true; + } else if ( + (key == this._keyCode.SPACE && mode == 'dualAction') || + (key == this._keyCode.ENTER && mode == 'dualAction') + ) { + // Activates menu item, causing the link to be activated. + this.performClick(menuitem); + preventDefault = true; + } else if ( + (this._options.orientation == 'horizontal' && + key == this._keyCode.ARROW_RIGHT) || + (this._options.orientation == 'vertical' && + key == this._keyCode.ARROW_DOWN) + ) { + /* + -Moves focus to the next item in the menubar. + -If focus is on the last item, moves focus to the first item. + */ + let nextMenubarIndex = + this._currentMenubarIndex + 1 >= this._menubarMenuitems.length + ? 0 + : this._currentMenubarIndex + 1; + let nextMenubarItem = this._menubarMenuitems[nextMenubarIndex]; + + nextMenubarItem.focus(); + this._currentMenubarIndex = nextMenubarIndex; + this.updateCurrentMenuitem(nextMenubarItem); + preventDefault = true; + } else if ( + (this._options.orientation == 'horizontal' && + key == this._keyCode.ARROW_LEFT) || + (this._options.orientation == 'vertical' && key == this._keyCode.ARROW_UP) + ) { + /* + -Moves focus to the previous item in the menubar. + -If focus is on the first item, moves focus to the last item. + */ + let prevMenubarIndex = + this._currentMenubarIndex - 1 < 0 + ? this._menubarMenuitems.length - 1 + : this._currentMenubarIndex - 1; + let prevMenubarItem = this._menubarMenuitems[prevMenubarIndex]; + + prevMenubarItem.focus(); + this._currentMenubarIndex = prevMenubarIndex; + this.updateCurrentMenuitem(prevMenubarItem); + preventDefault = true; + } else if ( + (this._options.orientation == 'horizontal' && + key == this._keyCode.ARROW_UP) || + (this._options.orientation == 'vertical' && + key == this._keyCode.ARROW_LEFT) + ) { + // Opens submenu and moves focus to last item in the submenu. + if (this.hasSubmenu(menuitem)) { + this.closeAllSubmenus(); + this.openSubmenu(menuitem); + let lastMenuitem = menuitem.parentNode.querySelector('ul[role=menu]') + .lastElementChild.firstElementChild; + lastMenuitem.focus(); + this.updateCurrentMenuitem(lastMenuitem); + } + preventDefault = true; + } else if (key == this._keyCode.HOME) { + // Moves focus to first item in the menubar. + let firstMenubarItem = this._menubarMenuitems[0]; + firstMenubarItem.focus(); + this.updateCurrentMenuitem(firstMenubarItem); + preventDefault = true; + } else if (key == this._keyCode.END) { + // Moves focus to last item in the menubar. + let lastMenubarItem = this._menubarMenuitems[ + this._menubarMenuitems.length - 1 + ]; + lastMenubarItem.focus(); + this.updateCurrentMenuitem(lastMenubarItem); + preventDefault = true; + } else { + // TODO: Consider adding optional character handling. + } + + if (preventDefault) { + // The following statements will stop the keys from doing stuff. + event.stopPropagation(); + event.preventDefault(); + } + } + + handleKeydownSubmenu(event) { + if (event.defaultPrevented) { + return; + } + + let preventDefault = false; // Flag to prevent the keypress from doing what it usually would do. + let menuitem = event.target; + let key = this.normalizeKey(event.key || event.keyCode); + let mode = this._options.mode; + + if ( + (key == this._keyCode.SPACE || key == this._keyCode.ENTER) && + mode == 'standard' + ) { + if (this.hasSubmenu(menuitem)) { + // Open the submenu and place focus on the first item. + this.openSubmenu(menuitem); + let firstMenuitem = menuitem.parentNode + .querySelector('ul[role=menu] > li') + .querySelector('a'); + + if (firstMenuitem != null) { + firstMenuitem.focus(); + this.updateCurrentMenuitem(firstMenuitem); + } + preventDefault = true; + } else { + // Activates menu item, causing the link to be activated. + this.performClick(menuitem); + preventDefault = true; + } + } else if ( + (key == this._keyCode.SPACE || key == this._keyCode.ENTER) && + mode == 'dualAction' + ) { + // Activates menu item, causing the link to be activated. + this.performClick(menuitem); + preventDefault = true; + } else if (key == this._keyCode.ESC) { + /* + -Closes submenu. + -Moves focus to parent menubar item. + */ + let parentMenuitem = menuitem.parentNode.parentNode.parentNode.querySelector( + 'a[role=menuitem]', + ); + this.closeSubmenu(parentMenuitem); + parentMenuitem.focus(); + this.updateCurrentMenuitem(parentMenuitem); + preventDefault = true; + } else if (key == this._keyCode.ARROW_RIGHT) { + /* + -If focus is on an item with a submenu, opens the submenu and places focus on the first item. + -If focus is on an item that does not have a submenu: + -Closes submenu. + -Moves focus to next item in the menubar. + -Opens submenu of newly focused menubar item, keeping focus on that parent menubar item. + */ + if (this.hasSubmenu(menuitem)) { + let firstSubmenuItem = menuitem.parentNode + .querySelector('a + ul') + .querySelector('li > a'); + this.openSubmenu(menuitem); + firstSubmenuItem.focus(); + this.updateCurrentMenuitem(firstSubmenuItem); + } else { + this.closeAllSubmenus(); + + let nextMenubarIndex = + this._currentMenubarIndex + 1 >= this._menubarMenuitems.length + ? 0 + : this._currentMenubarIndex + 1; + let nextMenubarItem = this._menubarMenuitems[nextMenubarIndex]; + + nextMenubarItem.focus(); + this.openSubmenu(nextMenubarItem); + this._currentMenubarIndex = nextMenubarIndex; + this.updateCurrentMenuitem(nextMenubarItem); + } + preventDefault = true; + } else if (key == this._keyCode.ARROW_LEFT) { + /* + -Closes submenu and moves focus to parent menu item. + -If parent menu item is in the menubar, also: + -moves focus to previous item in the menubar. + -Opens submenu of newly focused menubar item, keeping focus on that parent menubar item. + */ + let submenuParentMenuitem = menuitem.parentNode.parentNode.parentNode.querySelector( + 'a[role=menuitem]', + ); + this.closeSubmenu(submenuParentMenuitem); + submenuParentMenuitem.focus(); + this.updateCurrentMenuitem(submenuParentMenuitem); + + if (this._currentMenuitem.classList.contains('a11y-navbar-menuitem')) { + let prevMenubarIndex = + this._currentMenubarIndex - 1 < 0 + ? this._menubarMenuitems.length - 1 + : this._currentMenubarIndex - 1; + let prevMenubarItem = this._menubarMenuitems[prevMenubarIndex]; + + prevMenubarItem.focus(); + this.openSubmenu(prevMenubarItem); + this._currentMenubarIndex = prevMenubarIndex; + this.updateCurrentMenuitem(prevMenubarItem); + } + preventDefault = true; + } else if (key == this._keyCode.ARROW_DOWN) { + /* + -Moves focus to the next item in the submenu. + -If focus is on the last item, moves focus to the first item. + */ + let nextSubmenuItem = undefined; + let nextSubmenuLiElem = menuitem.parentNode.nextElementSibling; + if (nextSubmenuLiElem == null) { + nextSubmenuItem = menuitem.parentNode.parentNode.firstElementChild.querySelector( + 'a', + ); + } else { + nextSubmenuItem = nextSubmenuLiElem.querySelector('a'); + } + nextSubmenuItem.focus(); + this.updateCurrentMenuitem(nextSubmenuItem); + preventDefault = true; + } else if (key == this._keyCode.ARROW_UP) { + /* + -Moves focus to previous item in the submenu. + -If focus is on the first item, moves focus to the last item. + */ + let prevSubmenuItem = undefined; + let prevSubmenuLiElem = menuitem.parentNode.previousElementSibling; + if (prevSubmenuLiElem == null) { + prevSubmenuItem = menuitem.parentNode.parentNode.lastElementChild.querySelector( + 'a', + ); + } else { + prevSubmenuItem = prevSubmenuLiElem.querySelector('a'); + } + prevSubmenuItem.focus(); + this.updateCurrentMenuitem(prevSubmenuItem); + preventDefault = true; + } else if (key == this._keyCode.HOME) { + // Moves focus to the first item in the submenu. + let firstSubmenuItem = menuitem.parentNode.parentNode.firstElementChild.querySelector( + 'a', + ); + firstSubmenuItem.focus(); + this.updateCurrentMenuitem(firstSubmenuItem); + preventDefault = true; + } else if (key == this._keyCode.END) { + // Moves focus to the last item in the submenu. + let lastSubmenuItem = menuitem.parentNode.parentNode.lastElementChild.querySelector( + 'a', + ); + lastSubmenuItem.focus(); + this.updateCurrentMenuitem(lastSubmenuItem); + preventDefault = true; + } else { + // TODO: Consider adding optional printable character handling. + } + + if (preventDefault) { + // The following statements will stop the keys from doing stuff. + event.stopPropagation(); + event.preventDefault(); + } + } + + handleMouseoverMenuitem(event) { + if (event.defaultPrevented) { + return; + } + + let menuitem = event.target; + + if (this.hasSubmenu(menuitem)) { + this.openSubmenu(menuitem); + } + + this.closeSiblingSubmenus(menuitem); + } + + handleMouseoutMenubar(event) { + if (event.defaultPrevented) { + return; + } + + let menubar = event.target; + + this.closeAllSubmenus(); + } + + handleClickMenuitem(event) { + if (event.defaultPrevented) { + return; + } + + // Prevent click initially (to make sure click doesn't occur during touch event) + event.preventDefault(); + + let menuitem = event.target; + this.clickMenuitem(menuitem); + + // TODO: Change behavior for responsive menu...? + } + + // @see https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent#Event_firing + // @see https://w3c.github.io/touch-events/#mouse-events + handleTouchstartMenuitem(event) { + if (event.defaultPrevented) { + return; + } + } + handleTouchmoveMenuitem(event) { + if (event.defaultPrevented) { + return; + } + + // User has begun a touch scroll over the menuitem. + this._touchmoveActive = true; + } + handleTouchendMenuitem(event) { + if (event.defaultPrevented) { + return; + } + + event.preventDefault(); + + // Don't activate click if user is finishing a touch scroll. + if (this._touchmoveActive) { + this._touchmoveActive = false; + } else { + let menuitem = event.target; + this.clickMenuitem(menuitem); + } + } + + handleFocusinMenuitem(event) { + if (event.defaultPrevented) { + return; + } + + let menuitem = event.target; + this.openParentSubmenus(menuitem); + } + + handleFocusoutNavElem(event) { + if (event.defaultPrevented) { + return; + } + + let newTarget = event.relatedTarget; + + if (newTarget == null || !this._navElem.contains(newTarget)) { + this.resetNavbar(); + } + } + + handleTouchendNavElem(event) { + if (event.defaultPrevented) { + return; + } + + // Stop click event in navbar from bubbling above element. + event.stopPropagation(); + } + + handleTouchendDocument(event) { + if (event.defaultPrevented) { + return; + } + + // Only reset menu when clicking elsewhere in document if responsive menu not active. + let isResponsiveMenu = this._navElem.classList.contains( + 'a11y-navbar-responsive', + ); + if (!isResponsiveMenu) { + // Close submenus, etc. when click occurs anywhere outside of navbar. + this.resetNavbar(); + } + } + + handleClickSubmenuToggle(event) { + if (event.defaultPrevented) { + return; + } + + event.preventDefault(); + + let button = event.target; + let menuitem = button.parentNode.querySelector('a[role=menuitem]'); + let ariaExpanded = menuitem.getAttribute('aria-expanded'); + + if (ariaExpanded == 'false') { + this.openSubmenu(menuitem); + } else if (ariaExpanded == 'true') { + this.closeSubmenu(menuitem); + } + } + + // Utility functions ----------------------------------------------- + + menubarResize() { + let viewportWidth = this._options.windowObj.innerWidth; + + if (viewportWidth <= this._options.breakpointMinWidth) { + // Show menubar toggle. + this.addMenubarToggle(); + + if (this._options.responsiveSubmenuToggles) { + this.addSubmenuToggles(); + } + } else { + // Hide menubar toggle. + this.removeMenubarToggle(); + + if (this._options.responsiveSubmenuToggles) { + this.removeSubmenuToggles(); + } + } + } + + addMenubarToggle() { + if ( + this._options.domObj.getElementById( + this._menubarToggle.getAttribute('id'), + ) == null + ) { + this._navElem.parentNode.insertBefore(this._menubarToggle, this._navElem); + // Add closed class to menubar. + this._navElem.classList.add('a11y-navbar-responsive'); + this._navElem.classList.add('a11y-navbar-closed'); + this._menubarToggle.setAttribute('aria-expanded', 'false'); + } + } + + removeMenubarToggle() { + if ( + this._options.domObj.getElementById( + this._menubarToggle.getAttribute('id'), + ) + ) { + this._navElem.parentNode.removeChild(this._menubarToggle); + // Remove open/closed classes from menubar. + this._navElem.classList.remove('a11y-navbar-responsive'); + this._navElem.classList.remove('a11y-navbar-open'); + this._navElem.classList.remove('a11y-navbar-closed'); + this._menubarToggle.setAttribute('aria-expanded', 'false'); + } + } + + addSubmenuToggles() { + let menubar = this._navElem.querySelector('ul'); + let submenuToggles = menubar.querySelectorAll( + 'button.a11y-navbar-submenu-toggle', + ); + + // Only add if they aren't already there. + if (!submenuToggles.length) { + let menuitems = menubar.querySelectorAll('a[aria-haspopup=true]'); + + for (let i = 0; i < menuitems.length; i++) { + let submenuToggle = this._options.domObj.createElement('button'); + let submenu = menuitems[i].parentNode.querySelector('ul'); + let submenuId = submenu.getAttribute('id'); + + submenuToggle.classList.add('a11y-navbar-submenu-toggle'); + submenuToggle.setAttribute('id', submenuId + '-submenu-toggle'); + submenuToggle.setAttribute('tabindex', '-1'); + submenuToggle.setAttribute('aria-expanded', 'false'); + submenuToggle.setAttribute('aria-controls', submenuId); + submenuToggle.innerHTML = + '<span>Open/Close ' + menuitems[i].textContent + ' Submenu</span>'; + submenuToggle.addEventListener( + 'click', + this.handleClickSubmenuToggle.bind(this), + ); + let liElem = menuitems[i].parentNode; + liElem.insertBefore(submenuToggle, menuitems[i]); + } + } + } + + removeSubmenuToggles() { + let menubar = this._navElem.querySelector('ul'); + let submenuToggles = menubar.querySelectorAll( + 'button.a11y-navbar-submenu-toggle', + ); + + for (let i = 0; i < submenuToggles.length; i++) { + let liElem = submenuToggles[i].parentNode; + liElem.removeChild(submenuToggles[i]); + } + } + + showMenubar() { + this._navElem.classList.remove('a11y-navbar-closed'); + this._navElem.classList.add('a11y-navbar-open'); + } + + hideMenubar() { + this._navElem.classList.remove('a11y-navbar-open'); + this._navElem.classList.add('a11y-navbar-closed'); + } + + toggleInstructions() { + let instructionsVisible = this._menubarInstructions.classList.contains( + 'a11y-navbar-instructions-show', + ) + ? true + : false; + + if (instructionsVisible) { + this.hideInstructions(); + } else { + this.showInstructions(); + } + } + + showInstructions() { + this._menubarInstructions.classList.add('a11y-navbar-instructions-show'); + this._menubarInstructions.classList.remove('a11y-navbar-instructions-hide'); + } + + hideInstructions() { + this._menubarInstructions.classList.add('a11y-navbar-instructions-hide'); + this._menubarInstructions.classList.remove('a11y-navbar-instructions-show'); + } + + updateCurrentMenuitem(newMenuitem) { + this._currentMenuitem.setAttribute('tabindex', '-1'); + this._currentMenuitem = newMenuitem; + this._currentMenuitem.setAttribute('tabindex', '0'); + } + + hasSubmenu(menuitem) { + let liElem = menuitem.parentNode; + let menu = liElem.querySelector('a + ul'); + let response = menu == null ? false : true; + + return response; + } + + openSubmenu(menuitem) { + let liElem = menuitem.parentNode; + let menu = liElem.querySelector('ul'); + + // Only open submenu if it exists. + if (menu != null) { + menu.classList.remove('a11y-navbar-menu-closed'); + menu.classList.add('a11y-navbar-menu-open'); + menuitem.setAttribute('aria-expanded', 'true'); + + // If button exists, update attributes. + let button = liElem.querySelector('button.a11y-navbar-submenu-toggle'); + + if (button != null) { + button.setAttribute('aria-expanded', 'true'); + } + } + } + + openParentSubmenus(menuitem) { + // Open all submenus above and including the menuitem. + let submenu = menuitem.parentNode.parentNode; + + if (submenu.classList.contains('a11y-navbar-menu-closed')) { + let parentMenuitem = submenu.parentNode.querySelector( + 'a[aria-expanded="false"]', + ); + + if (parentMenuitem != null) { + this.openSubmenu(parentMenuitem); + this.openParentSubmenus(parentMenuitem); + } + } + } + + closeSubmenus(menuitem) { + // Close all submenus below and including the menuitem. + let submenu = menuitem.parentNode.querySelector('ul.a11y-navbar-submenu'); + + if ( + submenu != null && + submenu.classList.contains('a11y-navbar-menu-open') + ) { + let childMenuitems = submenu.querySelectorAll('a[aria-expanded="true"]'); + + for (let i = 0; i < childMenuitems.length; i++) { + this.closeSubmenu(childMenuitems[i]); + } + + // Close menuitem itself. + this.closeSubmenu(menuitem); + } + } + + closeSubmenu(menuitem) { + // Close a single submenu. + let liElem = menuitem.parentNode; + let menu = liElem.querySelector('ul'); + + // Only close submenu if it exists. + if (menu != null) { + menu.classList.remove('a11y-navbar-menu-open'); + menu.classList.add('a11y-navbar-menu-closed'); + menuitem.setAttribute('aria-expanded', 'false'); + + // If button exists, update attributes. + let button = liElem.querySelector('button.a11y-navbar-submenu-toggle'); + + if (button != null) { + button.setAttribute('aria-expanded', 'false'); + } + } + } + + closeSiblingSubmenus(menuitem) { + // Close all submenus in current submenu except under current menuitem. + let siblingMenuitems = this.getSiblingMenuitems(menuitem); + + for (let i = 0; i < siblingMenuitems.length; i++) { + // Close sibling menuitem and any open child submenus in sibling. + this.closeSubmenus(siblingMenuitems[i]); + } + } + + closeAllSubmenus() { + // Closes all currently open submenus. + let openSubmenus = this._navElem.querySelectorAll( + 'ul.a11y-navbar-menu-open', + ); + + for (let i = 0; i < openSubmenus.length; i++) { + let aElem = openSubmenus[i].parentNode.querySelector('a'); + aElem.setAttribute('aria-expanded', 'false'); + openSubmenus[i].classList.remove('a11y-navbar-menu-open'); + openSubmenus[i].classList.add('a11y-navbar-menu-closed'); + + // If buttons exist, update attributes. + let button = openSubmenus[i].parentNode.querySelector( + 'button.a11y-navbar-submenu-toggle', + ); + if (button != null) { + button.setAttribute('aria-expanded', 'false'); + } + } + } + + performClick(menuitem) { + let href = menuitem.getAttribute('href'); + + window.location = href; + } + + clickMenuitem(menuitem) { + let hasAriaExpanded = menuitem.hasAttribute('aria-expanded'); + + if (hasAriaExpanded) { + let ariaExpanded = menuitem.getAttribute('aria-expanded'); + + if (ariaExpanded == 'true') { + // Only perform click if submenu is already open. + this.performClick(menuitem); + } else { + // If not in responsive menu, close other open submenus. + let isResponsiveMenu = this._navElem.classList.contains( + 'a11y-navbar-responsive', + ); + if (!isResponsiveMenu) { + // Close sibling submenus. + this.closeSiblingSubmenus(menuitem); + } + + // Open the submenu. + this.openSubmenu(menuitem); + } + } else { + // Just perform click (menuitem does not have submenu). + this.performClick(menuitem); + } + } + + resetNavbar() { + this.updateCurrentMenuitem(this._menubarMenuitems[0]); + this._currentMenubarIndex = 0; + this.closeAllSubmenus(); + } + + getSiblingMenuitems(menuitem) { + // Get immediate siblings of menuitem. + let menu = menuitem.parentNode.parentNode; + let liElems = menu.children; + let siblingMenuitems = []; + + // Siblings are every child of menu that isn't the given menuitem. + for (let i = 0; i < liElems.length; i++) { + let childMenuitem = liElems[i].querySelector('a[role=menuitem]'); + if (childMenuitem != menuitem) { + siblingMenuitems.push(childMenuitem); + } + } + + return siblingMenuitems; + } + + normalizeKey(key) { + let normalizedKey = null; + + switch (key) { + case 'Tab': + case 9: + normalizedKey = this._keyCode.TAB; + break; + + case 'Enter': + case 13: + normalizedKey = this._keyCode.ENTER; + break; + + case 'Escape': + case 'Esc': + case 13: + normalizedKey = this._keyCode.ESC; + break; + + case 'Spacebar': + case ' ': + case 32: + normalizedKey = this._keyCode.SPACE; + break; + + case 'End': + case 35: + normalizedKey = this._keyCode.END; + break; + + case 'Home': + case 36: + normalizedKey = this._keyCode.HOME; + break; + + case 'Left': + case 'ArrowLeft': + case 37: + normalizedKey = this._keyCode.ARROW_LEFT; + break; + + case 'Up': + case 'ArrowUp': + case 38: + normalizedKey = this._keyCode.ARROW_UP; + break; + + case 'Right': + case 'ArrowRight': + case 39: + normalizedKey = this._keyCode.ARROW_RIGHT; + break; + + case 'Down': + case 'ArrowDown': + case 40: + normalizedKey = this._keyCode.ARROW_DOWN; + break; + } + + return normalizedKey; + } +} diff --git a/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/main-menu.js b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/main-menu.js new file mode 100644 index 0000000000000000000000000000000000000000..dfce654fac0e225aaa9e479767a03b98b8ed76db --- /dev/null +++ b/libraries/it-osu-pl-drupal/js/patterns/02-molecules/menus/main-menu/main-menu.js @@ -0,0 +1,9 @@ +window.addEventListener('load', function(event) { + var options = { + ariaLabel: 'Main Navigation', + breakpointMinWidth: 640, + mode: 'dualAction', + responsiveSubmenuToggles: true, + }; + var mainMenu = new a11yNavbar('main-nav', options); +}); diff --git a/libraries/it-osu-pl-drupal/style.scss b/libraries/it-osu-pl-drupal/style.scss new file mode 100644 index 0000000000000000000000000000000000000000..93f673e23b583f209a8c29456ad22c4a29d9161c --- /dev/null +++ b/libraries/it-osu-pl-drupal/style.scss @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +// Include Foundation +@import 'settings'; +@import '../../node_modules/foundation-sites/scss/foundation'; +@include foundation-everything; + +@import '00-base/**/*.scss'; +@import '01-atoms/**/*.scss'; +@import '02-molecules/**/*.scss'; +@import '03-organisms/**/*.scss'; diff --git a/sass/_hacks.scss b/sass/_hacks.scss index 9eb2128388c9f33e6a26f55cb39ee182d6879e42..0e73d833cf2e34dab8df2ff3e19d26be7b1d9b91 100644 --- a/sass/_hacks.scss +++ b/sass/_hacks.scss @@ -1,3 +1,3 @@ // Used to store temporary styles. // These styles should be ported back to it-osu-pl or worked into their own partials. -// These styles will load last. \ No newline at end of file +// These styles will load last.