@charset "UTF-8";
/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.


******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/* normalize.css 2012-07-07T09:50 UTC - http://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * 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.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 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;
}

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

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

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

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

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

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

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

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

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: "";
  content: none;
}

small, .small {
  font-size: 75%;
}

/**
 * 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;
}

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px;
}

ul {
  padding: 0;
  list-style-type: none;
}

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

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

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

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * 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.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

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

*::selection {
  background: var(--green);
  color: white;
}

/**
 * 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 Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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;
}

/**
 * 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 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 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 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

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

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.clearfix, .cf {
  zoom: 1;
}
.clearfix:before, .clearfix:after, .cf:before, .cf:after {
  content: "";
  display: table;
}
.clearfix:after, .cf:after {
  clear: both;
}

p.clearfix {
  pointer-events: none;
}

/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville, "Goudy Old Style", Palatino, "Book Antiqua", serif !important;
  font-style: italic;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
*********************/
:root {
  --black: #111;
  --very-dark-gray: #646464;
  --dark-gray: #737373;
  --light-gray: #b5b5b5;
  --very-light-gray: #f8f8f8;
  --green: #73ba1d;
  --dark-green: #3e6416;
  --blue: #00b1ff;
  --text-color: #646464;
  --text-regular: 20px;
  --text-small: 17px;
  --text-extra-small: 14px;
  --text-big: 24px;
  --headline-small: var(--text-small);
  --headline-big: 110px;
  --headline-medium: 58px;
  --delay: 1s;
  --duration: 800ms;
  --iterations: 1;
  --margin-small: 60px;
  --margin-medium: 110px;
  --margin-big: 140px;
  --ratio-square: 1;
  --ratio-landscape: 4/3;
  --ratio-portrait: 3/4;
  --ratio-widescreen: 16/9;
  --ratio-ultrawide: 18/5;
  --ratio-golden: 1.6180/1;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Typography

******************************************************************/
/*********************
FONT FACE 
*********************/
@font-face {
  font-family: "Theinhardt-Bold";
  src: url("../fonts/TheinhardtBold-Regular.eot");
  src: url("../fonts/TheinhardtBold-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Theinhardt-Bold/Theinhardt-Bold.woff2") format("woff2"), url("../fonts/Theinhardt-Bold/Theinhardt-Bold.woff") format("woff"), url("../fonts/TheinhardtBold-Regular.svg#TheinhardtBold-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Theinhardt";
  src: url("../fonts/TheinhardtRegular-Regular.eot");
  src: url("../fonts/TheinhardtRegular-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/TheinhardtRegular-Regular.svg#TheinhardtRegular-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Theinhardt-Light";
  src: url("../fonts/Theinhardt-Light/Theinhardt-Light.eot");
  src: url("../fonts/Theinhardt-Light/Theinhardt-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Theinhardt-Light/Theinhardt-Light.woff2") format("woff2"), url("../fonts/Theinhardt-Light/Theinhardt-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Theinhardt-Heavy";
  src: url("../fonts/Theinhardt-Heavy/Theinhardt-Heavy.eot");
  src: url("../fonts/Theinhardt-Heavy/Theinhardt-Heavy.eot?#iefix") format("embedded-opentype"), url("../fonts/Theinhardt-Heavy/Theinhardt-Heavy.woff2") format("woff2"), url("../fonts/Theinhardt-Heavy/Theinhardt-Heavy.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
html {
  --heavy: "Theinhardt-Heavy",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
}

/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -webkit-font-feature-settings: "liga", "dlig";
  -moz-font-feature-settings: "liga=1, dlig=1";
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig";
}

h1, h2, h3, h4, h5 {
  overflow-wrap: normal;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/* Convert Illustrator, InDesign and Photoshop tracking into letter spacing.
-------------------------*/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

I've seperated the grid so you can swap it out easily. It's
called at the top the style.scss stylesheet.

There are a ton of grid solutions out there. You should definitely
experiment with your own. Here are some recommendations:

http://gridsetapp.com - Love this site. Responsive Grids made easy.
http://susy.oddbird.net/ - Grids using Compass. Very elegant.
http://gridpak.com/ - Create your own responsive grid.
https://github.com/dope/lemonade - Neat lightweight grid.


The grid below is a custom built thingy I modeled a bit after
Gridset. It's VERY basic and probably shouldn't be used on
your client projects. The idea is you learn how to roll your
own grids. It's better in the long run and allows you full control
over your project's layout.

******************************************************************/
.last-col {
  float: right;
  padding-right: 0 !important;
}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .m-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .m-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .m-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .m-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .m-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
}
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .t-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .t-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .t-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .t-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .t-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .t-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .t-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .t-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .t-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
}
/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.75em;
    width: 100%;
    padding-right: 0;
  }
  .d-1of2 {
    float: left;
    padding-right: 0.75em;
    width: 50%;
  }
  .d-1of3 {
    float: left;
    padding-right: 0.75em;
    width: 33.33%;
  }
  .d-2of3 {
    float: left;
    padding-right: 0.75em;
    width: 66.66%;
  }
  .d-1of4 {
    float: left;
    padding-right: 0.75em;
    width: 25%;
  }
  .d-3of4 {
    float: left;
    padding-right: 0.75em;
    width: 75%;
  }
  .d-1of5 {
    float: left;
    padding-right: 0.75em;
    width: 20%;
  }
  .d-2of5 {
    float: left;
    padding-right: 0.75em;
    width: 40%;
  }
  .d-3of5 {
    float: left;
    padding-right: 0.75em;
    width: 60%;
  }
  .d-4of5 {
    float: left;
    padding-right: 0.75em;
    width: 80%;
  }
  .d-1of6 {
    float: left;
    padding-right: 0.75em;
    width: 16.6666666667%;
  }
  .d-1of7 {
    float: left;
    padding-right: 0.75em;
    width: 14.2857142857%;
  }
  .d-2of7 {
    float: left;
    padding-right: 0.75em;
    width: 28.5714286%;
  }
  .d-3of7 {
    float: left;
    padding-right: 0.75em;
    width: 42.8571429%;
  }
  .d-4of7 {
    float: left;
    padding-right: 0.75em;
    width: 57.1428572%;
  }
  .d-5of7 {
    float: left;
    padding-right: 0.75em;
    width: 71.4285715%;
  }
  .d-6of7 {
    float: left;
    padding-right: 0.75em;
    width: 85.7142857%;
  }
  .d-1of8 {
    float: left;
    padding-right: 0.75em;
    width: 12.5%;
  }
  .d-1of9 {
    float: left;
    padding-right: 0.75em;
    width: 11.1111111111%;
  }
  .d-1of10 {
    float: left;
    padding-right: 0.75em;
    width: 10%;
  }
  .d-1of11 {
    float: left;
    padding-right: 0.75em;
    width: 9.0909090909%;
  }
  .d-1of12 {
    float: left;
    padding-right: 0.75em;
    width: 8.33%;
  }
}
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

Buttons are a pretty important part of your site's style, so it's
important to have a consistent baseline for them. Use this stylesheet
to create all kinds of buttons.

Helpful Links:
http://galp.in/blog/2011/08/02/the-ui-guide-part-1-buttons/

******************************************************************/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
#content .vc_btn3-container {
  margin-bottom: 20px;
}
#content .vc_btn3-container .vc_btn3 {
  border-radius: 0;
  padding: 10px 40px;
  border: none;
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
  font-weight: 700;
}
#content .vc_btn3-container.grey .vc_btn3 {
  background: grey;
}
#content .vc_btn3-container.grey .vc_btn3:hover {
  background: rgb(102.5, 102.5, 102.5);
}
#content .vc_btn3-container.blue .vc_btn3 {
  background: #2980b9;
}
#content .vc_btn3-container.blue .vc_btn3:hover {
  background: rgb(31.7477876106, 99.1150442478, 143.2522123894);
}
#content .vc_btn3-container.light-blue .vc_btn3 {
  background: #86b4d8;
}
#content .vc_btn3-container.light-blue .vc_btn3:hover {
  background: rgb(95.43125, 156.09375, 203.56875);
}
#content .vc_btn3-container.red .vc_btn3 {
  background: #ff555b;
}
#content .vc_btn3-container.red .vc_btn3:hover {
  background: rgb(255, 34, 41.8);
}
#content .vc_btn3-container.black .vc_btn3 {
  background: #222;
}
#content .vc_btn3-container.black .vc_btn3:hover {
  background: rgb(8.5, 8.5, 8.5);
}
#content .vc_btn3-container.white .vc_btn3 {
  background: #fff;
  color: #ff555b;
}
#content .vc_btn3-container.white .vc_btn3:hover {
  background: rgb(242.25, 242.25, 242.25);
}

.blue-btn {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: #fff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
  -webkit-transition: background-color 0.14s ease-in-out;
  transition: background-color 0.14s ease-in-out;
}
.blue-btn:hover, .blue-btn:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn {
  background-color: #2980b9;
}
.blue-btn:hover, .blue-btn:focus {
  background-color: rgb(37.2991150442, 116.4460176991, 168.3008849558);
}
.blue-btn:active {
  background-color: rgb(36.3738938053, 113.5575221239, 164.1261061947);
}

.btn_1 {
  --btn-size: 55px;
  position: relative;
}
.btn_1 a {
  background: var(--green);
  font-weight: 700;
  font-size: 2rem;
  position: relative;
}
.btn_1 a:hover {
  background: var(--gray);
}

.button {
  --btn-color: var(--green);
  --hover-color: white;
  --padding-top: 17px;
  border: 2px solid var(--btn-color);
  padding: var(--padding-top) 35px calc(var(--padding-top) - 2px);
  min-width: 220px;
  margin-top: var(--margin-small);
  display: inline-block;
  text-align: center;
  font-size: var(--text-small);
  letter-spacing: 0.1em;
  color: var(--btn-color);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.button:hover, .button:active {
  background: var(--btn-color);
  color: var(--hover-color);
}

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

Stylesheet: Slider Styles

******************************************************************/
/*********************
SLIDER
*********************/
.slider-container {
  width: 60%;
  margin: 0 auto;
}

.slick-prev:before, .slick-next:before {
  font-size: 40px;
  line-height: 0;
  opacity: 0.75;
  color: white;
  display: block;
  width: 20px;
  height: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #fff;
}

.slick-prev:before {
  content: "";
  background: url(../images/icon-arrow-left.png) center center/16px no-repeat;
}

.slick-next:before {
  content: "";
  background: url(../images/icon-arrow-right.png) center center/16px no-repeat;
}

.slick-prev {
  left: 0;
}

.slick-next {
  right: 0;
}

.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  z-index: 5;
  position: absolute;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 51px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: var(--dark-gray);
}
.slick-prev:hover, .slick-next:hover {
  background: var(--green);
}

.slick-dots {
  position: absolute;
  bottom: 10px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:before {
  font-size: 20px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  background: #333;
  border: 1px solid RGBA(255, 255, 255, 0.5);
  border-radius: 50%;
  text-align: center;
  opacity: 1;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  border: 1px solid RGBA(255, 255, 255, 0.8);
  background: #777;
}

.my-slider {
  margin: 30px auto 50px;
  width: 100%;
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.my-slider div {
  text-align: center;
  color: #fff;
}
.my-slider div h3 {
  color: #3498db;
  font-size: 36px;
  line-height: 100px;
  margin: 10px;
  padding: 2%;
  position: relative;
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.my-slider div.slick-current {
  background: #ff555b;
}
.my-slider div.slick-current h3 {
  background: #ff555b;
  color: #fff;
}

.slick-slide img {
  width: 100%;
}

.slider-container {
  width: 100%;
}

.slider_test {
  display: block;
}
.slider_test .slick-slide {
  border: 1px solid blue;
  padding: 0 50px;
}
.slider_test .slick-slide h3 {
  padding: 0 50px;
  font-size: 5vw;
}
.slider_test div.slick-current {
  background: transparent;
}
.slider_test div.slick-current h3 {
  background: transparent;
  color: blue;
}

.slider_1 {
  width: 100%;
}
.slider_1 div {
  background-size: contain;
}
.slider_1 div.slick-current {
  background: transparent;
}
.slider_1 div.slick-current h3 {
  background: inherit;
  color: #222;
  text-align: left;
}

.slider_1_B div {
  position: relative;
}
.slider_1_B div h3 {
  position: relative;
  z-index: 2;
}
.slider_1_B div::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #222;
  -webkit-transition: all 0.5s cubic-bezier(0.84, 0.24, 1, 0.29);
  transition: all 0.5s cubic-bezier(0.84, 0.24, 1, 0.29);
}
.slider_1_B div.slick-current:before {
  width: 100%;
}
.slider_1_B div.slick-current h3 {
  background: transparent;
}

.slider_3 div img {
  width: 100%;
  height: auto;
}

.slider-full .slick-prev {
  left: 50px;
  z-index: 2;
}
.slider-full .slick-next {
  right: 50px;
}

/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

We put all the form and button styles in here to setup a consistent
look. If we need to customize them, we can do this in the main
stylesheets and just override them. Easy Peasy.

You're gonna see a few data-uri thingies down there. If you're not
sure what they are, check this link out:
http://css-tricks.com/data-uris/
If you want to create your own, use this helpful link:
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

******************************************************************/
/*********************
INPUTS
*********************/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: 56px;
  line-height: 1em;
  padding: 10px 12px;
  margin-bottom: 14px;
  font-size: 1em;
  color: #222;
  border-radius: 0;
  vertical-align: middle;
  box-shadow: none;
  border: 0;
  width: 100%;
  background-color: #fff;
  border: 1px solid var(--dark-gray);
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: rgb(247.35, 247.35, 247.35);
  border: 1px solid rgb(59.5, 59.5, 59.5);
  outline: none;
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #fbe3e4;
  border-color: #fbe3e4;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
  outline-color: #fbe3e4;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #e6efc2;
  border-color: #e6efc2;
  background-color: #fff;
  background-position: 99% center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
  outline-color: #e6efc2;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #cfcfcf;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type=password] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 300px;
  line-height: 1.5em;
}

select {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: 95% center;
}

select {
  cursor: pointer;
  outline: none;
  padding-left: 10px;
  width: 100%;
  max-width: 100%;
  display: block;
  margin-right: 10px;
  margin-bottom: 20px;
  background-image: url("../images/icon-dropdown.svg");
  background-size: 13px 6px;
}
select.place_holder {
  color: #777;
}
select option {
  text-transform: uppercase;
}

input[type=submit] {
  padding: 7px 20px 9px;
  color: white;
  border: none;
  height: 56px;
  width: 100%;
  border: 2px solid var(--green);
  background: white;
  color: var(--green);
}
input[type=submit]:hover {
  background: var(--green);
  color: white;
}

.wpcf7 form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.wpcf7-submit {
  margin-top: 14px;
}

.wpcf7 form.sent .wpcf7-response-output {
  padding: 1em 2em;
  margin: 0;
  border-color: var(--green);
  font-size: var(--text-regular);
}

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
:root {
  --wrap: 1030px;
  --inner-width: 96%;
  --text-regular: 18px;
  --text-small: 16px;
  --text-big: 20px;
  --headline-small: var(--text-small);
  --headline-big: 40px;
  --headline-medium: 24px;
  --cite: 20px;
  --margin-extra-small: 30px;
  --margin-small: 40px;
  --margin-medium: 60px;
  --margin-big: 100px;
  --gutter: var(--margin-extra-small);
}

/*********************
GENERAL STYLES
*********************/
html {
  font-size: 10px;
  overflow-x: hidden; /* magic... */
}

body {
  font-family: "Theinhardt", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--very-dark-gray);
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}

/*********************
LAYOUT & GRID STYLES
*********************/
.wrap {
  width: 90%;
  margin: 0 auto;
  max-width: 90%;
}

.inner-container {
  display: flex;
}

/*********************
LINK STYLES
*********************/
a {
  color: #676767;
  /* on hover */
}
a:hover, a:focus {
  color: rgb(80.05, 80.05, 80.05);
}
a {
  /* on click */
}
a {
  /* mobile tap color */
}
a:link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

a, *:focus {
  outline: 0 !important;
}

p a {
  color: var(--dark-gray);
}
p a:hover {
  color: var(--green);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: normal;
  margin: 0 0 0.3em;
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  /* removing text decoration from all headline links */
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
}
h1.green, .h1.green, h2.green, .h2.green, h3.green, .h3.green, h4.green, .h4.green, h5.green, .h5.green {
  color: var(--green);
}
h1.gray, .h1.gray, h2.gray, .h2.gray, h3.gray, .h3.gray, h4.gray, .h4.gray, h5.gray, .h5.gray {
  color: var(--dark-gray);
}
h1.light-gray, .h1.light-gray, h2.light-gray, .h2.light-gray, h3.light-gray, .h3.light-gray, h4.light-gray, .h4.light-gray, h5.light-gray, .h5.light-gray {
  color: var(--light-gray);
}
h1.white, .h1.white, h2.white, .h2.white, h3.white, .h3.white, h4.white, .h4.white, h5.white, .h5.white {
  color: white;
}
h1.invisible, .h1.invisible, h2.invisible, .h2.invisible, h3.invisible, .h3.invisible, h4.invisible, .h4.invisible, h5.invisible, .h5.invisible {
  color: transparent;
}
h1.invisible::before, .h1.invisible::before, h2.invisible::before, .h2.invisible::before, h3.invisible::before, .h3.invisible::before, h4.invisible::before, .h4.invisible::before, h5.invisible::before, .h5.invisible::before {
  content: ".";
}

h1, .h1 {
  font-size: var(--headline-big);
  line-height: 1.1em;
  font-weight: 800;
  font-family: "Theinhardt-Heavy", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--green);
  letter-spacing: 0.032em;
}
h2, .h2 {
  font-size: var(--headline-medium);
  line-height: 1.1em;
  font-weight: 700;
  font-family: "Theinhardt-Heavy", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--green);
  letter-spacing: 0.032em;
}
h2.gray, .h2.gray {
  color: var(--dark-gray);
}

h3, .h3 {
  font-size: var(--headline-small);
  color: var(--dark-gray);
  line-height: 1.4em;
  font-weight: 600;
}

h4, .h4 {
  font-size: var(--text-big);
  font-family: "Theinhardt-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  margin: 0;
}

h5, .h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

h6, .h6 {
  font-size: 0.846em;
  line-height: 2.09em;
  letter-spacing: 2px;
}

p, li {
  font-size: var(--text-regular);
  line-height: 1.5;
  font-weight: 300;
  font-family: "Theinhardt-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

p {
  margin: var(--margin-extra-small) 0 var(--margin-extra-small);
}

.big_text {
  font-size: var(--text-big);
}

p strong {
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

ul {
  margin: 0;
}

/*********************
HEADER STYLES
*********************/
#header {
  position: absolute;
  top: 0;
  z-index: 10;
  width: 100%;
  pointer-events: none;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#header #inner-header .nav {
  margin-top: 10px;
}

#logo {
  margin: 30px 0 0;
}
#logo a {
  display: inline-block;
  pointer-events: initial;
  background: url(../images/logo/logo-green.svg) 0 0 no-repeat;
  background-size: contain;
  width: 58px;
  height: 58px;
}

#logo-type {
  display: inline-block;
  background: url(../images/logo/logo-type-green.svg) 0 0 no-repeat;
  background-size: contain;
  width: 115px;
  height: 62px;
  display: none;
}

.dark_site #logo, .menu_open #logo {
  z-index: 20;
  position: relative;
}
.dark_site #logo a, .menu_open #logo a {
  background: url(../images/logo/logo-white.svg) 0 0 no-repeat;
  background-size: contain;
}
.dark_site #logo-type, .menu_open #logo-type {
  background: url(../images/logo/logo-type-white.svg) 0 0 no-repeat;
  background-size: contain;
}

/*********************
NAVIGATION STYLES
*********************/
.nav_container_mobile {
  display: inline-block;
}

.nav_container_desktop {
  display: none;
}

.nav_container_mobile {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 19;
  height: 100vh;
  width: 100%;
  background: var(--green);
  padding: 0 5vw 0;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition-delay: 0.4s;
  transform: translateX(100%);
}
.nav_container_mobile nav ul li {
  margin: 5px 0;
  text-align: center;
  transform: translateX(100px);
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.4s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.nav_container_mobile nav ul li a {
  margin: 0;
  padding: 0;
  color: #fff;
  text-decoration: none;
  font-size: var(--text-big);
  font-weight: 800;
  font-family: "Theinhardt-Heavy", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.nav_container_mobile nav ul li.animate_menu {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}
.nav_container_mobile nav ul {
  /* highlight current page */
}
.nav_container_mobile nav ul li.current-menu-item a,
.nav_container_mobile nav ul li.current_page_item a,
.nav_container_mobile nav ul li.current_page_ancestor a {
  border-bottom: 2px solid white;
}
.nav_container_mobile nav ul {
  /* end current highlighters */
}

.nav_toggle {
  position: fixed;
  width: 65px;
  height: 65px;
  display: flex;
  z-index: 20;
  top: 20px;
  right: 0;
  background: transparent;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  --toggle-width: 24px;
  --toggle-height: 2px;
  --toggle-main-color: var(--green);
  --toggle-hover-color: white;
}
.nav_toggle:active span {
  transform: scale(0.95);
}
.nav_toggle span {
  display: block;
  height: var(--toggle-height);
  width: var(--toggle-width);
  top: 0px;
  background: var(--toggle-main-color);
  position: relative;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.nav_toggle span::after, .nav_toggle span::before {
  display: inline-block;
  content: "";
  position: absolute;
  height: var(--toggle-height);
  width: var(--toggle-width);
  background: var(--toggle-main-color);
  -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.nav_toggle span::before {
  top: -10px;
}
.nav_toggle span::after {
  top: 10px;
}
.nav_toggle:hover {
  background: var(--green);
}
.nav_toggle:hover span, .nav_toggle:hover span::after, .nav_toggle:hover span::before {
  background: var(--toggle-hover-color);
}

.dark_site .nav_toggle span {
  background: white;
}
.dark_site .nav_toggle span::before, .dark_site .nav_toggle span::after {
  background: white;
}

.nav_content {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.menu_open .nav_toggle {
  background: transparent;
}
.menu_open .nav_toggle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  width: 70%;
  height: 70%;
  border-radius: 50%;
  border: 2px solid white;
  transform: translate(-50%, -50%) scale(0);
  -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  opacity: 0;
}
.menu_open .nav_toggle span, .menu_open .nav_toggle span::before, .menu_open .nav_toggle span::after {
  background: #fff;
}
.menu_open .nav_toggle span {
  background: transparent;
}
.menu_open .nav_toggle span::before {
  transform: rotate(45deg) translate(0, 0);
  top: 0px;
}
.menu_open .nav_toggle span::after {
  transform: rotate(-45deg);
  top: 0px;
}
.menu_open .nav_toggle:hover::before {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.menu_open .nav_toggle:hover span {
  transform: rotate(-90deg);
}
.menu_open .nav_container_mobile {
  transform: translateX(0);
  transition-delay: 0s;
}
.menu_open .nav_container_mobile .nav_content {
  left: 0;
}

/*********************
SPRACH SCHALTER
*********************/
.lang-switcher {
  display: inline-block;
  position: fixed;
  z-index: 20;
  bottom: 10px;
  right: 15px;
  --switch-color: var(--green);
}
.lang-switcher ul li a {
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  line-height: 1;
  color: var(--switch-color);
  padding: 4px 0 3px;
}
.lang-switcher ul li a:hover {
  color: var(--very-dark-gray);
}
.lang-switcher ul li:first-child {
  border-bottom: 4px solid var(--switch-color);
}

.dark_site .lang-switcher, .menu_open .lang-switcher {
  --switch-color: white;
}

.scrolled-a-little .lang-switcher, .page-id-1920 .lang-switcher {
  --switch-color: var(--green);
}

.page-id-1920 #about-intro + div + .section-white .vc_row {
  margin-top: 0;
  margin-bottom: var(--margin-medium);
}
.page-id-1920 #about-intro + div + .section-white .vc_row p {
  margin-top: 0;
}

/*********************
GLOBAL // COMPOSER STYLES
*********************/
section {
  padding-top: var(--margin-medium);
  padding-bottom: var(--margin-medium);
}

.vc_section {
  background: white;
}

.vc_row.small-margins {
  padding-top: var(--margin-small);
  padding-bottom: var(--margin-small);
}
.vc_row {
  margin-top: var(--margin-extra-small);
}
.vc_row .zweigrad_banner {
  margin-top: calc(var(--margin-extra-small) * -1);
}

.wpb_column + .wpb_column {
  margin-top: var(--margin-extra-small);
}

.vc_row {
  padding-top: 0;
}

.wpb_single_image {
  max-height: 100vh;
  overflow: hidden;
}

.wpb_content_element {
  margin-bottom: 0;
}

section, .section-white {
  background-color: white;
}

.section-green {
  background: var(--green);
}
.section-green h1, .section-green h2, .section-green h3, .section-green h4, .section-green p, .section-green li {
  color: white;
}

.section-grey, .section-gray {
  background: var(--very-light-gray);
}
.section-grey + div + .section-fullwidth-image, .section-grey + div + .section-fullwidth-image .vc_row, .section-gray + div + .section-fullwidth-image, .section-gray + div + .section-fullwidth-image .vc_row {
  margin-top: 0;
  padding-top: 0;
}

.section-dark-gray {
  background: var(--light-gray);
}

.section-fullwidth-image {
  padding: 0;
}

.two-columns p {
  columns: 2;
}

ol, ul {
  overflow-wrap: none;
}

span.no-wrap {
  display: inline-block;
}

/*********************
BUTTONS
*********************/
.button {
  left: 50%;
  position: relative;
  transform: translateX(-50%);
}

.plain_colored_section .button {
  width: auto;
  left: 0;
  transform: none;
}

/*********************
CONTENT
*********************/
#content {
  z-index: 1;
  position: relative;
}

.inner-content {
  padding: var(--margin-small) 0;
}

img {
  max-width: 100%;
  height: auto;
}

/*********************
ACCORDION
*********************/
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading, .vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-body {
  background: white;
  border: none;
  padding-left: 0;
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading .vc_tta-panel-title a, .vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-body .vc_tta-panel-title a {
  padding: 14px 20px 14px 0;
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading p, .vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-body p {
  margin: 0;
  padding-right: 46px;
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading h3 a:hover {
  color: var(--green);
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading h3 a i {
  position: relative;
  transform: none;
  right: 0;
  left: 20px;
  height: 15px;
  width: 15px;
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion .vc_tta-panels .vc_tta-panel .vc_tta-panel-heading h3 a i::before {
  border-color: var(--green);
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion.accordion-light-gray .vc_tta-panel-heading h3 a {
  color: var(--light-gray);
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion.accordion-gray .vc_tta-panel-heading h3 a {
  color: var(--gray);
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion.accordion-green .vc_tta-panel-heading h3 a {
  color: var(--green);
}
.vc_tta-container .vc_tta-accordion.zweigrad-accordion.accordion-green .vc_tta-panel-heading h3 a:hover {
  color: var(--gray) !important;
}

/*********************
HOME
*********************/
#home__intro, .home__intro {
  background: var(--green);
}

.home__intro {
  height: 100vh;
  width: 100vw;
  position: relative;
  left: 50%;
  padding: 0;
  transform: translateX(-50%);
}

.home_intro_content {
  position: sticky;
  top: 0;
  height: 0;
  z-index: 1;
}

.home_video_wrapper.video_wrapper {
  width: 100%;
  height: 100vh;
  z-index: 1;
  margin-top: 0;
}
.home_video_wrapper.video_wrapper #intro_video {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
}
.home_video_wrapper.video_wrapper .pre_video_image {
  position: absolute;
  top: 0;
  left: 0;
}

.home__welcome {
  position: relative;
  z-index: 2;
  background: white;
  float: left;
  width: 100vw;
  padding-bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.home__welcome .inner-content {
  padding: 0;
}

.home #logo-type {
  position: absolute;
  top: 35vh;
  height: 50vh;
  width: 50vw;
  background: url(../images/logo/logo-type-white.svg) 0 0 no-repeat;
  background-size: contain;
}
.home #logo-type.video_clicked {
  top: 0;
  width: 115px;
  height: 62px;
}

/*********************
// HOME HERO CASES
*********************/
.all_projects_link {
  background: var(--very-light-gray);
  color: var(--green);
  z-index: 10;
  padding: var(--margin-medium) 0;
  text-decoration: none;
  font-size: 16px;
  font-weight: 800;
  overflow: hidden;
  transform: scaleY(0);
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transform-origin: top center;
  text-transform: uppercase;
}
.all_projects_link span {
  opacity: 0;
}
.all_projects_link.in_view {
  display: flex;
  transform: scaleY(1);
}
.all_projects_link.in_view span {
  opacity: 1;
}

.plain_colored_section {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.plain_colored_section.two_buttons .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gutter);
}
.plain_colored_section .button {
  margin: 0;
}

.home__hero-cases {
  padding-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.home__hero-cases article {
  width: 100%;
  position: relative;
}
.home__hero-cases article .image_container {
  overflow: hidden;
  position: sticky;
  top: 0;
  z-index: 1;
  width: 100%;
}
.home__hero-cases article .image_container img {
  width: 100%;
  height: auto;
}
.home__hero-cases article .text_container_bg {
  position: relative;
  z-index: 2;
  padding-top: var(--margin-medium);
  padding-bottom: var(--margin-medium);
  width: 100%;
}
.home__hero-cases article .inner-container {
  width: 100%;
  position: relative;
  z-index: 2;
  display: flex;
  padding-left: 5vw;
  margin: 0;
  justify-content: flex-start;
  min-height: 200px;
}
.home__hero-cases article .inner-container .inner-content {
  position: relative;
  z-index: 3;
  max-width: 800px;
  padding-top: 0;
  padding-bottom: 0;
}
.home__hero-cases article .inner-container p {
  font-size: var(--text-small);
}
.home__hero-cases article:first-of-type {
  width: 100%;
}
.home__hero-cases article:first-of-type h3 {
  color: var(--green);
}
.home__hero-cases article:first-of-type h2 {
  color: var(--dark-gray);
}
.home__hero-cases article:first-of-type .image_container img {
  width: 100%;
  height: auto;
}
.home__hero-cases article:first-of-type .text_container_bg {
  background: var(--very-light-gray);
}
.home__hero-cases article:first-of-type .inner-container {
  padding: 0;
  margin-left: 5vw;
}
.home__hero-cases article:first-of-type .inner-container p {
  font-size: var(--text-regular);
}
.home__hero-cases article:last-of-type {
  background: var(--dark-gray);
}
.home__hero-cases article:last-of-type .text_container_bg {
  background: var(--dark-gray);
}
.home__hero-cases article:last-of-type .inner-container {
  margin-left: 0;
  padding-right: calc((100vw - var(--inner-width)) / 2);
  justify-content: flex-start;
}
.home__hero-cases article:last-of-type .button {
  --hover-color: var(--dark-gray);
}
.home__hero-cases article:nth-of-type(2) {
  background: var(--green);
}
.home__hero-cases article:nth-of-type(2) .text_container_bg {
  background: var(--green);
}
.home__hero-cases article:nth-of-type(2) .button {
  --hover-color: var(--green);
}
.home__hero-cases article:last-of-type, .home__hero-cases article:nth-of-type(2) {
  --color: white;
}
.home__hero-cases article:last-of-type h2, .home__hero-cases article:last-of-type h3, .home__hero-cases article:last-of-type h4, .home__hero-cases article:last-of-type p, .home__hero-cases article:nth-of-type(2) h2, .home__hero-cases article:nth-of-type(2) h3, .home__hero-cases article:nth-of-type(2) h4, .home__hero-cases article:nth-of-type(2) p {
  color: var(--color);
}
.home__hero-cases article:last-of-type .button, .home__hero-cases article:nth-of-type(2) .button {
  --btn-color:var(--color);
}

/*********************
// HOME SERVICES
*********************/
.home__services .services_keywords_container {
  display: none;
}
.home__services img {
  margin-top: var(--margin-small);
}
.home__services article:last-of-type a {
  margin-top: var(--margin-medium);
}
.home__services article:first-of-type a {
  display: none;
}

.services_keywords_container {
  width: 100%;
  float: left;
  margin-top: var(--margin-small);
  padding: 0 0 20px 0;
  margin-top: 20px;
  border-bottom: 2px solid var(--green);
}
.services_keywords_container:last-of-type {
  border-bottom: none;
}
.services_keywords_container h4 {
  color: var(--dark-gray);
}

/*********************
// HOME VISON AND NEWS
*********************/
.home__vision_and_news {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.home__vision_and_news article {
  width: 100%;
  background: var(--very-light-gray);
  display: flex;
}
.home__vision_and_news article h1, .home__vision_and_news article h2, .home__vision_and_news article h3, .home__vision_and_news article h4, .home__vision_and_news article p {
  color: var(--dark-gray);
}
.home__vision_and_news .vision_preview {
  position: relative;
}
.home__vision_and_news .vision_preview h1, .home__vision_and_news .vision_preview h2, .home__vision_and_news .vision_preview h3, .home__vision_and_news .vision_preview h4, .home__vision_and_news .vision_preview p {
  color: white;
}
.home__vision_and_news .vision_preview .vision_image_container {
  width: 100%;
  max-height: 300px;
}
.home__vision_and_news .vision_preview .vision_image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home__vision_and_news .vision_preview .inner-container {
  position: absolute;
  padding-top: var(--margin-medium);
  display: flex;
  width: 100%;
  justify-content: center;
  padding-left: 5vw;
  padding-left: 5vw;
}
.home__vision_and_news .vision_preview .inner-content {
  padding: 0;
  text-align: center;
}
.home__vision_and_news .vision_preview .inner-content .button {
  left: 0;
  transform: translateX(0);
}
.home__vision_and_news .vision_preview .panel_logo {
  width: 80px;
  height: 30px;
  background: url(../images/panel_logo.svg) left top no-repeat;
  background-size: contain;
  display: block;
  margin-bottom: 13px;
  margin-left: auto;
  margin-right: auto;
}
.home__vision_and_news .post_preview {
  padding: var(--margin-medium) 0;
}
.home__vision_and_news .post_preview .inner-container {
  display: flex;
  width: 100%;
  justify-content: center;
  padding-left: 5vw;
  margin-top: 40px;
}
.home__vision_and_news .post_preview .inner-content {
  padding: 0 5vw 0 0;
  text-align: center;
}
.home__vision_and_news .post_preview .inner-content .button {
  left: 0;
  transform: translateX(0);
}

/*********************
CONTACT
*********************/
.contact_container, .zweigrad_banner {
  width: 100vw;
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  background: var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
}

.zweigrad_banner {
  flex-wrap: wrap;
}
.zweigrad_banner.banner_with_text {
  padding-top: var(--margin-small);
  padding-bottom: var(--margin-small);
}
.zweigrad_banner h2 {
  text-align: center;
  color: white;
  width: 100%;
}
.zweigrad_banner .button {
  margin-top: var(--margin-extra-small);
  --btn-color: white;
}
.zweigrad_banner .button:hover {
  --hover-color: var(--green);
}

.button.btn_solid_white {
  border: 2px solid var(--white);
  background: white;
  color: var(--green);
}
.button.btn_solid_white:hover {
  border: 2px solid var(--green);
  background: var(--green);
  color: white;
}

.button.btn_white {
  --btn-color:white;
}
.button.btn_white:hover {
  --hover-color: var(--green);
}

.button.btn_gray {
  --btn-color:var(--dark-gray);
}
.button.btn_gray:hover {
  --hover-color: white;
}

.button i {
  margin-right: 20px;
}

/*********************
SINGLE CASE
*********************/
.single_intro, .impuls_intro {
  position: relative;
  z-index: 5;
  background: white;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

#case-intro, #impuls-intro {
  margin-top: 0;
  padding-top: 0;
  background: transparent;
  min-height: 0 !important;
}

#case-intro, #impuls-intro {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#case-intro .vc_row, #impuls-intro .vc_row {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 0;
}

.single_main_content {
  margin-top: 0 !important;
}

.case_section {
  margin-top: var(--margin-extra-small);
  padding-top: 0;
}
.case_section .meta_facts_container {
  margin-top: var(--margin-extra-small);
  margin-bottom: var(--margin-medium);
}

#case-intro + * + .case_section {
  padding-top: var(--margin-small);
}

.inner_single_intro {
  padding: 100px 0 var(--margin-small);
  background: white;
  display: flex;
  justify-content: space-between;
}
.inner_single_intro div {
  width: 66.666%;
}
.inner_single_intro aside {
  width: 33.33%;
  display: none;
}
.inner_single_intro aside p {
  white-space: break-spaces;
  font-size: var(--text-small);
  color: var(--light-gray);
  font-weight: 400;
  letter-spacing: 0.05rem;
  padding-left: 18px;
  margin-left: -20px;
  position: relative;
}
.inner_single_intro aside p::before {
  content: "";
  display: inline;
  position: absolute;
  top: 0;
  left: -5px;
  height: 100%;
  width: 2px;
  background: var(--green);
  transform: scaleY(1);
  animation: scale-in-from-top 1s 2s both;
  transform-origin: top;
}

.case section, .job section, .post section, .expert_view section, .vision_panel section, .post-news-template section {
  padding-bottom: 0;
}
.case section:first-of-type, .job section:first-of-type, .post section:first-of-type, .expert_view section:first-of-type, .vision_panel section:first-of-type, .post-news-template section:first-of-type {
  background: transparent;
}
.case .single_hero_image_container, .job .single_hero_image_container, .post .single_hero_image_container, .expert_view .single_hero_image_container, .vision_panel .single_hero_image_container, .post-news-template .single_hero_image_container {
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  height: 300px;
}
.case .single_hero_image_container .single_hero_image, .job .single_hero_image_container .single_hero_image, .post .single_hero_image_container .single_hero_image, .expert_view .single_hero_image_container .single_hero_image, .vision_panel .single_hero_image_container .single_hero_image, .post-news-template .single_hero_image_container .single_hero_image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.case .single_hero_image_container .single_hero_image img, .job .single_hero_image_container .single_hero_image img, .post .single_hero_image_container .single_hero_image img, .expert_view .single_hero_image_container .single_hero_image img, .vision_panel .single_hero_image_container .single_hero_image img, .post-news-template .single_hero_image_container .single_hero_image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.case .single_main_content, .job .single_main_content, .post .single_main_content, .expert_view .single_main_content, .vision_panel .single_main_content, .post-news-template .single_main_content {
  position: relative;
  z-index: 10;
}

#case_bullets {
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.meta_facts_container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.meta_facts_container .meta_facts {
  padding-left: 18px;
  width: 100%;
  margin-top: var(--gutter);
  position: relative;
}
.meta_facts_container .meta_facts::before {
  content: "";
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 2px;
  background: var(--green);
  transform: scaleY(1);
  animation: scale-in-from-top 1s 2s both;
  transform-origin: top;
}
.meta_facts_container .meta_facts h3 {
  margin: 0;
}
.meta_facts_container p {
  white-space: break-spaces;
  font-size: var(--text-small);
  color: var(--light-gray);
  margin: 0;
  font-weight: 400;
  letter-spacing: 0.05rem;
  margin-bottom: 0;
}

.vc_col-sm-8 .meta_facts_container {
  width: 100%;
}

.image_with_link_wrapper {
  position: relative;
  margin-top: var(--margin-extra-small);
}
.image_with_link_wrapper img {
  line-height: 0;
}
.image_with_link_wrapper a {
  position: absolute;
  left: 0;
  bottom: 3px;
  background: var(--dark-gray);
  text-decoration: none;
  padding: 12px 20px 10px;
  color: white;
  text-transform: uppercase;
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0.02em;
  font-size: var(--text-extra-small);
}
.image_with_link_wrapper a::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 20px;
  top: 2px;
  position: relative;
  background: url(../images/icon-arrow-right.png) right center/16px 16px no-repeat;
}
.image_with_link_wrapper a:hover {
  background: var(--green);
}

.case_zitat {
  background: var(--light-gray);
  padding: var(--margin-small);
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.case_zitat.green {
  background: var(--green);
}
.case_zitat.green blockquote + p {
  color: var(--dark-green);
}

blockquote {
  margin: 0;
  color: white;
}
blockquote p {
  font-size: var(--cite);
  font-family: var(--heavy);
  line-height: 1.1em;
  font-weight: 800;
  padding-bottom: var(--margin-extra-small);
  margin: 0;
}
blockquote + p {
  color: var(--dark-gray);
  font-weight: 700;
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--text-small);
  margin-bottom: 0;
}

.border_block::before {
  content: "";
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 2px;
  background: var(--green);
}
.border_block p {
  font-size: var(--text-small);
  padding-bottom: 0;
  margin-bottom: 0;
}

.vc_col-sm-3 .border_block {
  text-align: center;
  padding-top: var(--margin-extra-small);
  position: relative;
}
.vc_col-sm-3 .border_block:before {
  height: 2px;
  width: 100%;
}

.case_abbinder {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--margin-small);
}
.case_abbinder::before {
  content: "";
  display: block;
  height: var(--margin-small);
  width: 2px;
  background: var(--green);
}
.case_abbinder p {
  margin-top: var(--margin-extra-small);
  width: 100%;
  font-size: var(--text-big);
  color: var(--green);
  text-align: center;
}

.case_nav_container {
  margin-top: var(--margin-small);
  position: relative;
  width: 100%;
  height: 30px;
}
.case_nav_container::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 14px;
  z-index: 1;
  width: calc(100% - 100px);
  height: 2px;
  background: var(--green);
}
.case_nav_container .project_navi {
  position: relative;
  z-index: 5;
  background-color: white;
  display: inline-block;
  padding: 5px;
  font-size: var(--text-small);
}
.case_nav_container .project_navi a {
  text-decoration: none;
  color: var(--green);
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
}
.case_nav_container .prev_project {
  padding: 5px 35px 5px 10px;
  background: white url(../images/icon-arrow-right-green.png) right center/16px 16px no-repeat;
  float: right;
}
.case_nav_container .next_project {
  padding: 5px 10px 5px 35px;
  background: white url(../images/icon-arrow-left-green.png) left center/16px 16px no-repeat;
  float: left;
}

.single .all_projects_link {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-top: var(--margin-small);
}

.related_cases_container {
  margin-top: var(--margin-small);
}
.related_cases_container .related_cases {
  display: flex;
  gap: var(--gutter);
}
.related_cases_container .related_cases article {
  width: 25%;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  background-color: var(--black);
  overflow: hidden;
}
.related_cases_container .related_cases article .image_container, .related_cases_container .related_cases article h4, .related_cases_container .related_cases article img {
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.related_cases_container .related_cases article .image_container {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background: var(--green);
  position: relative;
  z-index: 1;
}
.related_cases_container .related_cases article .image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: normal;
}
.related_cases_container .related_cases article h4 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
  width: 100%;
  padding: 20px;
  z-index: 5;
  text-align: center;
  opacity: 0;
  color: white;
}
.related_cases_container .related_cases article:hover .image_container {
  opacity: 1;
}
.related_cases_container .related_cases article:hover .image_container img {
  mix-blend-mode: multiply;
}
.related_cases_container .related_cases article:hover h4 {
  opacity: 1;
  transform: translate(-50%, -50%);
}

/*********************
IMPULS INTRO
*********************/
.single:not(.single-case, .single-job) .single_intro, .single:not(.single-case, .single-job) .inner_single_intro {
  background: #3c3c3c;
}
.single:not(.single-case, .single-job) .single_intro h2, .single:not(.single-case, .single-job) .single_intro h3, .single:not(.single-case, .single-job) .inner_single_intro h2, .single:not(.single-case, .single-job) .inner_single_intro h3 {
  color: white;
}

/*********************
PAGE INTRO
*********************/
.hentry {
  background-color: #fff;
} /* end .hentry */
/* entry content */
#content .entry-content img {
  max-width: 100%;
  height: auto;
}
#content .entry-content .image_fullscreen img {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

/* end .entry-content */
/*********************
//VISION SLIDER
*********************/
#home__vision_slider {
  width: 100vw;
  position: relative;
  left: 50%;
  padding: 0;
  height: 100vh;
  transform: translateX(-50%);
}
#home__vision_slider .slider_logo_container {
  position: absolute;
  top: var(--margin-medium);
  left: 5vw;
}
#home__vision_slider .panel_logo {
  width: 110px;
  height: 50px;
  background: url(../images/panel_logo.svg) left top no-repeat;
  background-size: contain;
  display: block;
  margin-bottom: 13px;
  margin-left: auto;
  margin-right: auto;
}

.vision_slider {
  list-style: none;
}
.vision_slider li {
  margin: 0;
  max-width: 100%;
}
.vision_slider li a {
  --btn-color: white;
  --hover-color: var(--dark-gray);
  font-family: "Theinhardt", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
}
.vision_slider li.btn_green a.button {
  --btn-color: var(--green);
  --hover-color: white;
}
.vision_slider .slider_image_container {
  width: 100%;
  height: 100vh;
}
.vision_slider .slider_image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*********************
LISTE 
*********************/
.entry-content ul {
  list-style: disc;
}
.entry-content ul li {
  margin-left: 20px;
}

/*********************
TEAM
*********************/
.section_team {
  padding-top: var(--margin-extra-small);
}

#team_grid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#team_grid.active .team_toggle {
  opacity: 0.5;
}
#team_grid.active .team_toggle.active {
  opacity: 1;
}
#team_grid .row_container {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: var(--margin-small);
}
#team_grid .team_toggle {
  display: inline-block;
  cursor: pointer;
  order: 1;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  flex-basis: 100%;
  text-decoration: none;
}
#team_grid .team_toggle p {
  padding-left: 20px;
  position: relative;
  line-height: 1.2em;
}
#team_grid .team_toggle p::before {
  content: "";
  height: 90%;
  width: 2px;
  background: var(--green);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 5px;
}
#team_grid .team_toggle.active p {
  display: none;
}
#team_grid .team_toggle .image_container {
  margin-bottom: 10px;
}
#team_grid .team_toggle .image_container img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#team_grid .team_toggle.hide {
  visibility: hidden;
  height: 0;
  padding: 0;
}
#team_grid .team_infos_container {
  flex-basis: 100%;
  order: 1;
  overflow: hidden;
  max-height: 0;
  padding: 0;
  position: relative;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  margin: 0;
}
#team_grid .team_infos_container.open {
  max-height: 9999px;
  margin: var(--margin-small) 0;
}
#team_grid .team_infos_container h2, #team_grid .team_infos_container h3 {
  pointer-events: none;
}
#team_grid .team_infos_container h2 {
  color: var(--dark-gray);
}
#team_grid .team_infos_container h3 {
  color: var(--light-gray);
}
#team_grid .team_infos_container a {
  text-decoration: none;
}
#team_grid .team_infos_container .team_contact a:hover, #team_grid .team_infos_container .team_contact .social_icon:hover {
  color: var(--green);
}
#team_grid .team_infos_container .team_contact .social_icon {
  color: var(--dark-gray);
}
#team_grid .team_infos_container .close_button {
  transform: rotate(45deg);
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  top: 4px;
  right: 4px;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#team_grid .team_infos_container .close_button span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center center;
  display: block;
  border-radius: 50%;
  border: 2px solid var(--green);
  width: 140%;
  height: 140%;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#team_grid .team_infos_container .close_button:hover span {
  transform: translate(-50%, -50%) scale(1);
  -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#team_grid .team_infos_container .close_button::before, #team_grid .team_infos_container .close_button::after {
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--green);
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#team_grid .team_infos_container .close_button::before {
  content: "";
  display: inline-block;
  width: 100%;
  transform: translate(-50%, -50%);
  height: 2px;
}
#team_grid .team_infos_container .close_button::after {
  content: "";
  display: inline-block;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 100%;
}
#team_grid .team_infos_container .infos_text_container {
  margin-right: 40px;
}
#team_grid .team_infos_container a {
  padding: 0;
  font-size: 16px;
}
#team_grid .team_infos_container a .icon {
  display: inline-block;
  width: 40px;
  margin-top: 5px;
}
#team_grid .team_infos_container a::after {
  display: none;
}
.team_more_container {
  height: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  overflow: hidden;
}

.team_more_container.open {
  height: auto;
}

.team_more span {
  color: var(--green);
}
.team_more:hover span {
  color: white;
}
.team_more .open {
  display: none;
}
.team_more.open .closed {
  display: none;
}
.team_more.open .open {
  display: inline;
}

#awards .vc_row + .vc_row {
  margin-top: var(--margin-small);
}
#awards img {
  max-width: 50%;
  margin: 0 auto;
}
#awards .wpb_single_image .vc_single_image-wrapper {
  text-align: center;
}

/*********************
CASES
*********************/
#contact-intro {
  padding-bottom: var(--margin-small);
}

.cases-intro {
  padding-bottom: var(--margin-small);
}
.cases-intro .wp-block-column {
  background: red;
  width: 100%;
  flex-basis: 100% !important;
}
.cases-intro .wp-block-column + .wp-block-column {
  display: none;
}

.cases_container {
  padding-top: var(--margin-extra-small);
}

.cases_grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: var(--gutter) var(--gutter);
}

.case_teaser {
  text-decoration: none;
}
.case_teaser .teaser_image_container {
  aspect-ratio: 1;
  overflow: hidden;
  width: 100%;
  background-color: white;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.case_teaser .teaser_image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: normal;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.case_teaser:hover .teaser_image_container {
  background: var(--green);
}
.case_teaser:hover .teaser_image_container img {
  mix-blend-mode: multiply;
}

.case_meta {
  margin-top: 15px;
  padding-left: 20px;
  padding-top: 5px;
  position: relative;
  line-height: 1.2em;
}
.case_meta::before {
  content: "";
  height: 90%;
  width: 2px;
  background: var(--green);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 5px;
}
.case_meta h3 {
  margin: 0;
}
.case_meta h3 + h3 {
  font-weight: 300;
  font-family: "Theinhardt-Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/*********************
VIDEO 
*********************/
.video_wrapper {
  width: 100%;
  position: relative;
}
.video_wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video_wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*********************
VIDEO CONTROLS
*********************/
.controls {
  width: 100px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  transition: all 0.5s cubic-bezier(0.85, 0, 0.15, 1);
  justify-content: center;
  align-items: center;
}
.controls.playing {
  top: 90%;
}
.controls a {
  display: inline-block;
  width: 107px;
  height: 107px;
  border-radius: 50%;
  background: white;
  color: transparent;
  transition: all 0.3s cubic-bezier(0.85, 0, 0.15, 1);
}
.controls .play {
  background: white url(../images/icon_play_green.svg) 33px center no-repeat;
  background-size: 40px 35px;
}
.controls .play:hover {
  background: var(--green) url(../images/icon_play_white.svg) 33px center no-repeat;
  background-size: 40px 35px;
}
.controls .play.playing {
  transform: scale(0.5);
  opacity: 0.5;
  background: white url(../images/icon_pause_green.svg) center center no-repeat;
  background-size: 40px 35px;
}
.controls .play.playing:hover {
  opacity: 1;
  background: var(--green) url(../images/icon_pause_white.svg) center center no-repeat;
  background-size: 40px 35px;
}
.controls .sound {
  display: none;
  background: url(../images/icons/controls/2ID_Icons_tonan_weiss.svg) center center no-repeat;
  background-size: contain;
}
.controls .sound:hover {
  background: url(../images/icons/controls/2ID_Icons_tonan_schwarz.svg) center center no-repeat;
  background-size: contain;
}
.controls .sound.muted {
  background: url(../images/icons/controls/2ID_Icons_tonaus_weiss.svg) center center no-repeat;
  background-size: contain;
}
.controls .sound:hover {
  background: url(../images/icons/controls/2ID_Icons_tonaus_schwarz.svg) center center no-repeat;
  background-size: contain;
}
.controls.playing .sound {
  display: inline-block;
}

.home .controls {
  position: absolute;
  top: 80vh;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  transition: all 0.5s cubic-bezier(0.85, 0, 0.15, 1);
  justify-content: center;
  align-items: center;
  width: 220px;
}
.home .controls a {
  display: inline-block;
  color: white;
  transition: all 0.3s cubic-bezier(0.85, 0, 0.15, 1);
  border-radius: 0;
  width: 100%;
  padding-left: 50px;
  padding-top: 8px;
  height: 40px;
  overflow: hidden;
  font-size: var(--text-regular);
  text-decoration: none;
  font-weight: 600;
}
.home .controls .play {
  background: url(../images/button_play-home-white.svg) left center no-repeat;
  background-size: 40px 35px;
}
.home .controls .play:hover {
  color: var(--green);
  background: url(../images/button_play-home-green.svg) left center no-repeat;
  background-size: 40px 35px;
}
.home .controls .play.playing {
  color: transparent;
  width: 40px;
  transform: none;
  opacity: 0.8;
  background: url(../images/button_pause-home-white.svg) center center no-repeat;
  background-size: 40px 35px;
}
.home .controls .play.playing:hover {
  opacity: 1;
  background: url(../images/button_pause-home-green.svg) center center no-repeat;
  background-size: 40px 35px;
}

.services_list {
  margin-top: var(--margin-small);
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}
.services_list article {
  display: inline-block;
  width: 100%;
  margin: 3px 0;
  line-height: 1;
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.services_list article a, .services_list article p {
  font-size: var(--text-small);
}
.services_list article.mainservice a {
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.services_list article a {
  position: relative;
  text-decoration: none;
}
.services_list article a:hover {
  color: var(--green);
}
.services_list article a span {
  width: 15px;
  height: 15px;
  display: inline-block;
  line-height: 1;
  left: 10px;
  top: 1px;
  position: relative;
  opacity: 0;
}
.services_list article a span::before, .services_list article a span:after {
  content: "";
  display: inline;
  width: 10px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  background: var(--green);
}
.services_list article a span::before {
  transform: rotate(45deg);
  left: 7px;
}
.services_list article a span::after {
  transform: rotate(-45deg);
}
.services_list article div {
  transform: scaleY(0);
  -webkit-transition: all 0.4s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.4s cubic-bezier(0.12, 0.845, 0.305, 1);
  margin: 0;
  padding: 0;
  height: 0;
  overflow: hidden;
  transform-origin: top;
}
.services_list article p {
  margin: 0;
  color: var(--green);
  height: 0;
  opacity: 0;
  -webkit-transition: all 1s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 1s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.services_list article.open a {
  color: var(--green);
}
.services_list article.open span {
  opacity: 1;
}
.services_list article.open div {
  transform: scaleY(1);
  height: auto;
  padding: 10px 0;
}
.services_list article.open p {
  height: auto;
  opacity: 1;
}

.page-impuls, .page-puls, .page-impuls section, .page-puls section, .page-vision, .page-vision section {
  background: #3c3c3c;
}
.page-impuls h1, .page-impuls h2, .page-impuls h3, .page-impuls h4, .page-impuls h5, .page-impuls p, .page-impuls li, .page-impuls a, .page-puls h1, .page-puls h2, .page-puls h3, .page-puls h4, .page-puls h5, .page-puls p, .page-puls li, .page-puls a, .page-impuls section h1, .page-impuls section h2, .page-impuls section h3, .page-impuls section h4, .page-impuls section h5, .page-impuls section p, .page-impuls section li, .page-impuls section a, .page-puls section h1, .page-puls section h2, .page-puls section h3, .page-puls section h4, .page-puls section h5, .page-puls section p, .page-puls section li, .page-puls section a, .page-vision h1, .page-vision h2, .page-vision h3, .page-vision h4, .page-vision h5, .page-vision p, .page-vision li, .page-vision a, .page-vision section h1, .page-vision section h2, .page-vision section h3, .page-vision section h4, .page-vision section h5, .page-vision section p, .page-vision section li, .page-vision section a {
  color: white;
  text-decoration: none;
}

.page-jobs h1, .page-jobs h2, .page-jobs h3, .page-jobs h4, .page-jobs h5, .page-jobs p, .page-jobs li, .page-jobs a {
  text-decoration: none;
}
.page-jobs .impuls_container {
  padding: 0;
}
.page-jobs .impuls_container .impuls_list article {
  border: 1px solid var(--dark-gray);
}
.page-jobs .impuls_container .impuls_list article h2 {
  color: var(--dark-gray);
}

.job_list {
  padding-bottom: var(--margin-small);
}

.impuls-overview-intro {
  padding-bottom: var(--margin-small);
}

.impuls_container {
  padding: 0;
}
.impuls_container .impuls_list article {
  gap: 20px;
  margin-top: var(--margin-small);
}
.impuls_container .impuls_list h2 {
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.impuls_container .impuls_list a {
  display: flex;
  -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  align-items: flex-start;
  flex-wrap: wrap;
}
.impuls_container .impuls_list a .impuls_info {
  flex-basis: 100;
  border-top: 1px solid white;
  padding: var(--margin-small);
}
.impuls_container .impuls_list a .teaser_image_container {
  flex-basis: 100%;
  line-height: 0;
  background: white;
  align-self: top;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.impuls_container .impuls_list a .teaser_image_container img {
  line-height: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: normal;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.impuls_container .impuls_list a:hover .teaser_image_container {
  background: var(--green);
}
.impuls_container .impuls_list a:hover img {
  mix-blend-mode: multiply;
}
.impuls_container .impuls_list a:hover h2 {
  color: var(--green);
}
.impuls_container .impuls_list .job {
  border: 1px solid var(--green);
}
.impuls_container .impuls_list .job .impuls_info {
  border: none;
}
.impuls_container .impuls_list .job .job_button_container {
  flex-basis: 100%;
  align-self: top;
  padding: var(--margin-extra-small) 0;
}
.impuls_container .impuls_list .job .job_button_container button {
  margin-top: 0;
  background: transparent;
  border: 1px solid var(--dark-gray);
  color: var(--dark-gray);
}
.impuls_container .impuls_list .job .job_button_container button:hover {
  background: var(--dark-gray);
  color: white;
}
.impuls_container .impuls_list .job:hover button {
  background: var(--dark-gray);
  color: white;
}

/*********************
FILTER
*********************/
.page-impuls .filter button, .page-puls .filter button, .page-vision .filter button, .case_filter button {
  --btn-color: var(--dark-gray);
  --hover-color: white;
  --padding-top: 7px;
  border: 2px solid var(--btn-color);
  padding: var(--padding-top) 15px calc(var(--padding-top) - 2px);
  font-size: var(--text-small);
  background: transparent;
  color: white;
}
.page-impuls .filter button:hover, .page-impuls .filter button.mixitup-control-active, .page-puls .filter button:hover, .page-puls .filter button.mixitup-control-active, .page-vision .filter button:hover, .page-vision .filter button.mixitup-control-active, .case_filter button:hover, .case_filter button.mixitup-control-active {
  background: var(--green);
  border-color: var(--green);
}
.page-impuls .filter button.mixitup-control-active, .page-puls .filter button.mixitup-control-active, .page-vision .filter button.mixitup-control-active, .case_filter button.mixitup-control-active {
  border-color: var(--green);
  color: var(--green);
  background: transparent;
}

.page-template-page-impuls .filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.case_filter button {
  color: var(--dark-gray);
}
.case_filter button:hover {
  background: var(--green);
  border-color: var(--green);
  color: white;
}
.case_filter button.mixitup-control-active {
  border-color: var(--green);
  color: var(--text-color);
}
.case_filter button.mixitup-control-active:hover {
  color: white;
}

.case_filter {
  position: relative;
  z-index: 999;
}
.case_filter form {
  display: flex;
  justify-content: flex-start;
  position: relative;
  gap: 15px;
}
.case_filter .results_count {
  display: none;
  padding-top: 13px;
}
.case_filter .category_filter > button {
  position: relative;
  padding-right: 40px;
}
.case_filter .category_filter > button::before {
  content: "";
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  width: 13px;
  height: 13px;
  right: 15px;
  top: 11px;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: var(--dark-gray);
  -webkit-transform: rotate(45deg) translate(-25%, -25%);
  transform: rotate(45deg) translate(-25%, -25%);
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.case_filter .category_filter > button:hover::before {
  border-color: white;
}
.case_filter .category_filter.open > button {
  background: var(--green);
  color: white;
  border-color: var(--green);
}
.case_filter .category_filter.open > button::before {
  top: 9px;
  border-color: white;
  transform: rotate(225deg) translate(-25%, -25%);
}
.case_filter .category_filter.open .filter_container {
  transform: translateX(1);
  display: flex;
  opacity: 1;
  z-index: 10;
  max-height: 800px;
  padding: 20px;
}
.case_filter .category_filter.open .filter_container button {
  pointer-events: initial;
}
.case_filter .filter_container {
  opacity: 0;
  z-index: 0;
  max-height: 0;
  overflow: hidden;
  background: var(--green);
  position: absolute;
  top: 60px;
  left: 0;
  display: flex;
  justify-items: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  -webkit-transition: max-height 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: max-height 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.case_filter .filter_container button {
  pointer-events: none;
}
.case_filter .filter_container fieldset {
  padding: 0 20px 0 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
}
.case_filter .filter_container div {
  width: 100%;
  height: 20px;
}
.case_filter .filter_container button {
  border-color: white;
  color: white;
  margin: 0;
  margin: 5px 5px;
  border-width: 1px;
}
.case_filter .filter_container button.main_service {
  border: 2px solid white;
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.case_filter .filter_container button.main_service span::before, .case_filter .filter_container button.main_service span::after {
  height: 2px;
}
.case_filter .filter_container button:hover, .case_filter .filter_container button.mixitup-control-active {
  background: white;
  border-color: white;
  color: var(--green);
}
.case_filter .filter_container button:hover span::before, .case_filter .filter_container button:hover span::after, .case_filter .filter_container button.mixitup-control-active span::before, .case_filter .filter_container button.mixitup-control-active span::after {
  background: var(--green);
}
.case_filter .filter_container button.mixitup-control-active span {
  transform: rotate(45deg);
}
.case_filter .filter_container button span {
  display: inline-block;
  width: 12px;
  height: 12px;
  position: relative;
  margin-right: 10px;
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
.case_filter .filter_container button span::before, .case_filter .filter_container button span::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background: white;
  top: 5px;
  left: 0;
}
.case_filter .filter_container button span::after {
  transform: rotate(90deg);
}

.close_filter {
  transform: rotate(45deg);
  display: inline-block;
  position: absolute;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  width: 13px;
  height: 13px;
  border: 2px solid white;
  transform: rotate(225deg);
  top: 18px;
  right: 18px;
  border-left: none;
  border-top: none;
}
.close_filter:hover {
  border-color: var(--black);
}
.close_filter span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center center;
  display: block;
  border-radius: 50%;
  border: 2px solid white;
  width: 140%;
  height: 140%;
  -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
}

/*********************
PAGINATION FILTER
*********************/
.mixitup-page-list {
  margin-top: var(--margin-small);
  text-align: center;
}
.mixitup-page-list .mixitup-control {
  border: none;
  outline: none;
  font-size: var(--text-small);
  padding: 5px 10px;
  margin: 0 5px;
  background: var(--very-light-gray);
  color: var(--text-color);
}
.mixitup-page-list .mixitup-control-disabled {
  opacity: 0;
}
.mixitup-page-list .mixitup-control-active, .mixitup-page-list .mixitup-control:hover {
  background: var(--green);
  color: white;
}
.mixitup-page-list .mixitup-control-next {
  color: transparent;
  background: url(../images/icon-arrow-right-green.png) center center/15px no-repeat;
}
.mixitup-page-list .mixitup-control-next:hover {
  color: transparent;
  background: var(--green) url(../images/icon-arrow-right.png) center center/15px no-repeat;
}
.mixitup-page-list .mixitup-control-prev {
  color: transparent;
  background: url(../images/icon-arrow-left-green.png) center center/15px no-repeat;
}
.mixitup-page-list .mixitup-control-prev:hover {
  color: transparent;
  background: var(--green) url(../images/icon-arrow-left.png) center center/15px no-repeat;
}

/*********************
KONTAKT
*********************/
.page-contact .section-fullwidth-image {
  margin-top: var(--margin-small);
  margin-bottom: -37px;
}
.page-contact .section-dark-gray {
  padding-top: var(--margin-small);
}
.page-contact .border_block {
  position: relative;
  top: var(--margin-extra-small);
  padding-left: 20px;
  margin-bottom: var(--margin-extra-small);
}
.page-contact .border_block p {
  margin-top: 0;
}

.form_left, .form_right {
  flex-basis: 100%;
}

#job_list {
  margin-top: var(--margin-extra-small);
}
#job_list article + article {
  margin-top: var(--margin-extra-small);
}
#job_list h3 {
  margin-bottom: 0;
}
#job_list article h3 a {
  display: block;
}
#job_list article h3 a i {
  position: relative;
  transform: none;
  right: 0;
  left: 20px;
  height: 15px;
  width: 15px;
  display: inline-block;
  transform: translateY(25%);
}
#job_list article h3 a i::before {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box;
  left: 2px;
  right: 2px;
  top: 2px;
  bottom: 2px;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: white;
  -webkit-transform: rotate(45deg) translate(-25%, -25%);
  transform: rotate(45deg) translate(-25%, -25%);
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#job_list div {
  transform: scaleY(0);
  -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  margin: 0;
  padding: 0;
  height: 0;
  overflow: hidden;
  transform-origin: top;
}
#job_list p {
  margin: 0;
  height: 0;
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
  transition: all 0.5s cubic-bezier(0.12, 0.845, 0.305, 1);
}
#job_list article.open i {
  transform: translateY(0);
}
#job_list article.open i::before {
  transform: rotate(225deg) translate(-25%, -25%);
}
#job_list article.open span {
  opacity: 1;
}
#job_list article.open div {
  transform: scaleY(1);
  height: auto;
  padding: 10px 0;
}
#job_list article.open p {
  height: auto;
  opacity: 1;
}
#job_list .button {
  margin-top: var(--margin-extra-small);
}
#job_list .button + .button {
  margin-left: 20px;
}

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  background-color: var(--dark-gray);
  color: #fff;
  padding: var(--margin-medium) 0 var(--margin-extra-small);
}
.footer .inner_footer_wrapper {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.footer .footer_left, .footer .footer_right {
  width: 100%;
}
.footer .footer_left {
  position: relative;
  order: 2;
  margin-top: 100px;
}
.footer .footer_left p {
  margin: 0;
  line-height: 1.3em;
  font-size: var(--text-small);
}
.footer .footer_right {
  order: 1;
}

.logo-circles {
  position: absolute;
  top: -40px;
  left: 0;
}
.logo-circles::before, .logo-circles::after {
  content: "";
  display: inline-block;
  position: relative;
  top: 5px;
  width: 9px;
  height: 9px;
  margin-right: 3px;
  border: 10px solid var(--green);
  border-radius: 50%;
}
.logo-circles::before {
  border: 10px solid white;
}

.social_container {
  margin-top: 10px;
}

.social_icon {
  font-size: 16px;
  padding: 5px 25px 5px 0;
  margin-top: 5px;
  color: var(--light-gray);
}
.social_icon:hover {
  color: white;
}

.footer .newsletter_container {
  text-align: center;
  width: 100%;
}
.footer .newsletter_container .button {
  margin-top: 0;
  left: auto;
  transform: none;
}

.newsletter_container {
  font-size: 16px;
}
.newsletter_container h2 {
  font-size: var(--text-regular);
  text-align: right !important;
}
.newsletter_container td {
  padding: 0 !important;
  margin: 0;
}
.newsletter_container input[type=checkbox] {
  margin: 10px 10px 0 0 !important;
}
.newsletter_container input[type=email] {
  margin: 10px 0 0 !important;
  font-size: 1.5rem;
}
.newsletter_container input::placeholder {
  font-style: italic;
}
.newsletter_container button {
  background: white !important;
  border: 2px solid var(--green) !important;
  border-radius: 0 !important;
  color: var(--green) !important;
  margin-bottom: var(--margin-medium);
  width: 100%;
  padding: 17px 5px 15px !important;
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.newsletter_container button:hover {
  background: white !important;
  color: var(--dark-gray) !important;
}

.home .footer {
  margin-top: 0;
}

.related_cases {
  margin-bottom: var(--margin-small);
}

.copyright_container {
  display: flex;
  margin-top: var(--margin-extra-small);
  flex-direction: column;
}
.copyright_container p {
  margin: 0;
  order: 2;
}

.footer-links.nav {
  margin: 0;
  top: 0;
}
.footer-links.nav:after, .footer-links.nav:before {
  display: none;
}
.footer-links.nav li {
  flex-basis: auto;
  padding: 0;
  height: auto;
  font-size: 1.2em;
  position: relative;
}
.footer-links.nav li > a {
  color: var(--light-gray);
  text-transform: none;
  text-decoration: none;
  font-size: var(--text-extra-small);
  display: inline-block;
}
.footer-links.nav li.current-menu-item a, .footer-links.nav li.current_page_item a {
  border-bottom: none;
}
.footer-links.nav li > a:hover {
  text-decoration: none;
  border: none;
  color: white;
}

/* end .footer-links */
.copyright {
  display: inline-block;
  color: var(--light-gray);
}

.copyright, .copyright p {
  font-size: var(--text-extra-small);
}
.copyright a, .copyright p a {
  text-decoration: none;
}

/*********************
MODAL FORM
*********************/
#mfrb-modal-root p {
  margin: 0;
}
#mfrb-modal-root input {
  margin: 0;
  width: 100%;
}
#mfrb-modal-root .wpcf7 form {
  flex-direction: column;
  flex-wrap: nowrap;
}

.mfrb-button {
  background: white;
}
.mfrb-button:hover {
  background: var(--green);
  color: white;
}

.mfrb-file {
  font-size: var(--text-regular);
}

.hidden-fields-container {
  display: none;
}

/* ---------------------------------------------------------
* Button
* --------------------------------------------------------- */
.mfrb {
  display: block;
}

.mfrb-button {
  display: inline-block;
  cursor: pointer;
}

/*
		 * -------------------------------------------------------
		 * MODAL ROOT
		 * -------------------------------------------------------
		 *
		 * Hidden by default.
		 *
		 * position: fixed means it has no influence on the
		 * normal page layout.
		 */
#mfrb-modal-root {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

/*
		 * Open state
		 */
#mfrb-modal-root.mfrb-is-open {
  display: flex;
}

/*
		 * -------------------------------------------------------
		 * BACKDROP
		 * -------------------------------------------------------
		 */
#mfrb-modal-root .mfrb-modal-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

/*
		 * -------------------------------------------------------
		 * DIALOG
		 * -------------------------------------------------------
		 */
#mfrb-modal-root .mfrb-modal-dialog {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 600px;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: 40px;
  background: #fff;
}

/*
		 * -------------------------------------------------------
		 * CLOSE BUTTON
		 * -------------------------------------------------------
		 */
#mfrb-modal-root .mfrb-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 35px;
  cursor: pointer;
}

/*
		 * -------------------------------------------------------
		 * TITLE
		 * -------------------------------------------------------
		 */
#mfrb-modal-root .mfrb-modal-title {
  margin-top: 0;
}

/*
		 * -------------------------------------------------------
		 * FILE NAME
		 * -------------------------------------------------------
		 */
#mfrb-modal-root .mfrb-file {
  margin-bottom: 25px;
}

#mfrb-modal-root .mfrb-file-name {
  word-break: break-word;
}

/*
		 * -------------------------------------------------------
		 * MOBILE
		 * -------------------------------------------------------
		 */
@media (max-width: 600px) {
  #mfrb-modal-root {
    padding: 15px;
  }
  #mfrb-modal-root .mfrb-modal-dialog {
    max-height: calc(100vh - 30px);
    padding: 30px 20px;
  }
}
.error404 #post-not-found {
  margin-top: var(--margin-medium);
}

/*********************
PRELOADER
*********************/
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-image: radial-gradient(circle farthest-corner at center, var(--green) 0%, var(--dark-green) 200%);
}

.page-puls .preloader, .page-vision .preloader, .page-jobs .preloader {
  background-image: radial-gradient(circle farthest-corner at center, var(--very-dark-gray) 0%, var(--black) 200%);
}

.loader {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.loader div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  margin: 6px;
  border: 12px solid #fff;
  border-radius: 50%;
  animation: loader 1.5s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #fff transparent transparent transparent;
}

.loader div:nth-child(1) {
  animation-delay: -0.45s;
}

.loader div:nth-child(2) {
  animation-delay: -0.3s;
}

.loader div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.animation_element.in_view {
  opacity: 1;
}

h3.animation_element:not(.vc_tta-panel-title), h2.animation_element, h1.animation_element, p.animation_element {
  opacity: 0;
}
h3.animation_element:not(.vc_tta-panel-title).in_view, h2.animation_element.in_view, h1.animation_element.in_view, p.animation_element.in_view {
  animation: translate-in 0.5s 0.2s both;
}

.meta_facts.in_view::before {
  transform: scaleY(1);
  animation: scale-in-from-top 1s 2s both;
}

@keyframes translate-in {
  from {
    opacity: 0;
    transform: translate(0, 30%);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes scale-in-from-top {
  from {
    transform: scaleY(0);
  }
}
.xmas24 p {
  margin: 0;
}
.xmas24 p + ul {
  margin: 20px 0;
}
.xmas24 p + ul span {
  display: inline-block;
  width: 60px;
}
.xmas24 section {
  padding-top: var(--margin-medium);
  display: flex;
  flex-wrap: wrap;
  margin-top: var(--margin-extra-small);
}
.xmas24 section > div {
  width: 100%;
}
.xmas24 article {
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
}
.xmas24 article + article {
  padding: 0;
  margin-top: 60px;
}

#image-placeholder {
  position: relative;
}

#image-placeholder.processing::before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  background: white;
  opacity: 0.9;
  z-index: 2;
}

#image-generator-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  gap: 20px;
  font-size: 16px;
}

.input-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.fields {
  display: flex;
  flex-direction: column;
}
.fields .labels,
.fields .input_wrapper {
  order: 2;
}
.fields #prompt-display {
  order: 1;
}

.labels {
  display: flex;
  justify-content: space-between;
  padding: 5px 0 30px;
}
.labels label {
  text-transform: uppercase;
  width: 68px;
  font-size: 12px;
}

.input_wrapper {
  display: flex;
  justify-content: space-between;
}
.input_wrapper input, .input_wrapper input:focus {
  width: 68px;
  padding: 0;
  height: 80px;
  overflow: visible;
  text-align: center;
  font-size: 96px;
  background: transparent;
  color: var(--very-dark-gray);
  font-weight: 600;
  border: none;
  border-bottom: 1px solid var(--dark-gray);
  font-family: "Theinhardt-Heavy", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 0;
}

#prompt-display {
  display: block;
  line-height: 1em;
  min-height: 100px;
  padding: 10px 12px;
  margin-bottom: 14px;
  align-content: center;
  color: var(--light-gray);
  border-radius: 0;
  vertical-align: middle;
  box-shadow: none;
  border: 0;
  width: 100%;
  background-color: #fff;
  border: 1px solid var(--light-gray);
  -webkit-transition: background-color 0.24s ease-in-out;
  transition: background-color 0.24s ease-in-out;
  border: none;
  font-size: 32px;
  font-weight: 800;
  color: var(--very-dark-gray);
  font-family: "Theinhardt-Heavy", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#output-container {
  width: 100%;
  justify-content: space-between;
  flex-direction: column;
  display: flex;
  aspect-ratio: 1;
}

#image-wrapper {
  width: 100%;
  padding-top: 100%;
  position: relative;
  background-color: #f8f8f8;
}

#image-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f8f8f8;
  background: #fff;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

#icon-placeholder-white {
  display: none;
}

#placeholder-elk {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 5;
  background: url("../images/elk-normal.png") center center/contain no-repeat;
}
#placeholder-elk.done {
  display: none;
}
#placeholder-elk.spinning {
  opacity: 1;
  background: url("../images/elk-spinning-big.gif") center center/contain no-repeat;
}

.spinner {
  display: none;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("../images/elk-spinning-big.gif") center center/contain no-repeat;
}

.spinner div:nth-child(1) {
  animation-delay: -0.45s;
}

.spinner div:nth-child(2) {
  animation-delay: -0.3s;
}

.spinner div:nth-child(3) {
  animation-delay: -0.15s;
}

.spinner div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px;
  /* Half of the div's width/height to center it */
  border: 12px solid #73ba1d;
  border-radius: 50%;
  animation: loader 1.5s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #73ba1d transparent transparent transparent;
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}

.modal-content {
  margin: auto;
  display: block;
  width: 80vh;
}

.close {
  position: absolute;
  top: 14px;
  right: 32px;
  color: #f8f8f8;
  font-size: 40px;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

#generate-btn {
  width: 100%;
  color: white;
  border: none;
  height: 56px;
  margin-top: 16px;
  width: 100%;
  border: 2px solid var(--green);
  background: white;
  color: var(--green);
}

#generate-btn:hover {
  background: var(--green);
  color: white;
}

#generate-btn:disabled {
  background-color: #fff;
  /* Same background color as the prompt display field */
  color: var(--light-gray);
  /* Same text color as the prompt display field */
  border: 1px solid var(--light-gray);
  /* Same border color as the prompt display field */
  cursor: not-allowed;
  /* Show not-allowed cursor on hover */
}

#generate-btn:disabled:hover {
  background-color: #fff;
  color: var(--light-gray);
}

@media (min-width: 1300px) {
  #image-generator-container {
    flex-direction: row;
  }
  .input-container {
    flex: 1;
    margin-right: 20px;
  }
  #output-container {
    flex: 1;
  }
}
.download-container {
  height: 56px;
  margin-top: 20px;
  position: relative;
}
.download-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 57px;
  background: white;
  opacity: 0.5;
  z-index: 1;
}
.download-container.active::after {
  display: none;
}
.download-container a {
  display: block;
  position: relative;
  z-index: 0;
  margin-top: 0;
}

#watermark-link, #my_url {
  display: none;
}

#CybotCookiebotDialog {
  box-shadow: none;
  padding-top: 5px;
  padding-bottom: 10px;
  width: 90% !important;
  left: 50% !important;
  margin-top: -50px !important;
  transform: translateX(-50%) !important;
}

#CybotCookiebotDialogBody p {
  margin: 0;
  line-height: 1em;
}

#CybotCookiebotDialogBody h2 {
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
}

#CybotCookiebotDialogBodyButtons {
  margin: 0 !important;
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CybotCookiebotDialogBodyButtons a {
  font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CybotCookiebotDialogBodyButtons a:hover {
  color: #73ba1d;
}

#CybotCookiebotDialogBodyButtonAccept {
  border: none;
  padding: 7px 5px;
  margin: 0;
}

#CybotCookiebotDialogBodyButtonDecline {
  margin-left: 0;
}

#CybotCookiebotDialogBodyButtonAccept:hover {
  background: white;
}

/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: 481px and Up Stylesheet

  This stylesheet is loaded for larger devices. It's set to
  481px because at 480px it would load on a landscaped iPhone.
  This isn't ideal because then you would be loading all those
  extra styles on that same mobile connection.

  A word of warning. This size COULD be a larger mobile device,
  so you still want to keep it pretty light and simply expand
  upon your base.scss styles.

  ******************************************************************/
  /*
  IMPORTANT NOTE ABOUT SASS 3.3 & UP
  You can't use @extend within media queries
  anymore, so just be aware that if you drop
  them in here, they won't work.
  */
  /*********************
  NAVIGATION STYLES
  *********************/
  /*********************
  BUTTON FÜR MOBILE ANPASSUNGEN
  *********************/
  #content .vc_btn3-container {
    width: auto;
  }
  #content .vc_btn3-container .vc_btn3 {
    width: auto;
  }
  /*********************
  POSTS & CONTENT STYLES
  *********************/
  /* entry content */
  .entry-content {
    /* at this larger size, we can start to align images */
  }
  .entry-content .alignleft, .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright, .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter, .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
  /* end .entry-content */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  check your menus here. do they look good?
  do they need tweaking?
  */
  /* end .footer-links */
}
/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Tablet & Small Desktop Stylesheet

  Here's where you can start getting into the good stuff.
  This size will work on iPads, other tablets, and desktops.
  So you can start working with more styles, background images,
  and other resources. You'll also notice the grid starts to
  come into play. Have fun!

  ******************************************************************/
  :root {
    --text-regular: 20px;
    --text-small: 17px;
    --text-big: 24px;
    --headline-small: var(--text-small);
    --headline-big: 60px;
    --headline-medium: 32px;
    --cite: 30px;
    --margin-small: 60px;
    --margin-medium: 110px;
    --margin-big: 140px;
  }
  /*********************
  GENERAL STYLES
  *********************/
  /*********************
  LAYOUT & GRID STYLES
  *********************/
  h1, .h1 {
    font-weight: 800;
  }
  h2, .h2 {
    font-weight: 700;
  }
  h3 {
    font-size: var(--headline-small);
    margin: 0 0 1em;
  }
  /*********************
  HEADER STYLES
  *********************/
  #header * {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  #header #inner-header {
    display: flex;
    justify-content: space-between;
  }
  #header #inner-header::before, #header #inner-header::after {
    display: none;
  }
  #logo {
    margin: 30px 0 0;
    width: 100px;
  }
  #logo a {
    width: 100%;
    max-width: 300px;
    height: 43px;
  }
  #logo a:hover {
    opacity: 0.85;
  }
  #logo-type {
    display: block;
    position: absolute;
    right: 80px;
    margin: 35px 0 0;
  }
  /*********************
  NAVIGATION STYLES
  *********************/
  .nav_container_desktop {
    display: none;
  }
  .nav {
    border: 0;
    margin-top: 20px;
  }
  .nav:after, .nav:before {
    display: none;
  }
  .nav li > a {
    display: inline-block;
    font-size: 13px;
    border-bottom: 2px solid transparent;
  }
  .nav li > a:hover, .nav li > a:focus {
    border-bottom: 2px solid white;
    text-decoration: none;
  }
  .nav li {
    /* showing sub-menus */
  }
  .nav li:hover > ul {
    display: block;
  }
  .nav {
    /* end .menu ul li */
  } /* end .nav */
  /*********************
  BUTTONS
  *********************/
  .button {
    width: auto;
  }
  /*********************
  HOME
  *********************/
  .home__intro {
    width: calc(100vw - 8px);
  }
  .home_video_wrapper.video_wrapper {
    width: calc(100% + 2px);
  }
  /*********************
  CONTENT
  *********************/
  .wpb_column + .wpb_column {
    margin-top: 0;
  }
  /*********************
  BUTTONS
  *********************/
  .button {
    left: 0;
    transform: translateX(0);
  }
  .plain_colored_section.two_buttons .wrap {
    justify-content: space-between;
    gap: 0;
  }
  .plain_colored_section .button {
    margin: 0;
  }
  /*********************
  HOME
  *********************/
  .home__services img {
    padding-left: 30px;
  }
  .two-columns p {
    columns: 2;
  }
  .home .controls {
    top: 90vh;
  }
  .home__vision_and_news .vision_preview .vision_image_container {
    max-height: 400px;
  }
  .home__vision_and_news .vision_preview .inner-container {
    justify-content: flex-start;
  }
  .home__vision_and_news .vision_preview .inner-container .inner-content {
    text-align: left;
  }
  .home__vision_and_news .vision_preview .inner-container .inner-content .panel_logo {
    margin-left: unset;
  }
  .home__vision_and_news .post_preview .inner-container {
    justify-content: flex-start;
  }
  .home__vision_and_news .post_preview .inner-container .inner-content {
    text-align: left;
  }
  .home__vision_and_news .post_preview .inner-container .inner-content .panel_logo {
    margin-left: unset;
  }
  /*********************
  META FACTS
  *********************/
  .meta_facts_container {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .meta_facts_container .meta_facts {
    float: left;
    padding-left: 18px;
    margin-right: var(--gutter);
    width: calc(25% - 18px);
    position: relative;
  }
  .vc_col-sm-8 .meta_facts_container {
    width: 152%;
    overflow: hidden;
  }
  /*********************
  FILTER
  *********************/
  .services_list {
    gap: 25px;
    flex-wrap: nowrap;
  }
  .services_list .column {
    width: 33%;
  }
  /*********************
  CASES GRID
  *********************/
  .cases_grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 1fr;
  }
  .entry-content {
    width: 80%;
    margin: 0 auto;
  }
  .entry-content .aside {
    font-size: 1.3em;
    color: var(--text-gray);
  }
  .wp-block-columns {
    margin: 0 0 60px;
  }
  .row-with-cite .wpb_content_element {
    margin-bottom: 0;
  }
  .row-with-cite .wpb_wrapper {
    height: 100%;
  }
  .vc_col-sm-3 .border_block {
    text-align: left;
    padding-top: 0;
  }
  .vc_col-sm-3 .border_block:before {
    left: -15px;
    height: 100%;
    width: 2px;
  }
  /*********************
  PULS
  *********************/
  .impuls_container .impuls_list a .impuls_info {
    flex-basis: 66.666%;
  }
  .impuls_container .impuls_list a .teaser_image_container {
    flex-basis: 33.333%;
  }
  .impuls_container .impuls_list .job .job_button_container {
    display: flex;
    flex-basis: 33.333%;
    align-self: center;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  /*********************
  TEAM
  *********************/
  #team_grid {
    margin: 0 auto;
  }
  #team_grid .team_toggle {
    order: 1;
    flex-basis: 30%;
  }
  #team_grid .team_toggle.active p {
    display: inline-block;
  }
  #team_grid .team_toggle:hover {
    color: var(--green);
  }
  #team_grid .team_toggle:hover img {
    opacity: 0.8;
  }
  #team_grid .team_infos_container {
    order: 2;
  }
  #team_grid .team_infos_container.open {
    margin: var(--margin-small) 0 0;
  }
  #team_grid .team_infos_container .infos_text_container {
    width: 66%;
    float: left;
    margin-right: 40px;
  }
  #team_grid .team_infos_container .infos_text_container img {
    display: inline-block;
    width: 100%;
    height: auto;
  }
  #team_grid .team_infos_container .team_contact {
    float: left;
  }
  #team_grid .team_infos_container a {
    padding: 2px 0;
    font-size: 20px;
  }
  /*********************
  SINGLE CASE
  *********************/
  .case .vc_section .vc_row:first-of-type {
    margin-top: 0;
  }
  .inner_single_intro {
    padding: 200px 0 var(--margin-small);
  }
  .case section,
  .job section,
  .post section,
  .expert_view section,
  .vision_panel section,
  .post-news-template section {
    padding-bottom: 0;
  }
  .case section:first-of-type,
  .job section:first-of-type,
  .post section:first-of-type,
  .expert_view section:first-of-type,
  .vision_panel section:first-of-type,
  .post-news-template section:first-of-type {
    background: transparent;
  }
  .case .single_hero_image_container,
  .job .single_hero_image_container,
  .post .single_hero_image_container,
  .expert_view .single_hero_image_container,
  .vision_panel .single_hero_image_container,
  .post-news-template .single_hero_image_container {
    position: absolute;
    width: 102vw;
    height: 150vh;
  }
  .case .single_hero_image_container .single_hero_image,
  .job .single_hero_image_container .single_hero_image,
  .post .single_hero_image_container .single_hero_image,
  .expert_view .single_hero_image_container .single_hero_image,
  .vision_panel .single_hero_image_container .single_hero_image,
  .post-news-template .single_hero_image_container .single_hero_image {
    width: 100%;
    height: 150vh;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
  }
  .case .single_hero_image_container .single_hero_image img,
  .job .single_hero_image_container .single_hero_image img,
  .post .single_hero_image_container .single_hero_image img,
  .expert_view .single_hero_image_container .single_hero_image img,
  .vision_panel .single_hero_image_container .single_hero_image img,
  .post-news-template .single_hero_image_container .single_hero_image img {
    display: none;
  }
  .case .single_main_content,
  .job .single_main_content,
  .post .single_main_content,
  .expert_view .single_main_content,
  .vision_panel .single_main_content,
  .post-news-template .single_main_content {
    margin-top: 100vh;
  }
  #case-intro,
  #impuls-intro {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 75vh;
    min-height: 100vh;
  }
  #case-intro .vc_row,
  #impuls-intro .vc_row {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: 0;
  }
  /********
  SINGLE CASE // BULLETS 
  **********/
  .scrolled #case_bullets {
    opacity: 1;
    right: 10px;
  }
  .scrolled-far #case_bullets li a > span {
    display: none;
  }
  .scrolled-far #case_bullets li a {
    color: transparent;
  }
  .scrolled-far #case_bullets li a:hover {
    color: var(--dark-gray);
  }
  #case_bullets {
    opacity: 0;
    display: block;
    height: auto;
    visibility: visible;
    position: fixed;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    z-index: 20;
    -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  }
  #case_bullets li {
    line-height: 1;
    height: 50px;
    margin: 2px 0;
    text-align: right;
    position: relative;
  }
  #case_bullets li a {
    text-decoration: none;
    height: 40px;
    display: inline-block;
    position: relative;
    padding-right: 50px;
    padding-top: 10px;
    font-size: var(--text-small);
  }
  #case_bullets li a:hover {
    color: var(--green);
  }
  #case_bullets li a:hover .circle_container::before {
    border-color: var(--green);
  }
  #case_bullets li.is-active .circle_container {
    right: 4px;
    --circle-width: 33px;
  }
  #case_bullets li.is-active .circle_container span {
    opacity: 1;
  }
  #case_bullets li.is-active .circle_container::before {
    border: 1px solid var(--light-gray);
  }
  #case_bullets li.is-active .circle_container circle {
    opacity: 1;
  }
  .circle_container, .circle_container span, .circle_container::before {
    display: inline-block;
    position: absolute;
    -webkit-transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
    transition: all 0.2s cubic-bezier(0.12, 0.845, 0.305, 1);
  }
  .circle_container {
    top: 50%;
    right: 12px;
    z-index: 2;
    transform: translateY(-50%);
    --circle-width: 16px;
    width: var(--circle-width);
    height: var(--circle-width);
  }
  .circle_container span {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    font-size: var(--text-extra-small);
    font-family: "Theinhardt-Bold", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: var(--green);
  }
  .circle_container::before {
    content: "";
    top: 50%;
    left: 50%;
    width: var(--circle-width);
    height: var(--circle-width);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid var(--light-gray);
    z-index: 1;
  }
  .reached .circle_container::before {
    width: var(--circle-width);
    height: var(--circle-width);
  }
  svg.circle {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  circle {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    fill: transparent;
    stroke-dasharray: calc(101 * var(--plu));
    stroke-dashoffset: calc(101 * var(--plu));
    stroke-width: 4px;
    transform: rotate(-92deg) scale(0.5) translate(-50%, -50%);
    transform-origin: center;
    stroke: var(--green);
    opacity: 0;
    -webkit-transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
    transition: all 0.3s cubic-bezier(0.12, 0.845, 0.305, 1);
  }
  .reached circle {
    transform: rotate(-92deg) scale(1) translate(-50%, -50%);
    animation: circle-66 2s ease both;
  }
  .section_1_of_3.reached circle {
    animation: circle-33 2s ease forwards;
  }
  .section_2_of_3.reached circle {
    animation: circle-66 2s ease both;
  }
  .section_3_of_3.reached circle, .section_4_of_4.reached circle {
    animation: circle-100 2s ease both;
  }
  .section_1_of_4.reached circle {
    animation: circle-25 2s ease both;
  }
  .section_2_of_4.reached circle {
    animation: circle-50 2s ease both;
  }
  .section_3_of_4.reached circle {
    animation: circle-75 2s ease both;
  }
  @keyframes circle-33 {
    to {
      stroke-dashoffset: calc(67px * var(--plu));
    }
  }
  @keyframes circle-66 {
    to {
      stroke-dashoffset: calc(34px * var(--plu));
    }
  }
  @keyframes circle-100 {
    to {
      stroke-dashoffset: calc(0px * var(--plu));
    }
  }
  @keyframes circle-25 {
    to {
      stroke-dashoffset: calc(75px * var(--plu));
    }
  }
  @keyframes circle-50 {
    to {
      stroke-dashoffset: calc(50px * var(--plu));
    }
  }
  @keyframes circle-75 {
    to {
      stroke-dashoffset: calc(25px * var(--plu));
    }
  }
  #awards img {
    max-width: 100%;
    margin: 0 auto;
  }
  /*********************
  FORM
  *********************/
  .form_left, .form_right {
    flex-basis: calc(50% - 10px);
  }
  /*********************
  FOOTER STYLES
  *********************/
  .footer .footer_left {
    position: relative;
    width: 33%;
    order: 1;
    margin-top: 0;
  }
  .footer .footer_right {
    width: 67%;
  }
  .footer .newsletter_container {
    text-align: right;
  }
  .footer .newsletter_container .button {
    margin: 0;
  }
  .copyright_container {
    display: flex;
    margin-top: var(--margin-extra-small);
    justify-content: flex-start;
    flex-direction: row;
  }
  .copyright_container p {
    order: 0;
    margin: 0;
  }
  .footer-links.nav {
    order: 1;
    display: flex;
    justify-content: flex-start;
  }
  .footer-links.nav li {
    margin-left: 10px;
  }
  .footer-links.nav li::before {
    content: "";
    left: 0px;
    top: 1px;
    position: absolute;
    color: var(--light-gray);
    background-color: var(--light-gray);
    height: 16px;
    width: 1px;
    top: 3px;
  }
  .footer-links.nav li > a {
    padding: 0 0px 0 10px;
  }
  /* end .footer-links */
}
/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Desktop Stylsheet

  This is the desktop size. It's larger than an iPad so it will only
  be seen on the Desktop.

  ******************************************************************/
  :root {
    --wrap: 1030px;
    --inner-width: 1030px;
  }
  .wrap {
    max-width: var(--wrap);
  }
  h3 {
    margin: 0 0 1em;
  }
  /*********************
  // HERO CASES
  *********************/
  .home__hero-cases article {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
  }
  .home__hero-cases article .inner-container {
    margin: 0;
  }
  .home__hero-cases article .inner-container .inner-container {
    width: calc(var(--inner-width) / 2 / 100 * 87.75);
    max-width: var(--wrap);
  }
  .home__hero-cases article .inner-container p {
    font-size: var(--text-small);
  }
  .home__hero-cases article:first-of-type {
    width: 100%;
  }
  .home__hero-cases article:first-of-type .text_container_bg {
    width: 100%;
  }
  .home__hero-cases article:first-of-type .inner-container {
    padding: 0;
  }
  .home__hero-cases article:first-of-type .inner-container .inner-content {
    width: 100%;
    width: calc(var(--inner-width) / 100 * 66.666);
  }
  .home__hero-cases article:nth-of-type(2) .inner-container {
    padding-right: 5vw;
  }
  .home__hero-cases article:last-of-type {
    background: var(--dark-gray);
  }
  .home__hero-cases article:last-of-type .text_container_bg {
    background: var(--dark-gray);
  }
  .home__hero-cases article:last-of-type .inner-container {
    margin-left: 0;
    padding-right: calc((100vw - var(--inner-width)) / 2);
    justify-content: flex-end;
  }
  .home__hero-cases article:last-of-type .button {
    --hover-color: var(--dark-gray);
  }
  /*********************
  // HOME SERVICES
  *********************/
  .home__services {
    display: flex;
  }
  .services_keywords_container {
    width: 50%;
    margin-top: var(--margin-small);
    padding: 0 0 0 25px;
    border-left: 2px solid var(--green);
    border-bottom: 0;
  }
  .services_keywords_container:first-of-type {
    width: 100%;
  }
  /*********************
  // HOME SERVICES
  *********************/
  .home__services article:last-of-type a {
    display: none;
  }
  .home__services article:first-of-type a {
    display: inline-block;
  }
  /*********************
  // HOME VISON AND NEWS
  *********************/
  .home__vision_and_news article {
    width: 50%;
    display: flex;
  }
  .home__vision_and_news .vision_preview .vision_image_container {
    width: 100%;
    max-height: 600px;
  }
  .home__vision_and_news .vision_preview .vision_image_container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home__vision_and_news .vision_preview .inner-content {
    max-width: calc(var(--inner-width) / 2 / 100 * 87.75);
  }
  .home__vision_and_news .post_preview {
    padding-top: var(--margin-medium);
  }
  .home__vision_and_news .post_preview .inner-container {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    padding-left: 5vw;
  }
  .home__vision_and_news .post_preview .inner-content {
    padding: 0;
    max-width: calc(var(--inner-width) / 2 / 100 * 87.75);
  }
  /*********************
  // XMAS // IMAGE GENERATOR
  *********************/
  .xmas24 section {
    padding-top: var(--margin-medium);
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--margin-extra-small);
  }
  .xmas24 section > div {
    width: 100%;
  }
  .xmas24 article {
    padding-right: 15px;
    display: flex;
    flex-wrap: wrap;
  }
  .xmas24 article + article {
    padding: 0 0 0 15px;
    margin-top: 0;
  }
  .fields .labels, .fields .input_wrapper {
    order: 1;
  }
  .fields #prompt-display {
    order: 2;
  }
}
/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
  :root {
    --wrap: 1240px;
    --inner-width: 1240px;
    --text-regular: 20px;
    --text-small: 17px;
    --text-big: 24px;
    --headline-small: var(--text-small);
    --headline-big: 80px;
    --headline-medium: 58px;
  }
  .wrap {
    max-width: var(--wrap);
  }
  #CybotCookiebotDialog[data-template=bottom] {
    top: 100%;
    transform: translate(-50%, -120px) !important;
  }
}
@media only screen and (min-width: 1400px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
  :root {
    --wrap: 1400px;
    --text-regular: 20px;
    --text-small: 17px;
    --text-big: 24px;
    --headline-small: var(--text-small);
    --headline-big: 90px;
    --headline-medium: 58px;
  }
  .wrap {
    max-width: var(--wrap);
  }
  h1 {
    letter-spacing: 0;
    line-height: 1em;
  }
  .logo-circles {
    /*   top: 0;
      left: -75px;

      &::before, &::after{
        content: '';
        display: inline-block;
        position: relative;
        top: 5px;
        width: 9px;
        height: 9px;
        margin-right: 3px;
        border: 10px solid var(--green);
        border-radius: 50%;
      }

      &::before{
        border: 10px solid white;
      } */
  }
}
@media only screen and (min-width: 1600px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
  :root {
    --wrap: 1400px;
  }
  #inner-header.wrap #logo {
    transform: translateX(-80px);
  }
  .logo-circles {
    top: 0;
    left: -75px;
  }
}
/*********************
USE THIS FOR A FIXED HEADER
*********************/
/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Retina Screens & Devices Stylesheet

  When handling retina screens you need to make adjustments, especially
  if you're not using font icons. Here you can add them in one neat
  place.

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

  EXAMPLE 
  Let's say you have an image and you need to make sure it looks ok
  on retina screens. Let's say we have an icon which dimension are
  24px x 24px. In your regular stylesheets, it would look something
  like this:

  .icon {
  	width: 24px;
  	height: 24px;
  	background: url(img/test.png) no-repeat;
  }

  For retina screens, we have to make some adjustments, so that image
  doesn't look blurry. So, taking into account the image above and the
  dimensions, this is what we would put in our retina stylesheet:

  .icon {
  	background: url(img/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }

  So, you would create the same icon, but at double the resolution, meaning 
  it would be 48px x 48px. You'd name it the same, but with a @2x at the end
  (this is pretty standard practice). Set the background image so it matches
  the original dimensions and you are good to go. 

  */
}
/*********************
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*********************/
@media print {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Print Stylesheet

  This is the print stylesheet. There's probably not a lot
  of reasons to edit this stylesheet. If you want to
  though, go for it.

  ******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  a, a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after, a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after, a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}