/*!
Theme Name: blockundstift
Theme URI: https://blockundstift.de
Author: blockundstift.de
Author URI: https://blockundstift.de
Description: blockundstift.de Starter Theme
Version: 3.0.0
Text Domain: blk
*/

/*

## Variables
## Basic HTML Settings
## Type & Colors
  ### Type
  ### Colors
## Header & Navigation
  ### Header
  ### Navigation
  ### Search
  ### Off Canvas Navigation
  ### Hamburger Menu
## Layout
  ### Basic Layout
  ### Flexbox
  ### Cover & Slider
  ### Independent Layout Elements
## Footer
## Input & Buttons
## Cookies
## Galleries & Images
## Gutenberg Blocks
## SnipCart
## Playground & Page Animations
## Layout Grid

----------------------------------------------------------------
## Variables
--------------------------------------------------------------*/

:root {
  --text-color: #4e4e4e;
  --primary-color: #0000ff;
  --secondary-color: #00ffc0;
  --tertiary-color: #e1ff00;
  --light-grey: #ededed;
  --grey: #7e7e7e;

  --icon-color: var(--primary-color);
  --icon-hover-color: var(--secondary-color);

  --button-color: var(--primary-color);
  --button-hover-color: var(--secondary-color);
  --button-border-width: 1px;
  --button-border: var(--button-border-width) solid var(--primary-color);
  --button-hover-border: var(--button-border-width) solid var(--secondary-color);
  --button-background: transparent;
  --button-hover-background: transparent;

  --input-border-width: 1px;
  --input-border: var(--input-border-width) solid var(--primary-color);
  --input-hover-border: var(--input-border-width) solid var(--secondary-color);
  --input-background: transparent;
  --input-hover-background: transparent;

  --navigation-color: var(--primary-color);
  --navigation-hover-color: var(--secondary-color);
  --navigation-active-color: var(--tertiary-color);

  --link-color: var(--secondary-color);
  --link-hover-color: var(--primary-color);

  --arrow-color: var(--text-color);
  --arrow-hover-color: var(--primary-color);
  --arrow-background: rgb(255 255 255 / 20%);
  --arrow-hover-background: rgb(255 255 255 / 50%);

  --admin-bar-color: blue;
  --admin-bar-active-color: coral;
}

:root {
  --global-padding: clamp(0.9375rem, calc(1.875 / 75 * 100vw), 1.875rem);
  --global-margin: clamp(2rem, calc(5 / 75 * 100vw), 5rem);
}

:root {
  --container-width: 90vw;
  --container-max-width: 1200px;
  --container-narrow-max-width: 850px;
}

:root {
  --header-top: 50px;
  --header-max-top: 150px;
  --header-mobile-top: 0px;
}

:root {
  --font-size-p: clamp(1rem, calc(1.125 / 112.5 * 100vw), 1.125rem);
  --font-size-h1: clamp(1.5rem, calc(2.625 / 112.5 * 100vw), 2.625rem);
  --font-size-h2: clamp(1.25rem, calc(1.875 / 112.5 * 100vw), 1.875rem);
  --font-size-h3: clamp(1.25rem, calc(1.5625 / 112.5 * 100vw), 1.5625rem);
  --font-size-h4: clamp(1.125rem, calc(1.40625 / 112.5 * 100vw), 1.40625rem);
  --font-size-big-faktor: 1.5;
  --font-size-huge-faktor: 2.2;
}

:root {
  --cursor: url('img/cursor.svg') 7.5 7.5, auto;
}


/*--------------------------------------------------------------
## Basic HTML Settings
--------------------------------------------------------------*/

html {
  line-height: 1.15; /* according to normalize.css */
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
body {
  margin: 0;
  padding: 0;
}
img,
svg {
  display: block;
}
a {
  /* display: inline-block;
  line-height: 100%; */
}
a {
  cursor: var(--cursor);
}

/*--------------------------------------------------------------
## Type & Colors
--------------------------------------------------------------*/

/*--------------------------
### Type
---------------------------*/

body {
  line-height: 1.618;
  font-family: sans-serif;
  color: var(--text-color);
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

body,
p,
.p,
ol,
ul,
input,
textarea,
.cite,
nav,
.font-size-normal,
.normal-font-size,
.text-normal,
.wp-block-button__link,
p.has-normal-font-size,
p.has-medium-font-size,
h3.p.font-size-normal,
.p.has-normal-font-size,
.p.has-medium-font-size,
.h3.p.font-size-normal {
  font-size: var(--font-size-p) !important; /* !important only because gutenberg inline css, remove in the near future */
}
@media (min-width: 376px) and (min-height: 376px) {
  body.font-size-big,
  .font-size-big p,
  .font-size-big .p,
  .font-size-big ol,
  .font-size-big ul,
  .font-size-big input,
  .font-size-big textarea,
  .font-size-big .cite,
  .font-size-big nav,
  .font-size-big .wp-block-button__link,
  p.has-large-font-size,
  .p.has-large-font-size {
    font-size: calc(var(--font-size-p) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
  body.font-size-huge,
  .font-size-huge p,
  .font-size-huge .p,
  .font-size-huge ol,
  .font-size-huge ul,
  .font-size-huge input,
  .font-size-huge textarea,
  .font-size-huge .cite,
  .font-size-huge nav,
  .font-size-huge .wp-block-button__link,
  p.has-huge-font-size,
  .p.has-huge-font-size {
    font-size: calc(var(--font-size-p) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  body.font-size-huge,
  .font-size-huge p,
  .font-size-huge .p,
  .font-size-huge ol,
  .font-size-huge ul,
  .font-size-huge input,
  .font-size-huge textarea,
  .font-size-huge .cite,
  .font-size-huge nav,
  .font-size-huge .wp-block-button__link,
  p.has-huge-font-size,
  .p.has-huge-font-size {
    font-size: calc(var(--font-size-p) * var(--font-size-huge-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
h1,
.h1,
.h1 p {
  font-size: var(--font-size-h1) !important;
}
@media (min-width: 376px) and (min-height: 376px) {
  .headline-size-big h1,
  .headline-size-big .h1,
  .font-size-big .h1 p,
  h1.has-large-font-size,
  .h1.has-large-font-size {
    font-size: calc(var(--font-size-h1) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
  .headline-size-huge h1,
  .headline-size-huge .h1,
  .font-size-huge .h1 p,
  h1.has-huge-font-size,
  .h1.has-huge-font-size,
  h1.has-x-large-font-size,
  .h1.has-x-large-font-size {
    font-size: calc(var(--font-size-h1) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  .headline-size-huge h1,
  .headline-size-huge .h1,
  .font-size-huge .h1 p,
  h1.has-huge-font-size,
  .h1.has-huge-font-size,
  h1.has-x-large-font-size,
  .h1.has-x-large-font-size {
    font-size: calc(var(--font-size-h1) * var(--font-size-huge-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
h2, .h2,
blockquote p,
.blockquote,
.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: var(--font-size-h2) !important; /* !important only because gutenberg inline css, remove in the near future */
}
@media (min-width: 376px) and (min-height: 376px) {
  .headline-size-big h2,
  .headline-size-big .h2,
  .font-size-big blockquote p,
  .font-size-big .blockquote,
  .font-size-big .wp-block-pullquote.is-style-solid-color blockquote p,
  h2.has-large-font-size,
  .h2.has-large-font-size {
    font-size: calc(var(--font-size-h2) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
  .headline-size-huge h2,
  .headline-size-huge .h2,
  .font-size-huge blockquote p,
  .font-size-huge .blockquote,
  .font-size-huge .wp-block-pullquote.is-style-solid-color blockquote p,
  h2.has-huge-font-size,
  .h2.has-huge-font-size {
    font-size: calc(var(--font-size-h2) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  .headline-size-huge h2,
  .headline-size-huge .h2,
  .font-size-huge blockquote p,
  .font-size-huge .blockquote,
  .font-size-huge .wp-block-pullquote.is-style-solid-color blockquote p,
  h2.has-huge-font-size,
  .h2.has-huge-font-size {
    font-size: calc(var(--font-size-h2) * var(--font-size-huge-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
h3, .h3 {
  font-size: var(--font-size-h3);
}
@media (min-width: 376px) and (min-height: 376px) {
  .headline-size-big h3,
  .headline-size-big .h3,
  h3.has-large-font-size,
  .h3.has-large-font-size {
    font-size: calc(var(--font-size-h3) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
  .headline-size-huge h3,
  .headline-size-huge .h3,
  h3.has-huge-font-size,
  .h3.has-huge-font-size {
    font-size: calc(var(--font-size-h3) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  .headline-size-huge h3,
  .headline-size-huge .h3,
  h3.has-huge-font-size,
  .h3.has-huge-font-size {
    font-size: calc(var(--font-size-h3) * var(--font-size-huge-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
h4, .h4,
h5, .h5 {
  font-size: var(--font-size-h4);
}
@media (min-width: 376px) and (min-height: 376px) {
  .headline-size-big h4,
  .headline-size-big .h4,
  .headline-size-big h5,
  .headline-size-big .h5,
  h4.has-large-font-size,
  .h4.has-large-font-size {
    font-size: calc(var(--font-size-h4) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
  .headline-size-huge h4,
  .headline-size-huge .h4,
  .headline-size-huge h5,
  .headline-size-huge .h5,
  h4.has-huge-font-size,
  .h4.has-huge-font-size {
    font-size: calc(var(--font-size-h4) * var(--font-size-big-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  .headline-size-huge h4,
  .headline-size-huge .h4,
  .headline-size-huge h5,
  .headline-size-huge .h5,
  h4.has-huge-font-size,
  .h4.has-huge-font-size {
    font-size: calc(var(--font-size-h4) * var(--font-size-huge-faktor)) !important; /* !important only because gutenberg inline css, remove in the near future */
  }
}
.font-size-big blockquote + p,
.font-size-huge blockquote + p {
  font-size: var(--font-size-p) !important; /* !important only because gutenberg inline css, remove in the near future */
}
.text-vw,
.headline-vw,
.child-text-vw > *,
.font-size-vw {
  font-size: 6.5vmax !important; /* !important only because gutenberg inline css, remove in the near future */
}
.text-small,
.small-text,
.text-small *,
.small-text *,
.has-small-font-size,
.text-small a,
.small-text a,
.has-small-font-size a,
figcaption,
.hint,
.wpcf7-acceptance {
  font-size: calc(var(--font-size-p) * 0.75) !important; /* !important only because gutenberg inline css, remove in the near future */
}
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4 {
  line-height: 1.2;
}
h1, .h1, h2.h1 {
  margin: .5em 0;
}
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5 {
  margin: 1em 0;
}
ol,
ul {
  padding-left: 1em;
}
ol ol,
ol ul,
ul ol,
ul ul {
  padding: 0 1em;
}
@media (max-width: 767.98px) {
  h1 br,
  h2 br,
  h3 br,
  h4 br {
    display: none;
  }
}
.text-indent {
  text-indent: 12vmax;
}
.light,
h1.light, .h1.light,
h2.light, .h2.light,
h3.light, .h3.light,
h4.light, .h4.light,
.light h1,
.light h2,
.light h3,
.light h4,
.font-weight-light,
.font-weight-300 {
  font-weight: 300;
}
h1, .h1,
h3, .h3,
.normal,
.font-weight-normal,
.font-weight-400,
blockquote,
.blockquote {
  font-weight: 400;
}
h2, .h2,
h4, .h4,
strong,
.strong,
.bold,
.font-weight-bold,
.font-weight-700,
thead {
  font-weight: 700;
}
main article .child-links-buttoned a,
main article .child-links-buttoned a:hover {
  border-bottom: none !important;
}
.text-left,
*[style="text-align: left;"] + .inherit-alignment,
img.alignleft + .inherit-alignment {
  text-align: left;
}
.text-center,
*[style="text-align: center;"] + .inherit-alignment,
img.aligncenter + .inherit-alignment {
  text-align: center;
}
.text-right,
*[style="text-align: right;"] + .inherit-alignment,
img.alignright + .inherit-alignment {
  text-align: right;
}
.text-inherit,
input#search-input-four-o-four {
  text-align: inherit;
}
.uppercase {
  text-transform: uppercase;
}
.letter-spacing {
  letter-spacing: 1px;
}
a,
.no-decoration,
.text-decoration-none {
  text-decoration: none;
}
.underline {
  text-decoration: underline;
}
.italic {
  font-style: italic;
}
cite,
.normal {
  font-style: normal;
}
cite {
  display: inline-block;
  margin-top: 25px;
}
hr,
hr.wp-block-separator {
  border: none;
  background: var(--light-grey);
  min-height: 1px;
  margin: var(--global-margin) 0;
}
.hyphenate,
.hyphens,
.hyphen {
  hyphens: auto;
}
.no-hyphens,
.no-hyphen,
.unhyphenate,
.nohyphens,
.nohyphen,
nav {
  hyphens: none;
}
main a[target="_blank"]:not(.arrows):not(.no-target):after {
  content: '\2191';
}
main .child-no-target a[target="_blank"]:not(.arrows):not(.no-target):after,
main figure a[target="_blank"]:after {
  content: unset !important;
}

/*--------------------------
### Colors
---------------------------*/

.primary-color {
  color: var(--primary-color);
}
.secondary-color,
.close-button,
.navigation-off-canvas a:hover,
.navigation-off-canvas ul > li.current-menu-item > a:hover {
  color: var(--secondary-color);
}
.tertiary-color {
  color: var(--tertiary-color);
}
a {
  color: var(--link-color);
  transition: all .3s ease;
}
a:hover {
  color: var(--link-hover-color);
  transition: all .3s ease;
}
nav a,
.word-menu,
.link-pagename {
  color: var(--navigation-color);
}
nav a:hover,
nav .current-menu-item > a:hover,
nav .current-menu-ancestor > a:hover,
.word-menu:hover,
.link-pagename:hover {
  color: var(--navigation-hover-color);
}
nav .current-menu-item > a {
  color: var(--navigation-active-color);
}
main article a:not(.wp-block-button__link):not(.button):not(.arrows):not(.no-decoration):not([data-fancybox="image"]):not([data-fancybox="gallery"]) {
  border-bottom: 1px solid var(--link-color);
}
main article a:not(.wp-block-button__link):not(.button):not(.arrows):not(.no-decoration):not([data-fancybox="image"]):not([data-fancybox="gallery"]):hover {
  border-bottom: 1px solid var(--link-hover-color);
}
input[type="submit"],
main button,
button.button,
.button:not(.cn-button),
.wp-block-button.is-style-fill .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
.child-links-buttoned a {
  color: var(--button-color);
  border: var(--button-border);
  background: var(--button-background);
  transition: all .3s ease;
}
input[type="submit"]:hover,
main button:hover,
button.button:hover,
.button:not(.cn-button):hover,
.wp-block-button.is-style-fill .wp-block-button__link:not(.has-background):hover,
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover,
.child-links-buttoned a:hover {
  color: var(--button-hover-color);
  border: var(--button-hover-border);
  background: var(--button-hover-background);
  transition: all .3s ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:not(.has-background) {
  background: var(--primary-color);
  border: var(--button-border);
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:not(.has-background):hover {
  background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: transparent;
}
.wp-block-button .wp-block-button__link.wp-element-button.has-background:hover,
.wp-block-button .wp-block-button__link.wp-element-button.has-text-color:hover {
  opacity: .3;
} 
.child-links-buttoned.inverted-child-button a,
.inverted-child-button a.button,
a.button.inverted-button,
a.button.button-inverted,
button.button.inverted-button,
button.button.button-inverted {
  color: var(--button-hover-color);
  border: var(--button-hover-border);
  background: var(--button-hover-background);
}
.child-links-buttoned.inverted-child-button a:hover,
.inverted-child-button a.button:hover,
a.button.inverted-button:hover,
a.button.button-inverted:hover,
button.button.inverted-button:hover,
button.button.button-inverted:hover {
  color: var(--button-color);
  border: var(--button-border);
  background: var(--button-background);
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
textarea,
select {
  border: var(--input-border);
  background: var(--input-background);
  transition: all .3s ease;
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):hover,
textarea:hover,
select:hover,
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus,
select:focus {
  border: var(--input-hover-border);
  background: var(--input-hover-background);
  transition: all .3s ease;
}
.white-color,
.text-white,
.navigation-off-canvas li a,
#search-input-header {
  color: #fff;
}
.navigation-off-canvas ul > li.current-menu-item > a {
  color: #616161;
}
.text-color,
cite {
  color: var(--text-color);
}
.text-color-background,
.square-content-portfolio {
  background: var(--text-color);
}
.primary-background {
  background: var(--primary-color);
  transition: all .3s ease;
}
#wpadminbar {
  background: var(--admin-bar-color);
}
.secondary-background {
  background: var(--secondary-color);
}
.tertiary-background {
  background: var(--tertiary-color);
}
.white-background {
  background: #fff;
}
.off-canvas-landingepage a {
  color: inherit;
}
::selection {
  background: var(--secondary-color);
  color: #fff;
}
::-moz-selection {
  background: var(--secondary-color);
  color: #fff;
}
.red,
.text-red {
  color: red;
}
.grey,
.text-grey,
.header-inverted .word-menu:hover,
.header-inverted a:hover {
  color: #b1b1b1;
}
.text-grey-light,
.footer-credentials a,
.header-inverted .word-menu,
.header-inverted a {
  color: #dedede;
}
.social-media-icon svg {
  fill: var(--icon-color);
  transition: all .3s ease;
}
.social-media-icon svg:hover {
  fill: var(--icon-hover-color);
  transition: all .3s ease;
}
svg.icon-search path {
  fill: var(--navigation-color);
  transition: fill .3s ease;
}
.header-inverted svg.icon-search path,
.socials-off-canvas .social-media-icon svg,
.header-inverted .social-media-icon svg {
  fill: #dedede;
}
.header-inverted svg.icon-search:hover path,
.socials-off-canvas .social-media-icon svg:hover,
.header-inverted .social-media-icon svg:hover {
  fill: #b1b1b1;
}
svg.icon-search:hover path {
  fill: var(--navigation-hover-color);
  transition: fill .3s ease;
}
.accordion-button-switch svg {
  fill: var(--text-color);
}
.arrows,
button.glide__arrow {
  color: var(--arrow-color);
  background: var(--arrow-background);
  transition: all .3s ease;
}
.arrows,
button.glide__arrow,
button.glide__bullet {
  font-size: var(--font-size-p);
  cursor: var(--cursor);
}
.arrows:hover,
button.glide__arrow:hover {
  color: var(--arrow-hover-color);
  background: var(--arrow-hover-background);
  transition: all .3s ease;
}
.portfolio-link .arrows {
  color: #fff;
  background: transparent;
  border: var(--button-border-width) solid #fff;
}


/*--------------------------------------------------------------
## Header & Navigation
--------------------------------------------------------------*/

/*--------------------------
### Header
---------------------------*/

header nav a:not(.no-decoration),
main article a:not(.no-decoration),
footer:not(.footer-landingpage) a {
  position: relative;
}
@media (min-width: 992px) {
  header nav:not(.navigation-off-canvas) ul:not(.sub-menu)  > li > a:not(.no-decoration):before,
  footer:not(.footer-landingpage) a:not(.no-decoration):before {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    right: -10%;
    background: var(--navigation-hover-color);
    height: 1px;
    opacity: 0;
    transition: all .4s ease;
  }
  header.header-inverted nav:not(.navigation-off-canvas) ul:not(.sub-menu)  > li > a:not(.no-decoration):before {
    background: #b1b1b1;
  }
  header nav:not(.navigation-off-canvas) ul:not(.sub-menu) > li > a:not(.no-decoration):before {
    top: 40%;
  }
  footer:not(.footer-landingpage) a:not(.no-decoration):before {
    top: 105%;
  }
  header nav:not(.navigation-off-canvas) ul:not(.sub-menu)  > li > a:not(.no-decoration):hover:before,
  footer:not(.footer-landingpage) a:not(.no-decoration):hover:before {
    left: 0;
    right: 0;
    width: 100%;
    opacity: 1;
    transition: all .4s ease;
  }
}
.main-header {
  position: fixed;
  top: var(--header-top);
  right: 0;
  left: 0;
  z-index: 1000;
  transition: all .7s ease;
}
.logged-in .main-header {
  top: calc(var(--header-top) + 32px);
}
@media (min-width: 1500px) {
  .main-header {
    top: var(--header-max-top);
  }
  .logged-in .main-header {
    top: calc(var(--header-max-top) + 32px);
  }
}
.main-header.header-minified {
  top: 0;
  transition: all .7s ease;
}
.logged-in .main-header.header-minified {
  top: calc(0px + 32px);
}
@media (max-width: 991.98px) {
  .main-header.header-minified {
    background:rgba(255, 255, 255, 0.7);
  }
}
@media (max-width: 991.98px), (max-height: 767.98px) {
  .main-header,
  .main-header.header-minified {
    top: var(--header-mobile-top);
  }
  .logged-in .main-header,
  .logged-in .main-header.header-minified {
    top: calc(var(--header-mobile-top) + 32px);
  }
}
@media (max-width: 782px) {
  .logged-in .main-header,
  .logged-in .main-header.header-minified {
    top: calc(var(--header-mobile-top) + 46px);
  }
}
@media (max-width: 575.98px) {
  .main-header,
  .main-header.header-minified {
    top: var(--header-mobile-top);
  }
}
.header-logo-svg,
.footer-logo-svg,
.logo-image {
  max-width: 100px;
}
.header-logo {
  padding: 45px 0;
  transition: all .3s ease;
}
.header-inverted .header-logo:hover {
  opacity: .75;
}
.header-minified .header-logo {
  padding: 25px 0;
  transition: padding .3s ease;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav.inline-navigation ul {
  display: flex;
  flex-wrap: wrap;
}
nav.inline-navigation li:not(:last-of-type) {
  margin-right: 15px;
}
.main-navigation-menu {
  display: none;
}
@media (min-width: 992px) {
  .main-navigation-menu {
    display: flex;
  }
}
.social-media-header {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  border: 1px solid orange;
  z-index: 1234;
}
.header-social-media .social-media-icon {
  margin: 0 7.5px;
}
@media (max-width: 991.98px) {
  .header-social-media.col {
    display: none;
  }
}

/*--------------------------
### Navigation
---------------------------*/

.hamburger-navigation-only .main-navigation-menu {
  display: none;
}
nav.main-navigation > ul > li {
  position: relative;
}
nav.main-navigation > ul > li:not(:first-of-type) {
  margin-left: 20px;
}
.main-navigation .sub-menu {
  /* display: none; */
  position: absolute;
  top: 50px;
  left: -120px;
  right: -120px;
  padding: 30px;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition: opacity .2s ease;
  transition-delay: .2s;
}
.main-navigation .sub-menu:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  margin-left: -12px;
  top: -12px;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid rgb(255 255 255 / 50%);
}
.header-inverted .main-navigation .sub-menu {
  background: rgb(30 30 30 / 70%);
}
.header-inverted .main-navigation .sub-menu:before {
  border-bottom: 12px solid rgb(30 30 30 / 70%);
}
.main-navigation > ul > li {
  height: 27px;
}
.main-navigation > ul > li > a {
  display: inline-block;
  height: 60px;
}
.menu-item-has-children:hover .sub-menu {
  display: block;
  opacity: 1;
  transform: scaleY(1);
}
.main-navigation .sub-menu li {
  opacity: 0;
  transition: all .2s ease;
  transition-delay: .4s;
}
.menu-item-has-children:hover .sub-menu li {
  opacity: 1;
}
.footer-landingpage-navigation  {
  padding: 10px;
}
.word-menu {
  transition: all .3s ease;
}


/*--------------------------
### Search
---------------------------*/

.main-navigation-search {
  width: 15px;
  margin-left: 30px;
}
.hamburger-navigation-only .main-navigation-search {
  display: none;
}
@media (max-width: 991.98px) {
  .main-navigation-search {
    display: none;
  }
}
.main-navigation-search svg {
  cursor: var(--cursor);
}
body.pop-up-is-active,
body.pop-up-landingpage-is-active {
  overflow: hidden;
}
.overlay-close {
  color: #fff;
}


/*--------------------------
### Off Canvas Navigation
---------------------------*/

.off-canvas-container {
  position: fixed;
  background: rgb(30 30 30 / 90%);
  top: 0;
  bottom: 0;
  left: -100%;
  width: 100%;
  transition: all .7s cubic-bezier(0.96, -0.32, 0.24, 1.54);
  z-index: 9999;
  overflow: auto;
}
.off-canvas-container.is-active {
  left: 0;
  transition: all .7s cubic-bezier(0.96, -0.32, 0.24, 1.54);
}
.off-canvas-navigation {
  padding: 50px 0;
}
@media (max-width: 575.98px) {
  .off-canvas-navigation {
    padding: 25px 0;
  }
}
.off-canvas-container .child-fade-in > * {
  opacity: 0;
  transition: all .5s ease;
  transition-delay: .2s;
  overflow: hidden;
}
.is-active.off-canvas-container .child-fade-in > * {
  opacity: 1;
  transition: all 1.5s ease;
  transition-delay: .8s;
}
.off-canvas-container .child-fade-in .socials-off-canvas {
  overflow: visible;
}
.navigation-off-canvas ul li {
  margin-bottom: 7.5px;
}
.navigation-off-canvas .sub-menu {
  position: static;
  display: block;
  margin-left: 7.5px;
  margin-top: 7.5px;
}
.close-off-canvas {
  position: absolute;
  top: 0;
  right: 0;
  background: #fff;
  width: 50px;
  height: 50px;
  z-index: 2;
  cursor: var(--cursor);
  border: none;
  padding: 0;
}
.admin-bar .close-off-canvas {
  top: 32px;
}
.close-off-canvas:before,
.close-off-canvas:after {
  content: '';
  display: block;
  width: 70%;
  background: var(--primary-color);
  height: 3px;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  left: 15%;
  transition: transform .3s ease;
}
.close-off-canvas:before {
  transform: rotate(45deg);
}
.close-off-canvas:after {
  transform: rotate(-45deg);
}
.close-off-canvas:hover:before,
.close-off-canvas:hover:after {
  transform: rotate(0);
  transition: transform .3s ease;
}
.socials-off-canvas .space-between {
  justify-content: flex-start;
}
.socials-off-canvas .social-media-icon:not(:last-of-type) {
  margin-right: 15px;
}
#search-input-header-off-canvas.sub-header-search-input {
  width: calc(100% - 150px);
}
.socials-off-canvas,
.off-canvas-navigation-search {
  margin-top: 50px;
}
.socials-off-canvas {
  padding: 10px 0;
}


/*--------------------------
### Hamburger Menu
---------------------------*/

.hamburger {
  display: none;
  cursor: var(--cursor);
  margin-top: 7.5px;
}
@media (max-width: 991.98px) {
  .hamburger {
    display: inline-block;
  }
}
.hamburger-navigation-only .hamburger {
  display: inline-block;
}
.hamburger {
  padding-right: 0;
  padding-left: 0;
}
.hamburger-inner, 
.hamburger-inner:after, 
.hamburger-inner:before {
  height: 3px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after,
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner:after,
.hamburger.is-active .hamburger-inner:before {
  background-color: var(--primary-color);
}
.header-inverted .hamburger-inner,
.header-inverted .hamburger-inner::before,
.header-inverted .hamburger-inner::after,
.header-inverted .hamburger.is-active .hamburger-inner,
.header-inverted .hamburger.is-active .hamburger-inner:after,
.header-inverted .hamburger.is-active .hamburger-inner:before {
  background-color: #dedede;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after,
.close-off-canvas:before,
.close-off-canvas:after {
  border-radius: 0;
}


/*--------------------------------------------------------------
## Layout
--------------------------------------------------------------*/

/*--------------------------
### Basic Layout
---------------------------*/

.container,
.child-container .container-legacy {
  max-width: var(--container-max-width);
}
.container-narrow,
.child-container-narrow .container-legacy {
  max-width: var(--container-narrow-max-width);
}
.container-small,
.child-container-small .container-legacy {
  max-width: 660px;
}
.container-placeholder {
  max-width: 500px;
  position: absolute;
  z-index: 2;
}
.placeholder-page-logo,
.placeholder-page-logo img {
  max-width: inherit;
  height: auto;
  margin: 0 auto;
}
.container,
.child-container .container-legacy,
.container-narrow,
.child-container-narrow .container-legacy,
.container-small,
.child-container-small .container-legacy {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  padding-left: var(--global-padding);
  padding-right: var(--global-padding);
  position: relative;
}
.container-full,
.container-full-width {
  max-width: unset;
  width: 100%;
}
@media (max-width: 991.98px) {
  .container,
  .child-container .container-legacy {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .container-narrow,
  .child-container-narrow .container-legacy {
    width: 100%;
    max-width: unset;
  }
}
@media (max-width: 575.98px) {
  .container-small,
  .child-container-small .container-legacy {
    width: 100%;
    max-width: unset;
  }
}
main article figure a:before {
  display: none;
}


/*--------------------------
### Flexbox
---------------------------*/

.col,
.column,
.flex-col,
.flex-column,
.row,
.flex-row,
.flex {
  display: flex;
  flex-wrap: wrap;
}
.col,
.column,
.flex-col,
.flex-column {
  flex-direction: column;
}
.row,
.flex-row {
  flex-direction: row;
}
.flex-space-around,
.justify-space-around,
.space-around {
  justify-content: space-around;
}
.flex-space-between,
.justify-space-between,
.space-between {
  justify-content: space-between;
}
.flex-start,
.justify-start,
.start {
  justify-content: flex-start;
}
.flex-center,
.justify-center,
.center {
  justify-content: center;
}
.flex-end,
.justify-end,
.end {
  justify-content: flex-end;
}
.flex-self-start,
.align-self-start,
.self-start {
  align-self: flex-start;
}
.flex-self-center,
.align-self-center,
.self-center {
  align-self: center;
}
.flex-self-end,
.align-self-end,
.self-end {
  align-self: flex-end;
}
.column-reverse,
.flex-column-reverse {
  flex-direction: column-reverse;
}
.row-reverse
.flex-row-reverse {
  flex-direction: row-reverse;
}
.nowrap {
  flex-wrap: nowrap;
}
.equal-width,
.equal-child-width > div,
.wp-block-column {
  flex: 1 1 0;
}
.first-two-third > div:nth-of-type(2),
.second-two-third > div:nth-of-type(1),
.equal-child-width .one-third,
.one-third {
  flex: 1 1 33.33%;
}
.first-two-third > div:nth-of-type(1),
.second-two-third > div:nth-of-type(2),
.equal-child-width .two-third,
.two-third {
  flex: 1 1 66.66%;
}
/* xl */
@media (max-width: 1199.98px) {
  .xl .equal-width,
  .xl.equal-child-width > div,
  .equal-width-xl,
  .equal-child-width-xl > div {
    flex: 1 1 100%;
  }
}
/* lg */
@media (max-width: 991.98px) {
  .lg .equal-width,
  .lg.equal-child-width > div,
  .equal-width-lg,
  .equal-child-width-lg > div {
    flex: 1 1 100%;
  }
}
/* 4 all with no spec */
@media (max-width: 767.98px) {
  .equal-width,
  .equal-child-width > div,
  .first-two-third > div,
  .second-two-third > div,
  .equal-child-width .one-third,
  .equal-child-width .two-third,
  .one-third,
  .two-third {
    flex: 1 1 100%;
  }
  .sm .equal-width,
  .sm.equal-child-width > div,
  .equal-width-sm,
  .equal-child-width-sm > div {
    flex: 1 1 0;
  }
  .sm.first-two-third > div:nth-of-type(2),
  .sm.second-two-third > div:nth-of-type(1),
  .sm.equal-child-width .one-third,
  .sm .one-third {
    flex: 1 1 33.33%;
  }
  .sm.first-two-third > div:nth-of-type(1),
  .sm.second-two-third > div:nth-of-type(2),
  .sm.equal-child-width .two-third,
  .sm .two-third {
    flex: 1 1 66.66%;
  }
  .xs .equal-width,
  .xs.equal-child-width > div,
  .equal-width-xs,
  .equal-child-width-xs > div {
    flex: 1 1 0;
  }
  .xs.first-two-third > div:nth-of-type(2),
  .xs.second-two-third > div:nth-of-type(1),
  .xs.equal-child-width .one-third,
  .xs .one-third {
    flex: 1 1 33.33%;
  }
  .xs.first-two-third > div:nth-of-type(1),
  .xs.second-two-third > div:nth-of-type(2),
  .xs.equal-child-width .two-third,
  .xs .two-third {
    flex: 1 1 66.66%;
  }
  .xx .equal-width,
  .xx.equal-child-width > div,
  .equal-width-xx,
  .equal-child-width-xx > div {
    flex: 1 1 0;
  }
  .xx.first-two-third > div:nth-of-type(2),
  .xx.second-two-third > div:nth-of-type(1),
  .xx.equal-child-width .one-third,
  .xx .one-third {
    flex: 1 1 33.33%;
  }
  .xx.first-two-third > div:nth-of-type(1),
  .xx.second-two-third > div:nth-of-type(2),
  .xx.equal-child-width .two-third,
  .xx .two-third {
    flex: 1 1 66.66%;
  }
}
/* md */
@media (max-width: 767.98px) {
  .md .equal-width,
  .md.equal-child-width > div,
  .equal-width-md,
  .equal-child-width-md > div {
    flex: 1 1 100%;
  }
}
/* sm */
@media (max-width: 575.98px) {
  .sm .equal-width,
  .sm.equal-child-width > div,
  .equal-width-sm,
  .equal-child-width-sm > div {
    flex: 1 1 100%;
  }
}
/* xs */
@media (max-width: 375.98px) {
  .xs .equal-width,
  .xs.equal-child-width > div,
  .equal-width-xs,
  .equal-child-width-xs > div {
    flex: 1 1 100%;
  }
}
/* xx never breaks */


/*--------------------------
### Cover & Slider
---------------------------*/

.cover-image,
.cover-slides {
  min-height: 400px;
}
.cover-image,
.cover-slides {
  height: 100vh; /* Fallback not support Custom Properties */
  height: calc(var(--vh, 1vh) * 100);
}
.page-template-template-placeholder-landingpage .cover-image,
.page-template-template-placeholder-landingpage .cover-slides {
  height: 100vh; /* Fallback not support Custom Properties */
  height: calc(var(--vh, 1vh) * 100);
}
.page-template-template-placeholder-landingpage .intro-section-no-image.cover-image {
  height: 50vh; /* Fallback not support Custom Properties */
  height: calc(var(--vh, 1vh) * 50);
}
.glide-header,
.glide-header .glide__track,
.glide-header .glide__slides,
.glide-header .glide__slide {
  height: 100%;
}
@media all and (-ms-high-contrast:none)
{
  .glide__image { display: none; } /* Remove Header Slider Image IE10 */
  *::-ms-backdrop, .glide__image { display: none; } /* Remove Header Slider Image IE11 */
}
.cover-no-image {
  height: 30vh;
  min-height: 550px;
}
.blog .cover-no-image,
.search .cover-no-image,
.error404 .cover-no-image,
.archive .cover-no-image {
  border-bottom: 1px solid #ededed;
}
.cover-title-hidden:not(.blog) .cover-no-image {
  min-height: unset;
  height: calc(var(--header-top) + var(--header-top) + 70px);
  border-bottom: none;
}
@media (max-width: 991.98px), (max-height: 767.98px) {
  .cover-title-hidden .cover-no-image {
    height: calc(var(--header-mobile-top) + var(--header-mobile-top) + 70px);
  }
}
@media (min-width: 1500px) {
  .cover-title-hidden .cover-no-image {
    height: calc(var(--header-max-top) + var(--header-max-top) + 70px);
  }
}
.intro-section {
  position: relative;
}
.arrows,
.slides-arrows,
button.glide__arrow {
  display: inline-block;
  line-height: 0;
  padding: 18px 6px;
  width: 40px;
  text-align: center;
}
button.glide__arrow:before {
  content: none;
}
button.glide__arrow:hover {
  border: none;
}
.arrows {
  transform: translateY(0);
}
.slides-arrows {
  transform: translateX(0);
}
nav.slides-navigation {
  z-index: 999;
}
@media (max-width: 767.98px) {
  .slides-navigation {
    display: none;
  }
}
.slides-arrows.next {
  margin-right: var(--global-padding);
}
.slides-arrows.next:hover,
.arrows.right:hover,
.arrows.next:hover {
  transform: translateX(2px);
}
.slides-arrows.prev {
  margin-left: var(--global-padding);
}
.slides-arrows.prev:hover,
.arrows.left:hover,
.arrows.prev:hover {
  transform: translateX(-2px);
}
.arrows.up:hover {
  transform: translateY(-2px);
}
.arrows.down:hover {
  transform: translateY(2px);
}
.cover-intro {
  bottom: 10vmin;
  max-width: 100vw;
}
.cover-intro-wrapper {
  position: relative;
}
.cover-intro,
.cover-intro-text {
  z-index: 4;
  position: absolute;
  width: 100%;
}
.full-width-background {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.button-start {
  position: absolute;
  bottom: var(--global-padding);
  left: 50%;
  margin-left: -20px;
  z-index: 999;
  /* animation: MoveUpDown .5s linear infinite; */
}
/* .button-start, */
nav.slides-navigation {
  animation: fadeOnLoad 1.5s;
  /* border: 1px solid red; */
}


/*--------------------------
### Glide
---------------------------*/

.glide {
  position: relative;
}
.glide__arrow {
  box-shadow: none;
  text-shadow: none;
  margin-top: -20px;
  z-index: 123;
}
@media (max-width: 575.98px) {
  .glide__arrows {
    display: none;
  }
}
@media (min-width: 576px) {
  .child-container .glide__arrow--prev,
  .container .glide__arrow--prev {
    left: -15px;
  }
  .child-container .glide__arrow--next,
  .container .glide__arrow--next {
    right: -15px;
  }
}
@media (min-width: 992px) {
  .child-container .glide__arrow--prev,
  .container .glide__arrow--prev {
    left: -35px;
  }
  .child-container .glide__arrow--next,
  .container .glide__arrow--next {
    right: -35px;
  }
}
.glide__arrow--prev,
.alignfull .glide__arrow--prev,
.alignwide .glide__arrow--prev,
.wp-block-column .glide__arrow--prev {
  left: 0;
}
.glide__arrow--next,
.alignfull .glide__arrow--next,
.alignwide .glide__arrow--next,
.wp-block-column .glide__arrow--next {
  right: 0;
}
.glide__bullet {
  height: 12px;
  width: 12px;
  border-radius: 8px;
  box-shadow: none;
}
.glide__bullet::before {
  content: unset;
}
.glide__arrow {
  border: none;
  border-radius: 0;
  height: 30px;
  width: 30px;
  transition: all .3s ease;
}
.glide__bullets {
  bottom: 25px;
}
.glide__arrow:hover {
  transition: all .3s ease;
}
.glide__arrow--right {
  right: 0;
}
.glide__arrow--left {
  left: 0;
}
.glide__slides {
  margin-top: 0;
  margin-bottom: 0;
}
.glide__slide {
  position: relative;
}


/*--------------------------
### Independent Layout Elements
---------------------------*/

.square {
  position: relative;
}
.square:before {
  content: '';
  display: block;
  padding-bottom: 100%;
}
.square > div,
.square-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.close-button {
  position: absolute;
  top: 35px;
  right: 30px;
  cursor: var(--cursor);
  transition: transform .3s ease;
  font-size: 2em;
  line-height: 0;
  z-index: 999;
}
@media (min-width: 992px) {
  .close-button:hover {
    transform: rotate(90deg);
  }
}
.relative,
.position-relative {
  position: relative;
}
.absolute,
.position-absolute,
.child-absolute > {
  position: absolute;
}
.display-none {
  display: none;
}
.no-margin,
.no-child-margin > *:not(.regular-margin) {
  margin: 0 !important;
}
.no-top-margin,
.pb-block-content-inner-content > *:first-child,
.wp-block-column > *:first-child,
.wp-block-group__inner-container > *:first-child,
.wp-block-group.has-background .wp-block-group__inner-container > *:first-child,
.first-child-no-top-margin > *:first-child,
.last-child-no-top-margin > *:last-child {
  margin-top: 0;
}
.no-bottom-margin,
/* .pb-block-content-inner-content > *:last-child, */
.wp-block-group.has-background .wp-block-group__inner-container > *:last-child,
.first-child-no-bottom-margin > *:first-child,
.last-child-no-bottom-margin > *:last-child {
  margin-bottom: 0;
  /* border: 1px solid orchid; */
}
.no-padding,
.no-child-padding > *:not(.regular-padding) {
  padding: 0 !important;
}
.no-top-padding,
.first-child-no-top-padding > *:first-child,
.last-child-no-top-padding > *:last-child {
  padding-top: 0;
}
.no-bottom-padding,
.first-child-no-bottom-padding > *:first-child,
.last-child-no-bottom-padding > *:last-child {
  padding-bottom: 0;
}
@media (max-width: 767.98px) {
  .pb-block-content p:last-of-type {
    margin-bottom: 0;
  }
}
img.aligncenter {
  margin-right: auto;
  margin-left: auto;
}
img.alignright {
  margin-left: auto;
}
figcaption {
  background: rgb(255 255 255 / 50%);
}
main figure {
  position: relative;
  margin: 0;
  width: 100%;
}
figure.wp-caption {
  width: 100% !important;
}
figcaption:not(.blocks-gallery-caption),
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.wp-block-image figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #000;
  padding: 3px 5px;
  margin: 0;
  text-align: left;
}
.gutenberg-container .wp-block-gallery .blocks-gallery-image figcaption,
.gutenberg-container .wp-block-gallery .blocks-gallery-item figcaption,
.gutenberg-container .wp-block-image figcaption {
  width: calc(100% - 2 * var(--global-padding));
}
.gallery-item figcaption {
  bottom: calc(var(--global-padding) / 4);
}
.four-o-four-button {
  margin-top: 25px;
}
.socials-404 {
  margin-top: 100px;
}
@media (min-width: 768px) {
  .blog-index:nth-of-type(even) .blog-thumbnail {
    order: 1;
  }
}
.blog-info,
.blog-thumbnail {
  margin: var(--global-padding) 0;
}
.blog-pagination,
.blog-metas {
  margin-top: 3vmin;
}
.blog-metas {
  border: 1px solid #ededed;
  border-width: 1px 0;
  padding: 10px 0;
}
.blog-meta {
  margin: 15px 0;
}
.blog-view-all {
  margin-top: var(--global-padding);
}
.blog-post-link p:before {
  content: '→';
  margin-right: 25px;
  transition: all .3s ease;
}
.blog-post-link p:hover:before {
  all: 35px;
  transition: all .3s ease;
}
.content-block-left {
  margin-right: calc(var(--global-padding) / -2);
}
.content-block-right {
  margin-left: calc(var(--global-padding) / -2);
}
.blog-post-image {
  margin-top: calc(var(--global-margin) * -1);
  margin-bottom: calc(var(--global-margin) * -1);
}
.list-pages-404,
.list-posts-404 {
  column-count: 2;
}
@media (max-width: 1099.98px) {
  .list-pages-404,
  .list-posts-404 {
    column-count: 1;
  }
}
@media (min-width: 768px) {
  .multi-column .pb-block-content-inner-content,
  .multi-col .pb-block-content-inner-content,
  .multi-col-2 .pb-block-content-inner-content,
  .m-col-2 .pb-block-content-inner-content,
  .col-count-2 .pb-block-content-inner-content,
  .mc-2 .pb-block-content-inner-content {
    columns: 2;
    column-gap: var(--global-padding);
  }
  .multi-col-3 .pb-block-content-inner-content,
  .m-col-3 .pb-block-content-inner-content,
  .col-count-3 .pb-block-content-inner-content,
  .mc-3 .pb-block-content-inner-content {
    columns: 3;
    column-gap: var(--global-padding);
  }
  .multi-col-4 .pb-block-content-inner-content,
  .m-col-4 .pb-block-content-inner-content,
  .col-count-4 .pb-block-content-inner-content,
  .mc-4 .pb-block-content-inner-content {
    columns: 4;
    column-gap: var(--global-padding);
  }
}
.container .gutter,
.container-narrow .gutter,
.container-small .gutter,
.child-gutter.child-container .gutter-legacy,
.child-gutter.child-container-narrow .gutter-legacy,
.child-gutter.child-container-small .gutter-legacy {
  margin-right: calc(var(--global-padding) / -2);
  margin-left: calc(var(--global-padding) / -2);
}
.gutter > div,
.child-gutter .gutter-legacy > div {
  padding-right: calc(var(--global-padding) / 2);
  padding-left: calc(var(--global-padding) / 2);
}

.child-fluid.child-gutter .gutter-legacy > div:first-child,
.container-fluid .child-gutter .gutter-legacy > div:first-child,
.child-fluid .gutter > div:first-child,
.container-fluid .gutter > div:first-child  {
  /* padding-left: 0; */
  padding-left: var(--global-padding);
}
.child-fluid.child-gutter .gutter-legacy > div:last-child,
.container-fluid .child-gutter .gutter-legacy > div:last-child,
.child-fluid .gutter > div:last-child,
.container-fluid .gutter > div:last-child {
  /* padding-right: 0; */
  padding-right: var(--global-padding);
}

.child-fluid.child-gutter .gutter-legacy > div.portfolio-thumbnail {
  padding-right: calc(var(--global-padding) / 2);
  padding-left: calc(var(--global-padding) / 2);
}
.child-fluid.child-gutter .pb-block-portfolio .gutter-legacy {
  margin-left: calc(var(--global-padding) / -2);
  margin-right: calc(var(--global-padding) / -2);
  width: auto;
}
/* xl */
@media (max-width: 1199.98px) {
  .xl .gutter > div,
  .xl .child-gutter .gutter-legacy > div {
    padding-bottom: var(--global-padding);
  }
  .pb-section-content:last-of-type .pb-block:last-of-type .xl.gutter-legacy > div:last-of-type {
    /* padding-bottom: 0; */
  }
}
/* lg */
@media (max-width: 991.98px) {
  .lg .gutter > div,
  .lg .child-gutter .gutter-legacy > div {
    padding-bottom: var(--global-padding);
  }
  .pb-section-content:last-of-type .pb-block:last-of-type .lg.gutter-legacy > div:last-of-type {
    /* padding-bottom: 0; */
  }
}
/* no  spec or md */
@media (max-width: 767.98px) {
  .gutter > div,
  .child-gutter .gutter-legacy > div,
  .md .gutter > div,
  .md .child-gutter .gutter-legacy > div {
    padding-bottom: var(--global-padding);
    /* border: 1px solid blue; */
  }
  .pb-section-content:last-of-type .pb-block:last-of-type .gutter-legacy > div:last-of-type,
  .pb-section-content:last-of-type .pb-block:last-of-type .md.gutter-legacy > div:last-of-type {
    /* padding-bottom: 0; */
    /* border: 1px solid yellow; */
  }
}
/* sm */
@media (max-width: 575.98px) {
  .sm .gutter > div,
  .sm .child-gutter .gutter-legacy > div {
    padding-bottom: var(--global-padding);
  }
}
/* xs */
@media (max-width: 375.98px) {
  .xs .gutter > div,
  .xs .child-gutter .gutter-legacy > div {
    padding-bottom: var(--global-padding);
  }
}
@media (max-width: 767.98px) {
  .child-fluid.child-gutter .gutter-legacy > div:first-child,
  .container-fluid .child-gutter .gutter-legacy > div:first-child,
  .child-fluid .gutter > div:first-child,
  .container-fluid .gutter > div:first-child,
  .child-fluid.child-gutter .gutter-legacy > div:last-child,
  .container-fluid .child-gutter .gutter-legacy > div:last-child,
  .child-fluid .gutter > div:last-child,
  .container-fluid .gutter > div:last-child {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 767.98px) {
  .container-fluid .gutter,
  .child-fluid.child-gutter .gutter-legacy {
    margin-right: 0;
    margin-left: 0;
  }
  .container-fluid .gutter > div,
  .child-fluid.child-gutter .gutter-legacy > div {
    padding-right: var(--global-padding);
    padding-left: var(--global-padding);
  }
}
@media (max-width: 767.98px) {
  .order-mobile-1 {
    order: 1;
  }
  .order-mobile-2 {
    order: 2;
  }
  .order-mobile-3 {
    order: 3;
  }
}
@media (min-width: 992px) {
  .hide-on-destkop {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .hide-on-tablet {
    display: none;
  }
}
@media (max-width: 575.98px) {
  .hide-on-mobile {
    display: none;
  }
}
.pb-section {
  overflow: hidden;
  max-width: 100vw;
}
.pb-section-hidden,
.acf-form {
  border: 2px dotted var(--secondary-color);
}
.pb-section-hidden:before {
  content: 'Sektion nicht sichtbar!';
  position: absolute;
  padding: 7.5px;
  top: 0;
  left: 0;
  color: #fff;
  background: var(--primary-color);
  font-size: .75rem;
}
.pb-section,
.index-section,
.blog-section {
  padding-top: 3%;
  padding-bottom: 3%;
  position: relative;
}
.pb-section.has-background {
  padding-top: 5vmin;
  padding-bottom: 5vmin;
}
section.pb-section {
  /* border: 1px dotted lightblue; */
}
.cover-no-image + .main-content article .pb-section:first-of-type {
  /* padding-top: 0; */
}
.blog-post-single > *:last-child {
  padding-bottom: 0;
}
.blog-section {
  border-bottom: 1px solid #ededed;
}
.pb-block-contact {
  position: relative;
}
.contact-block-headline {
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
}
.pb-section-title-border,
.pb-block-contact-border {
  border: 1px solid var(--text-color);
  padding: 1vw 0;
}
.pb-block-contact-border {
  border-width: 1px 0;
}
@media (min-width: 992px) {
  .vertical-border {
    border: 1px solid var(--grey);
    max-width: 0px;
    border-width: 0 1px 0 0;
  }
  .contact-mail-alternative {
    text-align: right;
  }
}
.pb-section-title-border {
  border-width: 0 0 1px;
  margin-bottom: 2vw;
}
.pb-section-background-image {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.full-viewport-height,
.pb-section-full-height {
  min-height: 100vh;
}
.full-height {
  min-height: 100%;
}
.pb-section-full-height {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.pb-section .pb-block:not(.pb-block-portfolio):not(:last-of-type) {
  margin-bottom: 25px;
}
@media (max-width: 767.98px) {
  .wp-block-spacer {
    max-height: 50px;
  }
}
@media (max-width: 575.98px) {
  .wp-block-spacer {
    max-height: 25px;
  }
}
.navigation.pagination h2 {
  display: none;
}
.image-container {
  position: relative;
  background: var(--primary-color)
}
@media (min-width: 768px) {
  .equal-child-width.portfolio-grid-4 .portfolio-thumbnail {
    flex-basis: 50%;
  }
  .equal-child-width .portfolio-thumbnail,
  .equal-child-width.portfolio-grid-3 .portfolio-thumbnail {
    flex-basis: 33.33%;
  }
  .equal-child-width.portfolio-grid-2 .portfolio-thumbnail {
    flex-basis: 50%;
  }
  .equal-child-width.portfolio-grid-1 .portfolio-thumbnail {
    flex-basis: 100%;
  }
}
@media (min-width: 992px) {
  .equal-child-width.portfolio-grid-4 .portfolio-thumbnail {
    flex-basis: 25%;
  }
}
@media (min-width: 768px) {
  .child-gutter .portfolio-thumbnail,
  .gutter .portfolio-thumbnail {
    margin-bottom: var(--global-padding);
  }
}
.image-align {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cover,
.cover-child img,
.image-cover,
.img-cover,
.object-fit-cover,
.portfolio-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.square-content-portfolio {
  overflow: hidden;
}
.portfolio-image {
  object-fit: cover;
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  overflow: hidden;
  opacity: .4;
}
.portfolio-fadein {
  position: absolute;
  top: 100%;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--text-color);
  transition: all .6s cubic-bezier(0.6, 1.18, 0.79, 0.91);
  opacity: 0;
}
.portfolio-thumbnail .square:hover .portfolio-fadein {
  top: 0;
  transition: all .6s cubic-bezier(0.6, 1.18, 0.79, 0.91);
  opacity: 1;
}
.image-transparent {
  opacity: .3;
}
.content-align {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  margin-left: 25%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 575.98px) {
  .content-align {
    width: 80%;
    margin-left: 10%;
  }
}
.portfolio-headline {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding: 2vmax;
  transition: all 1s ease-out;
}
.portfolio-thumbnail .square:hover .portfolio-headline-fadeout {
  top: -20%;
  transition: all 1s ease-out;
}
.portfolio-link {
  width: 40px;
  position: absolute;
  right: 2vmax;
  top: calc(100% - 2vmax - 40px);
}
@media (min-width: 992px) {
  .portfolio-link-mobile,
  .portfolio-excerpt-mobile {
    display: none;
  }
}
.portfolio-filter {
  margin-bottom: 2vw;
  border-bottom: 1px solid var(--text-color);
  /* padding-bottom: 1vw; */
}
.filter-title {
  margin-right: 20px;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  margin: 50px 0;
}
table tr th {
  color: var(--primary-color);
}
table tr th,
table tr td {
  padding: 10px 0;
}
tr:not(:last-of-type),
thead tr {
  border-bottom: 1px solid #ededed;
}
a[data-fancybox="gallery"],
a[data-fancybox="image"] {
  cursor: zoom-in;
}
.cover-image-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 0;
}
.social-media-row {
  width: 100%;
}
.social-media-link {
  display: block;
  height: 100%;
  width: 100%;
}
.social-media-header .social-media-icon {
  margin-left: unset;
  margin-bottom: 15px;
}
.social-media-icon {
  height: 20px;
  width: 20px;
  position: relative;
}

.tooltip {
  display: none;
}
.tooltip,
.hint {
  position: absolute;
  background: #ededed;
  padding: 3px 7px;
  border-radius: 3px;
  top: -40px;
  opacity: 0;
  transition: opacity .8s ease;
  z-index: 2;
}
.header-minified .tooltip {
  top: unset;
  bottom: -40px;
}
.hint {
  padding: 10px 20px 7px;
  top: 0;
  width: 200px;
  left: calc(100% + 20px);
}
@media(min-width: 992px) {
  .tooltip {
    display: block;
  }
  .social-media-link:hover + .tooltip {
    opacity: 1;
    transition: opacity .8s ease;
  }
}
.hinted:hover .hint,
.hinted:hover + .hint {
  opacity: 1;
  transition: opacity .8s ease;
}
.tooltip-phone {
  width: 140px;
  right: calc(50% - 70px - 7px);
}
.tooltip-mail {
  width: 175px;
  right: calc(50% - 87.5px - 7px);
}
.tooltip:after,
.hint:after {
  content: '';
  display: block;
  position: absolute;
  background: #ededed;
  right: calc(50% + 3px);
  bottom: -3px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
}
.hint:after {
  right: unset;
  left: -3px;
  top: 10px;
  bottom: unset;
}
.header-minified .tooltip:after {
  bottom: unset;
  top: -3px;
}
.hinted {
  display: inline-block;
  padding-right: 15px;
  position: relative;
  margin-right: 5px;
  cursor: var(--cursor);
}
.hinted:after {
  content: 'ⓘ';
  position: absolute;
  top: -5px;
  right: -7.5px;
  font-size: .75em;
  font-weight: 700;
}



.social-media-icon svg {
  height: 100%;
  width: 100%;
}
.social-media-icon svg:hover {
  transform: scale(1.1);
}
.tab {
  border-bottom: 1px solid var(--text-color);
  margin-bottom: var(--global-padding);
}
button.tablinks,
button.filter-button {
  margin: 0 7.5px;
}
button.tablinks:first-of-type,
button.filter-button:first-of-type {
  margin-left: 0;
}
button.tablinks:last-of-type,
button.filter-button:last-of-type {
  margin-right: 0;
}
button.tablinks,
button.tablinks-vertical,
button.filter-button,
button.tablinks:hover,
button.tablinks-vertical:hover,
button.filter-button:hover {
  background: transparent;
  border: 2px solid #fff;
  border-width: 0 0 2px;
}
@media (max-width: 575.98px) {
  button.tablinks,
  button.tablinks-vertical,
  button.filter-button {
    padding: 15px;
  }
}
button.tablinks,
button.tablinks-vertical,
button.filter-button,
button.tablinks:hover,
button.tablinks-vertical:hover,
button.filter-button:hover {
  transition: all .4s ease-in-out;
  color: var(--text-color);
}
button.tablinks.active,
button.tablinks-vertical.active,
button.filter-button.mixitup-control-active {
  background: transparent;
  border: 2px solid var(--primary-color);
  border-width: 0 0 2px;
  color: var(--primary-color);
}
button.tablinks-vertical,
button.tablinks-vertical:hover,
button.tablinks-vertical.active {
  border-width: 0 2px 0 0;
}
button.tablinks-vertical {
  display: block;
  width: 100%;
  margin: 0;
  padding-left: 0;
  text-align: left;
}
@media (min-width: 768px) {
  .tab-vertical-content {
    border-left: 1px solid #ededed;
    padding-left: var(--global-padding);
  }
}
@media (max-width: 767.98px) {
  .tab-vertical-content {
    padding-top: calc(var(--global-margin) / 2);
  }
  button.tablinks-vertical,
  button.tablinks-vertical:hover,
  button.tablinks-vertical.active {
    padding-top: 20px;
    border-bottom: 1px solid #ededed;
  }
}
button.filter-button-simple,
button.filter-button-simple:hover {
  padding: 1vw 0;
  margin-top: 0;
  border: none;
}
button.filter-button-simple:not(:last-of-type) {
  margin-right: 20px;
}
button.filter-button-simple {
  color: var(--text-color);
}
button.filter-button-simple:hover {
  color: var(--link-hover-color);
}
button.filter-button-simple.mixitup-control-active {
  color: var(--navigation-active-color);
}
button.filter-button-simple:before {
  content: none;
}
.tabcontent,
.tabcontent-vertical {
  animation: on-load-fade 3s;
}
button.accordion-button {
  display: block;
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  position: relative;
  margin: 0;
}
button.accordion-button,
button.accordion-button:hover {
  background: none;
  border: 1px solid var(--text-color);
  border-width: 0 0 1px;
  color: var(--text-color);
}
button.tablinks:before,
button.tablinks-vertical:before,
button.filter-button:before,
button.accordion-button:before {
  content: unset;
}
.accordion-button-switch {
  width: 15px;
  height: 15px;
  position: absolute;
  top: 17px;
  right: 0;
  transition: all .4s ease;
}
.accordion-button.active .accordion-button-switch {
  transform: rotate(45deg);
  transition: all .4s ease;
}
.accordion-content-wrapper,
.read-more-content {
  /* overflow: hidden; */
  opacity: 0;
  max-height: 0;
  transition: max-height .3s ease-out, opacity .6s ease;
}
.accordion-button.active + .accordion-content-wrapper,
.read-more-content.active {
  opacity: 1;
  transition: max-height .3s ease-out, opacity .6s ease;
}
.read-more-content.active {
  /* max-height: 1000px; */
}
@media (min-width: 768px) {
  .container .accordion-content,
  .child-container .accordion-content {
    width: 50%;
  }
}
.product-meta {
  margin-top: 15px;
}
.pb-block-content-inner {
  height: 100%;
}
.pb-block-content-inner[style*="background"] {
  padding: var(--global-padding)
}
.pb-block-content-inner-content {
  width: 100%;
}
@media (max-width: 767.98px) {
  .pb-block-content-inner-content {
    transform: none !important;
  }
}
.pop-up {
  position: fixed;
  top: 0;
  bottom: 0;
  left: -100%;
  width: 100%;
  background: rgb(30 30 30 / 50%);
  padding: var(--global-padding);
  z-index: 1111;
  opacity: 0;
  transform: translateY(-20px);
}
.click-outside .close-pop-up {
  position: absolute;
  cursor: var(--cursor);
}
.close-top,
.close-bottom {
  right: 0;
  left: 0;
  height: 100px;
}
.close-top {
  top: 0;
}
.close-bottom {
  bottom: 0;
}
.close-right,
.close-left {
  top: 0;
  bottom: 0;
  width: 100px;
}
.close-right {
  right: 0;
}
.close-left {
  left: 0;
}
.pop-up-small .close-top,
.pop-up-small .close-bottom {
  height: 25%;
}
.pop-up-small .close-right,
.pop-up-small .close-left {
  width: 25%;
}
.pop-up.show-pop-up {
  left: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s ease, transform 1.5s ease;
}
.pop-up-onload.show-pop-up {
  transition-delay: 2s;
}
.pop-up-wrapper {
  overflow: auto;
  position: absolute;
  top: 100px;
  right: 100px;
  bottom: 100px;
  left: 100px;
  background: #fff;
}
.pop-up-wrapper-small {
  top: 25%;
  right: 25%;
  bottom: 25%;
  left: 25%;
}
@media (max-width: 991.98px), (max-height: 991.98px) {
  .pop-up-wrapper,
  .pop-up-wrapper-small {
    top: 10%;
    right: 10%;
    bottom: 10%;
    left: 10%;
  }
}
@media (max-width: 575.98px), (max-height: 575.98px) {
  /* .pop-up-wrapper, */
  .pop-up-wrapper-small {
    top: var(--global-padding);
    right: var(--global-padding);
    bottom: var(--global-padding);
    left: var(--global-padding);
  }
  .pop-up-wrapper {
    top: 50px;
    right: 50px;
    bottom: 50px;
    left: 50px;
  }
}
.pop-up-wrapper-small .pop-up-content-wrapper {
  margin: 0 var(--global-padding);
}
.pop-up-wrapper-small .close-off-canvas {
  top: 15px;
  right: 15px;
}
.pop-up-content {
  margin: 0 auto;
  min-height: 100%;
  padding: 3vmax 0;
}
.pop-up-inner-content {
  padding: 0 var(--global-margin);
}
.pop-up-contact-info:first-of-type {
  border-bottom: 1px solid var(--primary-color);
}
.contact-button {
  position: fixed;
  top: calc(50% - 85px);
  right: -60px;
  padding: 25px 50px;
  height: 40px;
  background: var(--text-color);
  color: #fff;
  transform: rotate(90deg);
  border: none;
  text-transform: uppercase;
  line-height: 0%;
}
.contact-icon-button {
  position: fixed;
  top: 60%;
  right: var(--global-padding);
  width: 40px;
  height: 40px;
  background: var(--primary-color);
  cursor: var(--cursor);
  display: flex;
  justify-content: space-around;
  overflow: hidden;
  transition: all .3s ease;
  z-index: 125;
}
.contact-icon-button:hover {
  transform: translateY(-2px);
}
.contact-icon-button svg {
  fill: #fff;
  width: 50%;
  height: auto;
}
.wp-video,
.wp-video-shortcode {
  width: 100% !important;
}
.mejs-container,
.mejs-container .mejs-controls,
.mejs-embed,
.mejs-embed body {
 background: var(--primary-color) !important;
}
.hide-mejs-controls .mejs-controls {
  display: none;
}
.blogtopics {
  border-bottom: 1px solid var(--light-grey);
}
.blogroll {
  padding: var(--global-padding) 0;
}


/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

footer {
  max-width: 100%;
  overflow: hidden;
}
.footer-spaced {
  padding: 5vw 0;

}
.footer-landingpage {
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  right: 0;
}
.back-top {
  opacity: 0;
  transition: opacity .5s ease-in-out;
  position: fixed;
  bottom: var(--global-padding);
  right: var(--global-padding);
  z-index: 7;
}
.back-top.show {
  opacity: 1;
  transition: opacity .5s ease-in-out;
}
.container-placeholder-content {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.mandatory-navigation {
  padding: 10vw 0;
}
.footer-credentials {
  padding: 5vmax 0;
}
.footer-navigation-title {
  margin: calc(var(--global-padding) * 4) 0 var(--global-padding);
  line-height: 100%;
}
.footer-social-media .social-media-icon:not(:first-of-type) {
  margin-left: 25px;
}


/*--------------------------------------------------------------
## Input & Buttons
--------------------------------------------------------------*/

input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
textarea {
  width: 100%;
  padding: 10px 0;
}
input:not([type="submit"]),
textarea,
select {
  color: var(--text-color);
}
input[type="submit"],
form button,
main button,
button.button,
.button:not(.cn-button),
.child-links-buttoned a {
  padding: 15px 20px;
  transition: all .3 ease;
  display: inline-block;
  margin-top: 15px;
  line-height: 100%;
}
button.button-plain,
button.button-read-more {
  line-height: inherit;
  color: var(--link-color);
  border-bottom: 1px solid var(--link-color);
}
button.button-plain:hover,
button.button-read-more:hover {
  color: var(--link-hover-color);
  border-bottom: 1px solid var(--link-hover-color);
}
.button-plain,
.button-plain:hover,
.button-read-more,
.button-read-more:hover {
  background: unset;
  border: unset;
  padding: unset;
}
/* button.button-read-more:before {
  content: 'Mehr Information anzeigen';
}
button.button-read-more.active:before {
  content: 'Information ausblenden';
} */
form button:after,
main button:after,
.button:not(.cn-button):after,
.wp-block-button__link:after,
.child-links-buttoned a:after {
  margin-right: 10px;
  margin-left: 15px;
  content: '→ ';
  content: unset;
  color: var(--button-color);
  transition: all .3s ease;
}
form button:hover:after,
main button:hover:after,
.button:not(.cn-button):hover:after,
.wp-block-button__link:hover:after,
.child-links-buttoned a:hover:after {
  margin-right: 5px;
  margin-left: 20px;
  color: var(--button-hover-color);
  transition: all .3s ease;
}
.child-links-buttoned.inverted-child-button a:after,
.inverted-child-button a.button:after,
a.button.inverted-button:after,
a.button.button-inverted:after,
button.button.inverted-button:after,
button.button.button-inverted:after {
  color: var(--button-hover-color);
}
.child-links-buttoned.inverted-child-button a:hover:after,
.inverted-child-button a.button:hover:after,
a.button.inverted-button:hover:after,
a.button.button-inverted:hover:after,
button.button.inverted-button:hover:after,
button.button.button-inverted:hover:after {
  color: var(--button-color);
}
.button.button-navigation {
  margin-top: unset;
}
input:focus,
textarea:focus,
select:focus,
/* *:focus-visible, */
button:focus,
button:active {
  outline: 0;
}
input[type="submit"]:disabled {
  opacity: .3;
}
input[type="submit"]:focus,
button:focus,
.button:focus {
  outline-offset: -1px;
}
.off-canvas-container input[type="search"] {
  background: transparent !important;
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
textarea,
select {
  border-width: 0 0 1px 0;
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):hover,
textarea:hover,
select:hover,
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus,
select:focus {
  border-width: 0 0 1px 0;
}
label,
input[type="submit"],
button {
  cursor: var(--cursor);
}
.unbottoned,
.remove-button-attributes {
  padding: 0;
  border: 0;
  background: transparent;
}
.off-canvas-search .search-submit-button {
  width: 150px;
  margin-left: 15px;
}
select {
  width: 100%;
  height: 40px;
}
.wpcf7-form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.wpcf7 p {
  width: 100%;
  position: relative;
}
.wpcf7 p:nth-of-type(1),
.wpcf7 p:nth-of-type(2) {
  flex-basis: 48.5%;
}
@media (max-width: 575.98px) {
  .wpcf7 p:nth-of-type(1),
  .wpcf7 p:nth-of-type(2) {
    flex-basis: 100%;
  }
}
.wpcf7 output {
  position: absolute;
  background: var(--primary-color);
  color: #fff;
  left: calc(50% - 25px);
  top: -25px;
  width: 50px;
  padding: 5px;
  text-align: center;
}
.wpcf7 output:after {
  content: '';
  display: block;
  position: absolute;
  left: calc(50% - 5px);
  bottom: -3px;
  width: 10px;
  height: 10px;
  background: var(--primary-color);
  transform: rotate(45deg);
}
input[type="range"] {
  margin-top: 30px;
  border: 1px solid coral;
}
.wpcf7-acceptance span.wpcf7-list-item,
span.wpcf7-list-item.first {
  margin: 0;
}
div.wpcf7-response-output {
  margin: 2em 0;
  width: 100%;
  padding: 1em;
  border-width: 1px 1px 1px 10px;
}
.wpcf7-not-valid-tip {
  margin-top: 5px;
}
input.wpcf7-not-valid {
  border-color: #f00 !important;
}


/*--------------------------------------------------------------
## Cookies
--------------------------------------------------------------*/

/*--------------------------
### Old Cookie Tool
---------------------------*/

.cookies-not-set .cover-intro {
  bottom: 100px;
}
.cookies-not-set .button-start {
  bottom: 60px;
}
.cookies-not-set .cover-intro {
  bottom: 100px;
}
.cookies-not-set .button-start {
  bottom: 60px;
}
#cn-accept-cookie {
  background: var(--primary-color);
  padding: 3px 7px;
  color: #fff;
  font-weight: 700;
  transition: all .3s ease;
}
#cn-accept-cookie:hover {
  background: var(--secondary-color);
  color: var(--primary-color);
  transition: all .3s ease;
}


/*--------------------------
### New Cookie Tool
---------------------------*/

div#cookie-law-info-bar {
  padding: 20px 30px !important;
  font-size: 12px;
  line-height: inherit;
}
div#cookie-law-info-again {
  background: rgba(255, 255, 255, .3) !important;
  box-shadow: none;
  padding: 10px 15px;
  left: var(--global-padding) !important;
  bottom: var(--global-padding) !important;
}
div#cookie-law-info-bar br {
  display: none;
}
#cookie-law-info-bar .cli-plugin-button,
#cookie-law-info-bar .cli-plugin-button:visited,
#cookie-law-info-bar .cli_settings_button {
  margin-top: 15px;
}
#cookie-law-info-bar .cli_settings_button {
  display: inline-block;
}
#cookie-law-info-bar .cli-plugin-main-link {
  font-weight: inherit;
  /* color: var(--primary-color) !important; */
  text-decoration: inherit;
}
#cookie-law-info-bar .cli_settings_button,
#cookie-law-info-bar .cli-plugin-main-link {
  display: block !important;
}


/*--------------------------
### Own Cookies for Pop Up
---------------------------*/

.check-cookie {
  border: 1px dotted grey;
}
.no-cookie {
  color: red;
}
.cookie {
  color: blue;
}
.no-cookie,
.cookie {
  display: none;
}
.check-cookie.cookie-set .cookie {
  display: block;
}
.check-cookie.no-cookie-set .no-cookie {
  display: block;
}


/*--------------------------------------------------------------
## Galleries & Images
--------------------------------------------------------------*/

.gallery {
  margin-bottom: 1.5em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: calc(var(--global-padding) / -4);
  margin-left: calc(var(--global-padding) / -4);
}
.gallery-item {
  text-align: center;
  vertical-align: top;
  width: 100%;
  padding: calc(var(--global-padding) / 4);
}
.child-no-gutter .gallery {
  margin: 0;
}
.child-no-gutter .gallery-item {
  padding: 0;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.333333%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.666667%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
.gallery-caption {
  display: block;
}
@media (max-width: 991.98px) {
  .gallery-columns-5 .gallery-item,
  .gallery-columns-6 .gallery-item,
  .gallery-columns-7 .gallery-item,
  .gallery-columns-8 .gallery-item,
  .gallery-columns-9 .gallery-item {
    max-width: 33.333333%;
  }
}
@media (max-width: 767.98px) {
  .gallery-columns-4 .gallery-item,
  .gallery-columns-5 .gallery-item,
  .gallery-columns-6 .gallery-item,
  .gallery-columns-7 .gallery-item,
  .gallery-columns-8 .gallery-item,
  .gallery-columns-9 .gallery-item {
    max-width: 50%;
  }
}
@media (max-width: 575.98px) {
  .gallery-columns-2 .gallery-item,
  .gallery-columns-3 .gallery-item,
  .gallery-columns-4 .gallery-item,
  .gallery-columns-5 .gallery-item,
  .gallery-columns-6 .gallery-item,
  .gallery-columns-7 .gallery-item,
  .gallery-columns-8 .gallery-item,
  .gallery-columns-9 .gallery-item {
    max-width: 100%;
  }
}
img.full-width-image,
img.full-width,
.full-width-image img:not(.emoji):not(.not-full-width),
.wp-block-image figure:not(.size-thumbnail):not(.size-medium):not(.size-large):not(.size-full):not(.is-resized) img,
.header-logo-svg svg,
.header-logo img,
.footer-logo-svg svg,
.footer-logo img,
p.attachment img {
  width: 100%;
  height: auto;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
}
.blocks-gallery-item a {
  width: 100%;
  display: block;
}
.wp-block-gallery {
  padding: 0;
}
.wp-block-gallery li {
  display: block;
}


/*--------------------------------------------------------------
## Gutenberg Blocks
--------------------------------------------------------------*/

.gb-block.container-narrow {
  padding: unset;
  max-width: 100%;
  width: 100%;
}
.gutenberg-container > * {
  max-width: var(--container-narrow-max-width);
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  padding-left: var(--global-padding);
  padding-right: var(--global-padding);
  margin-top: var(--global-padding);
  margin-bottom: var(--global-padding);
}
.gutenberg-container .pop-up {
  max-width: unset;
  width: 100%;
}
.gutenberg-container > hr {
  padding-left: 0;
  padding-right: 0;
}
.alignwide,
.is-style-wide {
  width: var(--container-width);
  margin-right: auto;
  margin-left: auto;
  padding-left: var(--global-padding);
  padding-right: var(--global-padding);
  margin-top: var(--global-padding);
  margin-bottom: var(--global-padding);
}
@media (max-width: 991.98px) {
  .alignfull .alignwide,
  .alignfull .is-style-wide,
  .alignwide .alignwide,
  .alignwide .is-style-wide,
  .is-style-wide .alignwide,
  .is-style-wide .is-style-wide {
    padding-left: 0;
    padding-left: 0;
  }
}
.gutenberg-container .alignfull {
  padding-right: 0;
  padding-left: 0;
  max-width: unset;
  width: 100%;
}
.gutenberg-container .alignfull.has-background {
  padding-right: var(--global-padding);
  padding-left: var(--global-padding);
}
.gutenberg-container .alignwide,
.gutenberg-container .is-style-wide {
  max-width: var(--container-max-width);
}
@media (max-width: 991.98px) {
  .gutenberg-container .alignwide,
  .gutenberg-container .is-style-wide {
    width: 100%;
    max-width: unset;
  }
}
@media (max-width: 767.98px) {
  .gutenberg-container > * {
    width: 100%;
    max-width: unset;
  }
}
.wp-block-group.has-background {
  padding-top: var(--global-padding);
  padding-bottom: var(--global-padding);
  margin-top: var(--global-padding);
  margin-bottom: var(--global-padding);
}
.wp-block-cover {
  background-size: cover;
  background-repeat: no-repeat;
}
.wp-block-search .wp-block-search__button {
  margin-left: unset;
}
.wp-block-button__link {
  padding: 12px 20px;
}
.wp-block-cover-text {
  padding: 30px;
  color: #fff;
  text-align: center;
  font-size: 2em;
}
blockquote {
  margin: 0;
  position: relative;
  font-style: italic;
}
blockquote:before,
blockquote:after {
  content: '';
  display: block;
  position: absolute;
  font-size: 6em;
  line-height: 0;
  color: inherit;
}
blockquote:before {
  content: '„';
  top: -25px;
  left: 0;
}
blockquote:after {
  content: '“';
  right: 0;
  bottom: -25px;
}
blockquote p:first-of-type {
  margin-top: 0;
}
blockquote p:last-of-type {
  margin-bottom: 0;
}
.wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.wp-block-pullquote.is-style-solid-color blockquote p:first-of-type {
  margin-top: 0;
}
.wp-block-code,
blockquote {
  padding: 30px 50px;
  border-radius: 3px;
  border-radius: 3px;
  margin-top: 50px;
  margin-bottom: 50px;
}
.wp-block-code {
  background: #fafafa;
}
.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
  max-width: 60%;
}
.wp-block-cover {
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wp-block-columns .wp-block-column {
  margin: 0;
}
.wp-block-group__inner-container .wp-block-columns {
  margin-top: 0;
  margin-bottom: 0;
}
.wp-block-cover {
  overflow: hidden;
}


/*--------------------------------------------------------------
## SnipCart
--------------------------------------------------------------*/

#snipcart {
  position: relative;
  z-index: 123456;
}


/*--------------------------------------------------------------
## Playground & Page Animations
--------------------------------------------------------------*/

.animate-me:not(.animation-none),
.animate-me-single > *:not(:first-child) {
  opacity: .5;
  transform: translateY(5vmax);
  transition: transform .75s ease-in-out, opacity .8s ease-in-out;
  transition-delay: .75s;
}
.animate-me.on-view-animation:not(.animation-none),
.animate-me-single .on-view-animation:not(:first-child) {
  opacity: 1;
  transform: translateY(0);
}
.off-canvas-container .animate-me,
.off-canvas-container .animate-me.on-view-animation,
.pop-up-container .animate-me,
.pop-up-container .animate-me.on-view-animation {
  opacity: 1;
  transform: translateY(0);
}
.animate__animated {
  animation-play-state: paused;
}
.animate__animated.on-view-animation {
  animation-delay: .5s;
  animation-play-state: running;
}
.text-fade-in .inherit-animation,
.text-fade-up .inherit-animation,
.text-fade-down .inherit-animation,
.text-fade-left .inherit-animation,
.text-fade-right .inherit-animation {
  opacity: 0;
}
.text-fade-up .inherit-animation {
  transform: translateY(5vmax);
}
.text-fade-down .inherit-animation {
  transform: translateY(-5vmax);
}
.text-fade-left .inherit-animation {
  transform: translateX(5vmax);
}
.text-fade-right .inherit-animation {
  transform: translateX(-5vmax);
}
.on-view-animation .text-fade-in .inherit-animation,
.on-view-animation .text-fade-up .inherit-animation,
.on-view-animation .text-fade-down .inherit-animation,
.on-view-animation .text-fade-left .inherit-animation,
.on-view-animation .text-fade-right .inherit-animation,
.glide__slide--active .text-fade-in .inherit-animation,
.glide__slide--active .text-fade-up .inherit-animation,
.glide__slide--active .text-fade-down .inherit-animation,
.glide__slide--active .text-fade-left .inherit-animation,
.glide__slide--active .text-fade-right .inherit-animation {
  opacity: 1;
  transform: translate(0);
  transition: all .75s ease;
  transition-delay: .5s;
}

@keyframes on-load-animation {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes on-load-animation-inverted {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.cover-intro,
.on-load-animation {
  animation: on-load-animation 1s;
}
@keyframes on-load-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pop-up-scale {
  0% {
    transform: skew(3);
  }
  100% {
    transform: skew(50);
  }
}
.intro-section,
.on-load-fade {
  animation: on-load-fade .5s;
}
main.main-content,
.intro-section {
  animation: on-load-fade 1s, on-load-animation-inverted 1s;
}
@keyframes on-load-fade-body {
  0% {
    opacity: .3;
  }
  100% {
    opacity: 1;
  }
}
.on-load-fade-body {
  animation: on-load-fade-body 3s;
}
.breaking-news {
  max-width: 100vw;
  overflow: hidden;
  /* display: none; */
}
@keyframes breaking-news-animation {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -100% 0;
  }
}

/*-- Infinite Scrolling Text --*/
/*-- https://www.winterwind.com/tutorials/css/37 --*/

.scrolltainer {
  display: flex;
  align-items: center;
  /* height: 40vh; */
  overflow: hidden;
  /* padding-bottom: 3vw;
  margin-bottom: 3vw; */

}
.scroll {
  white-space: nowrap;
  margin: 2em 0;
}
.scroll-seperator {
  height: 300px;
  background: var(--primary-color);
}
.scroll div {
  display: flex;
  gap: 2em;
}
.scroll p {
  font-size: 10em !important;
  margin: 0;
  line-height: 80%;
}
.right-to-left {
  animation: right-to-left 80s infinite linear;
}
@keyframes  right-to-left {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}
.left-to-right {
  animation: left-to-right 60s infinite linear;
}
@keyframes  left-to-right {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}
/*-- // Infinite Scrolling Text --*/
@keyframes fadeOnLoad{
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes MoveUpDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
.arrows.down {
  animation:  MoveUpDown 1.5s linear infinite;
  animation-iteration-count: infinite;
}
.breaking-news-rotation {
  animation: breaking-news-animation 30000s linear infinite;
  background: url('img/your-logo.svg') center center;
  height: 25px;
  width: 100000%;
}


/*--------------------------------------------------------------
## Layout Grid
--------------------------------------------------------------*/

.grid {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 321;
}
.grid-container,
.grid-thirds > div,
.grid-quarters > div {
  border: 1px dotted grey;
  min-height: 100%;
}
.grid-container {
  position: relative;
}
.grid-thirds,
.grid-quarters {
  position: absolute;
  top: 0;
  right: var(--global-padding);
  left: var(--global-padding);
  bottom: 0;
  display: none;
}
.grid-thirds > div,
.grid-quarters > div {
  margin: 0 calc(var(--global-padding) / 2);
}
.grid-thirds > div:first-of-type,
.grid-quarters > div:first-of-type {
  margin-left: 0;
}
.grid-thirds > div:last-of-type,
.grid-quarters > div:last-of-type {
  margin-right: 0;
}
.show-thirds .grid-thirds {
  display: flex;
}
.show-quarters .grid-quarters {
  display: flex;
}
@media (max-width: 767.98px) {
  .grid-thirds.equal-child-width > div,
  .grid-quarters.equal-child-width > div {
    flex: 1 1 0;
  }
}
.grid {
  display: none;
}
.main-content {
  /* z-index: 999;
  position: relative; */
}