@charset "UTF-8";
/*********************************************************



# Main SCSS Collection 



**********************************************************/
/******************************** 

01 Config :

*********************************/
@import '../font/share-webfont/style.css';
@import '../font/source-sans-pro-webfont/style.css';
@import '../font/icomoon/style.css';
/* Media Query, based on Breakpoints in variables.scss  */
/* Set a rem font size with pixel fallback */
/* Cross browser opacity */
/* Block Center */
/* Box Shadow */
/* Border-radius */
/* Gradient */
/* Layout */
/* Overlay */
/* Ornament (Strich) */
/* Circle */
.bg-brand, .brand {
  background-color: #379848 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}
.bg-brand *, .brand * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}
.bg-brand svg, .brand svg {
  fill: #ffffff !important;
}

.bg-brand-dark, .brand-dark {
  background-color: #138446 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}
.bg-brand-dark *, .brand-dark * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.bg-brand2, .brand2 {
  background-color: #cffbff !important;
}
.bg-brand3, .brand3 {
  background-color: #cffbff !important;
  border-color: #ffffff !important;
  color: #cffbff !important;
}
.bg-brand3 *, .brand3 * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.bg-grey-dark, .grey-dark {
  background-color: #474747 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}
.bg-grey-dark *, .grey-dark * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.bg-grey, .grey {
  background-color: #737970 !important;
}

.bg-grey-transparent, .grey-transparent {
  background-color: rgba(115, 121, 112, 0.5) !important;
  color: #474747 !important;
}
.bg-grey-transparent *, .grey-transparent * {
  color: #474747 !important;
}

.bg-grey-light, .grey-light {
  background-color: #eeeeee !important;
  color: #ffffff !important;
}
.bg-grey-light *, .grey-light * {
  color: #474747;
}

.bg-grey-light-transparent, .grey-light-transparent {
  background-color: rgba(242, 242, 242, 0.7) !important;
  color: #ffffff !important;
}
.bg-grey-light-transparent *, .grey-light-transparent * {
  color: #ffffff !important;
}

.bg-grey-light-half-top, .grey-light-half-top {
  background: linear-gradient(180deg, #eeeeee 0%, #eeeeee 50%, white 50%, white 100%);
}
.bg-grey-light-half-bottom, .grey-light-half-bottom {
  background: linear-gradient(180deg, white 0%, white 50%, #eeeeee 50%, #eeeeee 100%);
}
.bg-grey-lighter, .grey-lighter {
  background-color: #f2f2f2 !important;
}

.bg-white, .white {
  background-color: #ffffff !important;
  /* color: $c-grey-dark !important;

   * {
       color: $c-grey-dark !important;
   }*/
}

.bg-white-transparent, .white-transparent {
  background-color: rgba(255, 255, 255, 0.85) !important;
  color: #474747 !important;
}
.bg-white-transparent *, .white-transparent * {
  color: #474747 !important;
}

.bg-black, .black {
  background-color: #111111 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}
.bg-black *, .black * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.bg-black-transparent, .black-transparent {
  background-color: rgba(17, 17, 17, 0.5) !important;
  color: #ffffff !important;
}
.bg-black-transparent *, .black-transparent * {
  color: #ffffff !important;
}

.bg-black-gradient, .black-gradient {
  background: rgb(2, 0, 36);
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 30%, rgba(255, 255, 255, 0) 75%);
}

.bg-black-gradient-left, .black-gradient-left {
  background: linear-gradient(25deg, black 0%, black 44%, rgba(255, 255, 255, 0) 80%);
}

.bg-black-gradient-right, .black-gradient-right {
  background: linear-gradient(-25deg, black 0%, rgba(0, 0, 0, 0) 80%, white 100%);
}

.bg-transparent, .transparent {
  background-color: transparent !important;
}

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

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

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

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

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*
* Skeleton V1.2 UPDATED 2023 ST
* Copyright 2011, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 6/20/2012
*/
/* Table of Contents
==================================================
    #Base 960 Grid
    #Tablet (Portrait)
    #Mobile (Portrait)
    #Mobile (Landscape)
    #Clearing */
/* #Base 960 Grid
================================================== */
:root {
  --container-width-xs: 300px;
  --container-width-xs: calc(85vw);
  --container-width-s: 420px;
  --container-width-s: calc(85vw);
  --container-width-m: 740px;
  --container-width-m: calc(90vw);
  --container-width-l: 940px;
  --container-width-l: calc(90vw);
  --container-width-xl: 1200px;
  --container-width-xxl: 1400px;
  --gap-m: 10px;
  --gap-l: 20px;
}

.container.full-width {
  width: 100vw !important;
  margin: 0 auto;
}

.container {
  position: relative;
  width: var(--container-width-xs);
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--gap-m);
}

.container .column,
.container .columns {
  margin-left: 0px;
  margin-right: 0px;
}

/*  #Mobile (Portrait)
================================================== */
/* Note: Design for a width of 320px */
@media only screen and (max-width: 479px) {
  .container {
    width: var(--container-width-xs);
  }
  .container .columns,
  .container .column {
    margin: 0;
  }
  .container .one.column,
  .container .one.columns,
  .container .two.columns,
  .container .three.columns,
  .container .four.columns,
  .container .five.columns,
  .container .six.columns,
  .container .seven.columns,
  .container .eight.columns,
  .container .nine.columns,
  .container .ten.columns,
  .container .eleven.columns,
  .container .twelve.columns,
  .container .thirteen.columns,
  .container .fourteen.columns,
  .container .fifteen.columns,
  .container .sixteen.columns,
  .container .one-third.column,
  .container .two-thirds.column {
    width: calc(16 * var(--container-width-xs) / 16 + 0px);
  }
  /* Offsets */
  .container .offset-by-one,
  .container .offset-by-two,
  .container .offset-by-three,
  .container .offset-by-four,
  .container .offset-by-five,
  .container .offset-by-six,
  .container .offset-by-seven,
  .container .offset-by-eight,
  .container .offset-by-nine,
  .container .offset-by-ten,
  .container .offset-by-eleven,
  .container .offset-by-twelve,
  .container .offset-by-thirteen,
  .container .offset-by-fourteen,
  .container .offset-by-fifteen {
    padding-left: 0;
  }
}
/* #Mobile (Landscape)
================================================== */
/* Note: Design for a width of 480px */
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .container {
    width: var(--container-width-s);
  }
  .container .columns,
  .container .column {
    margin: 0;
  }
  .container .one.column,
  .container .one.columns,
  .container .two.columns,
  .container .three.columns,
  .container .four.columns,
  .container .five.columns,
  .container .six.columns,
  .container .seven.columns,
  .container .eight.columns,
  .container .nine.columns,
  .container .ten.columns,
  .container .eleven.columns,
  .container .twelve.columns,
  .container .thirteen.columns,
  .container .fourteen.columns,
  .container .fifteen.columns,
  .container .sixteen.columns,
  .container .one-third.column,
  .container .two-thirds.column {
    width: calc(16 * var(--container-width-s) / 16 + 0px);
  }
}
/* #Tablet (Portrait)
================================================== */
/* Note: Design for a width of 768px */
@media only screen and (min-width: 768px) and (max-width: 959px) {
  .container {
    width: var(--container-width-m);
    padding-left: calc(var(--gap-m) / 1);
    padding-left: calc(var(--gap-m) / 2);
    gap: var(--gap-m);
  }
  .container > .container {
    padding-left: 0;
  }
  .container .column,
  .container .columns {
    margin-left: 0px;
    margin-right: 0px;
  }
  .container .one.column,
  .container .one.columns {
    width: calc(2 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .two.columns {
    width: calc(2 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .three.columns {
    width: calc(2 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .four.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .five.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .one-third.columns, .container .one-third.column {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .six.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .seven.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .eight.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .nine.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .ten.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .eleven.columns {
    width: calc(8 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .twelve.columns {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .thirteen.columns {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .fourteen.columns {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .fifteen.columns {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .sixteen.columns {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  .container .two-thirds.column {
    width: calc(16 * var(--container-width-m) / 16 - 1 * var(--gap-m));
  }
  /* Offsets */
  .container .offset-by-one {
    margin-left: calc(0 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-two {
    margin-left: calc(0 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-three {
    margin-left: calc(0 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-four {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-five {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-six {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-seven {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-eight {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-nine {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-ten {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-eleven {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-twelve {
    padding-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-thirteen {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-fourteen {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
  .container .offset-by-fifteen {
    margin-left: calc(8 * var(--container-width-m) / 16 + 1 * var(--gap-m));
  }
}
/* Desktop (L)
================================================== */
@media only screen and (min-width: 960px) {
  .container {
    position: relative;
    width: var(--container-width-l);
    margin: 0 auto;
    padding: 0;
    padding-left: calc(var(--gap-l) / 1);
    padding-left: calc(var(--gap-l) / 2);
    gap: var(--gap-l);
  }
  .container > .container {
    padding-left: 0;
  }
  .container .column,
  .container .columns {
    margin-left: 0px;
    margin-right: 0px;
  }
  /* Base Grid */
  .container .one.column,
  .container .one.columns {
    width: calc(1 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .two.columns {
    width: calc(2 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .three.columns {
    width: calc(3 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .four.columns {
    width: calc(4 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .five.columns {
    width: calc(5 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .one-third.columns, .container .one-third.column {
    width: calc(5.333 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .six.columns {
    width: calc(6 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .seven.columns {
    width: calc(7 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .eight.columns {
    width: calc(8 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .nine.columns {
    width: calc(9 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .ten.columns {
    width: calc(10 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .eleven.columns {
    width: calc(11 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .twelve.columns {
    width: calc(12 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .thirteen.columns {
    width: calc(13 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .fourteen.columns {
    width: calc(14 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .fifteen.columns {
    width: calc(15 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .sixteen.columns {
    width: calc(16 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  .container .two-thirds.column, .container .two-thirds.columns {
    width: calc(10.667 * var(--container-width-l) / 16 - 1 * var(--gap-l));
  }
  /* Offsets */
  .container .offset-by-one {
    margin-left: calc(1 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-two {
    margin-left: calc(2 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-three {
    margin-left: calc(3 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-four {
    margin-left: calc(4 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-five {
    margin-left: calc(5 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-six {
    margin-left: calc(6 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-seven {
    margin-left: calc(7 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-eight {
    margin-left: calc(8 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-nine {
    margin-left: calc(9 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-ten {
    margin-left: calc(10 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-eleven {
    margin-left: calc(11 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-twelve {
    margin-left: calc(12 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-thirteen {
    margin-left: calc(13 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-fourteen {
    margin-left: calc(14 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
  .container .offset-by-fifteen {
    margin-left: calc(15 * var(--container-width-l) / 16 + 1 * var(--gap-l));
  }
}
/* Desktop (XL)
================================================== */
@media only screen and (min-width: 1400px) {
  :root {
    --container-width-l: 1200px;
  }
}
/* Desktop (XXL)
================================================== */
@media only screen and (min-width: 2400px) {
  :root {
    --container-width-l: 1400px;
  }
}
/* #Clearing
================================================== */
/* Self Clearing Goodness */
/*.container:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}*/
/* Use clearfix class on parent to clear nested columns,
    or wrap each row of columns in a <div class="row"> */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: " ";
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:after {
  clear: both;
}

/*.row,
.clearfix {
    zoom: 1;
}*/
/* You can also use a <br class="clear" /> to clear columns */
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.flex-it {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
}

.flex-item {
  display: flex;
  position: relative;
}

.flex-direction-reverse,
.flex-reverse {
  flex-direction: row-reverse;
}

@media screen and (max-width: 47.9375em) {
  .flex-reverse-s {
    flex-direction: column-reverse !important;
  }
}

@media screen and (min-width: 48em) and (max-width: 59.9375em) {
  .flex-reverse-m {
    flex-direction: column-reverse !important;
  }
}

.valign-self-start {
  align-self: flex-start;
}

.valign-self-center {
  align-self: center;
}

.valign-self-end {
  align-self: flex-end;
}

.valign-self-stretch {
  align-self: stretch;
}

.flex-valign-start {
  align-items: flex-start !important;
}

.flex-valign-center {
  align-items: center !important;
}

.flex-valign-end {
  align-items: flex-end !important;
}

.flex-valign-baseline {
  align-items: baseline !important;
  align-content: baseline !important;
  -webkit-align-items: baseline !important;
}

.flex-valign-stretch {
  align-items: stretch !important;
  align-content: stretch !important;
  -webkit-align-items: stretch !important;
}

.flex-valign-stretch > * > * {
  height: 100% !important;
}

.flex-halign-center {
  justify-content: center !important;
}

.flex-halign-stretch {
  justify-content: stretch !important;
}

.flex-halign-start {
  justify-content: flex-start !important;
}

.flex-halign-end {
  justify-content: flex-end !important;
}

.flex-halign-space, .flex-halign-between {
  justify-content: space-between !important;
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink {
  flex-shrink: 1;
}

#logo {
  position: relative;
  width: 200px;
  margin: 30px auto;
  height: 60px;
  display: block;
  overflow: hidden;
  z-index: 99;
  font-size: 0;
}
@media screen and (min-width: 48em) {
  #logo {
    width: 220px;
    height: 67px;
  }
}
@media screen and (min-width: 60em) {
  #logo {
    margin: 40px 0;
    clear: both;
    width: 250px;
    height: 75px;
  }
}

#home #logo {
  float: none;
  margin: 30px auto;
  clear: both;
  width: 200px;
  display: block;
  height: 60px;
}
@media screen and (min-width: 48em) {
  #home #logo {
    width: 220px;
    height: 67px;
  }
}
@media screen and (min-width: 60em) {
  #home #logo {
    margin: 0 auto;
    display: block;
    float: none;
    width: 300px;
    height: 89px;
    display: block;
    clear: both;
    margin: 52px auto;
  }
}

@media screen and (min-width: 48em) {
  .ewerk #logo {
    width: 212px;
    height: 38px;
  }
}

#claim {
  padding: 20px;
  display: block;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.15);
}
@media screen and (min-width: 48em) {
  #claim {
    padding: 30px;
  }
}
@media screen and (min-width: 60em) {
  #claim {
    line-height: 1.2;
    padding: 40px;
    text-align: center;
    font-size: 1.8rem !important;
  }
}

#claim h2 {
  display: block;
  color: #379848;
  line-height: 1.1;
  text-align: center;
  font-size: 1.3rem !important;
  margin: 0 !important;
  padding: 0;
  line-height: 1.4;
}
@media screen and (min-width: 48em) {
  #claim h2 {
    font-size: 1.4rem !important;
    max-width: 54ch;
    margin: 0 auto !important;
  }
}
@media screen and (min-width: 60em) {
  #claim h2 {
    line-height: 1.2;
    display: block;
    text-align: center;
    font-size: 1.8rem !important;
  }
}

/* Content Container */
div {
  width: 100%;
}

#main {
  background: #f5f5f5;
  clear: both;
  padding: 0;
}

#subcontent {
  margin: 40px 0 0 0;
  border-top: 1px solid #ccc;
  padding-top: 40px;
  padding-bottom: 40px;
  clear: both;
}

#content {
  /*> .mod_article {


              width:100%;
              max-width: var(--container-width-xs);

              margin-inline:auto;



               @include breakpoint(480px up) {

                    max-width: var(--container-width-s);


              }


              @include breakpoint(medium up) {

                    max-width: var(--container-width-m);


              }



               @include breakpoint(large up) {

                    max-width: var(--container-width-l);


              }

  }*/
}

/*
#content {
    margin-top: 50px;
}*/
/*
#home #content {
    margin-top: 0;
}*/
/* Global Layout */
#topbar {
  background: #4CA32C;
  background: rgba(19, 132, 70, 0.65);
  width: 100%;
  height: auto;
  padding: 0px;
}
#topbar .container {
  height: 100%;
}

#home #topbar {
  height: 0;
}
@media screen and (min-width: 60em) {
  #home #topbar {
    height: 60px;
  }
}

#topbar.cloned {
  position: fixed;
  width: 100%;
  top: -180px;
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  height: 50px !important;
}
#topbar.cloned #mainnav {
  float: none;
  clear: both;
  margin: 0;
  padding: 0;
  width: 100%;
}
#topbar.cloned ul#nav {
  float: none;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  height: 50px !important;
}
#topbar.cloned h1#logo {
  opacity: 0;
  display: none;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}

#topbar.cloned.sticky {
  background: rgba(19, 132, 70, 0.9);
  opacity: 1;
  top: 0px;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}

#stage {
  margin: 0;
  position: relative;
  min-height: 100px;
  background-color: #379848;
  display: flex;
  flex-wrap: wrap;
}

.innostrom #stage {
  background: url(../img/solaranlage.jpg) repeat-x center -100px fixed;
}

.innostrom.home #stage {
  margin: 0;
  position: relative;
  min-height: 100px;
  background-position: center center;
  background-attachment: scroll;
  background-size: cover;
}

.innostrom .cta-list, .innostrom .bg-foto {
  background: url("../img/solaranlage_home.jpg") repeat-x center center;
  background-size: cover;
}

.cta-list dl {
  font-size: 1rem;
  align-items: center;
  align-content: center;
}

.cta-list dt {
  font-size: 1.4rem;
  color: #379848;
  padding-top: 0px;
  font-family: "Share", sans-serif;
  line-height: 1.3;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 60em) {
  .cta-list dt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 81.25em) {
  .cta-list dt {
    font-size: 1.6rem;
  }
}

.cta-list dd {
  font-size: 1.2rem;
  color: #474747;
  line-height: 1.4;
  margin-top: 10px;
  margin-bottom: 10px;
}

.cta-list dt p {
  width: auto;
  clear: none;
  margin: 0;
  padding: 0;
  max-width: calc(100% - 120px);
}
@media screen and (min-width: 48em) {
  .cta-list dt p {
    margin-left: 5px;
  }
}
@media screen and (min-width: 81.25em) {
  .cta-list dt p {
    margin-left: 20px;
  }
}

.cta-list dl span,
.round-icon {
  padding-top: 24px;
  color: #ffffff;
  font-size: 20px;
  padding: 10px;
  background: #71B838;
  border-radius: 50%;
  width: 45px !important;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 48em) {
  .cta-list dl span,
  .round-icon {
    width: 55px !important;
    height: 55px;
    font-size: 24px;
  }
}
@media screen and (min-width: 60em) {
  .cta-list dl span,
  .round-icon {
    width: 70px !important;
    height: 70px;
    font-size: 28px;
  }
}

/* Sidebar */
aside h4 {
  background: none repeat scroll 0 0 #474747;
  border-radius: 1px;
  color: #FFFFFF;
  font-size: 0.9rem;
  line-height: normal;
  margin-bottom: 8px;
  padding: 5px 10px;
  width: auto;
  margin-top: 40px;
}

/* Footer */
#footer {
  padding: 50px 0;
  font-size: 1rem;
  position: relative;
  line-height: 1.4;
}

.innostrom #footer {
  /*@include breakpoint(large up) {
  background: url('../svg/symbol-innostrom-grey.svg') no-repeat center center;
  background-size:75px auto;
  }*/
}

.ewerk #footer {
  /*@include breakpoint(large up) {

  background: url('../img/ewerk_logo_footer.png') no-repeat center center;
  background-size:100px auto;
  }*/
}

/* member hochrein logo */
.logo-member {
  max-width: 180px;
  height: auto;
  margin: 1rem auto;
  opacity: 0.8;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}
.logo-member:hover {
  opacity: 1;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}
@media screen and (min-width: 48em) and (max-width: 59.9375em) {
  .logo-member {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 48em) and (max-width: 59.9375em) {
  .logo-member img {
    max-width: 180px;
    margin: 0 auto 1.5rem auto;
  }
}
@media screen and (min-width: 60em) {
  .logo-member {
    position: absolute;
    left: 50%;
    margin: 0;
    top: 0%;
    transform: translate(-50%, 0%);
  }
}
@media screen and (min-width: 81.25em) {
  .logo-member {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.footercontainer .four {
  min-height: 260px;
}

.footercontainer h4 {
  font-size: 1.1rem;
  font-family: "Roboto";
  font-weight: 300;
  text-align: center;
  text-transform: uppercase;
  border: 0;
  border-right: 1px solid #ddd;
  margin: 30px 0;
}

.footercontainer h4:before {
  font-size: 36px;
  font-family: "icomoon";
  text-align: center;
  color: #ddd;
  padding-top: 80px;
  margin-right: 20px;
}

.footercontainer .four:last-child h4 {
  border: 0;
}

/* Footer Menu */
#footer nav a {
  margin-right: 10px;
  padding-left: 10px;
  border-left: 1px solid #ccc;
  display: block;
}

#footer a.last:hover,
#footer a.first:hover,
#footer a.last.active,
#footer a.first.active {
  color: #138446;
}

@media only screen and (max-width: 959px) {
  #footer .twelve.columns {
    width: calc(50% - 10px);
  }
  #footer nav {
    width: calc(50% - 10px);
  }
}
@media only screen and (max-width: 767px) {
  #footer .twelve.columns {
    width: 100%;
  }
  #footer nav {
    margin-top: 30px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.1rem;
  }
}
/* #Reset & Basics (Inspired by E. Meyers)
================================================== */
/*	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline; }
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block; }
	body {
		line-height: 1; }
	ol, ul {
		list-style: none; }
	blockquote, q {
		quotes: none; }
	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none; }
	table {
		border-collapse: collapse;
		border-spacing: 0; }

*/
::selection {
  background: #111;
  color: #fff;
}

::-moz-selection {
  background: #111;
  color: #fff;
}

p {
  margin: 0;
}

p.confirm,
p.error {
  color: #ff0000;
  margin: 20px auto;
}

* {
  box-sizing: border-box;
}

/* #Basic Styles
================================================== */
body {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #474747;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  /* Fix for webkit rendering */
  -webkit-text-size-adjust: 100%;
  /* background:url(../img/bg.png) repeat-x left top #fff; */
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 1rem;
    line-height: 1.5;
  }
}
p {
  margin: 0 0 0px 0;
}

p img {
  margin: 0;
}

p.lead {
  font-size: 21px;
  line-height: 27px;
  color: #777;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

small {
  font-size: 80%;
}

/*	Blockquotes  */
blockquote,
blockquote p {
  font-size: 17px;
  line-height: 24px;
  color: #777;
  font-style: italic;
}

blockquote {
  margin: 0 0 20px;
  padding: 9px 20px 0 19px;
  border-left: 1px solid #ddd;
}

blockquote cite {
  display: block;
  font-size: 12px;
  color: #555;
}

blockquote cite:before {
  content: "— ";
}

blockquote cite a,
blockquote cite a:visited,
blockquote cite a:visited {
  color: #555;
}

hr {
  border: solid #ddd;
  border-width: 1px 0 0;
  clear: both;
  margin: 10px 0 30px;
  height: 0;
}

/* #Typography
================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #181818;
  font-family: sans-serif;
  font-weight: normal;
  width: 100%;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-weight: inherit;
}

h1 {
  font-size: 46px;
  line-height: 50px;
  margin-bottom: 24px;
}

h2 {
  font-size: 34px;
  line-height: 40px;
  margin-bottom: 20px;
}

h3 {
  font-size: 26px;
  line-height: 34px;
  margin-bottom: 12px;
}

@media only screen and (max-width: 767px) {
  h3 {
    margin: 20px 0;
    display: block;
    clear: both;
    float: none;
    position: static;
    padding: 40px 0;
    border: 0;
  }
}
h4 {
  font-size: 21px;
  line-height: 30px;
  margin-bottom: 8px;
}

h5 {
  font-size: 17px;
  line-height: 24px;
}

h6 {
  font-size: 14px;
  line-height: 21px;
}

.subheader {
  color: #777;
}

#main h2 {
  font-size: 2rem;
  margin: 40px 0;
}

.container h2.title {
  color: #fff;
  font-size: 1.6rem;
  margin-top: 40px;
  margin-bottom: 40px;
}

h1,
h2,
h3,
h4,
h5,
h6,
#stage dt {
  font-family: "Share", Arial, Helvetica, sans-serif;
  color: #379848;
}

#content h4,
.accordion h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1.4;
  color: #777;
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
}

.text-normal {
  text-transform: none !important;
}
.text-normal * {
  text-transform: none !important;
}

.text-left {
  text-align: left !important;
}
.text-left * {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}
.text-right * {
  text-align: right !important;
}

.text-center, .has-text-align-center {
  text-align: center !important;
}
.text-center *, .has-text-align-center * {
  text-align: center !important;
}

@media screen and (max-width: 47.9375em) {
  .text-center-s {
    text-align: center !important;
  }
  .text-center-s * {
    text-align: center !important;
  }
}

@media screen and (min-width: 48em) and (max-width: 59.9375em) {
  .text-center-m {
    text-align: center !important;
  }
  .text-center-m * {
    text-align: center !important;
  }
}

.text-justify {
  text-align: justify;
}
.text-justify * {
  text-align: justify;
}

.text-uppercase {
  text-transform: uppercase;
}
.text-uppercase * {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}
.text-lowercase * {
  text-transform: lowercase;
}

.max-text-width {
  /*@include breakpoint(xlarge up) {
  max-width:700px;
  }*/
}
@media screen and (min-width: 81.25em) {
  .max-text-width > * {
    max-width: 560px;
  }
}

.width-auto {
  display: inline-block;
  width: auto !important;
}

.letter-spacing {
  letter-spacing: 0.1rem;
}
.letter-spacing * {
  letter-spacing: 0.1rem;
}

.font-main {
  font-family: "Source Sans Pro", sans-serif !important;
}

.font-accent {
  font-family: "Share", sans-serif !important;
}

.script {
  font-family: "Share", sans-serif;
  letter-spacing: 0;
  text-align: center;
  color: #cffbff;
  text-transform: none;
  font-weight: 100;
  letter-spacing: 0 !important;
  font-style: normal !important;
  margin: 0;
  font-size: 4.5rem;
  line-height: 1 !important;
}
@media screen and (min-width: 48em) {
  .script {
    font-size: 5.3rem !important;
  }
}
@media screen and (min-width: 60em) {
  .script {
    font-size: 5.5rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .script {
    font-size: 6rem !important;
  }
}
@media screen and (min-width: 100em) {
  .script {
    font-size: 6.3rem !important;
  }
}

@media screen and (max-width: 59.9375em) {
  .script.skew {
    padding-top: 3rem;
  }
}

.intro, .introduction {
  position: relative;
  font-family: "Share", sans-serif;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 300;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (min-width: 60em) {
  .intro, .introduction {
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: center;
    padding-left: 0vw;
    padding-right: 0vw;
    max-width: 700px;
  }
}
@media screen and (min-width: 81.25em) {
  .intro, .introduction {
    font-size: 1.5rem;
    max-width: 800px;
  }
}
.text-bold, .font-bold {
  font-weight: 700;
}

.text-normal, .text-regular, .font-normal, .font-regular {
  font-weight: 400;
}

.text-light, .font-light {
  font-weight: 200;
}

.text-xsmall,
.text-xsmall * {
  font-size: 0.75rem !important;
}
@media screen and (min-width: 60em) {
  .text-xsmall,
  .text-xsmall * {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xsmall,
  .text-xsmall * {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xsmall,
  .text-xsmall * {
    font-size: 0.8rem !important;
  }
}

.text-small,
.text-small * {
  font-size: 0.9rem !important;
}
@media screen and (min-width: 60em) {
  .text-small,
  .text-small * {
    font-size: 0.9rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-small,
  .text-small * {
    font-size: 0.9rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-small,
  .text-small * {
    font-size: 0.95rem !important;
  }
}

@media screen and (min-width: 48em) {
  .text-normal,
  .text-normal * {
    font-size: 1rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 60em) {
  .text-normal,
  .text-normal * {
    font-size: 1rem;
    line-height: 1.65;
  }
}
@media screen and (min-width: 81.25em) {
  .text-normal,
  .text-normal * {
    font-size: 1.05rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 100em) {
  .text-normal,
  .text-normal * {
    font-size: 1.1rem;
    line-height: 1.6;
  }
}

.text-medium,
.text-medium * {
  font-size: 1.4rem !important;
}
@media screen and (min-width: 81.25em) {
  .text-medium,
  .text-medium * {
    font-size: 1.5rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-medium,
  .text-medium * {
    font-size: 1.5rem !important;
  }
}
@media screen and (min-width: 131.25em) {
  .text-medium,
  .text-medium * {
    font-size: 1.6rem !important;
  }
}

.text-large,
.text-large * {
  font-size: 1.8rem !important;
}
@media screen and (min-width: 60em) {
  .text-large,
  .text-large * {
    font-size: 1.9rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-large,
  .text-large * {
    font-size: 2rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-large,
  .text-large * {
    font-size: 2rem !important;
  }
}

.text-xlarge,
.text-xlarge * {
  font-size: 2.1rem !important;
}
@media screen and (min-width: 60em) {
  .text-xlarge,
  .text-xlarge * {
    font-size: 2.3rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xlarge,
  .text-xlarge * {
    font-size: 2.6rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xlarge,
  .text-xlarge * {
    font-size: 3rem !important;
  }
}

.text-xxlarge,
.text-xxlarge * {
  font-size: 2.3rem !important;
}
@media screen and (min-width: 60em) {
  .text-xxlarge,
  .text-xxlarge * {
    font-size: 2.6rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xxlarge,
  .text-xxlarge * {
    font-size: 3.2rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xxlarge,
  .text-xxlarge * {
    font-size: 3.5rem !important;
  }
}

.text-xxxlarge,
.text-xxxlarge * {
  font-size: 2.7rem !important;
}
@media screen and (min-width: 60em) {
  .text-xxxlarge,
  .text-xxxlarge * {
    font-size: 3.2rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xxxlarge,
  .text-xxxlarge * {
    font-size: 3.7rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xxxlarge,
  .text-xxxlarge * {
    font-size: 3.9rem !important;
  }
}

.text-xxxxlarge,
.text-xxxxlarge * {
  font-size: 3.4rem !important;
}
@media screen and (min-width: 60em) {
  .text-xxxxlarge,
  .text-xxxxlarge * {
    font-size: 3.8rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xxxxlarge,
  .text-xxxxlarge * {
    font-size: 4.2rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xxxxlarge,
  .text-xxxxlarge * {
    font-size: 5.1rem !important;
  }
}

.text-xxxxxlarge,
.text-xxxxxlarge * {
  font-size: 4rem !important;
}
@media screen and (min-width: 60em) {
  .text-xxxxxlarge,
  .text-xxxxxlarge * {
    font-size: 4.9rem !important;
  }
}
@media screen and (min-width: 81.25em) {
  .text-xxxxxlarge,
  .text-xxxxxlarge * {
    font-size: 5.7rem !important;
  }
}
@media screen and (min-width: 100em) {
  .text-xxxxxlarge,
  .text-xxxxxlarge * {
    font-size: 6.6rem !important;
  }
}

.text-white {
  color: #ffffff !important;
}
.text-white * {
  color: #ffffff !important;
}

.text-white {
  color: #ffffff !important;
  border-color: #ffffff !important;
}
.text-white * {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.text-brand {
  color: #379848 !important;
  fill: #379848 !important;
}
.text-brand * {
  color: #379848 !important;
  fill: #379848 !important;
}

.text-brand-dark {
  color: #138446 !important;
}
.text-brand-dark * {
  color: #138446 !important;
}

.text-brand2 {
  color: #cffbff !important;
}
.text-brand2 * {
  color: #cffbff !important;
}

.text-brand3 {
  color: #cffbff !important;
}
.text-brand3 * {
  color: #cffbff !important;
}

.text-grey-dark {
  color: #474747 !important;
  border-color: #474747 !important;
}
.text-grey-dark * {
  color: #474747 !important;
  border-color: #474747 !important;
}

.text-grey {
  color: #737970 !important;
  border-color: #737970 !important;
}
.text-grey * {
  color: #737970 !important;
  border-color: #737970 !important;
}

.text-grey-light {
  color: #eeeeee !important;
  border-color: #eeeeee !important;
}
.text-grey-light * {
  color: #eeeeee !important;
  border-color: #eeeeee !important;
}

.text-black {
  color: #111111 !important;
  border-color: #111111 !important;
}
.text-black * {
  color: #111111 !important;
  border-color: #111111 !important;
}

.dropdown-toggle {
  position: absolute;
  right: 0;
  top: 0;
  height: 60px;
  width: 50px;
  display: flex;
  font-size: 25px;
  font-weight: 600;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.dropdown-toggle:after {
  content: "+";
}
.dropdown-toggle.is-toggled:after {
  content: "-";
}
@media screen and (min-width: 60em) {
  .dropdown-toggle {
    display: none;
  }
}

.nav-toggle {
  border: none;
  background: transparent !important;
}

.nav-toggle.active {
  background: transparent !important;
}

.nav-toggle .icon-bar {
  width: 22px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.nav-toggle {
  display: none !important;
}

/**
  Hamburger
**/
.hamburger {
  position: fixed;
  display: block;
  top: 0px;
  right: 5px;
  width: 35px;
  height: 35px;
  z-index: 9999;
  padding: 0;
  width: 55px;
  height: 55px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}
@media screen and (min-width: 31.25em) {
  .hamburger {
    right: 15px;
  }
}
@media screen and (min-width: 60em) {
  .hamburger {
    display: none;
  }
}

.hamburger.sticky {
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -ms-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.5, 0.1, 0.3, 1);
}
.hamburger.sticky div {
  background-color: #138446;
}

.hamburger div {
  position: relative;
  width: 35px;
  height: 2px;
  border-radius: 0px;
  background-color: #ffffff;
  margin-top: 5px;
  transition: all 0.3s ease-in-out;
}
.hamburger div:first-child {
  margin-top: 0;
}

/**
Animations
**/
.nav-toggle:checked + .hamburger .top {
  transform: rotate(-45deg);
  background-color: #379848;
  margin-top: 10px;
}

.nav-toggle:checked + .hamburger .bottom {
  opacity: 0;
  background-color: #379848;
  transform: rotate(45deg);
}

.nav-toggle:checked + .hamburger .mid {
  transform: rotate(45deg);
  background-color: #379848;
  margin-top: -2px;
}

/*.nav-toggle:checked + .hamburger + .nav {
  top: 0;
  transform: scale(1);
}*/
/* --------------------------------------------
   #Navigation 
   -------------------------------------------- */
/* Navigational Elements */
/* Main Navi */
@media screen and (max-width: 59.9375em) {
  #mainnav {
    top: 0px;
    height: auto;
    position: fixed;
    width: auto;
    min-height: 100vh;
    height: auto;
    width: 100vw;
    left: 0;
    background: #eeeeee;
    z-index: 100;
    left: 100vw;
    transition: all 0.5s ease-in-out;
  }
}
@media screen and (min-width: 60em) {
  #mainnav {
    overflow: visible;
  }
}

@media screen and (min-width: 60em) {
  #home #mainnav {
    margin: 0 auto;
    display: block;
    clear: both;
    float: none;
    width: 60%;
  }
}

@media screen and (max-width: 59.9375em) {
  #mainnav.opened,
  #home #mainnav.opened {
    left: 0;
    transition: all 0.5s ease-in-out;
  }
}

@media screen and (max-width: 59.9375em) {
  ul#nav {
    float: none;
    clear: both;
    margin: 0px;
    padding: 0px;
    position: relative;
    max-width: 100%;
    font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    transition: all 0.5s ease-in-out;
    width: 100%;
    min-height: 100vh;
    border-top: 1px solid #eeeeee;
  }
}
@media screen and (min-width: 60em) {
  ul#nav {
    clear: both;
    width: auto;
    margin-right: 0px;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
}

#home ul#nav {
  margin: 0 auto;
}

@media screen and (max-width: 59.9375em) {
  ul#nav > li {
    float: none;
    display: block;
    width: 100%;
    padding: 0;
    height: auto;
    margin: 0;
    border: 0;
    text-align: left;
    max-width: inherit;
    background: #fff;
    position: relative;
  }
}
@media screen and (min-width: 60em) {
  ul#nav > li {
    display: block;
    float: left;
    list-style: none;
    list-style-image: none;
    margin-left: 15px;
    position: relative;
    padding: 0;
  }
}

ul#nav > li:after {
  display: none;
}
@media screen and (min-width: 60em) {
  ul#nav > li:after {
    display: inline-block;
    content: "|";
    font-size: 1.1rem;
    color: #fff;
    margin-left: 12px;
    float: left;
    padding: 0;
  }
}

@media screen and (min-width: 60em) {
  ul#nav > li.submenu > a:after,
  ul#nav > li.menu-item-has-children > a:after {
    font-family: "icomoon";
    color: #ffffff;
    content: "\f029";
    margin-left: 7px;
    font-size: 13px;
    margin-top: 0px;
  }
}

@media screen and (max-width: 59.9375em) {
  ul#nav > li > a {
    float: none;
    display: block;
    width: auto;
    height: auto;
    padding: 15px 0;
    border: 0;
    font-size: 1.3rem;
    margin: 0;
    color: #111111;
    border-bottom: 1px solid #ccc;
    text-align: center;
    background-image: none;
    font-family: "Share", sans-serif;
  }
}
@media screen and (min-width: 60em) {
  ul#nav > li > a {
    font-family: "Share", sans-serif;
    display: block;
    float: left;
    font-size: 1.3rem;
    color: #ffffff;
    text-decoration: none;
    font-weight: normal;
  }
}

ul#nav > li > a:hover,
ul#nav > li:hover > a,
ul#nav > li > a.active,
ul#nav > li > a.trail {
  color: #ffffff;
  background: #379848;
}
@media screen and (min-width: 60em) {
  ul#nav > li > a:hover,
  ul#nav > li:hover > a,
  ul#nav > li > a.active,
  ul#nav > li > a.trail {
    color: #cffbff;
    background: transparent;
  }
}

/* Level 2 */
ul#nav > li > ul {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
}
@media screen and (min-width: 60em) {
  ul#nav > li > ul {
    position: absolute;
    width: auto;
    margin: 0;
    float: none;
    top: 36px;
    left: 0px;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    max-width: 400px;
    z-index: 99999;
    box-shadow: 0 0 35px rgba(0, 0, 0, 0.2);
  }
}

@media screen and (min-width: 60em) {
  ul#nav > li:hover > ul {
    max-height: 500px;
    transition: all 0.5s ease-in-out;
  }
}

ul#nav > li.is-open > ul {
  max-height: 200vh;
  transition: all 0.5s ease-in-out;
}

ul#nav > li > ul li {
  clear: both;
  line-height: 1.2rem;
  height: auto;
  width: auto;
  margin: 0;
  position: static;
}

ul#nav > li > ul li > a {
  padding: 15px;
  text-align: center;
  background: #eeeeee;
  width: 100%;
  display: block;
  font-family: "Share", sans-serif;
  font-size: 1.3rem;
}
@media screen and (min-width: 60em) {
  ul#nav > li > ul li > a {
    background: #ffffff;
    text-align: left;
    font-size: 1.2rem;
    padding: 10px 20px;
  }
}

ul#nav > li > ul li a:hover,
ul#nav > li > ul li a.active {
  color: #138446;
}

@media only screen and (max-width: 959px) {
  /* Subnav */
  /*

  ul#nav,
  #home ul#nav,
  ul#nav ul,
  #home ul#nav ul {
      float: none;
      clear: both;
      margin: 0px;
      padding: 0px;
      height: auto;
      position: relative;
      display: block;
      width: 100%;
      max-width: 100%;
      font-size: 1.6rem;
      flex-wrap: wrap;
      align-items: center;
      align-content: center;
      transition: all 0.5s ease-in-out;


  }







  ul#nav,
  #home ul#nav {
      width: 100%;
      display: flex;
      align-items: center;
      transition: all 0.5s ease-in-out;
      min-height: 100vh;



  }




  ul#nav li {
      float: none;
      display: block;
      width: 100%;
      padding: 0;
      height: auto;
      margin: 0;
      border: 0;
      text-align: left;
      max-width: inherit;
      background: #fff;
      position: relative;



  }




  ul#nav>li:after {
      display: none;
  }




  ul#nav li a {
      float: none;
      display: block;
      width: auto;
      height: auto;
      padding: 15px 0;
      border: 0;
      font-size: 1.3rem;
      margin: 0;
      color: #767676;
      border-bottom: 1px solid #ccc;
      text-align: center;
      background-image: none;
      font-family: "Share", sans-serif;

  }


  ul#nav li a:hover,
  ul#nav li a.active,
  ul#nav li a.trail {
      color: #4BA22C;
  }




  /* Subnav */
  /*
  ul#nav li ul {
      max-height:0;
      overflow: hidden;
      transition:all 0.5s ease-in-out;
  }



  ul#nav li.is-open ul {
      max-height:200vh;
      transition:all 0.5s ease-in-out;
  }

  ul#nav li ul li a {
      padding-left: 0px;
      background: $c-grey-light;
      color: $c-black;

  }*/
}
/* Section Submenu */
#stage ul.sectionmenu {
  margin-top: 30px;
  margin-bottom: 30px;
  display: none;
  list-style-type: none;
  padding-left: 0;
}
@media screen and (min-width: 48em) {
  #stage ul.sectionmenu {
    display: block;
  }
}

ul.sectionmenu li span {
  font-size: 11px;
  margin-right: 10px;
  color: #fff;
}

ul.sectionmenu li.active span {
  color: #cffbff;
}

ul.sectionmenu li a {
  color: #fff;
}

ul.sectionmenu li a:hover,
ul.sectionmenu li.trail a,
ul.sectionmenu li a.active {
  color: #cffbff;
}

/* Pagination */
.pagination {
  clear: both;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 1vw;
  width: 100%;
}
.pagination p {
  float: left;
  padding: 3px 5px 3px 10px;
  display: none;
}
@media screen and (min-width: 81.25em) {
  .pagination p {
    display: block;
    margin-right: 20px;
  }
}
.pagination ul {
  display: flex;
  margin: 0;
}
.pagination ul li {
  background: #eeeeee;
  margin: 0;
  margin-right: 2px;
  padding: 0;
  width: auto;
  list-style: none;
}
.pagination ul li a,
.pagination ul li span, .pagination ul li strong {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  width: auto;
}
.pagination ul li span, .pagination ul li strong {
  background-color: #379848;
  color: #ffffff;
}

/* #Lists
================================================== */
ul, ol {
  margin-bottom: 20px;
  padding: 0;
  padding-left: 20px;
}

ol {
  list-style: decimal;
}

ol, ul.square, ul.circle, ul.disc {
  margin-left: 30px;
}

ul.square {
  list-style: square outside;
}

ul.circle {
  list-style: circle outside;
}

ul.disc {
  list-style: disc outside;
}

ul ul, ul ol,
ul ul li, ul ol li,
ol ol li, ol ul li {
  margin-bottom: 0px;
}

li { /*line-height: 18px; margin-bottom: 12px;*/ }

ul.large li { /*line-height: 21px;*/ }

li p { /*line-height: 21px;*/ }

/* Lists */
.col1 ul,
.col2 ul {
  clear: both;
}

.col2 ul li,
.col1 ul li {
  list-style-position: outside;
  list-style-type: disc;
  margin-left: 12px;
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 10px;
  padding-bottom: 10px;
  clear: both;
}

ul.tweet_list li {
  list-style-type: none;
  margin-left: 0;
  border-bottom-width: 0;
  margin-bottom: 5px;
  padding-bottom: 5px;
  line-height: 1.5rem;
  padding: 5px;
}

/* #Links
================================================== */
a,
a:visited {
  color: #70B838;
  text-decoration: none;
}

a:hover {
  color: #138446;
}

p a,
p a:visited {
  line-height: inherit;
}

.back,
.txtlink {
  font-size: 0.9rem;
  font-weight: normal;
  text-align: left;
}

.back a,
.txtlink {
  font-weight: normal;
  margin-left: 5px;
  font-family: "Roboto", sans-serif;
  width: auto;
  text-transform: uppercase;
}

.invisible {
  display: none !important;
}

.wrap .iconlink {
  background: #212E36;
  width: 52px;
  height: 52px;
  border-radius: 30px;
  display: block;
  font-weight: normal;
  color: #fff;
  text-align: center;
  line-height: 52px;
  letter-spacing: 0;
  font-size: 34px;
  text-shadow: none;
  float: left;
  cursor: pointer;
  overflow: hidden;
}

.wrap .iconlink:hover {
  background: #354A56;
  color: #eee;
}

/* Media */
img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.ce_text p img {
  width: inherit;
}

figure {
  margin: 0;
  padding: 0;
}

iframe {
  width: 100%;
}

.imgcontain img {
  max-width: 100%;
  margin: 0 auto;
  vertical-align: middle;
  max-height: 100%;
  object-fit: cover;
  object-position: center center;
}

article a.imglink .moreicon {
  position: absolute;
  font-size: 28px;
  left: 50%;
  top: 50%;
  margin-left: -26px;
  margin-top: -26px;
  width: 52px;
  height: 52px;
  background: #cffbff;
  color: #fff;
  text-align: center;
  line-height: 52px;
  border-radius: 28px;
  display: none;
}

.imgcontain {
  margin: 0 auto;
  background: #f5f5f5;
  text-align: center;
  padding-top: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center center;
}

.four .imgcontain {
  height: 200px;
  /* Vertical Align need fixed height */
}

.eight .imgcontain {
  margin-top: 20px;
  height: 400px;
  /* Vertical Align need fixed height */
}

/* Main Image */
.mainimg {
  background: #fff;
  display: block;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}

.mainimg img {
  display: block;
  float: left;
  max-width: 100%;
}

#content .imgtext {
  background: none repeat scroll 0 0 #FFFFFF;
  color: #4CA32C;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  padding: 10px 2%;
  width: 50%;
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {
  #content .imgtext {
    padding: 10px 2%;
    width: 100%;
  }
}
.imgtext h5 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 0.9rem;
  line-height: 1.2rem;
  font-weight: 300;
  margin: 30px;
}

.imgcaption {
  display: block;
  margin: 15px 0;
  border-bottom: 1px solid #ccc;
  font-size: 0.8rem;
  text-align: right;
  color: #777;
}

/* Article Images */
div.image-container {
  margin-top: 10px;
  margin-bottom: 0;
  clear: both;
}

.caption {
  background-color: #cacaca;
  color: #fff;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-size: 10px;
  padding: 3px 5px;
  clear: both;
  margin-bottom: 40px;
}

.holder {
  height: 400px;
  display: block;
  clear: both;
  z-index: 10;
  position: relative;
}

ul.slideshow {
  padding: 0;
  height: 400px;
  overflow: hidden;
  display: block;
  clear: both;
  z-index: 10;
  top: 0;
  margin: 0;
  background: url(../img/loader.gif) no-repeat center center;
}

ul.slideshow li {
  display: block;
  clear: both;
  max-height: 400px;
  max-width: 100%;
  position: relative;
}

ul.slideshow li img {
  max-width: 100%;
  border: 0;
}

/*Lightbox */
#Choco_overlay {
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  display: none;
  padding: 0;
  margin: 0;
}

#Choco_content {
  display: none;
  width: 800px;
  height: 600px;
  z-index: 10001;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -400px;
  margin-top: -300px;
  border-top: 1px solid transparent;
  /*Yes, adjust image perfectly at the center of a box, don't know why.*/
}

#Choco_left_arrow {
  float: left;
  text-align: left;
  background-position: 12%;
  left: -14%;
}

#Choco_right_arrow {
  float: right;
  text-align: right;
  background-position: 88%;
  left: 14%;
}

.Choco_arrows {
  background-repeat: no-repeat;
  display: none;
  position: relative;
  cursor: pointer;
  width: 49%;
  top: -100%;
  height: 100%;
  margin-top: -30px;
  font-size: 40px;
  line-height: 720px;
  top: -100%;
  width: 49%;
}

#Choco_container_photo {
  text-align: center;
  width: 800px;
  height: 600px;
  /*background:url(../images/ajax-loader.gif) center center no-repeat;*/
}

#Choco_container_description {
  padding: 0;
  height: 26px;
  width: 100%;
  color: #505050;
  font-family: Tahoma;
  clear: both;
  position: relative;
  font-size: 12px;
  margin-top: -5px;
  overflow: hidden;
  visibility: hidden;
}

#Choco_container_title {
  float: left;
  padding: 5px;
}

#Choco_container_via {
  padding: 5px;
  float: right;
}

#Choco_container_via a {
  color: gray;
}

#Choco_container_via a:hover {
  color: white;
  background: gray;
}

#Choco_close {
  width: 24px;
  height: 40px;
  z-index: 10002;
  cursor: pointer;
  margin-top: -13px;
  display: none;
  position: absolute;
  right: 0;
  text-align: center;
  top: -20px;
  font-size: 24px;
}

#Choco_loading {
  width: 9px;
  height: 11px;
  background-image: url(../images/chargement2.gif);
  background-repeat: no-repeat;
  z-index: 10002;
  cursor: pointer;
  float: right;
  margin-top: -20px;
  display: none;
}

#Choco_bigImage {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
  margin-top: -5px;
}

/* Accordion */
.accordion h3 {
  font-size: 1.4rem;
  background: #fff;
  padding: 15px 20px;
  clear: both;
  display: block;
  font-family: "Source Sans Pro", sans-serif;
}

.accordion h3 span {
  font-size: 1.4rem;
  margin-right: 20px;
  color: #138446;
}

.accordion .acc_content {
  background: #eee;
  padding: 20px;
}

/* #Forms
================================================== */
.formbody label {
  font-size: 0.8rem;
  font-size: 1rem;
  color: #379848;
  font-weight: bold;
  clear: both;
  float: left;
  display: block;
  font-weight: normal;
  display: none;
}

.widget-checkbox label {
  display: block;
  color: #138446;
}

fieldset {
  border: 0;
  padding: 0;
}

input[type=text],
input[type=password],
input[type=email],
textarea,
select {
  padding: 1rem 1.5rem;
  margin-bottom: 0px;
  width: 100%;
  font-size: 1rem;
  font-family: "Source Sans Pro", sans-serif;
  background: #ffffff;
  border: 1px solid #eeeeee;
  color: #111111;
  /*box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);*/
}

textarea {
  height: 215px;
  width: 100%;
  font-size: 1rem;
}

button,
input[type=submit],
input[type=file] {
  font-size: 1rem;
  width: 100%;
  text-transform: none;
  font-weight: 300;
  max-width: 200px;
  padding: 10px 20px;
  background-image: none;
  background-color: #379848;
  border: 0;
  display: block;
  color: #ffffff;
  font-weight: 500;
}

input[type=file] {
  background-color: #ffffff;
  color: #111111;
  max-width: 100%;
  font-weight: 600;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
  width: auto;
}

.formbody {
  display: flex;
  flex-wrap: wrap;
}

.formbody .widget {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 48em) {
  .formbody .widget {
    width: 50%;
  }
}

.formbody .widget-explanation,
.formbody .widget-textarea,
.formbody .widget-checkbox {
  width: 100%;
}

.btn {
  max-width: 260px;
  font-size: 0.9rem;
  background: #379848;
  display: block;
  color: #ffffff;
  padding: 0.5rem 0.75rem;
}
.btn a {
  color: #ffffff;
}
.btn.right {
  justify-self: flex-end;
  margin-left: auto;
}

.cta-btn, .cta-btn:link, .cta-btn:visited {
  max-width: 260px;
  background: #379848;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.02rem;
  font-size: 1rem;
  font-weight: 500;
  color: #ffffff;
  padding: 0.5rem 0.75rem;
  text-align: center;
  margin-inline: auto;
}
.cta-btn a, .cta-btn:link a, .cta-btn:visited a {
  color: #ffffff;
}
.cta-btn.right, .cta-btn:link.right, .cta-btn:visited.right {
  justify-self: flex-end;
  margin-left: auto;
}
.cta-btn:hover, .cta-btn:link:hover, .cta-btn:visited:hover {
  background: #138446;
}

/* Content Boxes */
.box {
  padding: 0;
  background: #ffffff;
  overflow: hidden;
  position: relative;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

.box h3 {
  height: 5rem;
  overflow: hidden;
  padding: 0;
  border-bottom: 1px solid #eeeeee;
}

/*.box.same-height {
    height: 670px;

}*/
.box img {
  max-width: 100%;
}

.box .teaser {
  padding: 20px;
}

.box .teaser .teaser-text {
  height: 7rem;
  overflow: hidden;
  margin-bottom: 60px;
}

.box .more {
  bottom: 10px;
  margin-top: 10px;
  position: absolute;
  right: 20px;
  text-align: right;
  width: 100%;
}

.box .layer {
  position: absolute;
  background: #6CB53D;
  width: 100%;
  height: 100%;
}

.mod_newslist span[class*=icon] {
  font-size: 10px;
  margin-right: 5px;
}

/* Subcontent Boxes */
@media only screen and (max-width: 767px) {
  #subcontent .box img {
    height: 200px;
  }
}
@media only screen and (max-width: 767px) and (min-width: 48em) {
  #subcontent .box img {
    height: 150px;
  }
}
@media only screen and (max-width: 767px) and (min-width: 60em) {
  #subcontent .box img {
    height: 150px;
  }
}
#subcontent .box .teaser {
  height: 70px;
  padding: 10px;
}
@media screen and (min-width: 48em) {
  #subcontent .box .teaser {
    height: 120px;
  }
}
@media screen and (min-width: 60em) {
  #subcontent .box .teaser {
    height: 100px;
  }
}

#subcontent .box a {
  display: block;
  color: #138446;
  font-weight: 400;
}

#subcontent .box a:hover {
  color: #379848;
}

@media screen and (min-width: 60em) {
  .news-boxes {
    align-content: stretch;
    align-items: stretch;
  }
}

.news-box {
  background: #ffffff;
  padding: 20px 20px;
  height: 100%;
  position: relative;
}
.news-box .more {
  max-width: 150px;
  font-size: 0.9rem;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #eeeeee;
  display: block;
  color: #379848;
  padding: 0.5rem 0.75rem;
}
.news-box .more a {
  color: #111111;
}
.news-box .title {
  height: 3.5rem;
}

.meta {
  background: #086733;
  color: #ffffff;
  text-align: center;
}

.meta .message {
  color: #ffffff;
  padding: 20px 8px;
  font-size: 1.2rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 60em) {
  .meta .message {
    font-size: 1.35rem;
    padding: 30px 10px;
  }
}
@media screen and (min-width: 100em) {
  .meta .message {
    font-size: 1.5rem;
  }
}
.meta a {
  color: #ffffff;
  display: flex;
}
.meta .warning {
  font-weight: 700;
}
.meta i {
  color: #cffbff;
  font-size: 30px;
  margin-right: 12px;
}

.margin-center {
  margin-left: auto;
  margin-right: auto;
}

.mt-bug, .margin-bug {
  overflow: auto;
}

.mt-xsmall {
  margin-top: 7px;
}
@media screen and (min-width: 48em) {
  .mt-xsmall {
    margin-top: 10px;
  }
}
@media screen and (min-width: 60em) {
  .mt-xsmall {
    margin-top: 15px;
  }
}

.mt-small {
  margin-top: 16px;
}
@media screen and (min-width: 48em) {
  .mt-small {
    margin-top: 25px;
  }
}
@media screen and (min-width: 60em) {
  .mt-small {
    margin-top: 35px;
  }
}

.mt-medium {
  margin-top: 30px;
}
@media screen and (min-width: 48em) {
  .mt-medium {
    margin-top: 50px;
  }
}
@media screen and (min-width: 60em) {
  .mt-medium {
    margin-top: 70px;
  }
}
@media screen and (min-width: 100em) {
  .mt-medium {
    margin-top: 85px !important;
  }
}

.mt-large {
  margin-top: 40px !important;
}
@media screen and (min-width: 48em) {
  .mt-large {
    margin-top: 70px !important;
  }
}
@media screen and (min-width: 60em) {
  .mt-large {
    margin-top: 105px !important;
  }
}
@media screen and (min-width: 100em) {
  .mt-large {
    margin-top: 135px !important;
  }
}

.mt-xlarge {
  margin-top: 75px;
}
@media screen and (min-width: 48em) {
  .mt-xlarge {
    margin-top: 100px;
  }
}
@media screen and (min-width: 60em) {
  .mt-xlarge {
    margin-top: 160px !important;
  }
}
@media screen and (min-width: 100em) {
  .mt-xlarge {
    margin-top: 195px !important;
  }
}

.mt-xxlarge {
  margin-top: 125px;
}
@media screen and (min-width: 48em) {
  .mt-xxlarge {
    margin-top: 150px;
  }
}
@media screen and (min-width: 60em) {
  .mt-xxlarge {
    margin-top: 235px !important;
  }
}
@media screen and (min-width: 100em) {
  .mt-xxlarge {
    margin-top: 270px !important;
  }
}

.mb-xsmall {
  margin-bottom: 7px;
}
@media screen and (min-width: 48em) {
  .mb-xsmall {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 60em) {
  .mb-xsmall {
    margin-bottom: 15px;
  }
}

.mb-small {
  margin-bottom: 16px;
}
@media screen and (min-width: 48em) {
  .mb-small {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 60em) {
  .mb-small {
    margin-bottom: 35px;
  }
}

.mb-medium {
  margin-bottom: 30px;
}
@media screen and (min-width: 48em) {
  .mb-medium {
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 60em) {
  .mb-medium {
    margin-bottom: 70px;
  }
}

.mb-large {
  margin-bottom: 40px;
}
@media screen and (min-width: 48em) {
  .mb-large {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 60em) {
  .mb-large {
    margin-bottom: 95px;
  }
}

.mb-xlarge {
  margin-bottom: 75px;
}
@media screen and (min-width: 48em) {
  .mb-xlarge {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 60em) {
  .mb-xlarge {
    margin-bottom: 150px;
  }
}

.mb-xxlarge {
  margin-bottom: 125px;
}
@media screen and (min-width: 48em) {
  .mb-xxlarge {
    margin-bottom: 150px;
  }
}
@media screen and (min-width: 60em) {
  .mb-xxlarge {
    margin-bottom: 275px !important;
  }
}

/*
.large-mb-50 {

  @include breakpoint(large up) {

      margin-bottom: 50px;
  }
}


.large-mb-100 {

  @include breakpoint(large up) {

      margin-bottom: 100px;
  }
}


.large-mb-150 {

  @include breakpoint(large up) {

      margin-bottom: 150px;
  }
}

.large-mb-200 {

  @include breakpoint(large up) {

      margin-bottom: 200px;
  }
}

.large-mb-250 {

  @include breakpoint(large up) {

      margin-bottom: 250px;
  }
}


.large-mb-300 {

  @include breakpoint(large up) {

      margin-bottom: 300px;
  }
}



.large-mb-500 {

  @include breakpoint(large up) {

      margin-bottom: 500px;
  }
}*/
@media screen and (min-width: 60em) {
  .mt-50px-negative {
    margin-top: -50px;
  }
}

@media screen and (min-width: 60em) {
  .mt-100px-negative {
    margin-top: -100px;
  }
}

@media screen and (min-width: 60em) {
  .mt-5-negative {
    margin-top: -5%;
  }
}

@media screen and (min-width: 60em) {
  .mt-10-negative {
    margin-top: -10%;
  }
}

@media screen and (min-width: 60em) {
  .mt-15-negative {
    margin-top: -15%;
  }
}

@media screen and (min-width: 60em) {
  .mt-20-negative {
    margin-top: -20%;
  }
}

.ml-small {
  margin-left: 1rem !important;
}
@media screen and (min-width: 48em) {
  .ml-small {
    margin-left: 1rem !important;
  }
}
@media screen and (min-width: 60em) {
  .ml-small {
    margin-left: 1rem !important;
  }
}

.mr-small {
  margin-right: 1rem !important;
}
@media screen and (min-width: 48em) {
  .mr-small {
    margin-right: 1rem !important;
  }
}
@media screen and (min-width: 60em) {
  .mr-small {
    margin-right: 1rem !important;
  }
}

.no-padding, .p-zero {
  padding: 0 !important;
}
.no-padding *, .p-zero * {
  padding: 0 !important;
}

.p-xxsmall {
  padding: 3px !important;
}
@media screen and (min-width: 48em) {
  .p-xxsmall {
    padding: 4px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-xxsmall {
    padding: 5px !important;
  }
}

.p-xsmall {
  padding: 5px !important;
}
@media screen and (min-width: 48em) {
  .p-xsmall {
    padding: 10px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-xsmall {
    padding: 15px !important;
  }
}

.p-small {
  padding: 15px !important;
}
@media screen and (min-width: 48em) {
  .p-small {
    padding: 20px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-small {
    padding: 30px !important;
  }
}

.pt-small {
  padding-top: 10px !important;
}
@media screen and (min-width: 48em) {
  .pt-small {
    padding-top: 20px !important;
  }
}
@media screen and (min-width: 60em) {
  .pt-small {
    padding-top: 30px !important;
  }
}

.pr-small {
  padding-right: 10px !important;
}
@media screen and (min-width: 48em) {
  .pr-small {
    padding-right: 20px !important;
  }
}
@media screen and (min-width: 60em) {
  .pr-small {
    padding-right: 30px !important;
  }
}

.pb-small {
  padding-bottom: 10px !important;
}
@media screen and (min-width: 48em) {
  .pb-small {
    padding-bottom: 20px !important;
  }
}
@media screen and (min-width: 60em) {
  .pb-small {
    padding-bottom: 30px !important;
  }
}

.p-medium {
  padding: 25px !important;
}
@media screen and (min-width: 48em) {
  .p-medium {
    padding: 40px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-medium {
    padding: 50px !important;
  }
}

.pt-medium {
  padding-top: 25px !important;
}
@media screen and (min-width: 48em) {
  .pt-medium {
    padding-top: 40px !important;
  }
}
@media screen and (min-width: 60em) {
  .pt-medium {
    padding-top: 50px !important;
  }
}

.pl-medium {
  padding-left: 25px !important;
}
@media screen and (min-width: 48em) {
  .pl-medium {
    padding-left: 40px !important;
  }
}
@media screen and (min-width: 60em) {
  .pl-medium {
    padding-left: 50px !important;
  }
}

.pr-medium {
  padding-right: 25px !important;
}
@media screen and (min-width: 48em) {
  .pr-medium {
    padding-right: 40px !important;
  }
}
@media screen and (min-width: 60em) {
  .pr-medium {
    padding-right: 50px !important;
  }
}

.pb-medium {
  padding-bottom: 25px !important;
}
@media screen and (min-width: 48em) {
  .pb-medium {
    padding-bottom: 40px !important;
  }
}
@media screen and (min-width: 60em) {
  .pb-medium {
    padding-bottom: 50px !important;
  }
}

.p-large {
  padding: 30px !important;
}
@media screen and (min-width: 48em) {
  .p-large {
    padding: 60px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-large {
    padding: 75px !important;
  }
}

.pt-large {
  padding-top: 45px !important;
}
@media screen and (min-width: 48em) {
  .pt-large {
    padding-top: 60px !important;
  }
}
@media screen and (min-width: 60em) {
  .pt-large {
    padding-top: 75px !important;
  }
}

.pb-large {
  padding-bottom: 45px !important;
}
@media screen and (min-width: 48em) {
  .pb-large {
    padding-bottom: 60px !important;
  }
}
@media screen and (min-width: 60em) {
  .pb-large {
    padding-bottom: 75px !important;
  }
}

.p-xlarge {
  padding: 60px !important;
}
@media screen and (min-width: 48em) {
  .p-xlarge {
    padding: 85px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-xlarge {
    padding: 125px !important;
  }
}

.pt-xlarge {
  padding-top: 50px !important;
}
@media screen and (min-width: 48em) {
  .pt-xlarge {
    padding-top: 75px !important;
  }
}
@media screen and (min-width: 60em) {
  .pt-xlarge {
    padding-top: 125px !important;
  }
}

.pb-xlarge {
  padding-bottom: 50px !important;
}
@media screen and (min-width: 48em) {
  .pb-xlarge {
    padding-bottom: 75px !important;
  }
}
@media screen and (min-width: 60em) {
  .pb-xlarge {
    padding-bottom: 125px !important;
  }
}

.p-xxlarge {
  padding: 75px !important;
}
@media screen and (min-width: 48em) {
  .p-xxlarge {
    padding: 100px !important;
  }
}
@media screen and (min-width: 60em) {
  .p-xxlarge {
    padding: 225px !important;
  }
}

.pt-xxlarge {
  padding-top: 75px !important;
}
@media screen and (min-width: 48em) {
  .pt-xxlarge {
    padding-top: 100px !important;
  }
}
@media screen and (min-width: 60em) {
  .pt-xxlarge {
    padding-top: 225px !important;
  }
}

.pb-xxlarge {
  padding-bottom: 75px !important;
}
@media screen and (min-width: 48em) {
  .pb-xxlarge {
    padding-bottom: 100px !important;
  }
}
@media screen and (min-width: 60em) {
  .pb-xxlarge {
    padding-bottom: 225px !important;
  }
}

/* Custom Icons Zuweisung */
.accordion h3.active span:before {
  content: "\f029";
}

#Choco_left_arrow:before {
  content: "\f02a";
  font-family: "icomoon";
}

#Choco_right_arrow:before {
  content: "\f027";
  font-family: "icomoon";
}

#Choco_close:before {
  font-family: "icomoon";
  content: "\f021";
}

#up {
  bottom: 20px;
  cursor: pointer;
  display: block;
  height: 56px;
  overflow: hidden;
  position: fixed;
  right: 10px;
  text-decoration: none;
  font-size: 48px;
  width: 56px;
  border-radius: 30px;
  line-height: 56px;
  text-align: center;
  z-index: 999;
}
@media screen and (min-width: 60em) {
  #up {
    right: 10px;
    bottom: 20px;
  }
}

#klaro .klaro .cookie-notice:not(.cookie-modal-notice) {
  right: 0;
  bottom: 0;
  box-shadow: none;
  background: #eeeeee;
  box-shadow: -1px -1px 30px rgba(0, 0, 0, 0.07) !important;
  border-width: 1px 0 0 1px;
  border-radius: 0;
  padding: 0.4rem;
}
@media screen and (min-width: 81.25em) {
  #klaro .klaro .cookie-notice:not(.cookie-modal-notice) {
    max-width: 33%;
  }
}

#klaro .cn-buttons {
  display: flex;
}

#klaro .slider, .klaro .slider {
  margin-top: auto;
  margin-bottom: auto;
  height: auto;
  box-shadow: none;
}

#klaro .cm-btn {
  border-radius: 0;
  background: #474747;
  padding: 0.4rem 1rem;
  min-width: 120px;
}

#klaro .cm-link {
  color: #474747;
}

#klaro .cm-list-title, .klaro .cm-list-title {
  color: #474747;
  letter-spacing: 0.15rem;
  text-transform: uppercase;
  font-weight: 0;
}

#klaro .title, .klaro .title {
  letter-spacing: 0;
  text-transform: none;
  font-weight: 300;
  color: #474747;
}

#klaro .cookie-modal .cm-header {
  border-bottom: 1px solid #737970;
}

#klaro .cookie-modal .cm-purpose {
  border: 0;
}

#klaro .cookie-modal .cm-footer {
  border-top: 1px solid #737970;
}

#klaro .klaro .cookie-modal a, #klaro .klaro .cookie-notice a {
  border-radius: 0;
}

#klaro .klaro .cookie-modal .cm-btn.cm-btn-info,
#klaro .klaro .cookie-notice .cm-btn.cm-btn-info,
#klaro .klaro .cm-btn.cm-btn-success {
  background: #138446;
}

#klaro .klaro .cookie-modal .cm-modal.cm-klaro,
#klaro .klaro .cookie-notice:not(.cookie-modal-notice) {
  background: #ffffff;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.08), 5px 5px 10px 0 rgba(0, 0, 0, 0.08);
  box-shadow: none;
}

#klaro p, #klaro strong {
  color: #111111;
  margin-bottom: 0;
}