/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
@import url("https://fonts.googleapis.com/css?family=Cabin:400,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Lato:400,700&display=swap");
body {
  -webkit-font-smoothing: antialiased;
  background-color: #fff;
  color: #222;
}

/*******************************
 * WP WYSWIG image options
 ******************************/
/*
 * As images added through wordpress
 * have width and height HTML attributes
 * we need to say that there should be height auto
 * over CSS if we choose a different width such as 100%.
 */
img {
  height: auto;
  max-width: 100%;
  width: auto;
  min-width: 1px;
}

img.alignleft {
  float: left;
  margin: 15px 15px 15px 0;
}

img.alignright {
  float: right;
  margin: 15px 0 15px 15px;
}

img.alignnone {
  display: block;
  margin: 15px 0;
}

img.aligncenter {
  display: block;
  margin: 15px auto;
}

/*******************************
* iFrames
******************************/
iframe {
  vertical-align: top;
}

/*******************************
 * A (General link style)
 ******************************/
a {
  color: #8cb03e;
}
a:hover, a:active, a:focus {
  color: #a4c55c;
  text-decoration: none;
}

/*******************************
 * Bootstrap Overwrites
 ******************************/
@media print {
  a[href]:after {
    content: "";
  }
}
/*******************************
 * Text Selection Color
 ******************************/
::selection {
  background-color: rgba(140, 176, 62, 0.75);
  color: #ffffff;
}

/*******************************
 * iframes
 ******************************/
iframe {
  max-width: 100%;
  width: 100%;
}

/*******************************
 * Container
 ******************************/
.container {
  padding-left: 25px;
  padding-right: 25px;
}
.container .row {
  margin-left: -25px;
  margin-right: -25px;
}
.container [class*=col-] {
  padding-left: 25px;
  padding-right: 25px;
}
@media (min-width: 1600px) {
  .container {
    width: 1280px;
    max-width: calc(100% - 30px);
  }
}

/*******************************
 * Heart (in Footer)
 ******************************/
#heart {
  color: #8cb03e;
  font-family: "Segoe UI Symbol", sans-serif;
}

/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*
 * Mixin used to create
 * footer styles.
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
footer {
  background-color: #fff;
  color: #4a4a4a;
  border-top: 2px solid #efefef;
}
footer .r1 {
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (min-width: 992px) {
  footer .r1 {
    padding: 3rem 25px;
  }
}
@media (min-width: 1600px) {
  footer .r1 {
    padding: 4.5rem 25px;
  }
}
footer .r1 ul {
  list-style: none;
  padding-left: 0;
}
footer .r2 {
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #f6f8f2;
}
footer .r2 .container {
  display: flex;
  justify-content: space-between;
  flex-flow: column;
}
footer .r2 .container p,
footer .r2 .container div {
  margin: 0.15rem 0;
}
@media (min-width: 768px) {
  footer .r2 .container {
    flex-flow: row;
  }
}
footer .r2 .container::before {
  content: none;
}
footer .r2 .container::after {
  content: none;
}
footer .r2 p {
  margin: 10px 0;
}
@media print {
  footer {
    display: none;
  }
}
footer h1,
footer h2,
footer h3 {
  color: #222222;
}
footer a {
  color: #4a4a4a;
}
footer hr {
  border-color: #e6e6e6;
}

/*******************************
 * Forgery functions
 ******************************/
/*******************************
 * Misc
 ******************************/
.button-spacer {
  overflow: hidden;
  margin: 20px 0;
  position: relative;
}
.button-spacer:after {
  border-top: 1px solid #dadada;
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  margin-left: 10px;
}

/*******************************
 * Version 2
 ******************************/
/*
 * Creates a button with the necessary
 * selector. Pass the custom styles
 * directly as content block.
 *
 * @include button('my-button') { ... }
 *
 * You can use predefined button styles:
 * @include button('other-button') {
 *  @include buttonStyleSolid(...);
 * }
 *
 */
/*
 * Helper function to throw an error
 * when trying to include a buttonStyle
 * mixin on root level.
 */
/*******************************
 * Predefined Hover Styles
 ******************************/
/*******************************
 * Predefined Style Mixins
 ******************************/
/*
 * Creates a simple solid flat button with
 * customizable $backgroundColor and $color.
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * Creating Button Styles
 * (using V2 factory)
 ******************************/
.button,
input[type=submit] {
  background-color: #8cb03e;
  color: #fff;
  padding: 0.7rem 2.5rem;
  border-radius: 1.4rem;
  font-size: 0.9rem;
  display: inline;
  line-height: 3.2rem;
  white-space: nowrap;
  text-align: center;
}
.button:hover,
input[type=submit]:hover {
  color: #fff;
  background-color: #97bd45;
}
.button:focus,
input[type=submit]:focus {
  color: #fff;
}
.button:active,
input[type=submit]:active {
  background-color: #5f772a;
}

p + .button-group {
  margin-top: 1.3rem;
}

/*
 * Theme scope styles that you
 * want to add to all your buttons
 */
button, .button.style-primary {
  background-color: #415811;
}
button:hover, .button.style-primary:hover {
  background-color: #618319;
}

button, .button.style-light {
  background-color: #f6f8f2;
  color: #222;
}
button:hover, .button.style-light:hover {
  background-color: #dfe6d1;
}

button, .button.style-arrow {
  background-color: transparent;
  padding: 0.7rem 0;
  border-radius: 0;
  color: #222;
  font-weight: bold;
  display: flex;
  align-items: center;
}
button:after, .button.style-arrow:after {
  transition: all ease 200ms;
  content: "";
  background-image: url("../../res/icons/arrow.svg");
  height: 13px;
  width: 19px;
  margin-left: 10px;
}
button:hover:after, .button.style-arrow:hover:after {
  transform: translateX(10px);
}

/*******************************
 * Button Group
 ******************************/
.button-group {
  display: flex;
  flex-wrap: wrap;
  margin: -0.75rem;
}
.button-group .button {
  margin: 0.75rem;
  line-height: inherit;
}

/*******************************
 * Version 1 Generator Mixins
 ******************************/
/*******************************
 * Version 2 Generator Mixins
 ******************************/
/*
 * Main difference to V1 is, that
 * you only use the one statement to
 * define the style and at the same
 * time your custom styles.
 */
/**
 * description
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * PageSections
 ******************************/
.page-section {
  /*******************************************
  * Custom Link Style within PageSections
  ******************************************/
}
.page-section.align-vcenter .row {
  display: flex;
  flex-flow: row;
  align-items: center;
  flex-wrap: wrap;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  -ms-flex-align: center;
}
.page-section.align-vcenter .row:before, .page-section.align-vcenter .row:after {
  content: normal;
}
.page-section p a:not(.content-box):not(.button):not([href^=mailto]), .page-section p.arrow-marker,
.page-section span a:not(.content-box):not(.button):not([href^=mailto]),
.page-section span.arrow-marker {
  display: inline-flex;
  align-items: center;
  font-weight: bold;
  color: #222;
  font-size: 0.8rem;
  transition: all 200ms;
  padding: 0.5rem 0.5rem 0.5rem 0;
}
.page-section p a:not(.content-box):not(.button):not([href^=mailto]):after, .page-section p.arrow-marker:after,
.page-section span a:not(.content-box):not(.button):not([href^=mailto]):after,
.page-section span.arrow-marker:after {
  content: "";
  background-image: url("../../res/icons/arrow.svg");
  height: 12px;
  width: 12px;
  margin-left: 10px;
}

a[href^=mailto]:not(.button) {
  color: #8cb03e;
}
a[href^=mailto]:not(.button):hover {
  color: #779a2d;
}

.page-section.style-default {
  color: #222;
}
.page-section.style-default + .style-default {
  border-top: 2px solid #f4f6f7;
}

.page-section.style-light {
  background-color: #f6f8f2;
  color: #222;
}
.page-section.style-light + .style-light {
  padding-top: 0;
}

.page-section.style-primary {
  background-color: #8cb03e;
  color: #fff;
}
.page-section.style-primary h1,
.page-section.style-primary h2,
.page-section.style-primary h3,
.page-section.style-primary h4,
.page-section.style-primary h5,
.page-section.style-primary h6,
.page-section.style-primary p,
.page-section.style-primary span {
  color: #fff;
}

/*******************************
 * Layouts
 ******************************/
.page-section.layout-default {
  margin: 0;
  padding: 3.5rem 0;
}
.page-section.layout-default [class^=col-] {
  padding-left: 25px;
  padding-right: 25px;
}
@media (min-width: 1200px) {
  .page-section.layout-default {
    padding: 5rem 0;
  }
}
@media (min-width: 1400px) {
  .page-section.layout-default {
    padding: 6rem 0;
  }
}
@media (min-width: 1600px) {
  .page-section.layout-default {
    padding: 7rem 0;
  }
}

/*******************************
 * Equal Rows
 ******************************/
@media (min-width: 992px) {
  .row.equal-cols {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
}
/*******************************
 * Columns
 ******************************/
@media (min-width: 992px) {
  .page-section [class*=col-] p:first-child,
  .page-section [class*=col-] h1:first-child,
  .page-section [class*=col-] h2:first-child,
  .page-section [class*=col-] h3:first-child,
  .page-section [class*=col-] h4:first-child,
  .page-section [class*=col-] h5:first-child,
  .page-section [class*=col-] h6:first-child {
    margin-top: 0;
  }
  .page-section [class*=col-].layout-padding-l {
    padding-left: 100px;
  }
  .page-section [class*=col-].layout-padding-r {
    padding-right: 100px;
  }
  .page-section [class*=col-].layout-padding-lr {
    padding: 0 5%;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .page-section [class*=col-].layout-padding-lr {
    padding: 0 15%;
  }
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-padding-lr p {
    font-size: 120%;
  }
}
.page-section [class*=col-].layout-padding-lmax {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .page-section [class*=col-].layout-padding-lmax {
    justify-content: flex-end;
  }
}
.page-section [class*=col-].layout-padding-lmax.col-xs-6 {
  justify-content: flex-end;
}
.page-section [class*=col-].layout-padding-center {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.page-section [class*=col-].layout-padding-center .button-group {
  justify-content: center;
}
.page-section [class*=col-].layout-margin-top {
  margin-top: 30px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-top {
    margin-top: 0;
  }
}
.page-section [class*=col-].layout-margin-bottom {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-bottom {
    margin-bottom: 0;
  }
}
.page-section [class*=col-].layout-margin-top-bottom {
  margin-bottom: 15px;
  margin-top: 15px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-top-bottom {
    margin-bottom: 0;
    margin-top: 0;
  }
}

.layout-nopm {
  padding: 0;
}

.layout-mbottom {
  margin-bottom: 30px;
}

/*******************************
 * Column Order
 ******************************/
.page-section.align-vcenter[class*=order-] .row {
  flex-wrap: wrap-reverse;
}

.page-section.order-xs-reversed .row {
  display: flex;
  flex-wrap: wrap-reverse;
}
.page-section.order-xs-reversed .sticky {
  order: 1000;
}

@media (min-width: 768px) {
  .page-section.order-sm-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-sm-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 992px) {
  .page-section.order-md-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-md-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1200px) {
  .page-section.order-lg-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-lg-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1400px) {
  .page-section.order-xl-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-xl-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1600px) {
  .page-section.order-2xl-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-2xl-reversed .sticky {
    order: 1000;
  }
}
/******************************
 * Search Results
 ******************************/
.page-section .search-results li a {
  color: #222;
  padding: 0.4rem;
}
.page-section .search-results li a:hover {
  background-color: #a4c55c;
}
.page-section .search-results li + li {
  margin-top: 0.6rem;
}

/******************************
 * For Background Images
 ******************************/
.page-section.style-background-image {
  background: radial-gradient(circle at top right, #bcce94 0%, #8cb03e 80%);
  position: relative;
}
.page-section.style-background-image .background-image {
  display: none;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 10%;
}
@media (min-width: 768px) {
  .page-section.style-background-image .background-image {
    display: block;
    min-height: 300px;
    width: 230px;
  }
}
@media (min-width: 992px) {
  .page-section.style-background-image .background-image {
    min-height: 350px;
    width: 265px;
    right: 15%;
  }
}
@media (min-width: 1200px) {
  .page-section.style-background-image .background-image {
    min-height: 410px;
    width: 310px;
  }
}
@media (min-width: 1400px) {
  .page-section.style-background-image .background-image {
    min-height: 450px;
    width: 350px;
    right: 20%;
  }
}

/*******************************
 * OBContactWidget
 ******************************/
.OBContactWidget-row {
  margin: 10px 0;
}

/*******************************
 * OBCopyrightWidget
 ******************************/
.OBCopyrightWidget-row {
  margin: 10px 0;
}

/*******************************
 * Widgets
 ******************************/
.search-widget input {
  background-color: #444;
  border: 1px solid #dfdfdf;
  padding: 10px;
  max-width: 100%;
}

/*******************************
 * Toggle Container
 ******************************/
.widget .toggle-indicator {
  margin-right: 10px;
  display: inline-block;
}
@media (min-width: 992px) {
  .widget .toggle-indicator {
    display: none;
  }
}
.widget .toggle-container {
  display: none;
}
@media (min-width: 992px) {
  .widget .toggle-container {
    display: block;
  }
}
.widget.active-widget .toggle-container {
  display: block;
  animation: widget-toggle 300ms;
}
@keyframes widget-toggle {
  0% {
    display: block;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.widget.active-widget .toggle-indicator {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -khtml-transform: rotate(180deg);
  transform: rotate(180deg);
}

form label {
  font-weight: bold;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=date],
form input[type=url],
form input[type=password],
form select,
form textarea {
  outline: none;
  padding: 0.75rem 1rem;
  max-width: 100%;
  width: 100%;
  border: none;
  transition: box-shadow 300ms;
  background-color: #fff;
  box-shadow: 0 1rem 1.4rem -1rem rgba(0, 0, 0, 0.16);
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
form input[type=date]:focus,
form input[type=url]:focus,
form input[type=password]:focus,
form select:focus,
form textarea:focus {
  box-shadow: 0 0 0 2px #8cb03e;
}
form input[type=text]:disabled,
form input[type=email]:disabled,
form input[type=tel]:disabled,
form input[type=date]:disabled,
form input[type=url]:disabled,
form input[type=password]:disabled,
form select:disabled,
form textarea:disabled {
  background-color: #efefef;
  cursor: no-drop;
}
form input + input {
  margin-top: 15px;
}
form textarea {
  resize: vertical;
}
form input[type=submit] {
  line-height: 1rem;
  border: none;
}
form select {
  -webkit-appearance: none;
  border-radius: 0;
  background-position: right 1.25rem center;
  background-repeat: no-repeat;
  background-image: url("../../res/icons/angle-down.svg");
}

.searchform {
  max-width: 300px;
}

.form-wrap {
  margin: -0.4rem 0;
}
.form-wrap .form-row {
  display: flex;
  margin: 0 -0.4rem;
}
.form-wrap .form-row .form-field {
  width: 100%;
  margin: 0.4rem;
}

.wpcf7 {
  display: inline-block;
  width: 100%;
}
@keyframes wpcf7-invalid-bubble {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wpcf7 span.wpcf7-not-valid-tip {
  margin: 4px 0px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  background-color: #b72839;
  color: #fff;
  border-radius: 6px;
  display: inline-block;
  position: relative;
  padding: 5px 15px;
  animation: wpcf7-invalid-bubble 300ms;
}
.wpcf7 span.wpcf7-not-valid-tip:before {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 0 10px 12px 10px;
  border-color: transparent transparent #b72839 transparent;
  top: 0;
  left: 15px;
  transform: translateY(-100%);
}
.wpcf7 .wpcf7-response-output {
  color: #fff;
  box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.2);
  padding: 15px !important;
  border: none !important;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  animation: wpcf7-invalid-bubble 300ms;
  z-index: 200;
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors, .wpcf7 .wpcf7-response-output.wpcf7-spam-blocked {
  background-color: #b72839;
}
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: #66be40;
}
.wpcf7 .ajax-loader {
  background-color: #fff;
  border-radius: 50%;
  padding: 10px;
}

/*******************************
 * Google Recaptcha
 ******************************/
.grecaptcha-badge {
  display: none;
}

/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*
 * Pagination navigation panel
 * used e.g. for post archive
 * pagination
 */
.page-nav {
  margin: 30px 0;
}
.page-nav :is(.page-nav-item, .page-numbers) {
  color: #fff;
  background-color: #a4c55c;
  text-decoration: none;
  font-weight: bold;
  float: left;
  padding: 0.5rem 1rem;
}
.page-nav :is(.page-nav-item, .page-numbers):not(:is(.current-page-nav-item, .current)):hover {
  background-color: #8cb03e;
}
.page-nav :is(.page-nav-item, .page-numbers):not(:is(.current-page-nav-item, .current)):active {
  background-color: #779a2d;
}
.page-nav :is(.page-nav-item, .page-numbers) .fa {
  font-size: 130%;
}
.page-nav :is(.page-nav-item, .page-numbers):is(.current-page-nav-item, .current) {
  background-color: #779a2d;
  color: #fff;
  cursor: default;
}
.page-nav :is(.page-nav-item, .page-numbers) + :is(.page-nav-item, .page-numbers) {
  margin-left: 0.5rem;
}

.employee {
  background-color: #f6f8f2;
  text-align: left;
}
.employee *:first-child {
  margin: 0;
}
.employee .employee-image img {
  width: 100%;
}
.employee *[itemprop=name] {
  font-size: 1.2rem;
}
.employee *[itemprop=jobTitle] {
  color: #6b6b6b;
  margin: 0.8rem 0;
}
.employee .employee-phone {
  color: #6b6b6b;
}
.employee .employee-email {
  margin-bottom: 1.3rem;
}
.employee .employee-email a {
  color: #6b6b6b !important;
}
.employee .employee-email a:hover {
  text-decoration: underline;
}
.employee .accordion {
  background-color: transparent !important;
}
.employee .accordion .accordion-heading {
  border: none !important;
  padding: 0;
}
.employee .accordion .accordion-inner {
  padding: 1rem 0;
}
.employee .accordion .accordion-inner ul {
  padding: 0 0 0 20px;
}
.employee .employee-text {
  padding: 15px;
}
@media (min-width: 992px) {
  .employee .employee-text {
    padding: 30px;
  }
}

section table {
  border-collapse: collapse;
}
section table td {
  padding: 5px;
  border: 1px solid #efefef;
}

iframe {
  width: 100%;
}

.blog-sidebar {
  border-left: 1px solid #efefef;
}

.post-entry {
  color: #222;
  border-bottom: 1px solid #efefef;
}
.post-entry a {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;
  flex-direction: row;
  color: #222;
}
.post-entry a:hover {
  text-decoration: none;
}
.post-entry:after {
  display: block;
  content: "";
  clear: both;
}
.post-entry .wp-post-image {
  float: left;
  margin-right: 20px;
  margin-bottom: 4px;
  align-self: center;
}

.categories .current-cat {
  list-style: none;
}
.categories .current-cat:before {
  content: "\f111";
  font-family: "FontAwesome";
  margin-left: -20px;
  margin-right: 5px;
}

.ug {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /**
   * Keep in mind that adding viewports or gutter sizes
   * will cause a bigger CSS file as these ar multiplied!
   * Number of necessary classes = #viewports * #gutter-sizes * $max-cols.
   * Default: 4 viewports, 3 gutter sizes and max. 4 columns
   *	--> 4 * 3 * 4 = 48 classes containing some CSS lines. = ~680 lines of CSS.
   */
}
.ug.ug-xs-1-0 {
  margin: 0px;
}
.ug.ug-xs-1-0 > * {
  margin: 0px;
  width: 100%;
  flex: 0 1 calc(100% - 0px);
  max-width: calc(100% - 0px);
}
.ug.ug-xs-2-0 {
  margin: 0px;
}
.ug.ug-xs-2-0 > * {
  margin: 0px;
  width: 50%;
  flex: 0 1 calc(50% - 0px);
  max-width: calc(50% - 0px);
}
.ug.ug-xs-3-0 {
  margin: 0px;
}
.ug.ug-xs-3-0 > * {
  margin: 0px;
  width: 33.3333333333%;
  flex: 0 1 calc(33.3333333333% - 0px);
  max-width: calc(33.3333333333% - 0px);
}
.ug.ug-xs-4-0 {
  margin: 0px;
}
.ug.ug-xs-4-0 > * {
  margin: 0px;
  width: 25%;
  flex: 0 1 calc(25% - 0px);
  max-width: calc(25% - 0px);
}
.ug.ug-xs-1-15 {
  margin: -15px;
}
.ug.ug-xs-1-15 > * {
  margin: 15px;
  width: 100%;
  flex: 0 1 calc(100% - 30px);
  max-width: calc(100% - 30px);
}
.ug.ug-xs-2-15 {
  margin: -15px;
}
.ug.ug-xs-2-15 > * {
  margin: 15px;
  width: 50%;
  flex: 0 1 calc(50% - 30px);
  max-width: calc(50% - 30px);
}
.ug.ug-xs-3-15 {
  margin: -15px;
}
.ug.ug-xs-3-15 > * {
  margin: 15px;
  width: 33.3333333333%;
  flex: 0 1 calc(33.3333333333% - 30px);
  max-width: calc(33.3333333333% - 30px);
}
.ug.ug-xs-4-15 {
  margin: -15px;
}
.ug.ug-xs-4-15 > * {
  margin: 15px;
  width: 25%;
  flex: 0 1 calc(25% - 30px);
  max-width: calc(25% - 30px);
}
@media (min-width: 768px) {
  .ug.ug-sm-1-0 {
    margin: 0px;
  }
  .ug.ug-sm-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-2-0 {
    margin: 0px;
  }
  .ug.ug-sm-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-3-0 {
    margin: 0px;
  }
  .ug.ug-sm-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-4-0 {
    margin: 0px;
  }
  .ug.ug-sm-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-1-15 {
    margin: -15px;
  }
  .ug.ug-sm-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-2-15 {
    margin: -15px;
  }
  .ug.ug-sm-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-3-15 {
    margin: -15px;
  }
  .ug.ug-sm-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-4-15 {
    margin: -15px;
  }
  .ug.ug-sm-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-1-0 {
    margin: 0px;
  }
  .ug.ug-md-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-2-0 {
    margin: 0px;
  }
  .ug.ug-md-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-3-0 {
    margin: 0px;
  }
  .ug.ug-md-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-4-0 {
    margin: 0px;
  }
  .ug.ug-md-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-1-15 {
    margin: -15px;
  }
  .ug.ug-md-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-2-15 {
    margin: -15px;
  }
  .ug.ug-md-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-3-15 {
    margin: -15px;
  }
  .ug.ug-md-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-4-15 {
    margin: -15px;
  }
  .ug.ug-md-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-1-0 {
    margin: 0px;
  }
  .ug.ug-lg-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-2-0 {
    margin: 0px;
  }
  .ug.ug-lg-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-3-0 {
    margin: 0px;
  }
  .ug.ug-lg-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-4-0 {
    margin: 0px;
  }
  .ug.ug-lg-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-1-15 {
    margin: -15px;
  }
  .ug.ug-lg-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-2-15 {
    margin: -15px;
  }
  .ug.ug-lg-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-3-15 {
    margin: -15px;
  }
  .ug.ug-lg-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-4-15 {
    margin: -15px;
  }
  .ug.ug-lg-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-1-0 {
    margin: 0px;
  }
  .ug.ug-xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-2-0 {
    margin: 0px;
  }
  .ug.ug-xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-3-0 {
    margin: 0px;
  }
  .ug.ug-xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-4-0 {
    margin: 0px;
  }
  .ug.ug-xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-1-15 {
    margin: -15px;
  }
  .ug.ug-xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-2-15 {
    margin: -15px;
  }
  .ug.ug-xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-3-15 {
    margin: -15px;
  }
  .ug.ug-xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-4-15 {
    margin: -15px;
  }
  .ug.ug-xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-1-0 {
    margin: 0px;
  }
  .ug.ug-2xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-2-0 {
    margin: 0px;
  }
  .ug.ug-2xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-3-0 {
    margin: 0px;
  }
  .ug.ug-2xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-4-0 {
    margin: 0px;
  }
  .ug.ug-2xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-1-15 {
    margin: -15px;
  }
  .ug.ug-2xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-2-15 {
    margin: -15px;
  }
  .ug.ug-2xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-3-15 {
    margin: -15px;
  }
  .ug.ug-2xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-4-15 {
    margin: -15px;
  }
  .ug.ug-2xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-1-0 {
    margin: 0px;
  }
  .ug.ug-3xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-2-0 {
    margin: 0px;
  }
  .ug.ug-3xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-3-0 {
    margin: 0px;
  }
  .ug.ug-3xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-4-0 {
    margin: 0px;
  }
  .ug.ug-3xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-1-15 {
    margin: -15px;
  }
  .ug.ug-3xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-2-15 {
    margin: -15px;
  }
  .ug.ug-3xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-3-15 {
    margin: -15px;
  }
  .ug.ug-3xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-4-15 {
    margin: -15px;
  }
  .ug.ug-3xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
.ug > * {
  float: left;
}

/*
 * Fixes the problem that the ug item "collides" with a previous
 * container which causes the ug container to be squeezed at the right corner.
 * TODO: is this a proper solution?
 */
.ug {
  margin-top: 0 !important;
}

@keyframes gallery-group-reveal {
  0% {
    opacity: 0;
    max-height: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes gallery-image-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gallery-image {
  cursor: pointer;
  animation: gallery-image-reveal linear 150ms;
  width: 20%;
  box-sizing: border-box;
  float: left;
  align-self: center;
}
@media (min-width: 992px) {
  .gallery-image {
    width: 12.5%;
  }
}

.gallery-group {
  margin-bottom: 1px;
  background-color: #fff;
}
.gallery-group .group-title {
  background-color: #fff;
  margin: 0;
  padding: 15px 20px;
  -webkit-transition: background-color ease-in-out 150ms;
  -moz-transition: background-color ease-in-out 150ms;
  -o-transition: background-color ease-in-out 150ms;
  -ms-transition: background-color ease-in-out 150ms;
  -khtml-transition: background-color ease-in-out 150ms;
  transition: background-color ease-in-out 150ms;
  cursor: pointer;
}
.gallery-group .group-title:before {
  content: "\f107";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
}
.gallery-group .group-title:hover {
  background-color: white;
  color: #8cb03e;
}
.gallery-group .group-title:active {
  background-color: #fafafa;
}
.gallery-group .gallery-group-description p {
  margin-top: 0;
}
.gallery-group .content {
  display: none;
  padding: 0 15px 15px 15px;
}
.gallery-group .content:after {
  display: block;
  content: "";
  clear: both;
}
.gallery-group.active {
  margin-left: 0px;
  margin-right: 0px;
}
.gallery-group.active .group-title {
  color: #8cb03e;
}
.gallery-group.active .group-title:before {
  content: "\f106";
}
.gallery-group.active .content {
  display: block;
  animation: gallery-group-reveal linear 400ms;
}

.gallery-control {
  background-color: #efefef;
  position: absolute;
  padding: 20px;
  z-index: 10;
  cursor: pointer;
  -webkit-transition: background-color ease 100ms;
  -moz-transition: background-color ease 100ms;
  -o-transition: background-color ease 100ms;
  -ms-transition: background-color ease 100ms;
  -khtml-transition: background-color ease 100ms;
  transition: background-color ease 100ms;
  color: #8cb03e;
}
.gallery-control:hover {
  background-color: #fcfcfc;
}
.gallery-control:active {
  background-color: #e2e2e2;
}
.gallery-control.control-next {
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -khtml-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gallery-control.control-prev {
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -khtml-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gallery-control.control-close {
  right: 10px;
  top: 10px;
}
.gallery-control.control-caption {
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -khtml-transform: translateX(-50%);
  transform: translateX(-50%);
  display: none;
}
.gallery-control.control-caption.active {
  animation: gallery-group-reveal ease-out 250ms;
  display: block;
}

.gallery-overlay {
  background-color: rgba(220, 220, 220, 0.95);
  position: fixed;
  z-index: 20;
  left: 0;
  top: 0;
  display: none;
  height: 100%;
  width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.gallery-overlay.active {
  display: block;
}
.gallery-overlay .content {
  text-align: center;
  height: 100%;
  width: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  display: -ms-flexbox;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}
.gallery-overlay .content img,
.gallery-overlay .content .gallery-image {
  animation: gallery-image-reveal linear 0.3s;
  border: 5px solid #fff;
  max-height: calc(100% - 40px);
  max-width: calc(100% - 40px);
  flex-shrink: 0;
  flex-grow: 0;
}

.gallery .gallery-image {
  transition: all ease 200ms;
}
.gallery .gallery-image:hover {
  transform: scale(1.05);
}

/*
 * Creates a new menu. Use this
 * mixin as your base for the menu
 * and define the single menu levels.
 */
/*
 * false:	Alle child ul
 * 0:		Root level
 * >0:		Specific level
 */
/*******************************
 * Helpers
 ******************************/
/*******************************
 * Style
 ******************************/
nav.main {
  line-height: 1;
  text-align: center;
  overflow: hidden;
}
@media (min-width: 992px) {
  nav.main {
    /*
     * Necessary to make the
     * dropdown on desktop visible
     */
    overflow: visible;
  }
}
nav.main ul {
  background-color: #fff;
  transition: max-height ease-out 300ms;
}
@media (min-width: 992px) {
  nav.main ul {
    float: right;
  }
}
nav.main ul.active {
  display: block;
  animation: menu-fade ease-out 300ms;
  background-color: rgba(0, 0, 0, 0.05);
}
nav.main ul li {
  list-style: none;
}
nav.main ul li.leaf-button {
  margin: 2rem auto 0 auto;
  align-self: center;
  max-width: 400px;
}
@media (min-width: 992px) {
  nav.main ul li.leaf-button {
    margin: 0 0 0 2rem;
  }
}
nav.main ul li.leaf-button a {
  background-color: #8cb03e;
  color: #fff !important;
  border-radius: 1.5rem;
  padding: 1rem 2rem;
}
nav.main ul li.leaf-button:hover a {
  background-color: #779a2d;
  color: #fff;
}
nav.main ul li.leaf-button:before {
  display: block;
  content: " ";
  background-image: url("../../res/icons/leaf.svg");
  background-size: cover;
  height: 30px;
  width: 48px;
  position: absolute;
  margin-left: 10rem;
  margin-top: calc(-30px);
}
@media (min-width: 992px) {
  nav.main ul li.leaf-button:before {
    margin-left: 5rem;
  }
}
nav.main ul a {
  text-decoration: none;
  position: relative;
  color: #667477;
}
nav.main ul li.current-menu-item:not(.leaf-button) > a {
  color: #222;
  border: 4px solid #c7dc99;
  border-radius: 4px;
}
@media (min-width: 992px) {
  nav.main ul li.current-menu-item:not(.leaf-button) > a {
    border: none;
  }
  nav.main ul li.current-menu-item:not(.leaf-button) > a:after {
    content: "";
    display: block;
    background-color: #c7dc99;
    height: 6px;
    width: 100%;
    margin-top: -2px;
  }
}
nav.main ul li.menu-item:hover > a {
  color: #222;
}
nav.main > ul {
  background-color: transparent;
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: column;
}
@media (min-width: 992px) {
  nav.main > ul {
    flex-flow: row;
  }
}
nav.main > ul > li a {
  white-space: nowrap;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 1rem 1rem;
  display: block;
}
@media (min-width: 992px) {
  nav.main > ul > li a {
    font-size: 0.9rem;
  }
}
@media (min-width: 992px) {
  nav.main > ul > li:hover > ul {
    animation: menu-anim 250ms;
  }
}
@media (min-width: 992px) {
  nav.main > ul > li > ul {
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%) translateY(0);
    -moz-transform: translateX(-50%) translateY(0);
    -o-transform: translateX(-50%) translateY(0);
    -ms-transform: translateX(-50%) translateY(0);
    -khtml-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
  }
  nav.main > ul > li > ul:after {
    content: "";
    border-style: solid;
    position: absolute;
    height: 0;
    width: 0;
    clear: both;
    border-width: 0 10px 12px 10px;
    border-color: transparent transparent #fff transparent;
    left: 50%;
    top: -10px;
    transform: translateX(-50%);
  }
}
nav.main .menu {
  width: 100%;
  justify-content: space-between;
}

/*******************************
 *
 ******************************/
.nav-wrapper.style-center {
  display: inline-block;
}

@media (min-width: 992px) {
  header.main.style-center .nav-toggle-container {
    display: inline-block;
    vertical-align: top;
    float: none;
  }
}
@media (min-width: 992px) {
  header.main .responsive-menu {
    float: right;
  }
}

/*******************************
 * Header Grid System
 *
 * A few classes to make it
 * easier to create a header
 * layout.
 *
 * Currently only supporting
 * XS and SM vierports
 *
 ******************************/
/*******************************
 * hgCreateAligns
 ******************************/
/*
 * Create alignment classes
 * for the enclosing viewport
 */
/*******************************
 * hgCreateCols
 ******************************/
/*
 * Create a simple grid with 12 cols
 * for the given viewport
 */
/*******************************
 * header-row
 ******************************/
.header-row {
  position: relative;
  /*
   * Include clearfix so you
   * dont have to add the clearfix
   * class additionally.
   */
  /*
  * You dont add the .partial class
  * to every partial.
  */
  /*
   * Vertical center wrapper
   */
  /*
   * Create alignment classes
   * for this viewport
   */
  /*
   * Create a simple grid with 12 cols
   * like in bootstrap. It should be
   * really simple and known to use.
   */
  /*
   * SM Viewport
   */
  /*
   * MD Viewport
   */
  /*
   * LG Viewport
   */
}
.header-row:after {
  content: "";
  display: table;
  clear: both;
  *zoom: 1;
}
.header-row .partial,
.header-row [class^=partial] {
  width: 100%;
  position: relative;
  display: table;
}
.header-row .v-center {
  vertical-align: middle;
  height: inherit;
  display: table-cell;
}
.header-row .partial-xs-left {
  text-align: left;
}
.header-row .partial-xs-center {
  text-align: center;
}
.header-row .partial-xs-right {
  text-align: right;
}
.header-row .partial-xs-1 {
  width: 8.3333333333%;
  float: left;
}
.header-row .partial-xs-2 {
  width: 16.6666666667%;
  float: left;
}
.header-row .partial-xs-3 {
  width: 25%;
  float: left;
}
.header-row .partial-xs-4 {
  width: 33.3333333333%;
  float: left;
}
.header-row .partial-xs-5 {
  width: 41.6666666667%;
  float: left;
}
.header-row .partial-xs-6 {
  width: 50%;
  float: left;
}
.header-row .partial-xs-7 {
  width: 58.3333333333%;
  float: left;
}
.header-row .partial-xs-8 {
  width: 66.6666666667%;
  float: left;
}
.header-row .partial-xs-9 {
  width: 75%;
  float: left;
}
.header-row .partial-xs-10 {
  width: 83.3333333333%;
  float: left;
}
.header-row .partial-xs-11 {
  width: 91.6666666667%;
  float: left;
}
.header-row .partial-xs-12 {
  width: 100%;
  float: left;
}
@media (min-width: 768px) {
  .header-row .partial-sm-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-sm-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-sm-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-sm-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-sm-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-sm-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-sm-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-sm-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-sm-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-sm-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-sm-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-sm-12 {
    width: 100%;
    float: left;
  }
  .header-row .partial-sm-left {
    text-align: left;
  }
  .header-row .partial-sm-center {
    text-align: center;
  }
  .header-row .partial-sm-right {
    text-align: right;
  }
}
@media (min-width: 992px) {
  .header-row {
    /*
    * Create a simple grid with 12 cols
    * like in bootstrap. It should be
    * really simple and known to use.
    */
    /*
    * Create alignment classes
    * for this viewport
    */
  }
  .header-row .partial-md-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-md-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-md-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-md-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-md-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-md-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-md-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-md-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-md-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-md-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-md-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-md-12 {
    width: 100%;
    float: left;
  }
  .header-row .partial-md-left {
    text-align: left;
  }
  .header-row .partial-md-center {
    text-align: center;
  }
  .header-row .partial-md-right {
    text-align: right;
  }
}
@media (min-width: 1170px) {
  .header-row .partial-lg-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-lg-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-lg-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-lg-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-lg-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-lg-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-lg-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-lg-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-lg-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-lg-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-lg-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-lg-12 {
    width: 100%;
    float: left;
  }
  .header-row .partial-lg-left {
    text-align: left;
  }
  .header-row .partial-lg-center {
    text-align: center;
  }
  .header-row .partial-lg-right {
    text-align: right;
  }
}

/*******************************
 * Basic dropdown
 ******************************/
/**
 * This function is intented
 * to be placed inside the selector
 * which represents the top level ul.
 *
 * It will add the default css
 * dropdown functionlalities to this class.
 */
/*******************************
 * Default responsive mobile styles
 ******************************/
/*******************************
 * Default vertical dropdown
 ******************************/
/**
 * Creates a default vertical
 * dropdown out of the corresponding ul.
 */
/*******************************
 * jQueryResponsiveNavigation styles
 ******************************/
/*******************************
 * DEV
 ******************************/
/*
 * Creates a new menu. Use this
 * mixin as your base for the menu
 * and define the single menu levels.
 */
/*
 * false:	Alle child ul
 * 0:		Root level
 * >0:		Specific level
 */
header.main {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  min-height: 60px;
}
@media (max-width: 768px) {
  header.main .container {
    width: 100%;
  }
}
header.main .logo {
  max-width: 200px;
}
@media (min-width: 768px) {
  header.main .logo {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  header.main {
    justify-content: flex-start;
    min-height: 100px;
  }
}
@media print {
  header.main {
    display: none;
  }
}
header.main > *:not(script) {
  display: flex;
  flex-flow: row;
  align-items: center;
  justify-content: flex-start;
}
header.main .search-button {
  cursor: pointer;
  transition: all 300ms ease;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2rem;
  padding: 1rem;
}
header.main .search-button:active {
  background-color: #efefef;
}
header.main .search-button:hover {
  background-color: #8cb03e;
}
header.main nav.main {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-wrap {
  position: relative;
  z-index: 15;
  display: flex;
  flex-flow: column;
}
.header-wrap.search-mode {
  display: flex;
}
.header-wrap.search-mode .search-form {
  height: 100%;
  z-index: 30;
  align-items: center;
  width: 100%;
  position: fixed;
  top: 0;
  display: flex;
}
@keyframes search-form {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header-wrap .search-form {
  background-color: rgba(25, 25, 25, 0.84);
  height: 100%;
  margin: 0;
  padding: 0;
  display: none;
  animation: search-form 300ms;
}
.header-wrap .search-form .icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
}
.header-wrap .search-form .loader {
  display: none;
}
.header-wrap .search-form .anti-loader {
  display: block;
}
.header-wrap .search-form.searching .loader {
  display: block;
}
.header-wrap .search-form.searching .anti-loader {
  display: none;
}
.header-wrap .search-form .content {
  display: flex;
  align-items: center;
  flex-flow: column;
  max-width: 620px;
}
@media (min-width: 768px) {
  .header-wrap .search-form .content {
    flex-flow: row;
    align-items: stretch;
  }
}
.header-wrap .search-form .content .input-wrap {
  display: flex;
  width: 100%;
  background-color: #fff;
  border-top: 1px solid #f4f4f4;
  border-left: 1px solid #f4f4f4;
  border-right: 1px solid #f4f4f4;
}
.header-wrap .search-form .content input[type=submit] {
  margin-top: 1rem;
  margin-left: 0;
  width: 100%;
  height: 100%;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .header-wrap .search-form .content input[type=submit] {
    margin-left: 2rem;
    height: auto;
    margin-top: 0;
    width: auto;
    min-width: 7rem;
  }
}
.header-wrap .search-form .content .main-search {
  font-size: 1rem;
  box-sizing: border-box;
  padding: 20px;
  border: none;
  height: 100%;
  width: 100%;
}
.header-wrap .search-form .content .main-search:focus {
  outline: none;
}

/*******************************
 * Toggle Container
 ******************************/
header.main {
  padding: 2rem 0;
}
header.main .menu-button {
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  font-size: 25px;
}
header.main .menu-button:active, header.main .menu-button:hover {
  background-color: #efefef;
}
header.main .toggle-button {
  float: right;
  justify-self: flex-end;
  transition: scale ease 300ms;
  margin-left: auto;
}
@media (min-width: 992px) {
  header.main .toggle-button {
    display: none;
    margin-top: 0;
  }
}
header.main .toggle-container {
  display: none;
}
@media (min-width: 992px) {
  header.main .toggle-container {
    display: flex;
    width: 100%;
    margin-left: 2rem;
  }
}
header.main .toggle-container .controls {
  display: none;
  width: 100%;
  border-bottom: 1px solid #efefef;
  justify-content: space-between;
  flex-shrink: 0;
}
header.main .toggle-container .close-button {
  margin: 15px 15px 15px auto;
  top: 0;
  right: 0;
  color: #000;
}
@media (min-width: 992px) {
  header.main .toggle-container .close-button {
    display: none;
  }
}
header.main .toggle-container .mob-search-button {
  margin: 15px auto 15px 15px;
}
header.main .toggle-container.toggled {
  letter-spacing: 1.5px;
  animation: toggle-container-toggle 300ms forwards;
  background-color: #fff;
  font-size: 1.5rem;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  z-index: 35;
  height: 100%;
  display: flex;
  flex-flow: column;
}
@media (min-width: 992px) {
  header.main .toggle-container.toggled {
    position: static;
    background-color: transparent;
  }
}
@keyframes toggle-container-toggle {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
header.main .toggle-container.toggled .controls {
  display: flex;
}
header.main .toggle-container.toggled nav.main {
  overflow-y: hidden;
}
header.main .toggle-container.toggled.animated li {
  opacity: 0;
  animation: menu-li 600ms forwards;
}
@keyframes menu-li {
  from {
    opacity: 0;
    transform: translateX(-15px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

body.home header.main {
  border-bottom: none;
}

.header-bg {
  background-color: #fff;
}

:root,
body {
  font-family: "Lato", sans-serif;
  font-size: 14px;
}
@media (min-width: 768px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  :root,
  body {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  :root,
  body {
    font-size: 17px;
  }
}
@media (min-width: 1400px) {
  :root,
  body {
    font-size: 18px;
  }
}
@media (min-width: 1600px) {
  :root,
  body {
    font-size: 19px;
  }
}
@media (min-width: 1900px) {
  :root,
  body {
    font-size: 20px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Cabin", sans-serif;
  color: #222;
}

.button {
  font-family: "Cabin", sans-serif;
}

nav.main {
  font-family: "Cabin", sans-serif;
}

p {
  color: #6b6b6b;
  font-size: 0.9rem;
  line-height: 1.4rem;
}

h1 {
  font-size: 2rem;
  line-height: 2.3rem;
}
@media (min-width: 992px) {
  h1 {
    line-height: 1.42857143;
  }
}

h2 {
  font-size: 1.7rem;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  h2 {
    line-height: 1.42857143;
  }
}

h3 {
  font-size: 1.4rem;
}

@keyframes gdpr-notice-reveal {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.gdpr.sticky-notice {
  z-index: 15;
  display: none;
  background-color: #fff;
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.12);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  align-items: center;
  justify-content: space-between;
  flex-flow: column;
  padding: 15px;
}
@media (max-width: 571px) {
  .gdpr.sticky-notice .button {
    margin-top: 15px;
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
}
@media (min-width: 572px) {
  .gdpr.sticky-notice {
    padding: 20px 25px;
    flex-flow: row;
  }
  .gdpr.sticky-notice .button {
    margin-left: 20px;
  }
}
.gdpr.sticky-notice .button {
  padding: 9px 20px;
  cursor: pointer;
  line-height: 1.4rem;
}
.gdpr.sticky-notice p {
  margin: 0;
}
.gdpr.sticky-notice.not-seen {
  display: flex;
  animation: gdpr-notice-reveal ease 800ms forwards;
}

/*******************************
 * Box
 ******************************/
.ug img {
  align-self: center;
}

/*******************************
 * Imae-Grid
 ******************************/
.ug.image-grid img {
  align-self: center;
}

.events {
  --padding-y: 1.5rem;
  --padding-x: 1.65rem;
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 2.4rem;
  row-gap: 1.2rem;
  margin-block: 2rem;
}
@media (min-width: 768px) {
  .events {
    --padding-y: 1.9rem;
    --padding-x: 1.777rem;
  }
}
@media (min-width: 768px) {
  .events {
    grid-template-columns: 230px 1fr;
  }
}
.events .event {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  color: inherit;
  border-radius: 1rem;
  background: white;
  --link-color: #779a2d;
}
@media (min-width: 768px) {
  .events .event {
    border-radius: 0;
    background-color: transparent;
    --link-color: inherit;
  }
}
.events .event:hover {
  --link-color: #8cb03e;
}
.events .event:is(.archive-mode *) {
  opacity: 0.5;
}
.events .event:is(.archive-mode *):hover {
  opacity: 1;
}
.events .event .location {
  font-size: 15px;
  line-height: 1.4;
}
.events .event .location > *:first-child {
  margin-top: 0;
}
.events .event .location > *:last-child {
  margin-bottom: 0;
}
.events .event .location:empty {
  display: none !important;
}
.events .event .location p {
  font: inherit;
}
.events .event .meta {
  padding: var(--padding-y) var(--padding-x);
  color: #222;
}
@media (min-width: 768px) {
  .events .event .meta {
    border-radius: 1rem;
    background: white;
  }
}
.events .event .meta .location {
  display: none;
}
@media (min-width: 768px) {
  .events .event .meta .location {
    display: block;
  }
}
.events .event .meta .location p {
  color: inherit;
}
.events .event .meta .date {
  font-size: 16px;
  color: inherit;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (min-width: 768px) {
  .events .event .meta .date {
    margin-bottom: 8px;
  }
}
.events .event .meta .date svg {
  color: #8cb03e;
}
.events .event .content {
  padding-top: 0;
  padding-bottom: var(--padding-y);
  padding-inline: var(--padding-x);
}
@media (min-width: 768px) {
  .events .event .content {
    padding-block: var(--padding-y);
    padding-inline: 0;
  }
}
.events .event .content .location {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .events .event .content .location {
    display: none;
  }
}
.events .event .content h3 {
  margin-block: 0.5em;
}
.events .event .content .subtitle {
  margin: 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}
.events .event .content .more {
  color: var(--link-color, inherit);
  margin: 0;
  font: inherit;
  font-weight: 600;
  font-size: 15px;
}
@media (min-width: 768px) {
  .events .event .content .more {
    font-weight: inherit;
  }
}

.events-header {
  display: flex;
  column-gap: 2rem;
  row-gap: 1rem;
  justify-content: space-between;
  align-items: first baseline;
  flex-wrap: wrap;
}
.events-header h2 {
  margin: 0;
}
.events-header .button {
  line-height: inherit;
}

article.single-event {
  width: 100%;
}
article.single-event .event-entry {
  text-align: left;
  padding: 2rem 0;
}
@media (min-width: 768px) {
  article.single-event .event-entry {
    padding: 2rem 5rem;
  }
}
article.single-event .event-entry .button-group {
  margin-top: 2rem;
}
article.single-event .event-details {
  margin-top: 2rem;
}
article.single-event .event-table {
  width: 100%;
  border-collapse: collapse;
}
article.single-event .event-table td,
article.single-event .event-table th {
  border: none;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1333333333);
  vertical-align: baseline;
}
article.single-event .event-table td:is(tr:first-child *),
article.single-event .event-table th:is(tr:first-child *) {
  border-top: 1px solid rgba(0, 0, 0, 0.1333333333);
}
article.single-event .event-table th {
  font-weight: bold;
  text-align: left;
}
@media (min-width: 768px) {
  article.single-event .event-table th {
    width: 24%;
  }
}
article.single-event .event-table td {
  color: rgba(0, 0, 0, 0.6666666667);
}
article.single-event .event-table td > *:first-child {
  margin-top: 0;
}
article.single-event .event-table td > *:last-child {
  margin-bottom: 0;
}
article.single-event .event-table td p {
  font: inherit;
  color: inherit;
}
@media (min-width: 992px) {
  article.single-event {
    max-width: 90%;
  }
}
@media (min-width: 1200px) {
  article.single-event {
    max-width: 80%;
  }
}
@media (min-width: 1600px) {
  article.single-event {
    max-width: 85%;
  }
}
article.single-event h1:first-child,
article.single-event h2:first-child,
article.single-event h3:first-child {
  margin-top: 0;
}
article.single-event *:last-child {
  margin-bottom: 0;
}

.recent-posts .post img {
  height: auto;
  max-width: none;
  min-width: auto;
}
@media (min-width: 992px) {
  .recent-posts .post img {
    height: 100%;
  }
}
.recent-posts .post.content-box {
  background-color: transparent;
  box-shadow: none;
}
.recent-posts .post .content-wrap {
  border-left: none !important;
}
.recent-posts .post .content-wrap .content {
  align-items: center;
  text-align: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .recent-posts .post .content-wrap .content {
    align-items: flex-start;
    text-align: left;
  }
}
.recent-posts .post .content-wrap .content > * {
  max-width: 100%;
}
.recent-posts .post .content-wrap .content *:first-child,
.recent-posts .post .content-wrap .content *:last-child {
  margin: 0;
}
.recent-posts .post .content-wrap .content .subtitle {
  font-weight: bold;
}
.recent-posts .post .content-wrap .content .meta {
  color: #222;
}
.recent-posts .post:hover .content-wrap {
  background-color: #f9fcf9;
}

article.single-post {
  width: 100%;
}
article.single-post .blog-meta {
  margin-bottom: 2rem;
  color: #6b6b6b;
}
article.single-post .blog-entry {
  text-align: left;
  padding: 2rem 0;
}
@media (min-width: 768px) {
  article.single-post .blog-entry {
    padding: 2rem 5rem;
  }
}
article.single-post .blog-entry .button-group {
  margin-top: 2rem;
}
article.single-post .download-button {
  margin-top: 3rem;
}
@media (min-width: 992px) {
  article.single-post {
    max-width: 90%;
  }
}
@media (min-width: 1200px) {
  article.single-post {
    max-width: 80%;
  }
}
@media (min-width: 1600px) {
  article.single-post {
    max-width: 85%;
  }
}
article.single-post h1:first-child,
article.single-post h2:first-child,
article.single-post h3:first-child {
  margin-top: 0;
}
article.single-post *:last-child {
  margin-bottom: 0;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}

.lds-ellipsis div {
  position: absolute;
  top: 27px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #8cb03e;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
  left: 6px;
  animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
  left: 6px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
  left: 26px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
  left: 45px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(19px, 0);
  }
}
.accordion + .accordion {
  margin-top: 15px;
}
.accordion .accordion-heading {
  font-weight: bold;
  padding: 1rem;
  display: flex;
  align-items: center;
  cursor: pointer;
  justify-content: space-between;
  color: #222222;
  font-size: 1rem;
}
.accordion .accordion-heading:after {
  content: "+";
  font-size: 3rem;
  line-height: 0;
  margin-top: -0.7rem;
  color: #8cb03e;
  display: inline-block;
  float: right;
  min-width: 25px;
  text-align: right;
  font-weight: 400;
}
@media (min-width: 992px) {
  .accordion .accordion-heading {
    padding: 1.5em;
  }
}
.accordion .accordion-inner {
  padding: 1rem;
  display: none;
}
@media (min-width: 992px) {
  .accordion .accordion-inner {
    padding: 1.5em;
  }
}
.accordion .accordion-inner:last-of-type {
  position: relative;
  top: -1px;
}
.accordion .accordion-inner > :first-child {
  margin-top: 0;
}
.accordion .accordion-inner > :last-child {
  margin-bottom: 0;
}
.accordion.accordion-open .accordion-heading:after {
  content: "-";
}
.accordion:last-child {
  margin-bottom: 1em;
}

.page-section.style-default .accordion {
  background-color: #f6f7f8;
}
.page-section.style-default .accordion .accordion-heading {
  border-bottom: 3px solid #fff;
}
.page-section.style-light .accordion {
  background-color: #fff;
}
.page-section.style-light .accordion .accordion-heading {
  border-bottom: 3px solid #f6f7f8;
}

.content-box {
  background-color: #fff;
  display: flex;
  position: relative;
  transition: all ease 300ms;
  transition-property: box-shadow, transform;
  box-shadow: 0 1rem 1.4rem -1rem rgba(0, 0, 0, 0.16);
  justify-content: stretch;
  border-radius: 6px 6px 4px 4px;
}
.content-box img {
  align-self: center;
}
.content-box .img-wrap {
  display: block;
  flex-shrink: 0;
}
.content-box .img-wrap img {
  width: 100%;
}
.content-box .content-wrap {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  color: #222;
  padding: 2.5rem 3rem 3rem 3rem;
  width: 100%;
  flex-grow: 1;
  height: auto;
}
.content-box .content-wrap .content > *:first-child {
  margin-top: 0;
}
.content-box .content-wrap .content > *:last-child {
  margin-bottom: 0;
}
.content-box .content-wrap .content {
  display: flex;
  flex-flow: column;
  height: 100%;
  width: 100%;
}
.content-box .arrow-marker {
  margin-top: auto;
}
.content-box .next-icon {
  margin-left: 20px;
}
.content-box.type-imgtop {
  flex-flow: column;
}
.content-box.type-imgtop .content-wrap {
  border-top: 2px solid #f9f9f9;
}
.content-box.type-imgtop .content-wrap *:last-child.button-group {
  margin-top: auto;
}
.content-box.type-imgleft {
  flex-flow: column;
  align-items: center;
}
@media (min-width: 768px) {
  .content-box.type-imgleft {
    flex-flow: row;
  }
}
.content-box.type-imgleft .img-wrap {
  padding: 1rem;
}
.content-box.type-imgleft .content-wrap {
  height: 100%;
  border-left: 2px solid #f9f9f9;
}

.content-boxstyle-default {
  background-color: #fff;
  color: #222;
}
.content-box.style-light {
  background-color: #f9f9f9;
  color: #222;
}
.content-box.style-custom {
  background-color: #8cb03e;
}
.content-box.style-custom .content-wrap {
  color: #fff;
}
.content-box.style-custom .content-wrap h1,
.content-box.style-custom .content-wrap h2,
.content-box.style-custom .content-wrap h3,
.content-box.style-custom .content-wrap h4,
.content-box.style-custom .content-wrap h5,
.content-box.style-custom .content-wrap h6 {
  color: #fff;
}
.content-box.style-custom .content-wrap a {
  color: #222;
}
.content-box.style-custom .content-wrap a:hover {
  color: #141909;
}
.content-box.style-custom .content-wrap *::selection {
  background-color: rgba(255, 255, 255, 0.003);
}

.vanilla-swiper {
  position: relative;
}
.vanilla-swiper .button-wrapper {
  z-index: 10;
  position: absolute;
  pointer-events: none;
  display: flex;
  top: calc(50% - 1.5rem);
  transform: translateY(-50%);
  left: 0;
  right: 0;
}
.vanilla-swiper .button-wrapper > *:last-child {
  margin-left: auto;
}
.vanilla-swiper .custom-button {
  pointer-events: all;
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  transition: all ease 120ms;
  z-index: 5;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  display: flex;
  opacity: 0;
  user-select: none;
}
.vanilla-swiper .custom-button:hover {
  transform: scale(1.05);
}
.vanilla-swiper .custom-button:active {
  transform: scale(0.95);
  background-color: #f1f1f1;
}
.vanilla-swiper .swiper-container .swiper-wrapper .align-middle {
  display: flex;
  justify-content: center;
  align-items: center;
}
.vanilla-swiper .swiper-container .swiper-wrapper .align-left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.vanilla-swiper .swiper-container .swiper-pagination {
  position: static;
  height: 3rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.vanilla-swiper .swiper-container .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #8cb03e;
}
.vanilla-swiper .swiper-container .swiper-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 0.7rem;
}
.vanilla-swiper:hover .custom-button {
  opacity: 1;
}

.tabs-container:not(.slider-integrated) > .container {
  margin-bottom: -4px;
}
.tabs-container:not(.slider-integrated) .tabs-nav {
  align-items: stretch;
  flex-grow: 1;
  position: relative;
}
.tabs-container:not(.slider-integrated) .tabs-nav:not(.is-mobile) ul {
  flex-flow: row;
}
.tabs-container:not(.slider-integrated) .tabs-nav:not(.is-mobile) ul li {
  display: flex;
  justify-content: center;
}
.tabs-container:not(.slider-integrated) .tabs-nav.active ul {
  position: absolute;
  background-color: #fff;
  z-index: 10;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.tabs-container:not(.slider-integrated) .tabs-nav.active li {
  display: flex;
}
.tabs-container:not(.slider-integrated) .tabs-nav.is-mobile:not(.active) li.active:before {
  margin-right: 1rem;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("../../res/icons/toggle-submenu.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
  justify-content: stretch;
  flex-flow: column;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li {
  flex-grow: 1;
  flex-shrink: 0;
  border-bottom: 4px solid rgba(0, 0, 0, 0);
  box-sizing: border-box;
  display: none;
  align-items: center;
  white-space: nowrap;
  color: rgba(34, 34, 34, 0.6);
  list-style: none;
  padding: 0.75rem 1.3rem;
  text-align: center;
  font-weight: 600;
  z-index: 10;
  cursor: pointer;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li.active, .tabs-container:not(.slider-integrated) .tabs-nav ul li:hover {
  border-bottom: 4px solid #8cb03e;
  color: #222;
  background-color: #f9f9f9;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li.active {
  display: flex;
}
.tabs-container:not(.slider-integrated) .swiper-container {
  border-top: 4px solid #d8d8d8;
}
.tabs-container:not(.slider-integrated) .swiper-pagination-bullets {
  display: none;
}

.timeline {
  margin-top: 20px !important;
  position: relative;
}
.timeline:before {
  background: #d8d8d8;
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 4px;
  margin-left: -2px;
  left: 20px;
}
@media (min-width: 992px) {
  .timeline:before {
    left: 50%;
  }
}
.timeline .ug-item {
  flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  position: relative;
  max-width: 100%;
  padding-left: 25px;
  /*
  * Right Elements
  */
}
@media (min-width: 992px) {
  .timeline .ug-item {
    padding: 0;
  }
}
.timeline .ug-item .content {
  position: relative;
  background-color: #f9f9f9;
  color: #222;
  padding: 40px;
}
.timeline .ug-item:before {
  border-radius: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #8cb03e;
  position: absolute;
  left: -3px;
  top: 15px;
}
@media (min-width: 992px) {
  .timeline .ug-item:before {
    right: 26px;
    transform: translateX(-50%);
    transition: transform ease-in-out 150ms;
    transform-origin: 0 50%;
    top: 15px;
    left: 50%;
  }
}
@media (min-width: 992px) {
  .timeline .ug-item .content {
    margin-right: 53%;
  }
}
.timeline .ug-item .content:after {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 10px 12px 10px 0;
  border-color: rgba(0, 0, 0, 0) #f9f9f9 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  top: 12px;
  left: -12px;
}
@media (min-width: 992px) {
  .timeline .ug-item .content:after {
    border-width: 10px 0 10px 12px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #f9f9f9;
    left: auto;
    right: -12px;
  }
}
.timeline .ug-item .content > *:first-child {
  margin-top: 0;
}
.timeline .ug-item .content > *:last-child {
  margin-bottom: 0;
}
.timeline .ug-item:nth-child(even):before {
  border-radius: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #8cb03e;
  position: absolute;
  left: -3px;
  top: 15px;
}
@media (min-width: 992px) {
  .timeline .ug-item:nth-child(even):before {
    transform: translateX(-50%);
    transform-origin: 0 50%;
    top: 15px;
    left: 50%;
  }
}
@media (min-width: 992px) {
  .timeline .ug-item:nth-child(even) .content {
    margin-right: 0;
    margin-left: 53%;
  }
}
.timeline .ug-item:nth-child(even) .content:after {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 10px 12px 10px 0;
  border-color: rgba(0, 0, 0, 0) #f9f9f9 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  top: 12px;
  left: -12px;
}

.slider-integrated .container {
  max-width: 100%;
}
.slider-integrated .swiper-container {
  border-top: none;
  min-height: 460px;
  height: 57vh !important;
  max-height: 800px;
}
@media (min-width: 768px) {
  .slider-integrated .swiper-container {
    height: 50vw !important;
    min-height: 500px;
  }
}
.slider-integrated .swiper-container .swiper-slide {
  display: flex;
  align-items: center;
}
.slider-integrated .slide {
  background-size: cover;
}
.slider-integrated .swiper-pagination-bullets {
  text-align: left;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet {
  height: 1rem;
  width: 1rem;
  background-color: #fff;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  opacity: 0.7;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 0.7rem;
}
.slider-integrated .content-box {
  box-shadow: none;
  border-radius: 0;
}
.slider-integrated .content-box .content-wrap {
  padding: 3rem 3rem calc(3rem - 1.5rem) 3rem;
}
.slider-integrated .content-box h1,
.slider-integrated .content-box h2,
.slider-integrated .content-box h3 {
  margin: 0;
}
.slider-integrated .content-box p {
  font-size: 1.8rem;
  line-height: 2.2rem;
}
.slider-integrated .content-box .button-group {
  margin-top: 0;
}
.slider-integrated .triangle {
  width: 100%;
  height: 1.5rem;
  margin-top: -3px;
  border-top: 3px solid #fff;
}
.slider-integrated .banner {
  display: none;
  max-height: 100px;
  width: auto;
  position: absolute;
  margin-top: -3rem;
  margin-right: 2rem;
  top: 0;
  right: 0;
  transform: rotate(-10deg);
}
@media (min-width: 768px) {
  .slider-integrated .banner {
    display: block;
  }
}

@keyframes popup-wrap-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.popup-wrap {
  display: none;
  background-color: rgba(55, 55, 55, 0.74);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 30;
  align-items: center;
  justify-content: center;
}
.popup-wrap.active {
  display: flex;
  animation: popup-wrap-reveal ease 200ms forwards;
}

.popup-window {
  background-color: #ffffff;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.29);
  width: 100%;
  max-width: 800px;
  max-height: calc(100vh - 2rem);
  margin: 1rem 2rem;
  display: flex;
  flex-flow: column;
  justify-content: stretch;
}
@media (min-width: 768px) {
  .popup-window {
    width: 70%;
  }
}
@media (min-width: 992px) {
  .popup-window {
    width: 55%;
  }
}
.popup-window .heading {
  display: flex;
  border-bottom: 2px solid #efefef;
}
.popup-window .heading .title {
  margin: 0.5rem 1rem;
}
.popup-window .content {
  overflow-y: hidden;
  flex-grow: 1;
  padding: 1rem;
}
.popup-window .popup-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  border-left: 2px solid #efefef;
  cursor: pointer;
}
.popup-window .popup-button:hover {
  background-color: #f9f9f9;
}
.popup-window .popup-button:active {
  background-color: #f3f3f3;
}
.popup-window .popup-button.close-button {
  margin-left: auto;
}
.popup-window .popup-button.close-button img {
  width: 1.5rem;
}

body.admin-bar .popup-window {
  max-height: calc(100vh - 2rem - 32px);
  margin-top: calc(1rem + 32px);
}

/*******************************
 * WPCF7 SUpport
 ******************************/
.wpcf7-response-output {
  position: static !important;
  margin-top: 1rem !important;
}

.file-download-wrap {
  border-top: 2px solid #8cb03e;
  border-bottom: 2px solid #8cb03e;
}
.file-download-wrap .file-download + .file-download {
  border-top: 2px solid #8cb03e;
}
.file-download-wrap .file-download:hover {
  background-color: #8cb03e;
}
.file-download-wrap .file-download:hover .download-link {
  color: #fff;
}
.file-download-wrap .file-download:hover .download-link:before {
  background-image: url("../../res/icons/download-inverted.svg");
}
.file-download-wrap .file-download .download-link {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  font-weight: bold;
}
.file-download-wrap .file-download .download-link:before {
  content: "";
  display: inline-block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../res/icons/download.svg");
  height: 32px;
  width: 32px;
  margin-right: 1rem;
  margin-left: 0.5rem;
}

.opening-hours {
  display: flex;
  flex-flow: column;
}
.opening-hours .hours-row {
  padding: 0.3rem 0;
  border-bottom: 2px solid #779a2d;
}
.opening-hours .hours-row span:first-child {
  display: inline-flex;
  width: 100%;
  font-weight: bold;
}
@media (min-width: 768px) {
  .opening-hours .hours-row span:first-child {
    width: 30%;
  }
}
.opening-hours .hours-row span:last-child {
  color: #d4e3b3;
  font-size: 0.8rem;
}

/*# sourceMappingURL=main.css.map */
