/*! Made with Bones: http://themble.com/bones :) */
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

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

Helpful articles on Sass file organization:
http://thesassway.com/advanced/modular-css-naming-conventions

******************************************************************/
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

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

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

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

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

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

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

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

Stylesheet: Mixins Stylesheet

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

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

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

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

Stylesheet: Variables

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

******************************************************************/
/*
* USAGE
* @include media("retina2x", ">desktop") {
    width: 100%;
* }
*/
body {
  --caligari--desktop--width: 1140;
  --caligari--tablet--width: 768;
  --caligari--spacing-s: 20px;
  --caligari--spacing-m: 40px;
  --caligari--spacing-l: 60px;
  --caligari--spacing-xl: 120px;
  --caligari--header--height: 66px;
  /*
  --caligari--global--padding--v: 40px;
  --caligari--global--padding: 32px;
  */
  --caligari--global--padding--v2: clamp(34px, calc(2.125rem + ((1vw - 6.4px) * 4.0625)), 86px);
  --caligari--global--padding--v: clamp(40px, calc(2.5rem + ((1vw - 6.4px) * 6.25)), 120px);
  --caligari--global--padding: clamp(32px, calc(2rem + ((1vw - 6.4px) * 8.75)), 144px);
  --wp--preset--font-size--x-small: clamp(0.75rem, calc(0.75rem + ((1vw - 0.4rem) * 0.4688)), 1.125rem);
  --wp--preset--font-size--x-small2: clamp(0.75rem, calc(0.75rem + ((1vw - 0.4rem) * 0.625)), 1.25rem);
  --wp--preset--font-size--x-small3: clamp(1rem, calc(1rem + ((1vw - 0.4rem) * 0.4167)), 1.25rem);
  --wp--preset--font-size--small: clamp(0.875rem, calc(0.875rem + ((1vw - 0.4rem) * 0.4688)), 1.25rem);
  --wp--preset--font-size--medium: clamp(0.625rem, calc(0.625rem + ((1vw - 0.4rem) * 1.0938)), 1.5rem);
  --wp--preset--font-size--large: clamp(0.875rem, calc(0.875rem + ((1vw - 0.4rem) * 1.25)), 1.875rem);
  --wp--preset--font-size--x-large: clamp(1.375rem, calc(1.375rem + ((1vw - 0.4rem) * 1.4063)), 2.5rem);
  --wp--preset--font-size--xx-large: clamp(1.5rem, calc(1.5rem + ((1vw - 0.4rem) * 2.8125)), 3.75rem);
  --wp--preset--font-size--xxx-large: clamp(1.875rem, calc(1.875rem + ((1vw - 0.4rem) * 3.9063)), 5rem);
  /*
  --wp--preset--font-size--x-small: 0.75rem;
  --wp--preset--font-size--small: 0.875rem;
  --wp--preset--font-size--large: 0.875rem;
  --wp--preset--font-size--x-large: 1.375rem;
  --wp--preset--font-size--xx-large: 1.5rem;
  --wp--preset--font-size--xxx-large: 1.875rem;
  */
}
@media (min-width: 1140px) {
  body {
    --caligari--header--height: 120px;
    /*
    --caligari--global--padding--v: 120px;
    --caligari--global--padding: 144px;
    */
    /*
    --wp--preset--font-size--x-small: 1.125rem;
    --wp--preset--font-size--small: 1.25rem;
    --wp--preset--font-size--large: 1.875rem;
    --wp--preset--font-size--x-large: 2.5rem;
    --wp--preset--font-size--xx-large: 3.75rem;
    --wp--preset--font-size--xxx-large: 5rem;
    */
  }
}

/*********************
LAYOUT
*********************/
/*********************
FONTS
*********************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Grid Stylesheet

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

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

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


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

******************************************************************/
/*
.row {
	@extend .group;

	@include media(">=desktop") {
		//margin: 0 $row-gutter;
		display: flex;
		flex-flow: row wrap;

		.column,
		.columns {
			padding: 0 $column-gutter;
		}

		.col-3 {
			flex: 0 0 25%;
			max-width: 25%; // Fix IE problem with flex and box-sizing border box
		}

		.col-4 {
			flex: 0 0 33.33333%;
			max-width: 33.33333%; // Fix IE problem with flex and box-sizing border box
		}

		.col-6 {
			flex: 0 0 50%;
			max-width: 50%; // Fix IE problem with flex and box-sizing border box
		}

		.col-8 {
			flex: 0 0 66.66666%;
			max-width: 66.66666%; // Fix IE problem with flex and box-sizing border box
		}

		.col-9 {
			flex: 0 0 75%;
			max-width: 75%; // Fix IE problem with flex and box-sizing border box
		}

		.col-12 {
			flex: 0 0 100%;
			max-width: 100%; // Fix IE problem with flex and box-sizing border box
		}
	}
}
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
/*  @font-face {
      font-family: 'Font Name';
      src: url('library/fonts/font-name.eot');
      src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('library/fonts/font-name.woff') format('woff'),
             url('library/fonts/font-name.ttf') format('truetype'),
             url('library/fonts/font-name.svg#font-name') format('svg');
      font-weight: normal;
      font-style: normal;
  }
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/*
 i imported this one in the functions file so bones would look sweet.
 don't forget to remove it for your site.
*/
/*
p {
  @include word-wrap();

  // sets a minimum number of characters before and after the break
  //-webkit-hyphenate-before: 2;
  //-webkit-hyphenate-after: 3;
  //hyphenate-lines: 3;
}
*/
/*********************
IMPORTING MODULES
Modules are reusable blocks or elements we use throughout the project.
We can break them up as much as we want or just keep them all in one.
I mean, you can do whatever you want. The world is your oyster. Unless
you hate oysters, then the world is your peanut butter & jelly sandwich.
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Button Styles

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

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

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

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

*********************/
.btn,
a.btn {
  display: inline-block;
  position: relative;
  text-decoration: none;
  padding: clamp(0.9em, 0.9rem + (1vw - 0.4em) * 0.1875, 1.05em) clamp(3.4em, 3.4rem + (1vw - 0.4em) * 0.5, 3.8em);
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--wp--preset--color--secondary);
  background-color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 1139px) {
  .btn,
  a.btn {
    font-size: var(--wp--preset--font-size--x-small);
  }
}
@media (min-width: 1140px) {
  .btn,
  a.btn {
    font-size: var(--wp--preset--font-size--small);
  }
}
.btn:hover, .active.btn {
  text-decoration: none;
  outline: none;
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--comet-streak);
}
.small-btn.btn {
  padding: 1.05em 1.15em;
  min-width: 10.9em;
}

.dark-mode .btn,
.dark-mode-btn .btn {
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--secondary);
}
.dark-mode .btn:hover, .dark-mode .active.btn,
.dark-mode-btn .btn:hover,
.dark-mode-btn .active.btn {
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--comet-streak);
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Form Styles

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

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

******************************************************************/
/*********************
INPUTS
*********************/
/*
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  padding: 0 12px;
  margin-bottom: 1em;
  font-size: 1em;
  vertical-align: middle;

  // a focused input (or hovered on)
  &:focus,
  &:active {
    outline: none; 
  } // end hover or focus

  // a disabled input
  &[disabled] {
    cursor: not-allowed;
    opacity: 0.6;
  } // end disabled input

} // end input defaults

// selects
select {
  -webkit-appearance: none; //
  -moz-appearance: none;
  appearance: none;
}
*/
.checkmark {
  position: absolute;
  top: 0em;
  left: 0;
  height: 1.15em;
  width: 1.15em;
  border: 2px solid var(--wp--preset--color--primary);
}
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 0.3em;
  top: 0.1em;
  width: 0.25em;
  height: 0.5em;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
@media (min-width: 1140px) {
  .checkmark:after {
    border-width: 0 3px 3px 0;
  }
}

.checkbox-label {
  display: inline-block;
  position: relative;
  padding-left: 1.5em;
  font-size: clamp(0.75rem, 0.75rem + (1vw - 0.4rem) * 0.625, 1.25rem);
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media (min-width: 1140px) {
  .checkbox-label {
    padding-left: 2em;
  }
}
.checkbox-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkbox-label input:checked ~ .checkmark {
  background-color: var(--wp--preset--color--primary);
}
.checkbox-label input:checked ~ .checkmark:after {
  display: block;
}

.cg-form-row {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  align-content: center;
  font-size: var(--wp--preset--font-size--small);
}
@media (min-width: 1140px) {
  .cg-form-row {
    flex-flow: row nowrap;
    margin: 0 -12px;
  }
}
.cg-form-row > .cg-form-col-6 {
  flex: 0 0 100%;
  margin-bottom: 1.5em;
}
@media (min-width: 1140px) {
  .cg-form-row > .cg-form-col-6 {
    flex: 0 0 50%;
    padding: 0 12px;
  }
}
.cg-form-row > .cg-form-col-12 {
  flex: 0 0 100%;
  margin-bottom: 1.5em;
}
@media (min-width: 1140px) {
  .cg-form-row > .cg-form-col-12 {
    padding: 0 12px;
  }
}
.cg-form-row input {
  display: block;
  width: 100%;
  padding: 0.65em 0.75em;
  font-size: var(--wp--preset--font-size--small);
  background-color: var(--wp--preset--color--secondary);
  border: 0 none;
}
.cg-form-row input:focus, .cg-form-row input:active {
  outline: none;
}
@media (min-width: 1140px) {
  .cg-form-row input {
    padding: 0.82em 0.75em;
  }
}

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

Stylesheet: Base Mobile Stylesheet

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

******************************************************************/
/******************************************************************
GENERAL STYLES
******************************************************************/
/* 
CLEARFIX
https://css-tricks.com/snippets/css/clear-fix/
*/
.group:after {
  content: "";
  display: table;
  clear: both;
}

* {
  box-sizing: border-box;
}

body {
  /*
  @include media("<phone-big") {
  	font-size: clamp(0.5625rem, calc(0.5625rem + ((1vw - 0.146875rem) * 4.6152)), 1.0096rem);
  	min-height: 0vw;
  }
  */
  /*
  @include media(">=phone-big", "<tablet-intermediate") {
  	font-size: clamp(0.5625rem, calc(0.5625rem + ((1vw - 0.28125rem) * 2.3076)), 1.0096rem);
  	min-height: 0vw;
  }

  @include media(">=tablet-intermediate", "<desktop") {
  	font-size: clamp(0.5625rem, calc(0.5625rem + ((1vw - 0.55rem) * 1.1538)), 0.75rem);
  	min-height: 0vw;
  }
  */
}
body.show-menu {
  height: 100vh;
  overflow-y: hidden;
  position: relative;
}
#overlay {
  display: block;
  position: fixed;
  top: 0;
  left: -1000%;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--primary);
  opacity: 0;
  transition: opacity 0.3s ease-out, transform 0s linear 0.3s;
  cursor: pointer;
  z-index: 1;
}

body.show-menu #overlay {
  transform: translateX(1000%);
  opacity: 0.5;
  transition: opacity 0.3s ease-out;
}

#main {
  margin-top: var(--caligari--header--height);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  text-rendering: optimizelegibility;
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  text-decoration: none;
}

h1, .h1 {
  margin: 0 0 0.5em;
}
@media (min-width: 1140px) {
  h1, .h1 {
    margin: 0 0 0.3em;
  }
}

h2, .h2 {
  margin: 0 0 0.5em;
}
h2:first-child, .h2:first-child {
  margin-top: -0.3em;
}

h3, .h3 {
  margin-top: 3em;
  margin-bottom: 0.75em !important;
  text-transform: none;
}

.cg-block-titel + h3,
.cg-block-titel + .h3 {
  margin-top: calc(3em - 50px);
}

h4, .h4 {
  margin: 0 0 0.6em;
}

h5, .h5 {
  margin: 0;
  text-transform: none;
}

/******************************************************************
HEADER STYLES
******************************************************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--caligari--header--height);
  padding: 0 var(--caligari--global--padding);
  z-index: 9;
}

body.admin-bar .header {
  top: 46px;
}
@media (min-width: 783px) {
  body.admin-bar .header {
    top: 32px;
  }
}

#inner-header {
  position: relative;
}
@media (min-width: 1140px) {
  #inner-header {
    text-align: center;
  }
}

#logo {
  display: inline-block;
  position: relative;
  margin-top: 42px;
  z-index: 9;
}
@media (max-width: 1139px) {
  #logo { margin-top: 16px; }
  #logo, #logo img { width: 200px; }
}
#logo svg {
  display: block;
  max-width: 100%;
  height: auto;
}

#lang-switcher {
  display: block;
  position: absolute;
  top: 26px;
  right: 65px;
  padding: 0 0 0 0.6em;
  text-transform: uppercase;
  font-size: var(--wp--preset--font-size--x-small3);
}
@media (min-width: 1140px) {
  #lang-switcher {
    top: 49px;
    right: 78px;
  }
}
@media (min-width: 1140px) {
  #lang-switcher::after {
    content: "";
    display: block;
    position: absolute;
    right: -20px;
    top: -5px;
    width: 2px;
    height: 30px;
    background-color: var(--wp--preset--color--secondary);
  }
}
#lang-switcher .active-lang {
  display: block;
  cursor: pointer;
}
#lang-switcher .lang-switcher-icon {
  display: inline-block;
  top: 6px;
  width: 18px;
  margin-left: 10px;
  transition: transform 0.3s linear;
}
@media (min-width: 1140px) {
  #lang-switcher .lang-switcher-icon {
    width: 27px;
  }
}
#lang-switcher .lang-switcher-icon svg {
  display: block;
  width: 100%;
  height: auto;
}
#lang-switcher .other-langs-list {
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  list-style-type: none;
  margin: 0;
  padding: 0em 0.6em 0.5em;
  visibility: hidden;
  opacity: 0;
  background-color: var(--wp--preset--color--primary);
  transition: opacity 0.3s linear, visibility 0s linear 0.3s;
  text-align: left;
}
@media (min-width: 1140px) {
  #lang-switcher .other-langs-list {
    padding: 0 0.6em 0.5em;
  }
}
#lang-switcher .other-langs-list li {
  padding-top: 1em;
}
@media (min-width: 1140px) {
  #lang-switcher .other-langs-list li {
    padding-top: 0.5em;
  }
}
#lang-switcher .other-langs-list li a.lang {
  display: inline-block;
  color: var(--wp--preset--color--secondary);
}
#lang-switcher .other-langs-list li a.lang:hover, #lang-switcher .other-langs-list li a.lang:focus {
  color: var(--wp--preset--color--comet-streak);
}
#lang-switcher.lang-menu-open .lang-switcher-icon {
  transform: rotateX(180deg);
}
#lang-switcher.lang-menu-open .other-langs-list {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s linear, visibility 0s linear;
}

.b2b-link {
  display: block;
  position: absolute;
  width: 33px;
  top: 34px;
  right: 0;
}
@media (max-width: 1139px) {
  .b2b-link {
    display: none;
  }
}
.b2b-link svg {
  display: block;
  max-width: 100%;
  height: auto;
}
.b2b-link svg path {
  transition: transform 0.2s linear;
  transform-origin: center center;
}
@media (min-width: 1140px) {
  .b2b-link:hover svg .gp-head {
    transform: translateY(-2px);
  }
}
@media (min-width: 1140px) {
  .b2b-link:hover svg .gp-hat {
    transform: translateY(-5px) rotate(18deg);
  }
}

#hamburger-btn {
  display: block;
  position: absolute;
  top: 24px;
  width: 31px;
  height: 22px;
  background-color: transparent;
  border: 0 none;
  padding: 0;
  cursor: pointer;
  z-index: 9;
}
@media (max-width: 1139px) {
  #hamburger-btn {
    right: 0;
  }
}
@media (min-width: 1140px) {
  #hamburger-btn {
    left: 0;
    top: 42px;
    width: 44px;
    height: 34px;
  }
}

.burger-component {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  background-color: var(--wp--preset--color--secondary);
  transition: transform 0.3s ease-out;
}
@media (min-width: 1140px) {
  .burger-component {
    height: 4px;
  }
}

#burger-bun-top {
  top: 0px;
  transform-origin: 28px 6px;
}
@media (min-width: 1140px) {
  #burger-bun-top {
    transform-origin: 40px 10px;
  }
}

#burger-patty {
  top: 10px;
  transform-origin: 50% 50%;
}
@media (min-width: 1140px) {
  #burger-patty {
    top: 15px;
  }
}

#burger-bun-bottom {
  top: 20px;
  transform-origin: 28px -4px;
}
@media (min-width: 1140px) {
  #burger-bun-bottom {
    top: 30px;
    transform-origin: 40px -5px;
  }
}

body.show-menu #burger-bun-top {
  transform: rotate(-45deg);
}
body.show-menu #burger-patty {
  transform: rotate(-45deg);
}
body.show-menu #burger-bun-bottom {
  transform: rotate(45deg);
}

#main-menu {
  position: fixed;
  display: block;
  height: 100%;
  top: 0;
  font-weight: 800;
  padding: var(--caligari--header--height) var(--caligari--global--padding) 0;
  z-index: 8;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  text-align: left;
}
@media (max-width: 1139px) {
  #main-menu {
    width: 100%;
    right: 0;
  }
}
@media (min-width: 1140px) {
  #main-menu {
    left: 0;
    transform: translateX(-100%);
  }
}

body.show-menu #main-menu {
  transform: translateX(0);
}

ul.top-nav,
ul.mobile-menu-extras {
  margin: 0 auto;
  padding: 2.4em 0 0;
}
@media (min-width: 1140px) {
  ul.top-nav,
  ul.mobile-menu-extras {
    padding: 2.4em 0 0;
  }
}
ul.top-nav li,
ul.mobile-menu-extras li {
  display: block;
  list-style-type: none;
  text-transform: uppercase;
}
ul.top-nav li a,
ul.mobile-menu-extras li a {
  display: inline-block;
  text-decoration: none;
  font-size: var(--wp--preset--font-size--x-large);
  transition: transform 0.3s ease-out;
  color: var(--wp--preset--color--secondary);
}
ul.top-nav li a:hover, ul.top-nav li a:focus, ul.top-nav li a:active,
ul.mobile-menu-extras li a:hover,
ul.mobile-menu-extras li a:focus,
ul.mobile-menu-extras li a:active {
  transform: translateX(10px);
  color: var(--wp--preset--color--comet-streak);
}
ul.top-nav li ul.sub-menu,
ul.mobile-menu-extras li ul.sub-menu {
  padding: 0;
}
ul.top-nav li ul.sub-menu li a,
ul.mobile-menu-extras li ul.sub-menu li a {
  font-size: var(--wp--preset--font-size--small);
  margin-bottom: 0.9em;
}
@media (min-width: 1140px) {
  ul.top-nav li ul.sub-menu li a,
  ul.mobile-menu-extras li ul.sub-menu li a {
    margin-bottom: 0.6em;
  }
}
ul.top-nav li.current-menu-item > a,
ul.mobile-menu-extras li.current-menu-item > a {
  color: var(--wp--preset--color--comet-streak);
}
ul.top-nav > li,
ul.mobile-menu-extras > li {
  margin-bottom: 2.5rem;
}
@media (min-width: 1140px) {
  ul.top-nav > li,
  ul.mobile-menu-extras > li {
    margin-bottom: 1.875rem;
  }
}
ul.top-nav > li > a,
ul.mobile-menu-extras > li > a {
  margin-bottom: 0.4em;
}
@media (min-width: 1140px) {
  ul.top-nav > li > a,
  ul.mobile-menu-extras > li > a {
    margin-bottom: 0.2em;
  }
}

ul.mobile-menu-extras {
  padding: 0;
}
@media (min-width: 1140px) {
  ul.mobile-menu-extras {
    display: none;
  }
}

.b2b-mobile-menu-link svg {
  display: inline-block;
  width: 20px;
  vertical-align: bottom;
}

/******************************************************************
MOBILE & TABLET NAVIGATION STYLES
******************************************************************/
/******************************************************************
DESKTOP NAVIGATION STYLES
******************************************************************/
/******************************************************************
POSTS & CONTENT STYLES
******************************************************************/
.cg-block {
  position: relative;
  scroll-margin-top: var(--caligari--header--height);
}

.p-r {
  position: relative;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.svg-overlay {
  display: block;
  position: absolute;
  z-index: 1;
  max-width: 100%;
  overflow-y: hidden;
}

.section-svg {
  left: 0;
}
@media (max-width: 767px) {
  .section-svg {
    bottom: -10.5em;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .section-svg {
    bottom: -9.5em;
  }
}
@media (min-width: 1200px) and (max-width: 1799px) {
  .section-svg {
    bottom: -8em;
  }
}
@media (min-width: 1800px) {
  .section-svg {
    bottom: -7em;
  }
}
@media (max-width: 767px) {
  .section-svg.geschichte-svg-overlay {
    bottom: -8em;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .section-svg.geschichte-svg-overlay {
    bottom: -7em;
  }
}
@media (min-width: 1200px) and (max-width: 1799px) {
  .section-svg.geschichte-svg-overlay {
    bottom: -5.5em;
  }
}
@media (min-width: 1800px) {
  .section-svg.geschichte-svg-overlay {
    bottom: -4.5em;
  }
}

.geschichte-svg-overlay {
  pointer-events: auto !important;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  padding-top: 15em;
  cursor: grab;
}
.geschichte-svg-overlay.active {
  cursor: grabbing;
}
.geschichte-svg-overlay::-webkit-scrollbar {
  display: none;
}
.geschichte-svg-overlay svg {
  pointer-events: none;
}
/*.geschichte-svg-overlay svg path:first-child {
  stroke: var(--wp--preset--color--secondary);
}*/
.geschichte-svg-overlay svg path.svg-flag, .home svg path.svg-flag {
  fill: var(--wp--preset--color--comet-streak);
  stroke: var(--wp--preset--color--comet-streak);
}
.geschichte-svg-overlay .geschichte-single {
  position: absolute;
  top: 0;
  left: 0;
  width: 13em;
  font-size: var(--wp--preset--font-size--small);
  transform: translate(-20%, calc(-100% - 1.5em));
  pointer-events: none;
}
.geschichte-svg-overlay .geschichte-single h3 {
  margin: 0;
  margin-bottom: 0.25em !important;
}

.spacing-1 {
  padding: var(--caligari--global--padding--v) var(--caligari--global--padding);
}

.spacing-1-v {
  padding-top: var(--caligari--global--padding--v);
  padding-bottom: var(--caligari--global--padding--v);
}

.spacing-1-h {
  padding-left: var(--caligari--global--padding);
  padding-right: var(--caligari--global--padding);
}

.mt-l {
  margin-top: var(--caligari--spacing-l);
}

.post-content {
  max-width: 40em;
}

.btn-container {
  position: relative;
  margin-top: 1.9em;
  z-index: 2;
}

.svg-container {
  pointer-events: none;
}
.svg-container svg {
  display: block;
}

p {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

.cg-row-2 {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  align-content: center;
}
@media (min-width: 1140px) {
  .cg-row-2 {
    flex-flow: row nowrap;
  }
}
.cg-row-2 > .cg-col {
  flex: 0 0 100%;
  order: 1;
}
@media (min-width: 1140px) {
  .cg-row-2 > .cg-col {
    flex: 0 0 50%;
  }
}
@media (max-width: 1139px) {
  .cg-row-2 > .cg-col:first-child {
    order: 2;
  }
}
@media (max-width: 1139px) {
  .cg-row-2.no-col-order-change > .cg-col:first-child {
    order: 1;
  }
}

.content-left .cg-row-2 > .cg-col:first-child,
.is-style-content-left .cg-row-2 > .cg-col:first-child {
  order: 2;
}

.cg-row-2x2 {
  flex: 0 0 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
}
.cg-row-2x2 > .cg-col {
  display: flex;
  flex: 0 0 50%;
  justify-content: center;
  align-items: center;
}

.block-img {
  height: 100%;
}
.block-img img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  object-fit: cover;
}

.col-bkg-img {
  position: absolute;
  top: 0;
  left: 0;
}

.placeholder-square {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 1140px) {
  .placeholder-1x1-d {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
  }
}

.block-contents .link-container {
  margin-top: 3em;
}
.block-contents .link-container a {
  display: inline-block;
  text-transform: uppercase;
  text-decoration: underline;
  transition: transform 0.3s ease-out;
  font-weight: 800;
}
.block-contents .link-container a:hover {
  transform: translateX(10px);
  color: var(--wp--preset--color--primary);
}
.block-contents .btn-container a.btn:first-child {
  margin-right: 3em;
}
@media (max-width: 374px) {
  .block-contents .btn-container a.btn:first-child {
    margin-right: 2em;
  }
}

.dark-mode {
  color: var(--wp--preset--color--secondary);
  background-color: var(--wp--preset--color--primary);
}
.dark-mode .link-container a:hover {
  color: var(--wp--preset--color--secondary);
}

.green-mode {
  background-color: var(--wp--preset--color--comet-streak);
}

.cg-block-titel {
  position: relative;
  height: calc(100vh - var(--caligari--header--height));
}
.cg-block-titel .inner-block {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.cg-block-titel.no-bkg-img {
  height: auto;
}
.cg-block-titel.has-shortcode {
  min-height: calc(100vh - var(--caligari--header--height));
  height: auto;
}
.cg-block-titel.has-shortcode .inner-block {
  min-height: inherit;
}

.title-content {
  position: relative;
  padding: 190px 50px 50px var(--caligari--global--padding);
  color: var(--wp--preset--color--secondary);
}
.title-content h1 {
  display: inline-block;
  position: relative;
  color: var(--wp--preset--color--comet-streak);
}
.title-content p {
  max-width: clamp(23.75rem, 23.75rem + (1vw - 0.4rem) * 32.8125, 50rem);
  font-size: var(--wp--preset--font-size--large);
  margin: 0;
}
.cg-block-titel.no-bkg-img .title-content {
  color: var(--wp--preset--color--primary);
}
.cg-block-titel.no-bkg-img .title-content p {
  max-width: 1220px;
}

.title-shortcode-container {
  margin-top: 3.75em;
  max-width: 800px;
}

.cg-overlay-container {
  position: relative;
}

.no-lbr {
  white-space: nowrap;
}

.cg-block-text-bild-vb {
  color: var(--wp--preset--color--secondary);
}
.cg-block-text-bild-vb .inner-block {
  position: relative;
}
.cg-block-text-bild-vb.no-bkg-img {
  color: var(--wp--preset--color--primary);
}

.cg-block-text-bild-vb-picture {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cg-block-text-bild-vb-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-event {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--x-small2);
}
.single-event.event-placeholder {
  background-color: transparent !important;
}
.single-event .event-shape {
  position: relative;
  height: 0;
  padding-bottom: 100%;
}
.single-event .event-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: clamp(14px, 0.875rem + (1vw - 6.4px) * 2.1875, 42px) clamp(16px, 1rem + (1vw - 6.4px) * 1.875, 40px);
}
.single-event .event-container {
  position: relative;
  height: 100%;
  padding-bottom: clamp(1.5em, 1.5rem + (1vw - 0.4em) * 2.5, 3.5em);
  z-index: 2;
}
.single-event .subtitle {
  text-transform: uppercase;
  font-weight: 700;
}
@media (max-width: 1139px) {
  .single-event .subtitle {
    font-weight: 700;
  }
}
.single-event .beschreibung {
  margin-top: 0.6em;
}
.single-event .event-details {
  position: relative;
  padding-right: 1.5em;
  margin-top: 2.4em;
  font-weight: 800;
}
@media (max-width: 374px) {
  .single-event .event-details {
    margin-top: 1.5em;
  }
}
.single-event .event-details .golfplatz {
  margin: 0;
}
.single-event .event-details .uhrzeit a {
  word-wrap: break-word;
}
.single-event .termin-link {
  display: block;
  position: absolute;
  left: 0;
  bottom: clamp(0em, 0rem + (1vw - 0.4em) * 2.5, 2em);
  font-weight: 800;
  text-decoration: underline;
}
.single-event a.kartenlink {
  display: block;
  position: absolute;
  top: 4px;
  right: -0.25em;
  stroke: var(--wp--preset--color--comet-streak);
  width: clamp(14px, 0.875rem + (1vw - 6.4px) * 1.4844, 33px);
  transition: transform 0.3s ease-out;
}
.single-event a.kartenlink svg {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease-out;
}
.single-event a.kartenlink:hover, .single-event a.kartenlink:focus {
  transform: scale(1.3);
}
.single-event.has-beschreibung h4 {
  margin-bottom: 0;
}
@media (max-width: 399px) {
  .single-event.has-beschreibung h4 {
    margin-bottom: 0;
  }
}
@media (max-width: 389px) {
  .single-event.has-beschreibung .beschreibung {
    font-size: 0.625rem;
    margin-top: 0.2em;
  }
}
@media (max-width: 439px) {
  .single-event.has-beschreibung .event-details {
    margin-top: 0;
  }
}
@media (max-width: 389px) {
  .single-event.has-beschreibung p {
    margin-bottom: 0.375em;
  }
}

/*
%event-block-style-2 {
	background-color: var(--wp--preset--color--comet-streak);

	a.kartenlink {
		stroke: var(--wp--preset--color--secondary);
	}

	.termin-link {
		color: var(--wp--preset--color--secondary);
	}
}
*/
.overlay-events-container {
  display: flex;
  flex-flow: row wrap;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  align-items: flex-start;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}
@media (min-width: 768px) and (max-width: 1139px) {
  .overlay-events-container {
    height: auto;
    align-items: stretch;
  }
}
.overlay-events-container.visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out, visibility 0s linear;
  z-index: 1;
}
.overlay-events-container .single-event {
  flex: 0 0 50%;
}
@media (max-width: 767px) {
  .overlay-events-container .single-event:nth-child(4n+1), .overlay-events-container .single-event:nth-child(4n+4) {
    background-color: var(--wp--preset--color--comet-streak);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a.kartenlink, .overlay-events-container .single-event:nth-child(4n+4) a.kartenlink {
    stroke: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) .termin-link, .overlay-events-container .single-event:nth-child(4n+4) .termin-link {
    color: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a, .overlay-events-container .single-event:nth-child(4n+4) a {
    color: var(--wp--preset--color--secondary);
  }
}
@media (min-width: 1140px) {
  .overlay-events-container .single-event:nth-child(4n+1), .overlay-events-container .single-event:nth-child(4n+4) {
    background-color: var(--wp--preset--color--comet-streak);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a.kartenlink, .overlay-events-container .single-event:nth-child(4n+4) a.kartenlink {
    stroke: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) .termin-link, .overlay-events-container .single-event:nth-child(4n+4) .termin-link {
    color: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a, .overlay-events-container .single-event:nth-child(4n+4) a {
    color: var(--wp--preset--color--secondary);
  }
}
@media (min-width: 768px) and (max-width: 1139px) {
  .overlay-events-container .single-event {
    flex: 0 0 25%;
  }
  .overlay-events-container .single-event:nth-child(4n+1), .overlay-events-container .single-event:nth-child(4n+3) {
    background-color: var(--wp--preset--color--comet-streak);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a.kartenlink, .overlay-events-container .single-event:nth-child(4n+3) a.kartenlink {
    stroke: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) .termin-link, .overlay-events-container .single-event:nth-child(4n+3) .termin-link {
    color: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event:nth-child(4n+1) a, .overlay-events-container .single-event:nth-child(4n+3) a {
    color: var(--wp--preset--color--secondary);
  }
  .overlay-events-container .single-event .event-shape {
    height: 100%;
    padding-bottom: 0;
  }
  .overlay-events-container .single-event .event-inner {
    position: relative;
  }
}
.overlay-events-container .single-event.event-placeholder {
  background-color: transparent;
}

@media (max-width: 1139px) {
  .wp-block-caligari-events-upcoming .overlay-events-container {
    position: relative;
    width: auto;
    height: auto;
    top: auto;
    left: auto;
  }
}

.wp-block-caligari-events {
  padding-bottom: 100px;
}
@media (min-width: 768px) {
  .wp-block-caligari-events {
    padding-bottom: 170px;
  }
}
@media (min-width: 1140px) {
  .wp-block-caligari-events {
    padding-bottom: 240px;
  }
}

#events-end-decor {
  display: block;
  position: absolute;
  width: 54px;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  #events-end-decor {
    width: 91px;
    bottom: 35px;
  }
}
@media (min-width: 1140px) {
  #events-end-decor {
    width: 130px;
    bottom: 49px;
  }
}
#events-end-decor svg {
  display: block;
  width: 100%;
  height: auto;
}

.events-container {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}
.events-container .single-event {
  flex: 0 0 25%;
  width: 25%;
  z-index: 2;
  position: relative;
}
@media (max-width: 767px) {
  .events-container .single-event {
    flex: 0 0 50%;
    width: 50%;
    /*
    &:nth-child(4n+2),
    &:nth-child(4n+3) {
    	@include event-block-style-2();
    }
    */
  }
  .events-container .single-event.m-style-2 {
    background-color: var(--wp--preset--color--comet-streak);
  }
  .events-container .single-event.m-style-2 a.kartenlink {
    stroke: var(--wp--preset--color--secondary);
  }
  .events-container .single-event.m-style-2 .termin-link {
    color: var(--wp--preset--color--secondary);
  }
  .events-container .single-event.m-style-2 a {
    color: var(--wp--preset--color--secondary);
  }
}
@media (min-width: 768px) {
  .events-container .single-event {
    /*
    &:nth-child(8n+2),
    &:nth-child(8n+4),
    &:nth-child(8n+5),
    &:nth-child(8n+7) {
    	@include event-block-style-2();
    }
    */
  }
  .events-container .single-event.t-style-2 {
    background-color: var(--wp--preset--color--comet-streak);
  }
  .events-container .single-event.t-style-2 a.kartenlink {
    stroke: var(--wp--preset--color--secondary);
  }
  .events-container .single-event.t-style-2 .termin-link {
    color: var(--wp--preset--color--secondary);
  }
  .events-container .single-event.t-style-2 a {
    color: var(--wp--preset--color--secondary);
  }
}

#events-subscribe-container {
  flex: 0 0 100%;
  width: 100%;
  color: var(--wp--preset--color--secondary);
}
#events-subscribe-container .post-content {
  position: relative;
  z-index: 2;
}
@media (max-width: 1139px) {
  #events-subscribe-container > .cg-row-2 > .cg-col:first-child {
    margin-bottom: 4em;
  }
}
#events-subscribe-container .svg-container {
  transform: rotate(-4deg);
  left: 0;
  bottom: -10%;
}
.filter-container {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: var(--caligari--global--padding--v2);
  padding-bottom: var(--caligari--global--padding--v2);
}
@media (max-width: 767px) {
  .filter-container {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .filter-container {
    padding-left: var(--caligari--global--padding);
    padding-right: var(--caligari--global--padding);
  }
}

.custom-select {
  display: inline-block;
  position: relative;
  z-index: 3;
  width: 50%;
  max-width: 218px;
  margin-right: clamp(12px, 0.75rem + (1vw - 6.4px) * 3.125, 54px);
}
.custom-select:last-child {
  margin-right: 0;
}
@media (max-width: 767px) {
  .custom-select {
    text-align: left;
  }
}

.custom-select-title {
  position: relative;
  display: block;
  font-weight: 800;
  font-size: clamp(0.75rem, 0.75rem + (1vw - 0.4rem) * 0.625, 1.25rem);
  text-transform: uppercase;
  background-color: var(--wp--preset--color--secondary);
  padding: 0.6em 30px 0.6em 0.75em;
  cursor: pointer;
  transition: background-color 0.2s linear;
}
@media (min-width: 768px) {
  .custom-select-title {
    padding: 1.05em 50px 1.05em 1.1em;
  }
}
.custom-select-title .arrow-icon {
  display: inline-block;
  position: absolute;
  right: 10px;
  width: 10px;
  height: 10px;
  transition: transform 0.2s linear;
  top: 50%;
  margin-top: -5px;
}
@media (min-width: 768px) and (max-width: 1139px) {
  .custom-select-title .arrow-icon {
    right: 18px;
    width: 12px;
    height: 12px;
    margin-top: -6px;
  }
}
@media (min-width: 1140px) {
  .custom-select-title .arrow-icon {
    right: 22px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
  }
}
.custom-select-title .arrow-icon::after {
  content: "";
  display: block;
  position: absolute;
  border: solid black;
  border-width: 0 1px 1px 0;
  padding: 4px;
  transform: rotate(45deg);
  margin-top: -3.5px;
}
@media (min-width: 768px) {
  .custom-select-title .arrow-icon::after {
    padding: 5px;
    border-width: 0 2px 2px 0;
    margin-top: -4.24px;
  }
}
@media (min-width: 1140px) {
  .custom-select-title .arrow-icon::after {
    padding: 9px;
    margin-top: -7px;
  }
}
.custom-select-title .arrow-icon.open {
  transform: rotateX(180deg);
}
.custom-select-title:hover {
  background-color: var(--wp--preset--color--comet-streak);
}

.custom-select-submenu {
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  padding: 0;
  margin: 3px 0 0;
  background-color: var(--wp--preset--color--secondary);
  list-style-type: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s linear, visibility 0s linear 0.3s;
}
.custom-select-submenu li {
  padding: 0 0.75em 0.6em;
}
.custom-select-submenu li:first-child {
  padding: 0.6em 0.75em;
}
@media (min-width: 768px) {
  .custom-select-submenu li {
    padding: 0 1.1em 1.05em;
  }
  .custom-select-submenu li:first-child {
    padding: 1.05em 1.1em;
  }
}

.custom-select.open .custom-select-title {
  background-color: var(--wp--preset--color--comet-streak);
}
.custom-select.open .custom-select-title .arrow-icon {
  transform: rotateX(180deg);
}
.custom-select.open .custom-select-submenu {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s linear, visibility 0s linear;
}

.overlay-haendler-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--comet-streak);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}
.overlay-haendler-container.visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out, visibility 0s linear;
}
.overlay-haendler-container h4 {
  margin-bottom: 1.26em;
}
.overlay-haendler-container .overlay-haendler-container-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  height: calc(100% - 3.69em);
  overflow-y: auto;
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.overlay-haendler-container .overlay-haendler-container-inner .single-haendler {
  flex: 0 0 45%;
  margin-bottom: 2.6em;
}
.overlay-haendler-container .overlay-haendler-container-inner .single-haendler:last-child, .overlay-haendler-container .overlay-haendler-container-inner .single-haendler:nth-last-child(2) {
  margin-bottom: 0;
}
.overlay-haendler-container .overlay-haendler-container-inner .single-haendler .adresse {
  margin-top: 0.45em;
  margin-bottom: 0;
  text-decoration: underline;
}
.overlay-haendler-container .overlay-haendler-container-inner .single-haendler a.haendler-link {
  display: inline-block;
  margin-top: 0.45em;
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
}
.overlay-haendler-container .overlay-haendler-container-inner::-webkit-scrollbar {
  width: 6px;
}
.overlay-haendler-container .overlay-haendler-container-inner::-webkit-scrollbar-track {
  background: transparent;
}
.overlay-haendler-container .overlay-haendler-container-inner::-webkit-scrollbar-thumb {
  background: #fff;
}
.overlay-haendler-container .overlay-haendler-container-inner::-webkit-scrollbar-thumb:hover {
  background: #fff;
}

#haendler-filter-container {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transform: translateY(-100%);
  z-index: 2;
}

#haendler-container {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  margin: 0 -8px;
}
#haendler-container .single-haendler {
  flex: 0 0 50%;
  width: 50%;
}
@media (min-width: 768px) {
  #haendler-container .single-haendler {
    flex: 0 0 25%;
    width: 25%;
  }
}
#haendler-container .single-haendler-inner {
  position: relative;
  max-width: 260px;
  padding: 0 8px clamp(25px, 1.5625rem + (1vw - 6.4px) * 4.6875, 85px) 8px;
}
#haendler-container .single-haendler-inner.has-link h5 {
  padding-right: 20px;
}
@media (min-width: 768px) {
  #haendler-container .single-haendler-inner.has-link h5 {
    padding-right: 30px;
  }
}
#haendler-container .single-haendler-inner .haendler-globe-icon {
  display: block;
  position: absolute;
  top: 0px;
  right: 8px;
  width: 16px;
  height: 16px;
}
@media (min-width: 768px) {
  #haendler-container .single-haendler-inner .haendler-globe-icon {
    top: -2px;
    width: 25px;
    height: 25px;
  }
}
#haendler-container .single-haendler-inner .haendler-globe-icon img {
  display: block;
  width: 100%;
  height: auto;
}
#haendler-container .single-haendler-inner a {
  word-wrap: break-word;
}

.wp-block-caligari-team img {
  display: block;
  width: 100%;
  height: auto;
}

.team-member {
  position: relative;
  width: 100%;
}
.team-member .team-member-overlay {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 61, 48, 0.6); /* rgba version of var(--wp--preset--color--mtn-view) */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}
.team-member .team-member-overlay-inner {
  color: var(--wp--preset--color--secondary);
  position: absolute;
  left: clamp(0.625rem, 0.625rem + (1vw - 0.4rem) * 2.3438, 2.5rem);
  bottom: clamp(0.625rem, 0.625rem + (1vw - 0.4rem) * 2.3438, 2.5rem);
  width: calc(100% - clamp(0.625rem, 0.625rem + (1vw - 0.4rem) * 2.3438, 2.5rem) * 2);
}
.team-member .team-member-overlay-inner h4 {
  margin-bottom: 0.2em;
}
.team-member .team-member-overlay-inner .team-member-overlay-subtitle {
  font-size: var(--wp--preset--font-size--x-small2);
}
.team-member .team-member-overlay-inner .team-member-email,
.team-member .team-member-overlay-inner .team-member-tel {
  position: relative;
  font-size: var(--wp--preset--font-size--x-small2);
  padding-left: 1.5em;
}
.team-member .team-member-overlay-inner .team-member-email .icon,
.team-member .team-member-overlay-inner .team-member-tel .icon {
  display: block;
  position: absolute;
  width: 1em;
  left: 0;
  top: 0.2em;
}
.team-member .team-member-overlay-inner .team-member-email .icon svg,
.team-member .team-member-overlay-inner .team-member-tel .icon svg {
  display: block;
  max-width: 100%;
  height: auto;
}
.team-member .team-member-overlay-inner .team-member-email a,
.team-member .team-member-overlay-inner .team-member-tel a {
  color: var(--wp--preset--color--secondary);
}
.team-member .team-member-overlay-inner .team-member-email a:hover, .team-member .team-member-overlay-inner .team-member-email a:focus,
.team-member .team-member-overlay-inner .team-member-tel a:hover,
.team-member .team-member-overlay-inner .team-member-tel a:focus {
  color: var(--wp--preset--color--secondary);
}
.team-member .team-member-overlay-inner .team-member-email {
  margin-top: 1.3em;
  margin-bottom: 0.5em;
}
.team-member .team-member-overlay-inner .team-member-email .icon {
  top: 0.4em;
}
.team-member .team-member-overlay-inner .team-member-email svg path, .team-member .team-member-overlay-inner .team-member-tel svg path {
	fill: var(--wp--preset--color--secondary);
}
@media (min-width: 1140px) {
  .team-member:hover .team-member-overlay {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease-out, visibility 0s linear;
  }
}
@media (max-width: 1139px) {
  .team-member.m-hover .team-member-overlay {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease-out, visibility 0s linear;
  }
}

.is-firefox .team-member .team-member-overlay-inner .team-member-email .icon,
.is-firefox .team-member .team-member-overlay-inner .team-member-tel .icon {
  top: 0;
}
.is-firefox .team-member .team-member-overlay-inner .team-member-email .icon {
  top: 0.2em;
}

/******************************************************************
GENERAL NAV STYLES
******************************************************************/
/******************************************************************
COMMENT STYLES
******************************************************************/
/******************************************************************
SIDEBARS & ASIDES
******************************************************************/
/******************************************************************
FOOTER STYLES
******************************************************************/
.footer {
  padding: 44px var(--caligari--global--padding) 42px;
  line-height: 1.6;
}
@media (min-width: 1140px) {
  .footer {
    padding-top: 66px;
  }
}
.footer h5 {
  line-height: 1.6;
}

.social-link svg path {
  fill: var(--wp--preset--color--comet-streak);
}

.footer-blocks {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .footer-blocks {
    flex-flow: row nowrap;
  }
}
.footer-blocks .footer-block {
  flex: 0 0 auto;
}
@media (min-width: 1140px) {
  .footer-blocks .footer-block {
    min-width: 250px;
  }
}
@media (max-width: 767px) {
  .footer-blocks .footer-block:nth-child(1) {
    width: 100%;
    margin-bottom: 44px;
  }
  .footer-blocks .footer-block:nth-child(2) {
    width: 50%;
    margin-bottom: 44px;
  }
  .footer-blocks .footer-block:nth-child(3) {
    width: 50%;
    margin-bottom: 44px;
  }
  .footer-blocks .footer-block:nth-child(4) {
    width: 100%;
  }
}
.footer-blocks .footer-block p {
  margin: 0;
}
.footer-blocks .footer-block p a {
  color: var(--wp--preset--color--secondary);
}
.footer-blocks .footer-block p a:hover, .footer-blocks .footer-block p a:focus {
  color: var(--wp--preset--color--comet-streak);
}
.footer-blocks .footer-block p a[href^="mailto:"] {
  color: var(--wp--preset--color--comet-streak);
  text-decoration: underline;
}
.footer-blocks .footer-block p a[href^="mailto:"]:hover, .footer-blocks .footer-block p a[href^="mailto:"]:focus {
  color: var(--wp--preset--color--secondary);
}

.social-link {
  margin-right: 14px;
}
.social-link:last-child {
  margin-right: 0;
}

.footer-bottom-links {
  margin-top: 84px;
}
.footer-bottom-links p {
  text-align: right;
  margin: 0;
}
.footer-bottom-links a {
  display: inline-block;
  font-size: var(--wp--preset--font-size--x-small);
  color: var(--wp--preset--color--secondary);
  text-decoration: underline;
  margin-right: 1.67em;
}
.footer-bottom-links a:last-child {
  margin-right: 0;
}
.footer-bottom-links a:hover, .footer-bottom-links a:focus {
  color: var(--wp--preset--color--comet-streak);
}

#sb_instagram #sbi_images {
  padding: 0 !important;
}

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

  Stylesheet: Print Stylesheet

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

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

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

/* Hide svg lines instead of editing custom blocks code. Except for the history block on the About Us page. */
.svg-container, .random-svg-container { display: none !important; }
/*body.page-about-us .cg-block-geschichte .svg-container, body.page-about-us .cg-block-geschichte .random-svg-container { display: block !important; }*/
/* Where the svg lines are shown, make them the brand blue. */
.svg-container svg path { stroke: var(--wp--preset--color--comet-streak); }

/* Change logo from black to white as it is on a black background in the header. Make logo narrower. */
#logo img { filter: invert(100%); width: 200px; height: auto; }
/* Invert 3rd slider logo so it is black (on white). */
.wp-block-caligari-brands-slider .brands-slide:nth-child(3) img { filter: invert(100%); }
/* Brands slider arrow colour. */
/*.slide-controls svg path { stroke: var(--wp--preset--color--comet-streak); }*/