@charset "UTF-8";
/**
 * 
 * FILE: Main CSS
 * 
 * AUTHOR: JCR (http://www.archi-texts.net)
 * DATE: 2016
 * VERSION 1.0
 * 
 */
/**
 * SETTINGS
 * Config...............Project-level config.
 * Global...............Project-specific, globally available settings.
 *
 * TOOLS
 * Mixins...............Global mixins.
 *
 * GENERIC
 * Normalize.css........Normalise browser defaults …
 * Reset................… and zero them out.
 * Box-sizing...........More manageable box-model.
 * Shared...............Consistent vertical rhythm and left-indent for lists.
 *
 * BASE
 * Headings.............H1–H6
 * Images...............Element-level (responsive) image styling.
 * Lists................Element-level list styling.
 * Page............... .Page-level styling (HTML element).
 *
 * OBJECTS
 * Layout...............Simple Layout abstraction tool.
 * List-bare............‘Unstyled’ lists: bullets and indent removed.
 * List-pair............Simple key–value pair list.
 * Pack.................Force elements to pack up into all available space.
 *
 * COMPONENTS
 * Forms................Component-level form styling.
 * Buttons..............Element-agnostic button styles.
 * Comments.............Comment styles.
 * Messaging............User feedback messaging.
 *
 * UTILITIES
 * Typography...........Utilities for manipulating text.
 * Display..............Helper classes for showing or hiding content.
 * Widths...............Width helper classes for use with our Layout system.
 *
 */
/**
 * TOOLS – Functions
 */
/**
 * SETTINGS
 */
/*!
 * inuitcss, by @csswizardry
 *
 * github.com/inuitcss | inuitcss.com
 */
/*------------------------------------*\
    # SITE SETTINGS
\*------------------------------------*/
/* fonts */
/* temporary alias names – remove */
/* page title vertical line stacking */
/* colours */
/**
 * TOOLS – Mixins
 */
/*------------------------------------*\
    $ZERO LAST
\*------------------------------------*/
/**
 * Removes margin-bottom from the last child
 * element.
 * 
   `@include zero-last();`
 * 
 */
/**
 * GENERIC
 */
/*------------------------------------*\
    # NORMALIZE – v4.0.0
\*------------------------------------*/
/**
 * by Nicolas Gallagher | MIT license
 * github.com/necolas/normalize.css
 *
 */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 * 2. Show the overflow in Edge, Firefox, and IE.
 */
button,
input,
select {
  /* 2 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * Correct the odd appearance of search inputs in Chrome and Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; }

/**
 * Remove the inner padding and cancel buttons in Chrome on OS X and
 * Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/*------------------------------------*\
    # RESET
\*------------------------------------*/
/**
 * As well as using normalize.css, it is often advantageous to remove all
 * margins from certain elements.
 */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
figure,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0; }

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title],
dfn[title] {
  cursor: help; }

/**
 * Remove underlines from potentially troublesome elements.
 */
u,
ins {
  text-decoration: none; }

/**
 * Apply faux underlines to inserted text via `border-bottom`.
 */
ins {
  border-bottom: 1px solid; }

/*------------------------------------*\
    # BOX-SIZING
\*------------------------------------*/
/**
 * Set the global `box-sizing` state to `border-box`.
 *
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 * paulirish.com/2012/box-sizing-border-box-ftw
 */
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit; }

/*------------------------------------*\
    # SHARED
\*------------------------------------*/
/**
 * Where `margin-bottom` is concerned, this value will be the same as the
 * base line-height. This allows us to keep a consistent vertical rhythm.
 * As per: csswizardry.com/2012/06/single-direction-margin-declarations
 */
h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
hr,
table,
fieldset, figure,
pre {
  margin-bottom: 24px;
  margin-bottom: 1.5rem; }

/**
 * Where `margin-left` is concerned we want to try and indent certain elements
 * by a consistent amount. Define that amount once, here.
 */
ul, ol, dd {
  margin-left: 48px;
  margin-left: 3rem; }

/**
 * BASE
 */
/*------------------------------------*\
    # HEADINGS
\*------------------------------------*/
h1 {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.3333333333; }

h2 {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6; }

h3 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1; }

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2; }

h5 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

h6 {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7142857143; }

/*------------------------------------*\
    # IMAGES
\*------------------------------------*/
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */ }

/**
 * 1. Google Maps breaks if `max-width: 100%` acts upon it; use their selector
 *    to remove the effects.
 * 2. If a `width` and/or `height` attribute have been explicitly defined, let’s
 *    not make the image fluid.
 */
.gm-style img,
img[width],
img[height] {
  /* [2] */
  max-width: none; }

/*------------------------------------*\
    # ICONS WEBFONT
\*------------------------------------*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "bagsoz-icons";
  font-weight: normal;
  font-style: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

/* names and values from fontello font kit */
.icon-info-circle:before {
  content: '\e800'; }

/* '' */
.icon-download:before {
  content: '\e801'; }

/* '' */
.icon-camera:before {
  content: '\e802'; }

/* '' */
.icon-user:before {
  content: '\e803'; }

/* '' */
.icon-calendar-empty:before {
  content: '\e804'; }

/* '' */
.icon-tag:before {
  content: '\e805'; }

/* '' */
.icon-bookmark:before {
  content: '\e806'; }

/* '' */
.icon-comment:before {
  content: '\e807'; }

/* '' */
.icon-mail:before {
  content: '\e808'; }

/* '' */
.icon-mail-line:before {
  content: '\e809'; }

/* '' */
.icon-info:before {
  content: '\e80a'; }

/* '' */
.icon-down-open:before {
  content: '\e80b'; }

/* '' */
.icon-left-open:before {
  content: '\e80c'; }

/* '' */
.icon-right-open:before {
  content: '\e80d'; }

/* '' */
.icon-up-open:before {
  content: '\e80e'; }

/* '' */
.icon-down:before {
  content: '\e80f'; }

/* '' */
.icon-left:before {
  content: '\e810'; }

/* '' */
.icon-right:before {
  content: '\e811'; }

/* '' */
.icon-up:before {
  content: '\e812'; }

/* '' */
.icon-circle-dot:before {
  content: '\e813'; }

/* '' */
.icon-phone:before {
  content: '\e814'; }

/* '' */
.icon-circle-empty:before {
  content: '\e815'; }

/* '' */
.icon-cancel:before {
  content: '\e816'; }

/* '' */
.icon-ok:before {
  content: '\e817'; }

/* '' */
.icon-facebook-circle:before {
  content: '\e818'; }

/* '' */
.icon-cog:before {
  content: '\e819'; }

/* '' */
.icon-doc:before {
  content: '\e81a'; }

/* '' */
.icon-docs:before {
  content: '\e81b'; }

/* '' */
.icon-menu:before {
  content: '\e81c'; }

/* '' */
.icon-search:before {
  content: '\e81d'; }

/* '' */
.icon-picture:before {
  content: '\e81e'; }

/* '' */
.icon-twitter-circle:before {
  content: '\e81f'; }

/* '' */
.icon-cw:before {
  content: '\e820'; }

/* '' */
.icon-rss-square:before {
  content: '\e821'; }

/* '' */
.icon-right-circle:before {
  content: '\e822'; }

/* '' */
.icon-left-circle:before {
  content: '\e823'; }

/* '' */
.icon-up-circle:before {
  content: '\e824'; }

/* '' */
.icon-down-circle:before {
  content: '\e825'; }

/* '' */
.icon-attention-circle:before {
  content: '\e826'; }

/* '' */
.icon-circle-solid:before {
  content: '\e828'; }

/* '' */
.icon-spin5:before {
  content: '\e829'; }

/* '' */
.icon-export:before {
  content: '\e82a'; }

/* '' */
.icon-twitter:before {
  content: '\e82b'; }

/* '' */
.icon-resize-full-circle:before {
  content: '\e82c'; }

/* '' */
.icon-facebook-square:before {
  content: '\e82d'; }

/* '' */
.icon-facebook:before {
  content: '\e82e'; }

/* '' */
.icon-twitter-square:before {
  content: '\e82f'; }

/* '' */
.icon-mail-square:before {
  content: '\e830'; }

/* '' */
.icon-resize-full:before {
  content: '\e831'; }

/* '' */
.icon-plus:before {
  content: '\e832'; }

/* '' */
.icon-plus-square:before {
  content: '\e833'; }

/* '' */
.icon-resize-small:before {
  content: '\e834'; }

/* '' */
.icon-minus:before {
  content: '\e835'; }

/* '' */
.icon-minus-square:before {
  content: '\e836'; }

/* '' */
.icon-ok-circle:before {
  content: '\e837'; }

/* '' */
.icon-cancel-circle:before {
  content: '\e838'; }

/* '' */
.icon-plus-circle:before {
  content: '\e839'; }

/* '' */
.icon-minus-circle:before {
  content: '\e83a'; }

/* '' */
.icon-play-circle:before {
  content: '\e83b'; }

/* '' */
.icon-calendar-full:before {
  content: '\e83c'; }

/* '' */
.icon-rss:before {
  content: '\e83d'; }

/* '' */
.icon-share-square:before {
  content: '\e83e'; }

/* '' */
.icon-share:before {
  content: '\e83f'; }

/* '' */
.icon-zoom-out:before {
  content: '\e840'; }

/* '' */
.icon-zoom-in:before {
  content: '\e841'; }

/* '' */
.icon-up-small:before {
  content: '\e842'; }

/* '' */
.icon-right-small:before {
  content: '\e843'; }

/* '' */
.icon-left-small:before {
  content: '\e844'; }

/* '' */
.icon-down-small:before {
  content: '\e845'; }

/* '' */
.icon-record-outline:before {
  content: '\e846'; }

/* '' */
.icon-record:before {
  content: '\e847'; }

/* '' */
.icon-file-ppt:before {
  content: '\e848'; }

/* '' */
.icon-file-image:before {
  content: '\e849'; }

/* '' */
.icon-file-video:before {
  content: '\e84a'; }

/* '' */
.icon-file-xls:before {
  content: '\e84b'; }

/* '' */
.icon-file-doc:before {
  content: '\e84c'; }

/* '' */
.icon-file-pdf:before {
  content: '\e84d'; }

/* '' */
.icon-file-text-solid:before {
  content: '\e84e'; }

/* '' */
.icon-file-solid:before {
  content: '\e84f'; }

/* '' */
.icon-file-text:before {
  content: '\e850'; }

/* '' */
.icon-file:before {
  content: '\e851'; }

/* '' */
/**
 * CSS Spinner animation: rotate icon about axis
 * Add class 'animate-spin'
 *
 * Usage:
 * <i class="demo-icon icon-cog animate-spin"></i>
 */
.animate-spin {
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block; }

@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
/*------------------------------------*\
    # LISTS
\*------------------------------------*/
/**
 * Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0; }

/*------------------------------------*\
    # PAGE
\*------------------------------------*/
/**
 * High-, page-level styling.
 *
 * 1. Set the default `font-size` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 3. Ensure the page always fills at least the entire height of the viewport.
 * 4. Prevent certain mobile browsers from automatically zooming fonts.
 * 5. Fonts on OSX will look more consistent with other systems that do not
 *    render text using sub-pixel anti-aliasing.
 */
html {
  font-size: 1em;
  /* [1] */
  line-height: 1.5;
  /* [1] */
  background-color: #FFFFFF;
  color: #333;
  overflow-y: scroll;
  /* [2] */
  min-height: 100%;
  /* [3] */
  -webkit-text-size-adjust: 100%;
  /* [4] */
  -ms-text-size-adjust: 100%;
  /* [4] */
  -moz-osx-font-smoothing: grayscale;
  /* [5] */
  -webkit-font-smoothing: antialiased;
  /* [5] */ }

/*------------------------------------*\
    # LOAD ICON FONT
\*------------------------------------*/
@font-face {
  font-family: "bagsoz-icons";
  src: url("/assets/fonts/bagsoz-icons.eot");
  src: url("/assets/fonts/bagsoz-icons.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/bagsoz-icons.woff2") format("woff2"), url("/assets/fonts/bagsoz-icons.woff") format("woff"), url("/assets/fonts/bagsoz-icons.ttf") format("truetype"), url("/assets/fonts/bagsoz-icons.svg#bagsoz-icons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-stretch: normal; }
/**
 * OBJECTS
 */
/*------------------------------------*\
    # BLOCK
\*------------------------------------*/
/**
 * The block object simply stacks an image on top of some text-like content.
 */
/**
 * Stacked image-with-text object. A simple abstraction to cover a very commonly
 * occurring design pattern.
 */
.o-block {
  display: block; }

/**
 * 1. Eliminate whitespace around images.
 */
.o-block__img {
  vertical-align: middle;
  /* [1] */
  margin-bottom: 24px; }

/**
 * Text-content.
 */
.o-block__body {
  display: block; }

/*------------------------------------*\
    #BOX
\*------------------------------------*/
/**
 * The box object simply boxes off content.
 */
/**
 * 1. So we can apply the `.box` class to naturally-inline elements.
 */
.o-box {
  display: block;
  /* [1] */
  padding: 24px; }
  .o-box > :last-child {
    margin-bottom: 0; }

/*------------------------------------*\
    # BUTTONS
\*------------------------------------*/
/**
 * A simple button object.
 */
/**
 * 1. Allow us to style box model properties.
 * 2. Line different sized buttons up a little nicer.
 * 3. Make buttons inherit font styles (often necessary when styling `input`s as
 *    buttons).
 * 4. Reset/normalize some styles.
 * 5. Force all button-styled elements to appear clickable.
 * 6. Fixes odd inner spacing in IE7.
 * 7. Subtract the border size from the padding value so that buttons do not
 *    grow larger as we add borders.
 */
.o-btn {
  display: inline-block;
  /* [1] */
  vertical-align: middle;
  /* [2] */
  font: inherit;
  /* [3] */
  text-align: center;
  /* [4] */
  margin: 0;
  /* [4] */
  cursor: pointer;
  /* [5] */
  overflow: visible;
  /* [6] */
  padding: 11px 23px;
  /* [7] */
  background-color: transparent;
  border: 1px solid transparent; }
  .o-btn, .o-btn:hover, .o-btn:active, .o-btn:focus {
    text-decoration: none;
    /* [4] */
    color: #4a8ec2; }

/**
 * Fix a Firefox bug whereby `input type="submit"` gains 2px extra padding.
 */
.o-btn::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*------------------------------------*\
    # FLAG
\*------------------------------------*/
/**
 * The flag object is a design pattern similar to the media object, however it
 * utilises `display: table[-cell];` to give us control over the vertical
 * alignments of the text and image. csswizardry.com/2013/05/the-flag-object
 */
/**
 * 1. Allows us to control vertical alignments
 * 2. Force the object to be the full width of its parent. Combined with [1],
 *    this makes the object behave in a quasi-`display: block;` manner.
 */
.o-flag {
  display: table;
  /* [1] */
  width: 100%;
  /* [2] */ }

/**
 * Items within a flag object. There should only ever be one of each.
 *
 * 1. Default to aligning content to their middles.
 */
.o-flag__img,
.o-flag__body {
  display: table-cell;
  vertical-align: middle;
  /* [1] */ }

/**
 * Flag images have a space between them and the body of the object.
 */
.o-flag__img {
  padding-right: 24px; }
  .o-flag__img > img {
    display: block;
    max-width: none; }

/**
 * The container for the main content of the flag object.
 *
 * 1. Forces the `.flag__body` to take up all remaining space.
 */
.o-flag__body {
  width: 100%;
  /* [1] */ }
  .o-flag__body,
  .o-flag__body > :last-child {
    margin-bottom: 0; }

/**
 * Large flags.
 */
.o-flag--large > .o-flag__img, .logo-list li > .o-flag__img {
  padding-right: 48px; }

/**
 * Vertically top aligned flag objects.
 */
.o-flag--top > .o-flag__img,
.o-flag--top > .o-flag__body {
  vertical-align: top; }

/**
 * Responsive flag objects.
 *
 * There is a very pragmatic, simple implementation of a responsive flag
 * object, which simply places the text-content beneath the image-content.
 *
 * We use a `max-width` media query because:
 *
 * a) it is the least verbose method in terms of amount of code required.
 * b) the flag object’s default state is image-next-to-text, so its stacked
 *    state is the exception, rather than the rule.
 */
@media screen and (max-width: 720px) {
  .o-flag--responsive {
    /**
     * Rework the spacings on regular flag objects.
     */
    /**
     * Large responsive flags.
     *
     * Take a little more heavy-handed approach to reworking
     * spacings on flags that are also large flags in their regular
     * state.
     */ }
    .o-flag--responsive,
    .o-flag--responsive > .o-flag__img,
    .o-flag--responsive > .o-flag__body {
      display: block; }
    .o-flag--responsive > .o-flag__img {
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 24px; }
    .o-flag--responsive.o-flag--large > .o-flag__img, .logo-list li.o-flag--responsive > .o-flag__img {
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 48px; } }
/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/**
 * The aleutcss layout system uses `box-sizing: border-box;` and
 * `display: inline-block;` to create an extremely powerful, flexible
 * alternative to the traditional grid system. Combine the layout items with
 * the widths found in `utilities.widths`.
 */
/**
 * Begin a layout group.
 */
.o-layout,
.row {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: -24px; }

/**
 * 1. Cause columns to stack side-by-side.
 * 2. Space columns apart.
 * 3. Align columns to the tops of each other.
 * 4. Full-width unless told to behave otherwise.
 * 5. Required to combine fluid widths and fixed gutters.
 */
.o-layout__item,
.col {
  display: inline-block;
  /* [1] */
  padding-left: 24px;
  /* [2] */
  vertical-align: top;
  /* [3] */
  width: 100%;
  /* [4] */
  -webkit-box-sizing: border-box;
  /* [5] */
  -moz-box-sizing: border-box;
  /* [5] */
  box-sizing: border-box;
  /* [5] */ }

/**
 * Layouts with small gutters.
 */
.o-layout--small {
  margin-left: -12px; }
  .o-layout--small > .o-layout__item,
  .o-layout--small > .col {
    padding-left: 12px; }

/**
 * Layouts with large gutters.
 */
.o-layout--large {
  margin-left: -48px; }
  .o-layout--large > .o-layout__item,
  .o-layout--large > .col {
    padding-left: 48px; }

/*------------------------------------*\
    #LIST-BARE
\*------------------------------------*/
/**
 * The list-bare object simply removes any indents and bullet points from lists.
 */
.site-nav .nav-list__sub, .meldungen,
.o-list-bare {
  margin: 0;
  padding: 0;
  list-style: none; }

/*------------------------------------*\
    #LIST-BLOCK
\*------------------------------------*/
/**
 * The list-block object creates blocky list items out of a `ul` or `ol`.
 */
.o-list-block {
  margin: 0;
  padding: 0;
  list-style: none; }
  .o-list-block > li {
    padding: 24px; }

.o-list-block__item {
  padding: 24px; }

/*------------------------------------*\
    #LIST-INLINE
\*------------------------------------*/
/**
 * The list-inline object simply displays a list of items in one line.
 */
.o-list-inline,
.site-nav .nav-list,
.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .o-list-inline > li,
  .site-nav .nav-list > li,
  .site-footer ul > li {
    display: inline-block; }

/*------------------------------------*\
    #LIST-PAIR
\*------------------------------------*/
/**
 * Key-value pair list, usually applied to DL/DT/DD.
 */
.o-list-pair {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove indent from DD elements.
 */
.o-list-pair__val {
  margin-left: 0;
  /* [1] */
  margin-bottom: 10px; }

/*------------------------------------*\
    #LIST-UI
\*------------------------------------*/
/**
 * The UI list object creates blocky list items with a keyline separator out of
 * a `ul` or `ol`, e.g.:
 *
   <ul class="o-list-ui o-list-ui--small">
       <li class="o-list-ui__item">Foo</li>
       <li class="o-list-ui__item">Bar</li>
       <li class="o-list-ui__item">Baz</li>
   </ul>
 *
 * Extend this object in your components.
 */
.o-list-ui,
.o-list-ui__item {
  border: 0 solid #ccc; }

.o-list-ui {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top-width: 1px; }
  .o-list-ui > li {
    border: 0 solid #ccc; }

.o-list-ui__item {
  padding: 24px;
  border-bottom-width: 1px; }

/*------------------------------------*\
    #MEDIA
\*------------------------------------*/
/**
 * Place any image- and text-like content side-by-side, as per:
 * stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 */
.o-media {
  display: block; }

.o-media__img {
  float: left;
  margin-right: 24px; }
  .o-media__img > img {
    display: block; }

.o-media__body {
  overflow: hidden;
  display: block; }
  .o-media__body,
  .o-media__body > :last-child {
    margin-bottom: 0; }

/**
 * Flush media objects have no space between the image- and text-content.
 */
.o-media--flush > .o-media__img {
  margin-right: 0;
  margin-left: 0; }

/*------------------------------------*\
    #PACK
\*------------------------------------*/
/**
 * The pack object simply causes any number of elements pack up horizontally to
 * automatically fill an equal, fluid width of their parent.
 */
/**
 * 1. Fill all available space.
 * 2. Cause children to be automatically equally sized.
 */
.o-pack {
  width: 100%;
  /* [1] */
  display: table;
  table-layout: fixed;
  /* [2] */ }

/**
 * Cause children to adopt table-like structure.
 */
.o-pack__item {
  display: table-cell; }

/*------------------------------------*\
    #TABLES
\*------------------------------------*/
/**
 *  Some useful helpers for common table patterns e.g.:
 *
	<table class="o-table o-table--fixed o-table--cells">
	<thead>
		<tr>
			<th>Foo</th>
			<th>Bar</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>Foo</td>
			<td>Bar</td>
		</tr>
	</table>
 *
 * Extend this object in your components.
 */
.o-table {
  width: 100%; }

/*------------------------------------*\
    #TABS
\*------------------------------------*/
/**
 * A simple abstraction for making equal-width navigation tabs.
 */
/**
 * 1. Reset any residual styles (most likely from lists).
 * 2. Tables for layout!
 * 3. Force all `table-cell` children to have equal widths.
 * 4. Force the object to be the full width of its parent. Combined with [2],
 *    this makes the object behave in a quasi-`display: block;` manner.
 */
.o-tabs {
  margin: 0;
  /* [1] */
  padding: 0;
  /* [1] */
  list-style: none;
  /* [1] */
  display: table;
  /* [2] */
  table-layout: fixed;
  /* [3] */
  width: 100%;
  /* [4] */
  text-align: center; }

.o-tabs__item {
  display: table-cell;
  /* [2] */ }

.o-tabs__link {
  display: block; }

/**
 * COMPONENTS
 */
/*------------------------------------*\
    # PAGE LAYOUT
\*------------------------------------*/
/* web font loading – avoid FOUT */
.wf-loading {
  opacity: 0; }

.wf-active, .wf-inactive {
  opacity: 1;
  transition: opacity .2s ease-out; }

.container {
  width: auto;
  margin: 48px 48px 0 48px; }
  @media screen and (max-width: 44.9375em) {
    .container {
      margin: 24px 24px 0 24px; } }
  @media screen and (max-width: 30em) {
    .container {
      margin: 18px 18px 0 18px; } }

.wrapper {
  /*margin-top: -3em;*/ }

.main,
.inner {
  display: inline; }

/*------------------------------------*\
    # SITE HEADER
\*------------------------------------*/
.site-header a {
  text-decoration: none;
  color: #333; }
.site-header h1 {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  line-height: 0.9;
  letter-spacing: 0.2px;
  padding: 0;
  margin: 0; }
  .site-header h1 strong {
    font-size: 25px;
    font-size: 1.5625rem;
    line-height: 27px;
    font-weight: normal;
    color: #888;
    display: block; }
.site-header h2 {
  font-family: sofia-pro, "sofia pro", helvetica, arial, sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: normal;
  padding: 0;
  margin: 0; }

.page-header .rubrik-title {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  color: #7aaf38;
  font-weight: normal;
  text-transform: uppercase; }
.page-header .separator {
  font-size: 16px;
  vertical-align: 4px;
  margin-right: -4px; }

/*------------------------------------*\
    # NAV
\*------------------------------------*/
.site-nav {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 1.4em;
  color: #333;
  padding: 0;
  margin: 1.5em 0; }
  .site-nav .nav-list {
    border-top: 2px solid #7aaf38;
    border-bottom: 2px solid #7aaf38; }
    .site-nav .nav-list li {
      text-transform: uppercase; }
    .site-nav .nav-list a {
      color: #777;
      text-decoration: none;
      padding: 0 0.25em;
      line-height: 1.6;
      display: inline-block;
      padding-top: 2px; }
      .site-nav .nav-list a:hover {
        color: #7aaf38; }
  .site-nav .nav-list__sub li {
    margin-top: 0;
    font-weight: normal;
    text-transform: none; }
  .site-nav .nav-list__sub a {
    color: #777; }
    .site-nav .nav-list__sub a:hover {
      color: #7aaf38; }
  .site-nav .nav-list li.active a {
    color: #7aaf38; }
    .site-nav .nav-list li.active a li {
      font-weight: normal; }

/* page nav */
.page-nav {
  margin: 0 0 24px 48px;
  padding: 24px;
  color: #333;
  background-color: #eeeeee; }
  @media screen and (max-width: 63.9375em) {
    .page-nav {
      margin-left: 0;
      margin-bottom: 0; } }
  .page-nav h4 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-bottom: 12px;
    border-bottom: 2px solid #7aaf38;
    padding-bottom: 12px; }
  .page-nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0; }
    .page-nav ul li a {
      color: #333;
      text-decoration: none;
      padding: 4px 8px;
      display: inline-block;
      padding-left: 0.85em; }
      .page-nav ul li a:hover {
        color: #7aaf38; }
      .page-nav ul li a:before {
        content: "\e80d";
        font-family: "bagsoz-icons";
        font-weight: normal;
        font-style: normal;
        font-size: 10px;
        vertical-align: 1px;
        margin-left: -1.25em;
        width: 1.25em;
        display: inline-block; }
    .page-nav ul li.active a, .page-nav ul li.active a:before {
      color: #7aaf38; }

/* prev / next paginator */
.paginator {
  margin-top: 4rem; }
  .paginator a {
    padding: 6px;
    background-color: #eeeeee;
    color: #333;
    margin-left: 24px;
    text-decoration: none;
    font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
    font-weight: normal;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px; }
    .paginator a:hover {
      background-color: #7aaf38;
      color: #fff; }
    .paginator a:first-child {
      margin-left: 0; }
    .paginator a[rel="prev"] {
      padding-right: 12px; }
    .paginator a[rel="next"] {
      padding-left: 12px; }
    .paginator a .icon-right,
    .paginator a .icon-left {
      font-size: 13px;
      font-size: 0.8125rem;
      line-height: 1;
      vertical-align: 1px;
      padding: 0 2px; }

/*------------------------------------*\
    # SITE FOOTER
\*------------------------------------*/
.site-footer {
  border-top: 2px solid #7aaf38;
  margin-top: 2em;
  font-size: 15px;
  font-size: 0.9375rem; }
  .site-footer ul {
    padding: 18px 0; }
    .site-footer ul li {
      padding-right: 18px; }
      @media screen and (max-width: 30em) {
        .site-footer ul li {
          display: inline; } }
      .site-footer ul li a {
        color: #333;
        text-decoration: none; }
        .site-footer ul li a:before {
          content: "› ";
          color: #7aaf38;
          font-weight: bold; }
        .site-footer ul li a:hover {
          color: #7aaf38; }
    .site-footer ul .impressum {
      padding: 0; }
      .site-footer ul .impressum a {
        padding: 18px;
        margin-top: -18px;
        margin-left: -18px; }

/*------------------------------------*\
    # TYPOGRAPHY
\*------------------------------------*/
html {
  font-family: sofia-pro, "sofia pro", helvetica, arial, sans-serif; }

/* page title stack upwards from bottom by num of lines */
.page-title {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.3;
  white-space: nowrap;
  /* enforce wbr (## placeholder) wrapping for long titles */
  margin-top: 120px;
  padding-bottom: 0;
  margin-bottom: 0; }

.section-title {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: .25px;
  margin-top: 2em;
  color: #7aaf38;
  border-bottom: 2px solid #7aaf38;
  padding-bottom: 4px;
  margin-bottom: 24px; }

aside .section-title:first-child {
  margin-top: 0;
  margin-bottom: 12px; }

.body-text {
  -ms-word-break: break-all;
  word-break: normal;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }
  .body-text h1:first-child {
    margin-top: -0.333333333em; }
  .body-text a {
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #7aaf38; }
    .body-text a:hover {
      color: #7aaf38; }

/* figure captions */
figcaption,
.bildunterschrift {
  color: #777;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.33333;
  margin: 12px 0; }

/* individual article formatting */
.satzung h3 {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 2.5rem; }
.satzung ol > li {
  margin-bottom: 24px; }
  .satzung ol > li ul, .satzung ol > li ol {
    margin-left: 1.25rem; }
    .satzung ol > li ul li, .satzung ol > li ol li {
      margin-bottom: 0; }
.satzung ol > li:last-child {
  margin-bottom: 0; }
.satzung .alpha {
  list-style-type: lower-alpha; }
.satzung .indent {
  margin-left: 48px;
  margin-left: 3rem; }

.vorstand li em:before {
  content: "—";
  margin-right: 0.3em; }

/*------------------------------------*\
    # HOMEPAGE COMPONENTS
\*------------------------------------*/
.home-page .main {
  margin-bottom: 76px;
  display: block; }

.intro-blurb {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: normal;
  margin-bottom: 48px; }

.c-hero-slider .c-hero__slide-item {
  position: relative; }
  .c-hero-slider .c-hero__slide-item img {
    width: 100%;
    height: auto; }
.c-hero-slider .c-hero__slide-panel {
  position: absolute;
  background: rgba(255, 255, 255, 0.85);
  bottom: 24px;
  left: 24px;
  padding: 18px;
  width: 60%; }
  .c-hero-slider .c-hero__slide-panel.right {
    left: auto;
    right: 24px; }
  .c-hero-slider .c-hero__slide-panel.top {
    top: 24px;
    bottom: auto; }
  .c-hero-slider .c-hero__slide-panel:hover {
    background: rgba(255, 255, 255, 0.92); }
  .c-hero-slider .c-hero__slide-panel a {
    text-decoration: none; }
  .c-hero-slider .c-hero__slide-panel h2 {
    font-family: sofia-pro, "sofia pro", helvetica, arial, sans-serif;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.4;
    color: #333;
    margin-bottom: 0.5em; }
  .c-hero-slider .c-hero__slide-panel h3 {
    font-family: sofia-pro, "sofia pro", helvetica, arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    color: #737373;
    margin: 0 0 0.5em 0;
    font-weight: normal; }
  .c-hero-slider .c-hero__slide-panel p {
    font-family: sofia-pro, "sofia pro", helvetica, arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    color: #282828;
    margin-bottom: 0; }

.updates {
  margin-top: 48px;
  padding: 24px;
  background: #F1F3F3; }
  .updates h4 {
    font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
    line-height: 1em;
    margin: 0;
    padding: 0; }

.topics-wrapper {
  margin-top: 48px; }

.section-heading {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  padding: 0 0 12px 0;
  border-bottom: 1px solid #777; }

.content section:last-child {
  margin-bottom: 3em; }

.feature-teaser {
  margin-top: 36px; }
  .feature-teaser a {
    text-decoration: none; }
  .feature-teaser .o-flag__img img {
    max-width: 160px;
    height: auto; }
    @media screen and (max-width: 63.9375em) {
      .feature-teaser .o-flag__img img {
        max-width: 20vw; } }
  .feature-teaser .o-flag__img,
  .feature-teaser .o-flag__body {
    vertical-align: top; }
  .feature-teaser .o-flag__body .rubrik {
    font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1em;
    margin: -1px 0 1em 0;
    padding: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #4990C0; }
  .feature-teaser .o-flag__body h2 {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.2;
    margin-bottom: 6px;
    color: #333; }
  .feature-teaser .o-flag__body p {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    color: #333; }

ul.section-links {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  ul.section-links li a {
    color: #333;
    text-decoration: none;
    padding: 4px 8px;
    display: inline-block;
    padding-left: 0.85em; }
    ul.section-links li a:hover {
      color: #7aaf38; }
    ul.section-links li a:before {
      content: "\e80d";
      font-family: "bagsoz-icons";
      font-weight: normal;
      font-style: normal;
      font-size: 10px;
      vertical-align: 1px;
      margin-left: -1.25em;
      width: 1.25em;
      display: inline-block;
      color: #7aaf38; }
  ul.section-links li.active a, ul.section-links li.active a:before {
    color: #7aaf38; }

.article-teaser {
  color: #737373;
  text-decoration: none;
  margin-bottom: 2em; }
  .article-teaser .teaser-img {
    width: 100%;
    padding-bottom: 57.8125%;
    background: #eee;
    position: relative; }
    .article-teaser .teaser-img > img {
      position: absolute; }
  .article-teaser:hover {
    color: #333; }
    .article-teaser:hover .teaser-img {
      background: #e6e6e6; }
  .article-teaser .teaser-body h3 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    color: #333;
    margin-bottom: 0.5em; }

@media screen and (min-width: 64em) {
  .events-upcoming {
    margin-left: 24px; } }

.meldungen .termin {
  border-bottom: 2px dotted #7aaf38; }
.meldungen h4 {
  color: #7aaf38;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: bold;
  margin: 18px 0 6px 0; }
  .meldungen h4 .ort:before {
    content: "—";
    padding-right: 0.2em; }
.meldungen h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-weight: normal;
  margin-bottom: 12px; }
  .meldungen h3 a {
    color: #333;
    text-decoration: none; }
    .meldungen h3 a:hover {
      text-decoration: underline; }

.no-results {
  margin-top: 20px; }

.quarternet-link {
  margin-left: 24px;
  margin-top: 48px;
  padding: 24px;
  background: #e7eff4;
  display: block;
  text-align: center; }
  .quarternet-link:hover {
    background: #e1e9ed; }
  .quarternet-link img {
    max-width: 60%;
    width: 100%;
    height: auto; }

/*------------------------------------*\
    # MAP + BAHN-WIDGET
\*------------------------------------*/
.map {
  height: 280px;
  width: 100%;
  margin-bottom: 24px; }

/* custom mapbox popup styling */
.map .mapboxgl-popup-content {
  background: #444;
  padding: 12px 20px; }
.map .mapboxgl-popup-anchor-top .mapboxgl-popup-tip,
.map .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,
.map .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
  border-bottom-color: #444; }
.map .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,
.map .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,
.map .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
  border-top-color: #444; }
.map .mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  border-left-color: #444; }
.map .mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  border-right-color: #444; }
.map .mapboxgl-popup-close-button {
  color: #fff; }
.map .mapboxgl-popup-content h6 {
  color: #fff;
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  padding-bottom: 0;
  margin-bottom: 0;
  line-height: 1.3;
  text-align: center; }

/* bahn such-widget */
.body-text #dbAsL67 {
  background-color: #f2f2f2 !important;
  background-image: url("/assets/img/DB-logo.png") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px top 10px !important;
  background-size: 30px auto !important;
  max-width: 640px;
  margin-bottom: 24px; }
  .body-text #dbAsL67 > div > div {
    width: 100% !important;
    background-image: url("") !important; }
  .body-text #dbAsL67 fieldset {
    padding: 3% !important; }
    .body-text #dbAsL67 fieldset table {
      width: 100% !important;
      height: 100% !important; }
      .body-text #dbAsL67 fieldset table tbody {
        display: table !important;
        width: calc(100% - 50px) !important; }
      .body-text #dbAsL67 fieldset table tr td {
        border-top: none;
        height: 32px !important; }
      .body-text #dbAsL67 fieldset table tr:last-child td {
        border-bottom: none; }
      .body-text #dbAsL67 fieldset table label {
        font-size: 12px !important; }
      .body-text #dbAsL67 fieldset table input {
        height: 26px !important;
        font-size: 12px !important; }
      .body-text #dbAsL67 fieldset table input[type="text"] {
        width: 100% !important; }
      .body-text #dbAsL67 fieldset table input[type="radio"] + label {
        padding-left: 5px !important; }
      .body-text #dbAsL67 fieldset table button {
        border-radius: 2px !important;
        background: #e54e1e url("") !important;
        height: 26px !important; }
        .body-text #dbAsL67 fieldset table button span {
          font-size: 12px !important;
          height: 26px !important;
          line-height: 26px !important;
          padding: 0 15px !important;
          text-transform: uppercase !important;
          letter-spacing: .3px !important; }
  .body-text #dbAsL67 form + div {
    display: none !important; }

/*------------------------------------*\
    # PROFILE BLOCK
\*------------------------------------*/
.body-text .profile-block {
  max-width: 640px; }

.profile-block {
  background: #f5f5f5; }
  .profile-block .o-media__img {
    width: auto;
    max-height: 180px; }
  .profile-block .o-media__body {
    padding: 18px; }
    .profile-block .o-media__body h3 {
      margin: 6px 0 9px 0; }
    .profile-block .o-media__body p {
      font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
      font-size: 16px;
      font-size: 1rem; }

/*------------------------------------*\
    # PREVIEW BLOCK
\*------------------------------------*/
.body-text .preview {
  max-width: 760px; }

.preview {
  margin-bottom: 48px; }
  .preview .o-flag__img img {
    max-width: 275px;
    height: auto; }
    @media screen and (max-width: 63.9375em) {
      .preview .o-flag__img img {
        max-width: 20vw; } }
  .preview .o-flag__img,
  .preview .o-flag__body {
    vertical-align: top; }
  .preview .o-flag__body h3:first-child {
    margin-top: -4px;
    /* adjust top to match image top */ }
  .preview .o-flag__body p {
    font-size: 17px;
    font-size: 1.0625rem;
    margin-bottom: 0;
    hyphens: auto; }

.more {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  font-weight: bold;
  padding: 6px 6px 6px 0;
  display: inline-block;
  text-decoration: none;
  position: relative; }

/*
.more:after {
  font-family: $ui-font-stack;
  content: "\2192";
  position: absolute;
  top: .45em;
  padding-left: .25em;
}
*/
.body-text a.more:hover,
.body-text a.more:active {
  border-bottom: none; }

li .more {
  text-indent: 0; }

/*------------------------------------*\
    # SIDEBAR BOX
\*------------------------------------*/
.sidebar-box {
  background: #f2f2f2;
  padding: 18px;
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 14px;
  font-size: 0.875rem; }
  .sidebar-box h4 {
    font-size: 16px;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 18px; }
  .sidebar-box p:last-child {
    margin-bottom: 0; }
  .sidebar-box dt {
    border-bottom: 1px solid #999;
    padding-top: 9px;
    padding-bottom: 9px; }
  .sidebar-box dt:first-child {
    border-top: 1px solid #999; }
  .sidebar-box dd {
    margin-left: 4rem;
    margin-top: calc(-1.5em - 9px);
    margin-bottom: 9px; }

/*------------------------------------*\
    # PROFILE BLOCK
\*------------------------------------*/
/* reset body-text list styling */
.body-text .logo-list li {
  padding: 12px 0;
  text-indent: 0; }
.body-text .logo-list li:before {
  content: "";
  width: 0; }

.logo-list {
  margin-bottom: 24px; }
  .logo-list li {
    border-top: 1px solid #4990C0; }
  .logo-list li:last-child {
    border-bottom: 1px solid #4990C0; }
  .logo-list .logo img {
    width: 200px; }
  .logo-list .logo-desc a {
    display: block;
    padding: 24px 0;
    color: #333; }
  .logo-list .logo-desc a:before {
    content: "";
    padding: 0; }
  .logo-list .logo-desc a:hover {
    border-bottom: none !important;
    color: #005092; }

/*------------------------------------*\
    # FAQ WIDGETS
\*------------------------------------*/
/* using https://github.com/edenspiekermann/a11y-toggle */
/* hide aria-hidden elements on js active */
/* leave visible when javascript deactivated */
.js .c-faq-wrapper [aria-hidden="true"] {
  display: none;
  max-height: 0; }

.c-faq-wrapper {
  border-bottom: 1px solid #4990C0; }
  .c-faq-wrapper .c-faq-question {
    font-weight: bold;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 56px;
    font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
    padding: 0;
    margin: 0;
    border-top: 1px solid #4990C0;
    outline: none; }
  .c-faq-wrapper .c-faq-question:hover,
  .c-faq-wrapper .c-faq-question:active,
  .c-faq-wrapper .c-faq-question:focus {
    cursor: pointer;
    color: #4990C0; }
  .c-faq-wrapper .c-faq-question:after {
    content: "+";
    font-weight: normal;
    float: right;
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 56px;
    padding-right: .15em; }
  .c-faq-wrapper .c-faq-question.is-expanded:after {
    content: "–"; }
  .c-faq-wrapper .c-faq-question.is-expanded:hover {
    color: #333; }
  .c-faq-wrapper .c-faq-answer {
    overflow: hidden; }
  .c-faq-wrapper .c-faq-answer[aria-hidden="false"] {
    max-height: 1000px; }

/*------------------------------------*\
    # PHOTO and PHOTOSET
\*------------------------------------*/
/* individual photo / figure + figcaption */
.c-photo,
.c-photoset {
  max-width: 640px;
  margin-top: 2.5em;
  margin-bottom: 2em;
  margin-left: 0; }
  .c-photo a, .c-photo a:visited,
  .c-photoset a,
  .c-photoset a:visited {
    color: #4990C0;
    text-decoration: none; }
  .c-photo a:before,
  .c-photoset a:before {
    display: none; }
  .c-photo a:hover, .c-photo a:active,
  .c-photoset a:hover,
  .c-photoset a:active {
    color: #005092;
    border-bottom: none; }

.c-photo__caption, .c-slide__caption {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  color: #777;
  margin-top: 9px;
  margin-bottom: 9px; }

.c-photo.breakout {
  /*
    max-width: ($text-col-width + (2 * $breakout-distance));
    margin-left: -$breakout-distance;
  */
  max-width: 740px; }
  @media screen and (max-width: 63.9375em) {
    .c-photo.breakout {
      max-width: 640px;
      margin-left: 0; } }

.c-photoset {
  max-width: 664px;
  margin-left: -24px; }
  .c-photoset .o-layout__item {
    margin-bottom: 24px; }

.c-photoset.breakout {
  /*
    max-width: ($text-col-width + $spacing + (2 * $breakout-distance));
    margin-left: -($breakout-distance + $spacing);
  */
  max-width: 740px;
  margin-bottom: 1em; }
  @media screen and (max-width: 63.9375em) {
    .c-photoset.breakout {
      max-width: 664px;
      margin-left: -24px; } }

/*------------------------------------*\
    # a11y DIALOG
\*------------------------------------*/
/**
 * by Hugo Giraudel | MIT license
 * https://github.com/edenspiekermann/a11y-dialog
 */
/*  Assumes Autoprefixer will add vendor prefixes automatically. */
/* Necessary styling for the dialog to work */
.dialog[aria-hidden="true"] {
  display: none; }

/* non-button toggles require cursor:pointer; 
 * See http://mzl.la/1ZQ3NNl */
[role="button"] {
  cursor: pointer; }

/* Basic dialog + overlay styling */
.dialog-overlay {
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.66);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

.dialog-content {
  background-color: white;
  z-index: 3;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

/* Extra dialog styling to make it shiny */
.dialog-content {
  padding: 1em;
  max-width: 90%;
  width: 600px;
  border-radius: 2px; }
  @media screen and (min-width: 700px) {
    .dialog-content {
      padding: 2em; } }

.dialog-overlay {
  background-color: rgba(43, 46, 56, 0.9); }

.dialog h1 {
  margin: 0;
  font-size: 1.25em; }

.dialog-close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  border: 0;
  padding: 0;
  background-color: transparent;
  font-weight: bold;
  font-size: 1.25em;
  width: 1.2em;
  height: 1.2em;
  text-align: center;
  cursor: pointer;
  transition: 0.15s; }
  @media screen and (min-width: 700px) {
    .dialog-close {
      top: 1em;
      right: 1em; } }

/*------------------------------------*\
    # a11y TOGGLE
\*------------------------------------*/
/**
 * by Hugo Giraudel | MIT license
 * https://github.com/edenspiekermann/a11y-toggle
 */
/* Basic display/hide css */
[aria-hidden='true'],
[data-a11y-toggle]:not([aria-controls]) {
  display: none; }

/* non-button toggles require cursor:pointer; 
 * See http://mzl.la/1ZQ3NNl */
[role="button"] {
  cursor: pointer; }

/*------------------------------------*\
    # PHOTOSWIPE = PSWP
\*------------------------------------*/
/**
 * by Dmitry Semenov | MIT license
 * photoswipe.com
 *
 * 
 *  Concatenation of main.scss, _main-settings.scss, default-skin.scss
 *  Uses Autoprefixer: vendor prefixes added automatically.
 */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
  .pswp * {
    box-sizing: border-box; }
  .pswp img {
    max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -moz-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }

/* PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
	
	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none; }
  .pswp__button:focus, .pswp__button:hover {
    opacity: 1; }
  .pswp__button:active {
    outline: none;
    opacity: 0.9; }
  .pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(../img/default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(../img/default-skin.svg); }

  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }
.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  transform: translateY(6px);
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }
  .pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }
    .pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }
    .pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }
    .pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }
  .pswp__share-modal--fade-in .pswp__share-tooltip {
    transform: translateY(0); }

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }
a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }
  a.pswp__share--facebook:hover:before {
    border-bottom-color: #3E5C9A; }

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }

a.pswp__share--download:hover {
  background: #DDD; }

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }

/*
	
	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }
  .pswp__caption small {
    font-size: 11px;
    color: #BBB; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }

.pswp__caption--empty {
  display: none; }

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }
  .pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(../img/preloader.gif) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    animation: clockwise 500ms linear infinite; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }
.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }
.pswp--css_animation .pswp__preloader__cut {
  /* 
  	The idea of animating inner circle is based on Polymer ("material") loading indicator 
  	 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
  */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }
.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }
@keyframes clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes donut-rotate {
  0% {
    transform: rotate(0); }
  50% {
    transform: rotate(-140deg); }
  100% {
    transform: rotate(0); } }
/*
	
	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }

/*------------------------------------*\
    # SLICK Slider
\*------------------------------------*/
/**
 * by Ken Wheeler | MIT license
 * http://kenwheeler.github.io/slick
 * 
 *  Concatenation of slick.scss, slick-theme.scss
 *  Uses Autoprefixer: vendor prefixes added automatically.
 */
/* Helper url functions */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 100%;
  width: 75px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 48%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 10; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "bagsoz-icons";
    font-size: 20px;
    line-height: 1;
    color: #777;
    opacity: 0.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -35px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -35px; }
  .slick-prev:before {
    float: left;
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      float: right;
      content: ""; }

.slick-next {
  right: -35px; }
  [dir="rtl"] .slick-next {
    left: -35px;
    right: auto; }
  .slick-next:before {
    float: right;
    content: ""; }
    [dir="rtl"] .slick-next:before {
      float: left;
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 20px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 22px;
    margin: 0;
    padding: 0;
    text-indent: 0;
    cursor: pointer; }
    .slick-dots li:before {
      content: "";
      width: 0; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 22px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 5px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 22px;
        height: 20px;
        font-family: "bagsoz-icons";
        font-size: 10px;
        line-height: 20px;
        text-align: center;
        color: #555;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:hover, .slick-dots li.slick-active button:focus {
      outline: none; }
      .slick-dots li.slick-active button:hover:before, .slick-dots li.slick-active button:focus:before {
        opacity: 1; }
    .slick-dots li.slick-active button:before {
      color: #777;
      content: "";
      opacity: 0.5; }

/*------------------------------------*\
    # SLIDER and SLIDERGALLERY
\*------------------------------------*/
.c-slider {
  max-width: 640px;
  height: auto;
  margin-bottom: 1em; }

/* full-width centered slider */
.c-slider.stripe {
  width: 100%;
  max-width: 100%; }

/* break out of container column width */
.c-slider.breakout {
  max-width: 840px;
  margin-left: -100px; }
  @media screen and (max-width: 63.9375em) {
    .c-slider.breakout {
      max-width: 640px;
      margin-left: 0; } }

.c-thumb-slider {
  max-width: 640px; }

.c-thumb-slider .c-slide__item {
  padding: 6px 3px 3px; }

/* if gallery shift bottom margin from slider to container */
.c-gallery-wrapper {
  margin-bottom: 1em; }

.c-gallery-wrapper .c-slider {
  margin-bottom: 0; }

.c-slide__caption span {
  width: 2em;
  display: inline-block; }

.c-slider.has-captions:not(.fade) .c-slide__item .c-slide__caption {
  opacity: 0; }

.c-slider.has-captions:not(.fade) .c-slide__item .c-slide__caption.is-active {
  opacity: 1;
  transition: opacity .15s ease-in-out; }

.slick-next:before,
.slick-prev:before {
  color: #fff;
  float: none; }

.slick-next {
  right: 0px; }

.slick-prev {
  left: 0px; }

/*------------------------------------*\
    # LIGHTBOX – Site-specific styles
\*------------------------------------*/
/* Use iconfont for arrows */
/*
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  font-family: $ui-icon-font;
  font-size: $ui-icon-font-size;
}*/
.pswp--svg .pswp__button,
.pswp--svg .pswp__button--arrow--left:before,
.pswp--svg .pswp__button--arrow--right:before,
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: none;
  color: #777;
  font-family: wja-icons;
  font-size: 20px; }
  .pswp--svg .pswp__button:hover, .pswp--svg .pswp__button:focus,
  .pswp--svg .pswp__button--arrow--left:before:hover,
  .pswp--svg .pswp__button--arrow--left:before:focus,
  .pswp--svg .pswp__button--arrow--right:before:hover,
  .pswp--svg .pswp__button--arrow--right:before:focus,
  .pswp__button:hover,
  .pswp__button:focus,
  .pswp__button--arrow--left:before:hover,
  .pswp__button--arrow--left:before:focus,
  .pswp__button--arrow--right:before:hover,
  .pswp__button--arrow--right:before:focus {
    color: #333; }

.pswp__button--arrow--left:before {
  content: '\e810';
  left: 20px; }

.pswp__button--arrow--right:before {
  content: '\e811';
  right: 20px; }

.pswp__button--close:before {
  content: '\e816'; }

.pswp__button--share:before {
  content: '\e82a'; }

.pswp__button--fs:before {
  content: '\e831'; }

.pswp__button--zoom:before {
  content: '\e841'; }

.pswp__button--share,
.pswp__button--fs,
.pswp--supports-fs .pswp__button--fs,
.pswp__button--zoom {
  display: none; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(255, 255, 255, 0.5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background: none; }

.pswp__counter,
.pswp__caption,
.pswp__caption__center {
  font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  color: #777; }

.pswp__counter {
  font-size: 13px;
  font-size: 0.8125rem; }

.pswp__caption__center {
  max-width: 640px; }

/*------------------------------------*\
    # ARTICLE
\*------------------------------------*/
.article-preview {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 2px dotted #7aaf38; }
  .article-preview h4 {
    font-family: din-condensed-web, "din condensed", arial-narrow, sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.15px;
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.35; }
    .article-preview h4 a {
      text-decoration: none;
      color: #333; }
      .article-preview h4 a:hover {
        border-bottom: 2px solid #333; }
  .article-preview .o-flag__img > img {
    width: 13rem; }
  .article-preview .o-flag__img:empty {
    display: none; }

.post-meta {
  color: #7aaf38;
  font-weight: bold;
  margin-bottom: 0.75em;
  margin-top: -0.75em;
  letter-spacing: 0.15px; }
  .post-meta dt, .post-meta dd {
    margin-left: 0;
    display: inline; }
  .post-meta dt + dd:before {
    content: '·';
    padding-right: 0.25em; }
  .post-meta dt:first-child + dd:before {
    content: '';
    padding: 0; }
  .post-meta a {
    color: #7aaf38;
    text-decoration: none; }
    .post-meta a:hover {
      text-decoration: underline; }

/* individual article */
.article {
  /* post-meta for veranstaltungen */ }
  .article .post-meta.veranstaltung {
    border-bottom: 2px solid #7aaf38;
    font-size: 15px;
    margin-top: 0;
    margin-bottom: 2em;
    letter-spacing: 0;
    font-weight: normal;
    color: #333; }
    .article .post-meta.veranstaltung dt, .article .post-meta.veranstaltung dd {
      display: block; }
    .article .post-meta.veranstaltung dt {
      width: 4.5em;
      margin-left: 0;
      float: left;
      border-top: 2px solid #7aaf38;
      padding: 4px 0;
      clear: both; }
    .article .post-meta.veranstaltung dd {
      border-top: 2px solid #7aaf38;
      padding: 4px 0 5px 0;
      text-indent: 0;
      margin-left: 4.5em; }
    .article .post-meta.veranstaltung dt + dd:before {
      content: '';
      padding: 0; }

/*------------------------------------*\
    # FILE DOWNLOAD LIST
\*------------------------------------*/
.c-file-list > li {
  padding: 0px;
  margin-bottom: 1em; }
  .c-file-list > li .btn-dl {
    text-decoration: none;
    color: #333;
    background-color: #e8f3da;
    display: block;
    padding: 12px;
    padding-left: 2.5em; }
    .c-file-list > li .btn-dl:before {
      margin-left: -2em;
      width: 1.8em;
      color: #7aaf38; }
    .c-file-list > li .btn-dl:hover {
      background-color: #7aaf38;
      color: #fff; }
      .c-file-list > li .btn-dl:hover:before,
      .c-file-list > li .btn-dl:hover .file-meta {
        color: #d0e7b3; }
    .c-file-list > li .btn-dl .file-meta {
      color: #7aaf38; }
      .c-file-list > li .btn-dl .file-meta:before {
        content: "–\00a0";
        white-space: nowrap; }

/*------------------------------------*\
    # LINK LIST
\*------------------------------------*/
.l-links h3 {
  margin: 1.5em 0 0.5em 0; }
  .l-links h3:first-child {
    margin-top: 0; }

.c-link-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .c-link-list > li {
    padding-left: 1.7em;
    margin-bottom: .7em;
    font-weight: normal; }
    .c-link-list > li:before {
      margin-left: -2em;
      width: 1.8em;
      font-size: 13px; }
    .c-link-list > li a {
      text-decoration: none;
      color: #333; }
    .c-link-list > li .link-adresse {
      display: block;
      font-weight: normal;
      color: #7aaf38;
      text-decoration: none; }
    .c-link-list > li a:hover .link-adresse {
      text-decoration: underline; }

/**
 * UTILITIES
 */
/*------------------------------------*\
    #CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
 * Extend the clearfix class with Sass to avoid the `.clearfix` class appearing
 * over and over in your markup.
 */
.clearfix:after,
.u-clearfix:after,
.main:after,
.o-box:after,
.o-media:after {
  content: "";
  display: table;
  clear: both; }

/*------------------------------------*\
    #DISPLAY
\*------------------------------------*/
/**
 * General helper classes for controlling display
 *
 * These are the basic classes you might need to apply to typical HTML content.
 * If you find yourself needing something like `table`, `table-cell`, `flex`,
 * etc., then you probably need a more complex object and shouldn't be using
 * utility classes in the first place.
 */
.u-display-none {
  display: none !important; }

.u-display-block {
  display: block !important; }

.u-display-inline {
  display: inline !important; }

.u-display-inline-block {
  display: inline-block !important; }

/**
 * Completely hide content from view and from screenreaders.
 */
.u-hide,
.hidden {
  display: none !important; }

/*
 * Hide visually and from screen readers, but maintain layout
 */
.u-invisible,
.invisible {
  visibility: hidden; }

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.accessibility,
.u-hide-visually,
.visuallyhidden,
.site-nav h2,
.site-header h2,
.post-meta .autor {
  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 .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.u-hide-visually.focusable:active,
.u-hide-visually.focusable:focus,
.visuallyhidden.focusable:active,
.site-nav h2.focusable:active,
.visuallyhidden.focusable:focus,
.site-nav h2.focusable:focus {
  clip: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  position: static !important;
  width: auto !important; }

/*
 * Image replacement
 */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  /*    *text-indent: -9999px; */ }
  .ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%; }

/**
 * Breakpoint specific hidden elements:
 *
 * e.g. `.hidden@desktop` or `.visuallyhidden@palm`
 *
 */
@media screen and (max-width: 30em) {
  .u-hide\@phone,
  .hidden\@phone {
    display: none !important; } }
@media screen and (max-width: 44.9375em) {
  .u-hide\@palm,
  .hidden\@palm {
    display: none !important; } }
@media screen and (min-width: 45em) and (max-width: 63.9375em) {
  .u-hide\@lap,
  .hidden\@lap {
    display: none !important; } }
@media screen and (min-width: 45em) {
  .u-hide\@lap-and-up,
  .hidden\@lap-and-up {
    display: none !important; } }
@media screen and (max-width: 63.9375em) {
  .u-hide\@portable,
  .hidden\@portable {
    display: none !important; } }
@media screen and (min-width: 64em) {
  .u-hide\@desk,
  .hidden\@desk {
    display: none !important; } }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .u-hide\@retina,
  .hidden\@retina {
    display: none !important; } }
/*------------------------------------*\
    #HEADINGS
\*------------------------------------*/
/**
 * Headings 1–6’s corresponding Greek-alphabet abstract classes for double-
 * stranded heading hierarchy: csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css
 *
 * Use these helper classes to cause other elements to adopt the styling of the
 * respective heading, e.g.:
 *
   <h2 class="u-alpha">Lorem ipsum</h2>
 *
 */
.u-h1, .u-alpha {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.3333333333; }

.u-h2, .u-beta {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6; }

.u-h3, .u-gamma {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1; }

.u-h4, .u-delta {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2; }

.u-h5, .u-epsilon {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

.u-h6, .u-zeta {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.7142857143; }

/*------------------------------------*\
    #PARAGRAPHS
\*------------------------------------*/
/**
 * Class for larger intro text, e.g. for styling introductory lede text
 * en.wikipedia.org/wiki/Lede_(news)
 */
.intro-text,
.u-lede {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333; }

/**
 * Classes for tiny type, e.g. for use in smallprint etc.
 */
/* 12px */
/* 10px */
.smallprint,
.u-milli {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2; }

.u-micro {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 2.4; }

/*------------------------------------*\
    #PRINT
\*------------------------------------*/
/**
 * Very crude, reset-like styles taken from the HTML5 Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/3c3c5e64604209a4d63e1e4c48dd245d45fadfd9/css/main.css#L200-L234
 */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  /**
   * Don’t show links that are fragment identifiers, or use the `javascript:`
   * pseudo protocol.
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; } }
/*------------------------------------*\
    #SPACING-RESPONSIVE
\*------------------------------------*/
/**
 * Margin and padding helper classes. Use these to tweak layout on a micro
 * level.
 *
 * `.u-(m|p)(t|r|b|l|h|v)(-negative)(-tiny|-small|-large|-huge|-none)(@breakpoint) {}`
 * = margin/padding top/right/bottom/left/horizontal/vertical negative tiny/small/large/huge/none @breakpoint
 *
	<div class="u-mr u-mb-small u-mb@lap"></div>
 */
/*------------------------------------*\
    #SPACING
\*------------------------------------*/
/**
 * Margin and padding helper classes. Use these to tweak layout on a micro
 * level.
 *
 * `.u-(m|p)(t|r|b|l|h|v)(-negative)(-tiny|-small|-large|-huge|-none) {}`
 * = margin/padding top/right/bottom/left/horizontal/vertical negative tiny/small/large/huge/none

 	<div class="u-mr u-mb-small"></div>
 */
/*------------------------------------*\
    # WIDTHS-RESPONSIVE
\*------------------------------------*/
/**
 * Widths-responsive loops through the breakpoints defined in settings.responsive to generate prefixed breakpoint-based classes. If you are
 using inuitcss’ default breakpoints, you will be given classes like
 `u-1/4@lap-and-up`, or `u-1-of-2@desk`, etc. Usage:

 <div class="o-layout">
 	<div class="o-layout__item u-1/1 u-1/2@lap-and-up">Foo</div><!--
 --><div class="o-layout__item u-1/1 u-1/2@lap-and-up">Bar</div>
 </div>

 */
@media screen and (max-width: 30em) {
  .u-1\/1\@phone {
    width: 100% !important; }

  .u-1\/2\@phone {
    width: 50% !important; }

  .u-1\/3\@phone {
    width: 33.3333333333% !important; }

  .u-2\/3\@phone {
    width: 66.6666666667% !important; }

  .u-1\/4\@phone {
    width: 25% !important; }

  .u-2\/4\@phone {
    width: 50% !important; }

  .u-3\/4\@phone {
    width: 75% !important; }

  .u-1\/5\@phone {
    width: 20% !important; }

  .u-2\/5\@phone {
    width: 40% !important; }

  .u-3\/5\@phone {
    width: 60% !important; }

  .u-4\/5\@phone {
    width: 80% !important; } }
@media screen and (max-width: 44.9375em) {
  .u-1\/1\@palm {
    width: 100% !important; }

  .u-1\/2\@palm {
    width: 50% !important; }

  .u-1\/3\@palm {
    width: 33.3333333333% !important; }

  .u-2\/3\@palm {
    width: 66.6666666667% !important; }

  .u-1\/4\@palm {
    width: 25% !important; }

  .u-2\/4\@palm {
    width: 50% !important; }

  .u-3\/4\@palm {
    width: 75% !important; }

  .u-1\/5\@palm {
    width: 20% !important; }

  .u-2\/5\@palm {
    width: 40% !important; }

  .u-3\/5\@palm {
    width: 60% !important; }

  .u-4\/5\@palm {
    width: 80% !important; } }
@media screen and (min-width: 45em) and (max-width: 63.9375em) {
  .u-1\/1\@lap {
    width: 100% !important; }

  .u-1\/2\@lap {
    width: 50% !important; }

  .u-1\/3\@lap {
    width: 33.3333333333% !important; }

  .u-2\/3\@lap {
    width: 66.6666666667% !important; }

  .u-1\/4\@lap {
    width: 25% !important; }

  .u-2\/4\@lap {
    width: 50% !important; }

  .u-3\/4\@lap {
    width: 75% !important; }

  .u-1\/5\@lap {
    width: 20% !important; }

  .u-2\/5\@lap {
    width: 40% !important; }

  .u-3\/5\@lap {
    width: 60% !important; }

  .u-4\/5\@lap {
    width: 80% !important; } }
@media screen and (min-width: 45em) {
  .u-1\/1\@lap-and-up {
    width: 100% !important; }

  .u-1\/2\@lap-and-up {
    width: 50% !important; }

  .u-1\/3\@lap-and-up {
    width: 33.3333333333% !important; }

  .u-2\/3\@lap-and-up {
    width: 66.6666666667% !important; }

  .u-1\/4\@lap-and-up {
    width: 25% !important; }

  .u-2\/4\@lap-and-up {
    width: 50% !important; }

  .u-3\/4\@lap-and-up {
    width: 75% !important; }

  .u-1\/5\@lap-and-up {
    width: 20% !important; }

  .u-2\/5\@lap-and-up {
    width: 40% !important; }

  .u-3\/5\@lap-and-up {
    width: 60% !important; }

  .u-4\/5\@lap-and-up {
    width: 80% !important; } }
@media screen and (max-width: 63.9375em) {
  .u-1\/1\@portable {
    width: 100% !important; }

  .u-1\/2\@portable {
    width: 50% !important; }

  .u-1\/3\@portable {
    width: 33.3333333333% !important; }

  .u-2\/3\@portable {
    width: 66.6666666667% !important; }

  .u-1\/4\@portable {
    width: 25% !important; }

  .u-2\/4\@portable {
    width: 50% !important; }

  .u-3\/4\@portable {
    width: 75% !important; }

  .u-1\/5\@portable {
    width: 20% !important; }

  .u-2\/5\@portable {
    width: 40% !important; }

  .u-3\/5\@portable {
    width: 60% !important; }

  .u-4\/5\@portable {
    width: 80% !important; } }
@media screen and (min-width: 64em) {
  .u-1\/1\@desk {
    width: 100% !important; }

  .u-1\/2\@desk {
    width: 50% !important; }

  .u-1\/3\@desk {
    width: 33.3333333333% !important; }

  .u-2\/3\@desk {
    width: 66.6666666667% !important; }

  .u-1\/4\@desk {
    width: 25% !important; }

  .u-2\/4\@desk {
    width: 50% !important; }

  .u-3\/4\@desk {
    width: 75% !important; }

  .u-1\/5\@desk {
    width: 20% !important; }

  .u-2\/5\@desk {
    width: 40% !important; }

  .u-3\/5\@desk {
    width: 60% !important; }

  .u-4\/5\@desk {
    width: 80% !important; } }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .u-1\/1\@retina {
    width: 100% !important; }

  .u-1\/2\@retina {
    width: 50% !important; }

  .u-1\/3\@retina {
    width: 33.3333333333% !important; }

  .u-2\/3\@retina {
    width: 66.6666666667% !important; }

  .u-1\/4\@retina {
    width: 25% !important; }

  .u-2\/4\@retina {
    width: 50% !important; }

  .u-3\/4\@retina {
    width: 75% !important; }

  .u-1\/5\@retina {
    width: 20% !important; }

  .u-2\/5\@retina {
    width: 40% !important; }

  .u-3\/5\@retina {
    width: 60% !important; }

  .u-4\/5\@retina {
    width: 80% !important; } }
/*------------------------------------*\
    #WIDTHS
\*------------------------------------*/
/**
 * A series of width helper classes that you can use to size things like grid
 * systems. Classes can take a fraction-like format (e.g. `.u-2/3`) or a spoken-
 * word format (e.g. `.u-2-of-3`). Use these in your markup:
 *
 * <div class="u-7/12">
 */
.u-1\/1 {
  width: 100% !important; }

.u-1\/2 {
  width: 50% !important; }

.u-1\/3 {
  width: 33.3333333333% !important; }

.u-2\/3 {
  width: 66.6666666667% !important; }

.u-1\/4 {
  width: 25% !important; }

.u-2\/4 {
  width: 50% !important; }

.u-3\/4 {
  width: 75% !important; }

.u-1\/5 {
  width: 20% !important; }

.u-2\/5 {
  width: 40% !important; }

.u-3\/5 {
  width: 60% !important; }

.u-4\/5 {
  width: 80% !important; }

/**
 * BLAME
 */
/*------------------------------------*\
    $BLAME
\*------------------------------------*/
/*
 * Quickfixes to be incorporated into other SASS files at a later date.
 * 
 * Comes last so that it trumps everything. 
 * 
 * Use responsibly.
 *
 */
