@charset "UTF-8";
/*------------------------------------*\
    1. BASE
\*------------------------------------*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

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

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

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

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

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

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/*------------------------------------*\
    1. MEDIA QUERY MIXINS
\*------------------------------------*/
/*------------------------------------*\
    1. BRAND
\*------------------------------------*/
/* adjucom main */
/* adjucom dark */
/* footer */
/*------------------------------------*\
    2. FONTS & TYPO
\*------------------------------------*/
/*------------------------------------*\
   3. Z-LEVELS
\*------------------------------------*/
/*------------------------------------*\
    1. MIXINS
\*------------------------------------*/
/*------------------------------------*\
    1. ANIMATIONS
\*------------------------------------*/
.animate-fadein {
  opacity: 0;
}

/*------------------------------------*\
    2. LAYOUT
\*------------------------------------*/
/*------------------------------------*\
    1. DEFAULT BOX-SIZING
\*------------------------------------*/
*, *:before, *:after {
  box-sizing: border-box;
}

/*------------------------------------*\
    2. BASE
\*------------------------------------*/
html, body {
  min-height: 100%;
}

#main-wrapper {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

main {
  flex: 1 0 auto; /* ie 11 */
  margin: 0;
  max-width: 1400px;
  margin: 0 auto;
  overflow: show;
  width: 90%;
  z-index: 2001;
}

/*------------------------------------*\
    1. BASIC TYPO
\*------------------------------------*/
html {
  color: rgb(44, 44, 44);
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 100;
  font-size: 72.5%;
}
@media only screen and (min-width: 1260px) {
  html {
    font-size: 87.5%;
  }
}
@media only screen and (min-width: 1600px) {
  html {
    font-size: 100%;
  }
}

body {
  color: rgb(44, 44, 44);
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*------------------------------------*\
    2. PARAGRAPH
\*------------------------------------*/
p {
  margin: 0;
  padding: 0.875rem 0;
}

strong, b {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 700;
}

/*------------------------------------*\
    3. TITLE
\*------------------------------------*/
h1, .title-h1, h2, .title-h2, h3, .title-h3, h4, .title-h4, h5, .title-h5 {
  font-family: "Exo", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  margin: 0 0 0.5rem;
  padding: 0;
}

a h1, a h2, a h3, a h4, a h5 {
  text-decoration: none;
}
a h1:hover, a h1:focus, a h2:hover, a h2:focus, a h3:hover, a h3:focus, a h4:hover, a h4:focus, a h5:hover, a h5:focus {
  color: rgb(44, 44, 44);
}

h1, .title-h1 {
  color: rgb(34, 162, 72);
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 1rem;
  padding: 0;
}

h2, .title-h2 {
  color: rgb(34, 162, 72);
  font-size: 2.45rem;
  font-weight: 600;
  margin: 2.5rem 0 0.25rem;
}

h3, .title-h3 {
  color: rgb(44, 44, 44);
  font-size: 1.825rem;
  font-weight: 500;
  margin: 2.25rem 0 0.2rem;
}

h4, .title-h4 {
  color: rgb(44, 44, 44);
  font-size: 1.65rem;
  margin: 1.65rem 0 0;
}

h5, .title-h5 {
  color: rgb(44, 44, 44);
  font-size: 1.425rem;
  font-weight: 600;
  margin: 0.75rem 0 0;
}

/*------------------------------------*\
    4. LINKS
\*------------------------------------*/
a {
  color: rgb(34, 162, 72);
  outline: none;
  transition: 200ms all linear;
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(44, 44, 44);
}

/* PDF LINK */
a[href$=".pdf"]::before {
  content: "\f1c1";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.75rem;
}

/*------------------------------------*\
    5. BUTTONS
\*------------------------------------*/
button,
a.button {
  background-color: rgb(34, 162, 72);
  border: 0.2rem solid rgb(34, 162, 72);
  border-radius: 0.5rem;
  color: rgb(255, 255, 255);
  cursor: pointer;
  font-family: "Source Sans Pro", sans-serif;
  display: inline-block;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.425rem 1.175rem 0.625rem;
  text-decoration: none;
  transition: 100ms all linear;
}
button:hover, button:focus,
a.button:hover,
a.button:focus {
  background-color: rgb(44, 44, 44);
  color: rgb(255, 255, 255);
  border-color: rgb(44, 44, 44);
}

/*------------------------------------*\
    6. LISTS
\*------------------------------------*/
ol, ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ol li::marker, ul li::marker {
  display: none !important;
  opacity: 0;
}

/*------------------------------------*\
    6. SUB & SUP
\*------------------------------------*/
blockquote {
  border-radius: 0.5rem;
  color: rgb(34, 162, 72);
  display: inline-block;
  font-size: 2rem;
  font-style: italic;
  line-height: 1.125;
  margin: 2rem auto;
  padding: 2.5rem 3.5rem !important;
  position: relative;
}
blockquote::before {
  content: "«";
  font-size: 5rem;
  opacity: 0.25;
  position: absolute;
  left: 0;
  top: -1.75rem;
}
blockquote::after {
  content: "»";
  font-size: 5rem;
  opacity: 0.25;
  position: absolute;
  right: 0;
  bottom: -1.75rem;
}
blockquote p {
  margin: 0 !important;
  padding: 0 !important;
}

/*------------------------------------*\
    7. SUB & SUP
\*------------------------------------*/
sub {
  bottom: 0 !important;
}

sub, sup {
  font-size: 70%;
}

/*------------------------------------*\
    1. IMAGES & FIGURE
\*------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

figure {
  max-width: 100%;
  margin: 0;
  padding: 0.75rem 0 1rem;
}
figure figcaption {
  display: inline-block;
  padding: 0.55rem 0;
  text-transform: uppercase;
  text-align: right;
  font-weight: 500;
  width: 100%;
}
@media only screen and (min-width: 1390px) {
  figure figcaption {
    font-size: 0.95rem;
    padding: 0.45rem 0;
  }
}

/*------------------------------------*\
    1. IFRAME
\*------------------------------------*/
iframe {
  border: 1px solid rgb(44, 44, 44) !important;
}

/*------------------------------------*\
    1. FORMS
\*------------------------------------*/
form {
  position: relative;
}

input {
  line-height: normal;
  max-width: 100%;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=tel],
input[type=number],
input[type=file],
input[type=date],
textarea {
  background-color: rgb(255, 255, 255);
  border: 1px solid rgb(34, 162, 72);
  border-radius: 0;
  box-shadow: none;
  color: rgb(44, 44, 44);
  display: block;
  font-size: 1.25rem;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 300;
  margin-bottom: 0.625rem;
  outline: none;
  padding: 0.625rem 1rem;
  text-align: left;
  transition: all 0.55s ease;
  width: 100%;
  -webkit-appearance: none;
}

input[type=checkbox] {
  border: 1px solid rgb(34, 162, 72);
  height: 1.65rem;
  width: 1.65rem;
}

label {
  display: block;
}

select {
  border: 1px solid rgb(44, 44, 44);
  box-shadow: none;
  display: block;
  font-size: 1.25rem;
  margin-bottom: 0.625rem;
  padding: 0.625rem 1rem;
  transition: all 0.55s ease;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  select {
    font-size: 1.15rem;
  }
}

textarea {
  font-family: rgb(44, 44, 44);
  height: 100px;
}

input[type=submit] {
  background-color: rgb(34, 162, 72);
  border: 1px solid rgb(34, 162, 72);
  border-radius: 0.25rem;
  color: rgb(255, 255, 255);
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  margin-top: 1rem;
  padding: 0.65rem 2rem;
  transition: all 0.55s ease;
  width: auto;
  -webkit-appearance: none;
}
input[type=submit]:hover, input[type=submit]:focus {
  background-color: rgb(44, 44, 44);
  border-color: rgb(44, 44, 44);
}

/* SUBMIT WRAPPER - button right and "pflichtfelder" left */
.submit-wrapper {
  display: flex;
  widows: 100%;
}
.submit-wrapper input {
  margin-left: auto;
  margin-top: 1.5rem;
}

/*------------------------------------*\
    1. CONTACT FORM 7 OVERRIDE
\*------------------------------------*/
/* CONTACT FORM-7 */
body .ajax-loader {
  display: none !important;
  display: none !important;
}
body .wpcf7-not-valid-tip {
  font-size: 0.85rem;
  margin-top: -0.45rem;
  margin-bottom: 0.75rem;
  font-weight: 500;
}
body .wpcf7-response-output {
  margin: 0;
}
body div.wpcf7-validation-errors,
body div.wpcf7-acceptance-missing,
body div.wpcf7-response-output {
  border: 1px solid rgb(34, 162, 72) !important;
  font-size: 1.12rem !important;
  padding: 0.55rem 1rem !important;
}
body .sent div.wpcf7-response-output {
  background-color: rgb(34, 162, 72) !important;
  color: rgb(255, 255, 255) !important;
}
body div.wpcf7-mail-sent-ok {
  background-color: rgb(34, 162, 72);
  border: 0;
  color: rgb(255, 255, 255);
  font-size: 1.25rem;
  padding: 0.35rem 2rem;
}
body span.wpcf7-list-item {
  padding: 0;
  margin: 0;
}
body {
  /* Mailchimp Checkbox */
}
body .mc4wp-checkbox,
body .wpcf7-spinner {
  display: none !important;
}
body {
  /* FORM SENT */
}
body .sent .form-fields-wrapper {
  display: none !important;
}

/* HONEY-POT */
form .important-fields {
  height: 0;
  overflow: hidden;
}

/* RECAPTCHA */
.grecaptcha-badge {
  visibility: hidden;
}

/*------------------------------------*\
    1. TABLES
\*------------------------------------*/
.table-wrapper {
  margin: 2rem 0;
  overflow-x: auto;
}

table {
  border-collapse: collapse;
  font-size: 0.75rem;
  max-width: 100%;
}
table thead {
  background-color: rgb(44, 44, 44);
  color: rgb(255, 255, 255);
  font-weight: 400;
}
table td {
  padding: 0.55rem;
}

/*------------------------------------*\
    3. MODULES
\*------------------------------------*/
/*------------------------------------*\
    1. HEADER
\*------------------------------------*/
.main-header {
  max-width: 1400px;
  margin: 0 auto;
  width: 90%;
  z-index: 3001;
}
.main-header .top-bar {
  border-bottom: 1px solid rgb(34, 162, 72);
  font-size: 1.425rem;
}
@media only screen and (min-width: 1024px) {
  .main-header .top-bar {
    font-size: 1.125rem;
  }
}
.main-header .top-bar .inner {
  display: flex;
  flex-wrap: nowrap;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.main-header .top-bar .inner > div {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}
.main-header .top-bar .inner > div ul {
  display: flex;
  padding: 0.275rem 0;
}
.main-header .top-bar .inner > div ul li:hover, .main-header .top-bar .inner > div ul li:focus {
  color: rgb(34, 162, 72);
  opacity: 0.85;
}
.main-header .top-bar .inner > div ul li a {
  color: rgb(34, 162, 72);
}
.main-header .top-bar .inner > div ul li:last-child::after {
  content: none;
}
.main-header .top-bar .inner > div ul.social-wrapper {
  display: none;
  margin-right: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .main-header .top-bar .inner > div ul.social-wrapper {
    display: flex;
  }
}
.main-header .top-bar .inner > div ul.social-wrapper li {
  padding-left: 0.825rem;
}
.main-header .top-bar .inner > div ul.support-wrapper {
  margin-left: auto;
}
.main-header .top-bar .inner > div ul.support-wrapper li {
  margin-left: 1.75rem;
}
.main-header .top-bar .inner > div ul.support-wrapper li:last-child::after {
  content: none;
}
.main-header .nav-bar {
  background-color: rgb(255, 255, 255);
  padding: 1.75rem 0;
}
.main-header .nav-bar .inner {
  display: flex;
  align-items: center;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.main-header .nav-bar .inner #logo a {
  display: inline-block;
}
.main-header .nav-bar .inner #logo a img {
  width: 17.5rem;
  height: auto;
}
.main-header .nav-bar .inner #main-navigation-button {
  display: block;
  margin-left: auto;
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation-button {
    display: none;
  }
}
.main-header .nav-bar .inner #main-navigation-button button {
  outline: none !important;
}
.main-header .nav-bar .inner #main-navigation-button button:hover, .main-header .nav-bar .inner #main-navigation-button button:focus {
  background-color: transparent !important;
  border: none !important;
}
.main-header .nav-bar .inner #main-navigation {
  display: none;
  margin-left: auto;
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation {
    display: block;
  }
}
.main-header .nav-bar .inner #main-navigation nav ul.menu {
  display: flex;
  flex-direction: row;
  text-transform: uppercase;
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li {
  display: flex;
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li {
    margin-right: 1.5rem;
  }
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li.menu-item-has-children > a {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li.menu-item-has-children > a::after {
    content: "\f0d7";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-size: 1.075rem;
    font-weight: 900;
    padding-left: 0.425rem;
  }
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li.menu-item-has-children > a.clicked {
  border-bottom: 2px solid rgb(44, 44, 44);
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li.menu-item-has-children > a.clicked::after {
  content: "\f0d8";
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li.current-menu-ancestor a, .main-header .nav-bar .inner #main-navigation nav ul.menu li.current-menu-item a {
    border-bottom: 2px solid rgb(34, 162, 72);
    color: rgb(34, 162, 72);
  }
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li.desktop-hidden {
    display: none;
  }
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li:last-child {
  margin-right: 0;
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li:last-child a {
  padding-right: 0 !important;
}
.main-header .nav-bar .inner #main-navigation nav ul.menu li a {
  color: rgb(34, 162, 72);
  display: inline-block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0 0.75rem;
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li a {
    border-bottom: 2px solid transparent;
    color: rgb(44, 44, 44);
    font-size: 1.375rem;
  }
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.menu li a:hover {
    border-bottom: 2px solid rgb(44, 44, 44);
  }
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu {
    display: none;
  }
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu.active {
    background: rgb(255, 255, 255);
    border-top: 1px solid rgb(220, 220, 220);
    border-bottom: 1px solid rgb(220, 220, 220);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-wrap: wrap;
    padding: 1rem 0 0;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 4001;
  }
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li {
    margin: 0;
    padding: 0 0 1rem;
    width: 100%;
  }
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li a {
    border-bottom: 0 !important;
    display: flex;
    flex-direction: row;
    font-size: 1.325rem;
    width: 100%;
  }
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li a:hover, .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li a:focus {
    border-bottom: 0 !important;
    color: rgb(34, 162, 72);
  }
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li a::before {
    background-color: rgb(34, 162, 72);
    border-radius: 50%;
    content: "";
    height: 0.675rem;
    width: 0.675rem;
    margin-top: 0.425rem;
    margin-right: 0.675rem;
  }
}
@media only screen and (min-width: 1260px) and (min-width: 1024px) {
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu li a img {
    display: block;
    margin: 0 auto;
    width: 60%;
  }
}
@media only screen and (min-width: 1260px) {
  .main-header .nav-bar .inner #main-navigation nav ul.sub-menu .close-sub {
    display: none !important;
  }
}

/* banner */
.banner {
  background-size: cover;
  background-position: center center;
  color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  height: 30rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 1440px) {
  .banner {
    height: 35rem;
  }
}
.banner .banner-text {
  background-color: rgba(34, 162, 72, 0.875);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
  position: relative;
  height: 100%;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .banner .banner-text {
    background-color: transparent;
    width: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .banner .banner-text::after {
    background-color: rgba(34, 162, 72, 0.875);
    border-radius: 50%;
    content: " ";
    color: rgb(255, 255, 255);
    display: inline-block;
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 200%;
    z-index: 1001;
  }
}
.banner .banner-text > div {
  position: relative;
  z-index: 2001;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .banner .banner-text > div {
    padding-top: 20rem;
    width: 75%;
  }
}
.banner .banner-text > div .title {
  display: block;
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1920px) {
  .banner .banner-text > div .title {
    font-size: 2.425rem;
  }
}
.banner .banner-text > div p {
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 1920px) {
  .banner .banner-text > div p {
    font-size: 1.75rem;
  }
}
.banner .banner-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* FIXED */
.main-header.fixed .bar-wrapper {
  background: rgb(255, 255, 255);
  box-shadow: 0 0.25rem 0.375rem 0 rgba(44, 44, 44, 0.075);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}
.main-header.fixed .bar-wrapper .inner {
  margin: 0 auto;
  width: 90%;
}

/*------------------------------------*\
    1. FOOTER
\*------------------------------------*/
.main-footer {
  background-color: rgb(97, 96, 100);
  color: rgb(255, 255, 255);
  padding: 4rem 0;
  width: 100%;
  z-index: 3001;
}
.main-footer a {
  color: rgb(255, 255, 255);
}
.main-footer a:hover, .main-footer a:focus {
  opacity: 0.85;
}
.main-footer .inner {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  width: 90%;
}
@media only screen and (min-width: 768px) {
  .main-footer .inner {
    flex-direction: row;
  }
}
.main-footer .inner .contact {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .main-footer .inner .contact {
    font-size: 1.325rem;
    flex-direction: row;
  }
}
@media only screen and (min-width: 1260px) {
  .main-footer .inner .contact {
    font-size: 1.125rem;
  }
}
.main-footer .inner .contact .footer-title {
  color: rgb(255, 255, 255);
  margin-bottom: 0;
  padding-bottom: 0.35rem;
}
.main-footer .inner .contact .info {
  margin-top: 0;
  padding-top: 0;
}
.main-footer .inner .contact .phone, .main-footer .inner .contact .mail {
  display: block;
}
.main-footer .inner .contact .phone::before, .main-footer .inner .contact .mail::before {
  color: rgb(255, 255, 255);
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5rem;
}
.main-footer .inner .contact .phone::before {
  content: "\f098";
}
.main-footer .inner .contact .mail::before {
  content: "\f199";
}
.main-footer .inner .contact .company {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 768px) {
  .main-footer .inner .contact .company {
    margin-bottom: 0;
    margin-right: 6rem;
  }
}
.main-footer .inner .contact .service-desk {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 768px) {
  .main-footer .inner .contact .service-desk {
    margin-bottom: 0;
    margin-right: 6rem;
  }
}
.main-footer .inner .contact .social {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 768px) {
  .main-footer .inner .contact .social {
    margin-right: 6rem;
    margin-bottom: 3rem;
  }
}
.main-footer .inner .contact .social span {
  display: block;
}
.main-footer .inner .contact .social span a {
  display: flex;
  align-items: center;
  padding-left: 2rem;
  position: relative;
}
.main-footer .inner .contact .social span a::before {
  color: rgb(255, 255, 255);
  font-family: "Font Awesome 5 Brands";
  font-weight: 500;
  display: inline-block;
  position: absolute;
  left: 0;
}
.main-footer .inner .contact .social span a.insta::before {
  content: "\f16d";
}
.main-footer .inner .contact .social span a.facebook::before {
  content: "\f09a";
}
.main-footer .inner .contact .social span a.linkedin::before {
  content: "\f0e1";
}
@media only screen and (min-width: 768px) {
  .main-footer .inner .legal {
    display: flex;
    flex-direction: column-reverse;
    font-size: 1.25rem;
    margin-left: auto;
  }
}
@media only screen and (min-width: 1260px) {
  .main-footer .inner .legal {
    font-size: 1.125rem;
  }
}
.main-footer .inner #footer-cta {
  position: absolute;
  top: -10rem;
  right: 5%;
}
@media only screen and (min-width: 1024px) {
  .main-footer .inner #footer-cta {
    right: 20%;
  }
}
.main-footer .inner #footer-cta a {
  background-color: rgb(34, 162, 72);
  border-radius: 50%;
  box-shadow: 0 0.25rem 4rem 0 rgba(44, 44, 44, 0.15);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-transform: uppercase;
  font-weight: 700;
  height: 10rem;
  width: 10rem;
  line-height: 1.2;
  text-align: center;
}
.main-footer .inner #footer-cta a:hover, .main-footer .inner #footer-cta a:focus {
  background-color: rgb(44, 44, 44);
  opacity: 1;
}

/*------------------------------------*\
    MOBILE-NAVGATION

    1. BASE-STYLE
\*------------------------------------*/
@media only screen and (max-width: 1259px) {
  body.mobile-active {
    overflow: hidden;
    height: 100%; /* disable page scrolling */
  }
  body.mobile-active .main-header {
    position: relative;
    z-index: 4001 !important;
  }
  body.mobile-active #main-navigation {
    background: rgb(255, 255, 255);
    display: block !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4001;
  }
  body.mobile-active #main-navigation nav {
    display: flex;
    justify-content: center !important;
    align-items: center !important;
    height: 100%;
  }
  body.mobile-active #main-navigation nav li, body.mobile-active #main-navigation nav a {
    font-size: 2rem !important;
  }
}
@media only screen and (max-width: 1259px) and (min-width: 768px) {
  body.mobile-active #main-navigation nav li, body.mobile-active #main-navigation nav a {
    font-size: 3rem !important;
  }
}
@media only screen and (max-width: 1259px) {
  body.mobile-active #main-navigation nav ul.menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
  }
  body.mobile-active #main-navigation nav ul.menu li {
    border-bottom: 1px solid rgb(220, 220, 220);
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0.5rem 0;
    width: 75%;
  }
  body.mobile-active #main-navigation nav ul.menu li.menu-item-has-children .open-sub {
    margin-left: auto;
  }
}
@media only screen and (max-width: 1259px) and (min-width: 1260px) {
  body.mobile-active #main-navigation nav ul.menu li.menu-item-has-children .open-sub {
    display: none;
  }
}
@media only screen and (max-width: 1259px) {
  body.mobile-active #main-navigation nav ul.menu li.menu-item-has-children .open-sub::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f054";
    color: rgb(34, 162, 72);
    display: inline-block;
    padding: 0.25rem 1rem 0 1rem;
    margin-left: auto;
    line-height: 1;
  }
  body.mobile-active #main-navigation nav ul.sub-menu {
    background-color: rgb(255, 255, 255);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: transform 0.3s;
    transform: translateX(100%);
  }
  body.mobile-active #main-navigation nav ul.sub-menu.opened {
    transform: translateX(0%);
  }
  body.mobile-active #main-navigation nav ul.sub-menu .close-wrapper {
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0.75rem;
    width: 75%;
  }
  body.mobile-active #main-navigation nav ul.sub-menu .close-wrapper .close-sub {
    color: rgb(34, 162, 72);
    padding-left: 2rem;
    position: relative;
  }
}
@media only screen and (max-width: 1259px) and (min-width: 768px) {
  body.mobile-active #main-navigation nav ul.sub-menu .close-wrapper .close-sub {
    padding-left: 3.25rem;
  }
}
@media only screen and (max-width: 1259px) {
  body.mobile-active #main-navigation nav ul.sub-menu .close-wrapper .close-sub::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f053";
    color: rgb(34, 162, 72);
    display: inline-block;
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
  }
  body.mobile-active #main-navigation nav ul.sub-menu li a img {
    display: none;
  }
  body.mobile-active #main-navigation-button {
    z-index: 5001;
  }
}
/*------------------------------------*\
    1. MODAL
    1.1 BASIC MODAL
    1.1.1 BASIC MODAL OPENED
    1.2 MODAL SUPPORT
\*------------------------------------*/
/* 1.1 BASIC MODAL */
#modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  transform: translateX(100%);
  transition: 200ms all linear;
  z-index: 6001;
}
@media only screen and (min-width: 768px) {
  #modal {
    max-width: 50rem;
  }
}
#modal .modal-inner {
  background-color: rgb(255, 255, 255);
  box-shadow: 0 0.25rem 3rem 0 rgba(44, 44, 44, 0.125);
  padding: 4rem;
  overflow: auto;
  position: relative;
  max-width: 1020px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}
#modal .modal-inner .modal-part {
  display: none;
}
#modal .modal-inner .modal-part.active {
  display: block;
}
#modal .modal-inner .modal-part .modal-title {
  margin-top: 0;
}
#modal #close-modal {
  background-position: center center;
  background-size: contain;
  background-image: url(../img/icons/icon-close.svg);
  cursor: pointer;
  height: 1.75rem;
  width: 1.75rem;
  position: absolute;
  right: 1.625rem;
  top: 1.5rem;
}

/* remove scrollbar */
#modal .modal-inner {
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox */
}

#modal .modal-inner::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}

/* 1.1.1 BASIC MODAL OPENED */
body.modal-opened #modal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translateX(0%);
}

/* 1.2 MODAL SUPPORT */
.modal-support > div {
  display: flex;
  flex-direction: column;
}
.modal-support > div .title-form {
  margin-bottom: 1rem;
}
.modal-support span.phone.contact,
.modal-support span.mail.contact {
  display: block;
}
.modal-support span.phone.contact::before,
.modal-support span.mail.contact::before {
  color: rgb(34, 162, 72);
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5rem;
}
.modal-support span.phone.contact::before {
  content: "\f098";
}
.modal-support span.mail.contact::before {
  content: "\f199";
}

/*------------------------------------*\
    1. MODAL-WINDOW
\*------------------------------------*/
.modal-window {
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  transition: opacity 0.25s ease-in-out;
  transform: 200ms opacity linear;
  z-index: -1;
}
.modal-window.opened {
  height: auto;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  opacity: 1;
  z-index: 5001;
}
.modal-window .modal-inner {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 0.15rem 0px rgba(0, 0, 0, 0.25);
  font-size: 1.35rem;
  width: 90%;
  height: 90%;
  padding: 7rem 2rem;
  overflow: auto;
  position: relative;
  /* remove scrollbar */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox */
}
.modal-window .modal-inner::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}
@media only screen and (min-width: 768px) {
  .modal-window .modal-inner {
    height: auto;
    padding: 2rem;
    max-width: 920px;
    width: 90%;
    max-height: 95%;
  }
}
@media only screen and (min-width: 1024px) {
  .modal-window .modal-inner {
    width: 65%;
  }
}
.modal-window .modal-inner > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.modal-window .modal-inner > *:last-child {
  margin-top: 0;
  padding-top: 0;
}
.modal-window .modal-inner #close-modal {
  cursor: pointer;
  display: block;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
}
.modal-window .modal-inner #close-modal button:focus, .modal-window .modal-inner #close-modal button:hover {
  background-color: transparent !important;
}
.modal-window .modal-inner #close-modal button .hamburger-inner {
  background-color: rgb(34, 162, 72);
}
.modal-window .modal-inner #close-modal button .hamburger-inner::before, .modal-window .modal-inner #close-modal button .hamburger-inner::after {
  background-color: rgb(34, 162, 72);
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  background-color: transparent !important;
  opacity: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: rgb(34, 162, 72);
}

.hamburger-box {
  width: 40px;
  height: 26px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: rgb(34, 162, 72);
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -11px;
}
.hamburger-inner::after {
  bottom: -11px;
}

/*
 * 3DX
 */
.hamburger--3dx .hamburger-box {
  perspective: 80px;
}
.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg);
}
.hamburger--3dx.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dx.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * 3DX Reverse
 */
.hamburger--3dx-r .hamburger-box {
  perspective: 80px;
}
.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * 3DY
 */
.hamburger--3dy .hamburger-box {
  perspective: 80px;
}
.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg);
}
.hamburger--3dy.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dy.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * 3DY Reverse
 */
.hamburger--3dy-r .hamburger-box {
  perspective: 80px;
}
.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * 3DXY
 */
.hamburger--3dxy .hamburger-box {
  perspective: 80px;
}
.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg);
}
.hamburger--3dxy.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dxy.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * 3DXY Reverse
 */
.hamburger--3dxy-r .hamburger-box {
  perspective: 80px;
}
.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
}

/*
 * Arrow
 */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Alt
 */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Alt Right
 */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Turn
 */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg);
}
.hamburger--arrowturn.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrowturn.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Turn Right
 */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Boring
 */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none;
}
.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg);
}
.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -22px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Collapse Reverse
 */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r .hamburger-inner::after {
  top: -22px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse-r .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -11px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Elastic
 */
.hamburger--elastic .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic .hamburger-inner::before {
  top: 11px;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic .hamburger-inner::after {
  top: 22px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 11px, 0) rotate(135deg);
  transition-delay: 0.075s;
}
.hamburger--elastic.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic.is-active .hamburger-inner::after {
  transform: translate3d(0, -22px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

/*
 * Elastic Reverse
 */
.hamburger--elastic-r .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r .hamburger-inner::before {
  top: 11px;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic-r .hamburger-inner::after {
  top: 22px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 11px, 0) rotate(-135deg);
  transition-delay: 0.075s;
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -22px, 0) rotate(270deg);
  transition-delay: 0.075s;
}

/*
 * Emphatic
 */
.hamburger--emphatic {
  overflow: hidden;
}
.hamburger--emphatic .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}
.hamburger--emphatic .hamburger-inner::after {
  top: 11px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}
.hamburger--emphatic.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -80px;
  top: -80px;
  transform: translate3d(80px, 80px, 0) rotate(45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -80px;
  top: -80px;
  transform: translate3d(-80px, 80px, 0) rotate(-45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Emphatic Reverse
 */
.hamburger--emphatic-r {
  overflow: hidden;
}
.hamburger--emphatic-r .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::after {
  top: 11px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -80px;
  top: 80px;
  transform: translate3d(80px, -80px, 0) rotate(-45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -80px;
  top: 80px;
  transform: translate3d(-80px, -80px, 0) rotate(45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Minus
 */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}
.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}
.hamburger--minus.is-active .hamburger-inner::before {
  top: 0;
}
.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 2px;
}
.hamburger--slider .hamburger-inner::before {
  top: 11px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 22px;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-5.7142857143px, -7px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -22px, 0) rotate(-90deg);
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
  top: 2px;
}
.hamburger--slider-r .hamburger-inner::before {
  top: 11px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider-r .hamburger-inner::after {
  top: 22px;
}
.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 11px, 0) rotate(-45deg);
}
.hamburger--slider-r.is-active .hamburger-inner::before {
  transform: rotate(45deg) translate3d(5.7142857143px, -7px, 0);
  opacity: 0;
}
.hamburger--slider-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -22px, 0) rotate(90deg);
}

/*
 * Spin
 */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin Reverse
 */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin-r .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
  top: 2px;
  transition: background-color 0s 0.13s linear;
}
.hamburger--spring .hamburger-inner::before {
  top: 11px;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
  top: 22px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important;
}
.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 11px, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 11px, 0) rotate(-45deg);
}

/*
 * Spring Reverse
 */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r .hamburger-inner::after {
  top: -22px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}
.hamburger--spring-r .hamburger-inner::before {
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -11px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}
.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand
 */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}
.hamburger--stand .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}
.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand Reverse
 */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}
.hamburger--stand-r .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}
.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Vortex
 */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
}

/*
 * Vortex Reverse
 */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*------------------------------------*\
    MODULES

    1. BASE-STYLE
\*------------------------------------*/
/* 1. BASE-STYLE */
.module {
  margin: 6.25vh 0;
}
@media only screen and (min-width: 1024px) {
  .module {
    margin: 12.5vh 0;
  }
}
@media only screen and (min-width: 1920px) {
  .module {
    margin: 8rem 0;
  }
}

/*------------------------------------*\
    MODULE-EDITOR

    1. BASE-STYLE
\*------------------------------------*/
.editor.module {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media only screen and (min-width: 1600px) {
  .editor.module {
    max-width: 780px;
  }
}
.editor.module ul {
  list-style-type: disc;
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}
.editor.module ul.list-style-thick {
  list-style-type: none;
}
.editor.module ul.list-style-thick li::before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  font-size: 1rem;
  display: inline-block;
  margin-left: -1.5em; /* same as padding-left set on li */
  width: 1.3em; /* same as padding-left set on li */
}

/*------------------------------------*\
    MODULE-EDITOR-ROWS-2

    1. BASE-STYLE
\*------------------------------------*/
.editor-rows-2.module {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .editor-rows-2.module .intro {
    width: 48.5%;
  }
}
.editor-rows-2.module .text-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.editor-rows-2.module .text-wrapper > div ul {
  list-style-type: disc;
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}
.editor-rows-2.module .text-wrapper > div ul.list-style-thick {
  list-style-type: none;
}
.editor-rows-2.module .text-wrapper > div ul.list-style-thick li::before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  font-size: 1rem;
  display: inline-block;
  margin-left: -1.5em; /* same as padding-left set on li */
  width: 1.3em; /* same as padding-left set on li */
}
.editor-rows-2.module .text-wrapper > div {
  width: 100%;
}
.editor-rows-2.module .text-wrapper > div:first-child > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
@media only screen and (min-width: 768px) {
  .editor-rows-2.module .text-wrapper > div {
    width: 48.5%;
  }
  .editor-rows-2.module .text-wrapper > div > *:first-child {
    margin-top: 0;
    padding-top: 0;
  }
  .editor-rows-2.module .text-wrapper > div > *:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

/*------------------------------------*\
    MODULE-EDITOR-ROWS-2

    1. BASE-STYLE
\*------------------------------------*/
.editor-rows-portrait.module .text-wrapper {
  flex-direction: column-reverse;
}
@media only screen and (min-width: 768px) {
  .editor-rows-portrait.module .text-wrapper {
    flex-direction: row;
  }
}
.editor-rows-portrait.module .text-wrapper div:first-child {
  text-align: center;
}
.editor-rows-portrait.module .text-wrapper div:first-child blockquote {
  margin: 0 auto;
}
@media only screen and (min-width: 1260px) {
  .editor-rows-portrait.module .text-wrapper div:first-child blockquote {
    max-width: 75%;
  }
}
.editor-rows-portrait.module .portrait {
  text-align: center;
  width: 20rem;
  margin: 2rem auto 0;
}
.editor-rows-portrait.module .portrait img {
  border-radius: 50%;
  height: 20rem;
  width: 20rem;
  object-fit: cover;
  object-position: center center;
}

/*------------------------------------*\
    MODULE-EDITOR

    1. BASE-STYLE
\*------------------------------------*/
.editor-dropdown.module {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media only screen and (min-width: 1600px) {
  .editor-dropdown.module {
    max-width: 780px;
  }
}
.editor-dropdown.module {
  width: 100%;
}
.editor-dropdown.module .inner > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.editor-dropdown.module .inner > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.editor-dropdown.module .inner .dropdown-item {
  border-bottom: 1px solid rgb(34, 162, 72);
}
.editor-dropdown.module .inner .dropdown-item .title {
  color: rgb(34, 162, 72);
  cursor: pointer;
  font-weight: 500;
  padding: 0.75rem 0;
}
.editor-dropdown.module .inner .dropdown-item .title::before {
  content: "\f0d7";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-size: 1.075rem;
  font-weight: 900;
  margin-right: 0.35rem;
}
.editor-dropdown.module .inner .dropdown-item .title img {
  height: 2rem;
  width: 2rem;
}
.editor-dropdown.module .inner .dropdown-item .content {
  display: none;
}

/*------------------------------------*\
    MODULES

    1. BASE-STYLE TEAM
\*------------------------------------*/
.text-image.module {
  position: relative;
}
.text-image.module .inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .text-image.module .inner {
    flex-wrap: nowrap;
  }
}
.text-image.module .inner .image {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .text-image.module .inner .image {
    width: 52.5%;
  }
}
.text-image.module .inner .image img {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .text-image.module .inner .image img {
    border-radius: 0.5rem;
  }
}
.text-image.module .inner .text {
  background-color: rgb(255, 255, 255);
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border: 1px solid rgb(220, 220, 220);
  box-shadow: 0 0.25rem 3rem 0 rgba(44, 44, 44, 0.085);
  padding: 2.5rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .text-image.module .inner .text {
    border-radius: 0.5rem;
    margin-left: -5%;
    margin-top: 6rem;
    width: 52.5%;
  }
}
.text-image.module .inner .text > *:first-child {
  padding-top: 0;
  margin-top: 0;
}
.text-image.module .inner .text > *:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}
.text-image.module {
  /* STYLE */
}
.text-image.module.style-02 {
  background-color: rgb(248, 248, 248);
  padding: 8rem 0;
}
.text-image.module.style-02:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .text-image.module.order-reversed .inner {
    flex-direction: row-reverse;
  }
  .text-image.module.order-reversed .inner .text {
    margin-left: 0;
  }
  .text-image.module.order-reversed .inner .image {
    margin-left: -5%;
  }
}

/*------------------------------------*\
    MODULE-IMAGE

    1. BASE-STYLE
\*------------------------------------*/
.image.module {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.image.module .image-caption {
  font-size: 1.125rem;
  margin-top: 0.25rem;
  text-align: right;
}

/*------------------------------------*\
    MODULE-SERVICES

    1. BASE-STYLE
\*------------------------------------*/
.services.module .inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.services.module .intro {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media only screen and (min-width: 1600px) {
  .services.module .intro {
    max-width: 780px;
  }
}
.services.module .intro {
  margin-left: 0;
  margin-right: 0;
}
.services.module .intro > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.services.module .intro > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.services.module .service-wrapper {
  margin-top: 2.5rem;
}
.services.module .service-wrapper > div {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
@media only screen and (min-width: 480px) {
  .services.module .service-wrapper > div {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
@media only screen and (min-width: 1260px) {
  .services.module .service-wrapper > div {
    margin-left: -3rem;
    margin-right: -3rem;
  }
}
.services.module .service-wrapper > div .service {
  display: flex;
  padding: 0 0.5rem 1rem;
  width: 100%;
}
@media only screen and (min-width: 480px) {
  .services.module .service-wrapper > div .service {
    padding: 0 1rem 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .services.module .service-wrapper > div .service {
    width: 50%;
  }
}
@media only screen and (min-width: 1260px) {
  .services.module .service-wrapper > div .service {
    padding: 0 2rem 2rem;
  }
}
.services.module .service-wrapper > div .service .service-inner {
  background-color: rgb(255, 255, 255);
  border-radius: 0.5rem;
  border: 1px solid rgb(220, 220, 220);
  box-shadow: 0 0.25rem 3rem 0 rgba(44, 44, 44, 0.085);
  display: flex;
  align-items: center;
  padding: 1rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .services.module .service-wrapper > div .service .service-inner {
    padding: 1.5rem 1rem;
  }
}
.services.module .service-wrapper > div .service .service-inner .service-image {
  display: flex;
  align-items: center;
  flex: 0 0 4.5rem;
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .services.module .service-wrapper > div .service .service-inner .service-image {
    flex: 0 0 5rem;
  }
}
.services.module .service-wrapper > div .service .service-inner .service-image img {
  margin: 0 auto;
}
.services.module .service-wrapper > div .service .service-inner .service-image img.icon {
  display: block;
}
.services.module .service-wrapper > div .service .service-inner .service-image img.icon-active {
  display: none;
}
.services.module .service-wrapper > div .service .service-inner .service-title {
  color: rgb(44, 44, 44);
  font-size: 1.5rem;
  margin-top: 0;
  padding-top: 0;
  padding-left: 1.5rem;
}
@media only screen and (min-width: 480px) {
  .services.module .service-wrapper > div .service .service-inner .service-title {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 640px) {
  .services.module .service-wrapper > div .service .service-inner .service-title {
    font-size: 1.825rem;
  }
}
.services.module .service-wrapper > div .service .service-inner .service-title h3 {
  margin-bottom: 0;
}
.services.module .service-wrapper > div .service .service-inner .service-intro {
  color: rgb(44, 44, 44);
  font-size: 1.125rem;
  padding-bottom: 0;
  padding-top: 0.25rem;
  margin-bottom: 0;
  text-align: center;
}
.services.module .service-wrapper > div .service .service-inner:hover, .services.module .service-wrapper > div .service .service-inner:focus {
  background: linear-gradient(180deg, rgb(34, 162, 72) 0%, rgb(29, 137, 61) 100%);
  transition: none;
}
.services.module .service-wrapper > div .service .service-inner:hover .service-image .icon, .services.module .service-wrapper > div .service .service-inner:focus .service-image .icon {
  display: none;
}
.services.module .service-wrapper > div .service .service-inner:hover .service-image .icon-active, .services.module .service-wrapper > div .service .service-inner:focus .service-image .icon-active {
  display: block;
}
.services.module .service-wrapper > div .service .service-inner:hover .service-title, .services.module .service-wrapper > div .service .service-inner:focus .service-title {
  color: rgb(255, 255, 255);
}
.services.module .service-wrapper > div .service .service-inner:hover .service-intro, .services.module .service-wrapper > div .service .service-inner:focus .service-intro {
  color: rgb(255, 255, 255);
}
.services.module .action-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
@media only screen and (min-width: 1600px) {
  .services.module .action-wrapper {
    margin-top: -0.5rem;
  }
}

/*------------------------------------*\
    MODULE-CLIENTS

    1. BASE-STYLE
\*------------------------------------*/
.clients.module .inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.clients.module .intro {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media only screen and (min-width: 1600px) {
  .clients.module .intro {
    max-width: 780px;
  }
}
.clients.module .intro {
  text-align: center;
  margin: 0 auto;
}
.clients.module .intro > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.clients.module .intro > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.clients.module .intro.text-align-left {
  margin: 0;
  text-align: left;
}
.clients.module .clients-wrapper {
  margin-top: 2.5rem;
}
.clients.module .clients-wrapper > div {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem;
}
@media only screen and (min-width: 768px) {
  .clients.module .clients-wrapper > div {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.clients.module .clients-wrapper > div .client {
  padding: 0 1rem 1rem;
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .clients.module .clients-wrapper > div .client {
    padding: 0 2rem 2rem;
    width: 33.33%;
  }
}
@media only screen and (min-width: 1024px) {
  .clients.module .clients-wrapper > div .client {
    width: 25%;
  }
}
.clients.module .clients-wrapper > div .client a {
  background-color: rgb(255, 255, 255);
  border-radius: 0.5rem;
  border: 1px solid rgb(220, 220, 220);
  box-shadow: 0 0.25rem 3rem 0 rgba(44, 44, 44, 0.085);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7.5rem;
  overflow: hidden;
  padding: 1rem !important;
  text-align: center;
}
.clients.module .clients-wrapper > div .client a img {
  border-radius: 0.5rem;
  max-height: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/*------------------------------------*\
    MODULES

    1. BASE-STYLE TEAM
\*------------------------------------*/
.team-overview.module {
  margin: 6.25vh 0 calc(6.25vh - 2rem);
}
@media only screen and (min-width: 1024px) {
  .team-overview.module {
    margin: 12.5vh 0 calc(12.5vh - 2rem);
  }
}
@media only screen and (min-width: 1920px) {
  .team-overview.module {
    margin: 8rem 0 6rem;
  }
}
.team-overview.module .inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.team-overview.module .inner .title {
  width: 100%;
}
.team-overview.module .inner .title .module-title {
  margin-top: 0;
}
.team-overview.module .inner .filters {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.team-overview.module .inner .filters li {
  margin-right: 2rem;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .team-overview.module .inner .filters li {
    font-size: 1.45rem;
  }
}
.team-overview.module .inner .employee-grid {
  margin: 2.5rem -0.65rem 0;
  position: relative;
}
.team-overview.module .inner .employee-grid .grid-sizer {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .team-overview.module .inner .employee-grid .grid-sizer {
    width: 33.33%;
  }
}
@media only screen and (min-width: 1260px) {
  .team-overview.module .inner .employee-grid .grid-sizer {
    width: 25%;
  }
}
.team-overview.module .inner .employee-grid .employee {
  margin-bottom: 2rem;
  padding: 0 0.75rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .team-overview.module .inner .employee-grid .employee {
    width: 33.33%;
  }
}
@media only screen and (min-width: 1260px) {
  .team-overview.module .inner .employee-grid .employee {
    width: 25%;
  }
}
.team-overview.module .inner .employee-grid .employee .inner {
  background-color: rgb(255, 255, 255);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .team-overview.module .inner .employee-grid .employee .inner {
    font-size: 1.35rem;
  }
}
.team-overview.module .inner .employee-grid .employee .inner .portrait {
  aspect-ratio: 3/2;
  overflow: hidden;
  width: 100%;
}
.team-overview.module .inner .employee-grid .employee .inner .portrait img {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center center;
}
.team-overview.module .inner .employee-grid .employee .inner .info {
  background-color: rgb(255, 255, 255);
  padding: 1.25rem;
  width: 100%;
}
.team-overview.module .inner .employee-grid .employee .inner .info span {
  display: block;
}
.team-overview.module .inner .employee-grid .employee .inner .info span.employee-name {
  font-weight: 600;
}
.team-overview.module .inner .employee-grid .employee .inner .info span.employee-function {
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .team-overview.module .inner .employee-grid .employee .inner .info span.employee-function {
    font-size: 1.25rem;
  }
}
.team-overview.module .inner .employee-grid .employee .inner .info span.employee-mail {
  font-size: 1.45rem;
}

/*------------------------------------*\
    4. VIEWS
\*------------------------------------*/
/*------------------------------------*\
    1. CLIENTS-PAGE
\*------------------------------------*/
.page-template-clients main .inner {
  margin-top: 4rem;
}
.page-template-clients main .inner .clients-filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.page-template-clients main .inner .clients-filter span {
  background-color: rgb(34, 162, 72);
  border-radius: 2rem;
  color: white;
  cursor: pointer;
  margin: 0 1rem 1rem 0;
  opacity: 0.425;
  padding: 0.35rem 1rem;
}
.page-template-clients main .inner .clients-filter span.active {
  opacity: 1;
}
.page-template-clients main .inner .clients-extended {
  margin-top: 2rem;
}

/*------------------------------------*\
    1. NEWS-OVERVIEW
\*------------------------------------*/
.page-template-news main > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.page-template-news main > div .intro {
  text-align: left;
}
.page-template-news main > div .news {
  margin: 0 auto;
  width: 100%;
}
.page-template-news main > div .news .news-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
.page-template-news main > div .news .news-wrapper .post {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4rem;
  padding: 0 1.25rem;
  width: 100%;
}
.page-template-news main > div .news .news-wrapper .post .post-inner {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
}
.page-template-news main > div .news .news-wrapper .post .post-inner .image {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-template-news main > div .news .news-wrapper .post .post-inner .image {
    width: 35%;
  }
}
.page-template-news main > div .news .news-wrapper .post .post-inner .text {
  display: flex;
  flex-direction: column;
  margin-top: 1.75rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-template-news main > div .news .news-wrapper .post .post-inner .text {
    margin-top: 0 !important;
    padding: 0 2.5rem;
    width: 65%;
  }
}
.page-template-news main > div .news .news-wrapper .post .post-inner .text .post-title {
  margin-top: 0;
  padding-top: 0;
}
.page-template-news main > div .news .news-wrapper .post .post-inner .text .news-details-link {
  display: block;
  margin-top: 0.5rem;
}
.page-template-news main > div .news .news-wrapper .post .post-inner .text .news-details-link::before {
  content: "\f0da";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.75rem;
}
.page-template-news main > div .news .no-posts-found {
  width: 100%;
}
.page-template-news main > div .news .no-posts-found div {
  background-color: rgb(255, 255, 255);
  border-radius: 0.5rem;
  padding: 2rem;
}
.page-template-news main > div .news .no-posts-found div h2 {
  margin-top: 0;
  padding-top: 0;
}
.page-template-news main > div .news .no-posts-found div p {
  padding-bottom: 0;
}

/*------------------------------------*\
    1. NEWS-SINGLE
\*------------------------------------*/
.single-post main > div {
  display: flex;
  flex-wrap: wrap;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-top: 4rem;
  margin-bottom: 8rem;
}
.single-post main > div .back {
  margin-bottom: 2rem;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .single-post main > div .back {
    margin-bottom: 0;
    width: 25%;
  }
}
.single-post main > div .back a::before {
  content: "\f0d9";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.75rem;
}
.single-post main > div .post {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .single-post main > div .post {
    max-width: 50rem;
    width: 72.5%;
  }
}

/*------------------------------------*\
    1. JOBS-OVERVIEW PAGE
\*------------------------------------*/
.page-template-jobs main,
.job-template-default main {
  /* BASE */
  width: 100%;
  max-width: none;
}
.page-template-jobs main .jobs-wrapper,
.page-template-jobs main .job-single-wrapper,
.job-template-default main .jobs-wrapper,
.job-template-default main .job-single-wrapper {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.page-template-jobs main,
.job-template-default main {
  /* ELEMENTS */
}
.page-template-jobs main .intro,
.job-template-default main .intro {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  width: 90%;
}
.page-template-jobs main .intro .inner,
.job-template-default main .intro .inner {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media only screen and (min-width: 1600px) {
  .page-template-jobs main .intro .inner,
  .job-template-default main .intro .inner {
    max-width: 780px;
  }
}
.page-template-jobs main .intro .inner,
.job-template-default main .intro .inner {
  margin-left: 0;
  margin-right: 0;
}
.page-template-jobs main .intro .inner p,
.job-template-default main .intro .inner p {
  font-size: 1.7125rem;
}
.page-template-jobs main .intro .inner > *:last-child,
.job-template-default main .intro .inner > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.page-template-jobs main .about,
.job-template-default main .about {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  width: 90%;
}
.page-template-jobs main .about .inner,
.job-template-default main .about .inner {
  margin-left: 0;
  margin-right: 0;
  max-width: 980px;
}
.page-template-jobs main .about .inner p,
.job-template-default main .about .inner p {
  font-size: 1.575rem;
}
.page-template-jobs main .about .inner > *:last-child,
.job-template-default main .about .inner > *:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.page-template-jobs main .jobs-overview,
.page-template-jobs main .job-description,
.job-template-default main .jobs-overview,
.job-template-default main .job-description {
  background-color: rgb(34, 162, 72);
  margin: 6rem 0;
  padding: 6rem 0 4rem;
}
.page-template-jobs main .jobs-overview .inner,
.page-template-jobs main .job-description .inner,
.job-template-default main .jobs-overview .inner,
.job-template-default main .job-description .inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  width: 90%;
}
.page-template-jobs main .jobs-overview .jobs-overview-title-wrapper,
.job-template-default main .jobs-overview .jobs-overview-title-wrapper {
  margin-bottom: 2.75rem;
}
.page-template-jobs main .jobs-overview .jobs-overview-title-wrapper h2,
.job-template-default main .jobs-overview .jobs-overview-title-wrapper h2 {
  color: rgb(255, 255, 255);
  margin-top: 0;
  padding-top: 0;
}
.page-template-jobs main .jobs-overview .jobs-list,
.job-template-default main .jobs-overview .jobs-list {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .jobs-overview .jobs-list,
  .job-template-default main .jobs-overview .jobs-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.page-template-jobs main .jobs-overview .jobs-list .job,
.job-template-default main .jobs-overview .jobs-list .job {
  background-color: rgb(255, 255, 255);
  border-radius: 1.75rem;
  box-shadow: 0 0 1.5rem 0.5rem rgba(0, 0, 0, 0.15);
  margin-bottom: 4.5rem;
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .jobs-overview .jobs-list .job,
  .job-template-default main .jobs-overview .jobs-list .job {
    width: 46.75%;
  }
}
.page-template-jobs main .jobs-overview .jobs-list .job .job-title,
.job-template-default main .jobs-overview .jobs-list .job .job-title {
  color: rgb(34, 162, 72);
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 0;
}
.page-template-jobs main .jobs-overview .jobs-list .job .percent,
.job-template-default main .jobs-overview .jobs-list .job .percent {
  color: rgb(34, 162, 72);
  font-size: 1.625rem;
}
.page-template-jobs main .jobs-overview .jobs-list .job .job-link,
.job-template-default main .jobs-overview .jobs-list .job .job-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-weight: 600;
  font-size: 1.5125rem;
  margin-top: 0.125rem;
}
.page-template-jobs main .jobs-overview .jobs-list .job .job-link::before,
.job-template-default main .jobs-overview .jobs-list .job .job-link::before {
  background-image: url("../img/icons/arrow-right-jobs.svg");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  height: 1rem;
  width: 1.75rem;
  margin-right: 0.625rem;
}
.page-template-jobs main .job-description,
.job-template-default main .job-description {
  background-color: rgb(34, 162, 72);
  padding-bottom: 6rem;
}
.page-template-jobs main .job-description .job-title-wrapper,
.job-template-default main .job-description .job-title-wrapper {
  display: flex;
  flex-direction: column;
}
.page-template-jobs main .job-description .job-title-wrapper h1,
.job-template-default main .job-description .job-title-wrapper h1 {
  color: rgb(255, 255, 255);
  margin-bottom: 0;
}
.page-template-jobs main .job-description .job-title-wrapper .percent,
.job-template-default main .job-description .job-title-wrapper .percent {
  color: rgb(255, 255, 255);
  display: block;
  margin-top: 0;
  margin-bottom: 0;
}
.page-template-jobs main .job-description .tabs,
.job-template-default main .job-description .tabs {
  color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .tabs,
  .job-template-default main .job-description .tabs {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 3.5rem;
  }
}
.page-template-jobs main .job-description .tabs .tab-selection,
.job-template-default main .job-description .tabs .tab-selection {
  display: none;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .tabs .tab-selection,
  .job-template-default main .job-description .tabs .tab-selection {
    display: flex;
    flex-direction: column;
    width: 20%;
  }
}
@media only screen and (min-width: 1024px) {
  .page-template-jobs main .job-description .tabs .tab-selection,
  .job-template-default main .job-description .tabs .tab-selection {
    width: 15%;
  }
}
.page-template-jobs main .job-description .tabs .tab-selection span,
.job-template-default main .job-description .tabs .tab-selection span {
  border-bottom: 2px solid rgb(255, 255, 255);
  cursor: pointer;
  display: block;
  opacity: 0.6125;
}
.page-template-jobs main .job-description .tabs .tab-selection span::before,
.job-template-default main .job-description .tabs .tab-selection span::before {
  border: 2px solid rgb(255, 255, 255);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 0.675rem;
  width: 0.675rem;
  margin-right: 0.575rem;
  margin-bottom: 0.05rem;
}
.page-template-jobs main .job-description .tabs .tab-selection span:hover, .page-template-jobs main .job-description .tabs .tab-selection span:focus, .page-template-jobs main .job-description .tabs .tab-selection span.active,
.job-template-default main .job-description .tabs .tab-selection span:hover,
.job-template-default main .job-description .tabs .tab-selection span:focus,
.job-template-default main .job-description .tabs .tab-selection span.active {
  opacity: 1;
}
.page-template-jobs main .job-description .tabs .tab-selection span:hover::before, .page-template-jobs main .job-description .tabs .tab-selection span:focus::before, .page-template-jobs main .job-description .tabs .tab-selection span.active::before,
.job-template-default main .job-description .tabs .tab-selection span:hover::before,
.job-template-default main .job-description .tabs .tab-selection span:focus::before,
.job-template-default main .job-description .tabs .tab-selection span.active::before {
  background-color: rgb(255, 255, 255);
}
.page-template-jobs main .job-description .tabs .tab-content ul,
.job-template-default main .job-description .tabs .tab-content ul {
  list-style-type: disc;
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}
.page-template-jobs main .job-description .tabs .tab-content ul.list-style-thick,
.job-template-default main .job-description .tabs .tab-content ul.list-style-thick {
  list-style-type: none;
}
.page-template-jobs main .job-description .tabs .tab-content ul.list-style-thick li::before,
.job-template-default main .job-description .tabs .tab-content ul.list-style-thick li::before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  font-size: 1rem;
  display: inline-block;
  margin-left: -1.5em; /* same as padding-left set on li */
  width: 1.3em; /* same as padding-left set on li */
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .tabs .tab-content,
  .job-template-default main .job-description .tabs .tab-content {
    width: 70%;
  }
}
@media only screen and (min-width: 1024px) {
  .page-template-jobs main .job-description .tabs .tab-content,
  .job-template-default main .job-description .tabs .tab-content {
    width: 75%;
  }
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .tabs .tab-content .tab-content-item,
  .job-template-default main .job-description .tabs .tab-content .tab-content-item {
    display: none;
  }
  .page-template-jobs main .job-description .tabs .tab-content .tab-content-item.active,
  .job-template-default main .job-description .tabs .tab-content .tab-content-item.active {
    display: block;
  }
}
.page-template-jobs main .job-description .tabs .tab-content .tab-content-item .tab-title,
.job-template-default main .job-description .tabs .tab-content .tab-content-item .tab-title {
  color: rgb(255, 255, 255);
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .tabs .tab-content .tab-content-item .tab-title,
  .job-template-default main .job-description .tabs .tab-content .tab-content-item .tab-title {
    margin-top: 0;
  }
}
.page-template-jobs main .job-description .pdf-link,
.job-template-default main .job-description .pdf-link {
  border: 1px solid rgb(255, 255, 255);
  color: rgb(255, 255, 255) !important;
  font-size: 1.825rem;
  display: inline-block;
  transition: 200ms all linear;
  margin-top: 1.5rem;
  padding: 0.25rem 0.875rem;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .job-description .pdf-link,
  .job-template-default main .job-description .pdf-link {
    font-size: 1.5rem;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media only screen and (min-width: 1600px) {
  .page-template-jobs main .job-description .pdf-link,
  .job-template-default main .job-description .pdf-link {
    font-size: 1.325rem;
  }
}
.page-template-jobs main .contact,
.job-template-default main .contact {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-bottom: 9rem;
  width: 90%;
}
.page-template-jobs main .contact .inner,
.job-template-default main .contact .inner {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .contact .inner,
  .job-template-default main .contact .inner {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .contact .inner .text,
  .page-template-jobs main .contact .inner .portrait,
  .job-template-default main .contact .inner .text,
  .job-template-default main .contact .inner .portrait {
    width: 46.75%;
  }
}
.page-template-jobs main .contact .inner .text h2,
.job-template-default main .contact .inner .text h2 {
  margin-top: 0;
  padding-top: 0;
}
.page-template-jobs main .contact .inner .text p,
.job-template-default main .contact .inner .text p {
  padding-bottom: 0;
}
.page-template-jobs main .contact .inner .text .info,
.job-template-default main .contact .inner .text .info {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
}
.page-template-jobs main .contact .inner .text .info .employee-name,
.job-template-default main .contact .inner .text .info .employee-name {
  margin-bottom: 0;
  margin-top: 0;
}
.page-template-jobs main .contact .inner .text .info .employee-function,
.job-template-default main .contact .inner .text .info .employee-function {
  margin-bottom: 0.875rem;
}
.page-template-jobs main .contact .inner .portrait,
.job-template-default main .contact .inner .portrait {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .page-template-jobs main .contact .inner .portrait,
  .job-template-default main .contact .inner .portrait {
    margin-top: 0;
  }
}
.page-template-jobs main .contact .inner .portrait img,
.job-template-default main .contact .inner .portrait img {
  border-radius: 1.75rem;
}

/*------------------------------------*\
    1. CONTACT-PAGE
\*------------------------------------*/
.page-template-contact main .contact-wrapper {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.page-template-contact main .contact-wrapper > div {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem;
}
.page-template-contact main .contact-wrapper > div .page-title {
  padding: 0 1rem;
  width: 100%;
}
.page-template-contact main .contact-wrapper > div .module {
  font-size: 1.45rem;
}
@media only screen and (min-width: 1260px) {
  .page-template-contact main .contact-wrapper > div .module {
    font-size: 1.25rem;
  }
}
.page-template-contact main .contact-wrapper > div .module {
  margin: 0;
  padding: 0 1rem;
}
.page-template-contact main .contact-wrapper > div .module > div {
  background-color: rgb(255, 255, 255);
  border-radius: 0.5rem;
}
.page-template-contact main .contact-wrapper > div .module > div .module-title {
  margin-top: 0;
}
.page-template-contact main .contact-wrapper > div .module > div span.phone.contact,
.page-template-contact main .contact-wrapper > div .module > div span.mail.contact {
  display: block;
}
.page-template-contact main .contact-wrapper > div .module > div span.phone.contact::before,
.page-template-contact main .contact-wrapper > div .module > div span.mail.contact::before {
  color: rgb(34, 162, 72);
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5rem;
}
.page-template-contact main .contact-wrapper > div .module > div span.phone.contact::before {
  content: "\f098";
}
.page-template-contact main .contact-wrapper > div .module > div span.mail.contact::before {
  content: "\f199";
}
.page-template-contact main .contact-wrapper > div .address {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-template-contact main .contact-wrapper > div .address {
    width: 50%;
  }
}
@media only screen and (min-width: 1260px) {
  .page-template-contact main .contact-wrapper > div .address {
    width: 27.25%;
  }
}
.page-template-contact main .contact-wrapper > div .servicedesk {
  margin-top: 2rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-template-contact main .contact-wrapper > div .servicedesk {
    margin-top: 0;
    width: 50%;
  }
}
@media only screen and (min-width: 1260px) {
  .page-template-contact main .contact-wrapper > div .servicedesk {
    width: 27.5%;
  }
}
.page-template-contact main .contact-wrapper > div .form {
  margin-top: 2rem;
  width: 100%;
}
@media only screen and (min-width: 1260px) {
  .page-template-contact main .contact-wrapper > div .form {
    margin-top: 0;
    width: 45%;
  }
}
.page-template-contact main .contact-wrapper > div .form > div form {
  margin-top: 1.25rem;
}
.page-template-contact main #map {
  margin-bottom: 8rem;
  height: 50vh;
  width: 100%;
}

/*------------------------------------*\
    1. PAGE
\*------------------------------------*/
.module-wrapper > *:last-child {
  margin-bottom: 0;
  padding-bottom: 10rem;
}

body.banner-not-active .module-wrapper > div:first-child {
  margin-top: 4rem;
}
