/*
Theme Name: Teo Jakob
Theme URI: https://teojakob.ch
Description: Custom Theme for Teo Jakob
Author: Roger Burkhard
Author URI: http://www.rogerburkhard.com
*/

/*------------------------------------------------------
VARIABLES
------------------------------------------------------*/

:root {
  --offset:25px;
  --offset-minus:  -25px;
  --max_width: 100%;
  --columns: 12;
  --gap: 25px;
  --gap_minus: -25px;
  --baseline: 0;
  --baseline-offset: 0;
  --font_color: #000;
  --color_grey:#848484;
  --color_light_grey:#D9D9D9;
  --color_red:#e01b1f;
  --easing:cubic-bezier(0.22, 1, 0.36, 1);

  --grid_color: hsla(204, 80%, 72%, 0.25);
  --repeating_width: calc(100% / var(--columns));
  --column_width: calc((100% /  (var(--columns)) -  var(--gap)));
  --background_width: calc(100% +  var(--gap));
  --background_columns: repeating-linear-gradient(to right, var(--grid_color), var(--grid_color) var(--column_width), transparent var(--column_width), transparent var(--repeating_width));
  --background_baseline: repeating-linear-gradient(to bottom, var(--grid_color), var(--grid_color) 1px, transparent 1px, transparent var(--baseline));
}

/*------------------------------------------------------
THE BIG FAT RESET
------------------------------------------------------*/

* {
	min-height: 0;
	min-width: 0;
}


html, body, div, span, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote, pre, form, fieldset, table, th, td, header, footer {
	margin: 0;
	padding: 0;
}

sub, sup {
	line-height: 0;
}

a:focus, button:focus, input:focus, div:focus, h1:focus, h2:focus, h3:focus, h4:focus, h5:focus, img:focus {
    outline: 2px dotted #000 !important;
}

*:focus:not(:focus-visible),
#overlay:focus {
	outline: 0 !important;
}

/*------------------------------------------------------
IMPORT FONTS
------------------------------------------------------*/

@font-face {
    font-family: 'Helvetica Neue STD Bold';
    src: url('styles/fonts/HelveticaNeueLTStd-Bd.woff2') format('woff2'),
         url('styles/fonts/HelveticaNeueLTStd-Bd.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Helvetica Neue STD Medium';
    src: url('styles/fonts/HelveticaNeueLTStd-Md.woff2') format('woff2'),
         url('styles/fonts/HelveticaNeueLTStd-Md.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'OCR X Regular';
    src: url('styles/fonts/OCR-X-Regular.woff2') format('woff2'),
         url('styles/fonts/OCR-X-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/*------------------------------------------------------
GRID HELPER
------------------------------------------------------*/

/* Grid */

/*
html::before {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	width: calc(100% - (2 * var(--offset)));
	max-width: var(--max_width);
	min-height: calc(100vh - 86px);
	content: '';
	background-image: var(--background_columns), var(--background_baseline);
	background-size: var(--background_width) 100%;
	background-position: 0 var(--baseline-offset);
	z-index: 1000;
	pointer-events: none;
}

/* Squares */

/*
$square: transparent 0 calc(20px - 1px),#ccc 0 20px;

body {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: repeating-linear-gradient(to right, $square), repeating-linear-gradient(to bottom,$square) #fff;
}
*/

/*------------------------------------------------------
GENERAL
------------------------------------------------------*/

html {
	width: 100%;
	height: 100%;
	background: #fff;
	margin:0 !important;
	-webkit-text-size-adjust: 100%;
	overflow-x: clip;
}

body {
	width: -moz-calc(100% - (var(--offset))*2);
	width: -webkit-calc(100% - (var(--offset))*2);
	width: -o-calc(100% - (var(--offset))*2);
	width: calc(100% - (var(--offset))*2);
	padding: 0 var(--offset);
	color: #000;
	min-width: 320px;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	overflow-x:clip;
}

body, a.call_to_action, 
.custom_form input, 
.custom_form select, 
.custom_form checkbox,
.custom_form textarea {
	font-family:'Helvetica Neue STD Bold', Helvetica, Arial, Verdana, sans-serif !important;
	font-size:19px;
	line-height:26px;
}

.custom_form input, 
.custom_form select, 
.custom_form checkbox,
.custom_form textarea {
	line-height:19px;
}

.wysiwig_content,
.text_newsletter {
	font-family:'Helvetica Neue STD Medium', Helvetica, Arial, Verdana, sans-serif !important;
}

body.noscroll {
	overflow: hidden;
}

body.wait, body.wait a {
	cursor:wait;
	overflow-y:hidden;
}

#wpadminbar {
	display:none !important;
}

div:focus {
	outline: none;
	ie-dummy: expression(this.hideFocus=true);
}

::selection {
  background: #ededed;
  color:#000;
}

::-moz-selection {
  background: #ededed;
  color:#000;
}

a::selection {
	color:#000 !important;
}

a::-moz-selection {
	color:#000 !important;
}

.ie_message {
	display: none;
	padding: 10px;
}

/*------------------------------------------------------
TYPOGRAPHY
------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
}

.no_big {
	font-size:120px;
	line-height:120px;
}

h1, h2,
ul.nav-menu li a,
a.close_nav,
.flexible_content_quick_links.quick_inks_layout_liste a,
.flexible_content_einleitungstext .wysiwig_content .title_big {
	text-transform:uppercase;
	font-size:60px;
	line-height:70px;
}

.flexible_content_quick_links.quick_inks_layout_liste a,
.swiper_geschichte .swiper-slide .column_left h2 {
	line-height:66px;
}

h3,
.flexible_content_text_und_bild_1_spaltig .text_row,
.flexible_content_text_und_bild_1_spaltig .text_row .wysiwig_content,
.flexible_content_dienstleistungen .text_row,
.flexible_content_dienstleistungen .text_row .wysiwig_content,
.yikes-easy-mc-form input,
.detail_intro_text,
.detail_intro_text .wysiwig_content,
.flexible_content_einleitungstext .wysiwig_content,
h5 {
	/*font-family: 'OCR X Regular' !important;*/
	font-family:'Helvetica Neue STD Medium', Helvetica, Arial, Verdana, sans-serif !important;
	font-size:28px;
	line-height:33px;
	max-width:860px;
	margin-left:auto;
	margin-right:auto;
}

h5 {
	font-family:'Helvetica Neue STD Bold' !important; 
}

.yikes-easy-mc-form input {
	line-height:35px;
}

h4, footer ul.footer-nav-menu li a,
.wysiwig_content .title_big {
	font-family:'Helvetica Neue STD Bold' !important; 
	font-size:40px;
	line-height:44px;
	text-transform:uppercase;
}

header .home_logo,
.intro .logo {
	font-size:32px;
	line-height:32px;
}

header .logo_byline {
	font-size:13px;
	line-height:15px;
	opacity:0;
}

.newsletter_box input, .newsletter_box select {
	font-family: 'Helvetica Neue STD Medium', Helvetica, Arial, Verdana, sans-serif !important;
	font-size:20px;
	line-height:20px;
}

p {
	margin-bottom: 20px;
	max-width:960px;
}

b, strong {
	font-weight: normal;
	font-family: 'Helvetica Neue STD Bold';
}

/*------------------------------------------------------
GENERAL LINKS
------------------------------------------------------*/

a {
	outline: none;
	text-decoration: none;
	cursor: pointer;
	color: #000;
	-webkit-transition:color 0.4s var(--easing);
	transition:color 0.4s var(--easing);
}

body.no_touch a:hover {
	color:var(--color_grey);
}

:focus {
	-moz-outline-style: none;
}

.outer_call_to_action {
	text-align:center;
}

a.call_to_action {
	display:inline-block;
	text-transform:uppercase;
	position:relative;
	background:#fff;
	/*font-family: 'OCR X Regular' !important;*/
	margin-top: -moz-calc(var(--offset) * 2);
	margin-top: -webkit-calc(var(--offset) * 2);
	margin-top: -o-calc(var(--offset) * 2);
	margin-top: calc(var(--offset) * 2);
	padding:4px var(--offset) 0px var(--offset);
	border:2px solid var(--font_color);
	border-radius:14px;
	-webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,0));
	filter: drop-shadow(0 0 10px rgba(0,0,0,0));
	-webkit-transition:color 0.4s var(--easing);
	transition:color 0.4s var(--easing);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none; 
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

body.no_touch a.call_to_action:hover {
	color:#fff;
}

a.call_to_action:after {
	content: '';
	display: block;
	left: 0;
	right: 0;
	bottom: 0;
	top: 100%;
	position: absolute;
	border-radius:12px;
	z-index: -1;
	background:var(--font_color);
	-webkit-transition:top 0.3s var(--easing);
	transition:top 0.3s var(--easing);
}

body.no_touch a.call_to_action:hover:after {
	top: 0;
}

.wysiwig_content p:has(a.call_to_action) {
	display:block;
	text-align:center;
	text-indent:0 !important;
}

/*------------------------------------------------------
IMAGES
------------------------------------------------------*/

img {
	display: block;
	border: none 0;
}

.lazyload, .lazyloading {
	opacity: 0;
}

.lazyloaded {
	opacity: 1;
	-webkit-transition:opacity 0.5s;
	transition: opacity 0.5s;
}

/*------------------------------------------------------
VIDEO
------------------------------------------------------*/

video {
	display:block;
	outline: 0;
	-moz-outline-style: none;
}

/* Responsive iFrame */

.video_wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}

.video_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*------------------------------------------------------
CLEAR
------------------------------------------------------*/

.clear {
	clear: both;
}

/*------------------------------------------------------
Focus Input & Textarea
------------------------------------------------------*/

input, textarea {
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	resize: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { 
	display: none; 
}

textarea:focus, input:focus, select:focus {
    outline: 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="button"], button {
   outline:none !important;
}
input[type="button"]::-moz-focus-inner, button::-moz-focus-inner {
   border: 0 !important;
}

/*------------------------------------------------------
WYSIWIG CONTENT
------------------------------------------------------*/

.wysiwig_content img {
	display: block;
	width: 100%;
	height: auto;
}

.wysiwig_content ul {
    list-style: none;
    margin-left: 0;
    padding-left: 1em;
}

.wysiwig_content ul > li:before {
    display: inline-block;
    content: "–";
    width: 1em;
    margin-left: -1em;
}

.wysiwig_content .title_big {
	display:block;
	padding-bottom:10px;
}

.wysiwig_content .text_red {
	color:var(--color_red);
}

/*------------------------------------------------------
READ MORE
------------------------------------------------------*/

.wysiwig_content a.read_more {
	display: inline-block;
	text-decoration: none;
}

.wysiwig_content .read_more_text {
	display: none;
}

.wysiwig_content .read_more span {
	display: none;
}

.wysiwig_content .read_more.inactive span.inactive_text {
	display: block;
}

.wysiwig_content .read_more.active span.active_text {
	display: block;
}

.wysiwig_content .read_more_text p:last-child {
	margin-bottom:0;
}

/*------------------------------------------------------
CUSTOM FORM
------------------------------------------------------*/

.form_outer {
	-ms-grid-columns: 6 / 13;
	grid-column:6 / 13;
	padding-bottom:60px;
}

body.single-form .form_outer {
	-ms-grid-columns: 1 / 10;
	grid-column:1 / 10;
}

#overlay.has_form .form_outer {
	-ms-grid-columns: 1 / 13;
	grid-column:1 / 13;
}

.custom_form .form_row {
	margin-bottom:20px;
}

.custom_form .form_row select {
	width:100%;
	padding:10px 10px 6px 10px;
}

.custom_form .success_message {
	display:none;
	color:green;
	margin-top:20px;
}

.matter-checkbox > input + span {
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
}

.custom_form input.send_form {
	background:#000;
	color:#fff;
	border:none 0;
	padding:10px 80px;
	cursor:pointer;
	font-family: 'Helvetica Neue STD Bold';
	border:1px solid transparent;
	-webkit-transition:all 0.4s var(--easing);
	transition:all 0.4s var(--easing);
}

body.no_touch .custom_form input.send_form:hover {
	background:#fff;
	color:#000;
	border:1px solid #000;
}

/* Datetime Picker */

.xdsoft_datetimepicker {
    background: #fff !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    font-family: Arial, sans-serif;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default, 
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
    background: #000 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover {
    background: #ccc !important;
    color: #000 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled {
    opacity: 0.2;
    background: #eee !important;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
	background:#000 !important;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
	background: #000;
  	box-shadow: none;
}

button.xdsoft_today_button {
	display:none !important;
}

.xdsoft_scrollbar {
	width:2px !important;
}

/*------------------------------------------------------
SLIDE-IN
------------------------------------------------------*/

.slide_in {
	opacity:0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	/*
	-ms-transform: scale(0.9);
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	*/
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.8s var(--easing) 0.1s, opacity 0.8s var(--easing) 0.1s;
	transition: transform 0.8s var(--easing) 0.1s, opacity 0.8s var(--easing) 0.1s;
}

.slide_in.come-in {
	opacity:1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	/*
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	*/
}

/*------------------------------------------------------
MAX WIDTH
------------------------------------------------------*/

@media (min-width: 1600px) {
	.outer_main_section,
	.flexible_content,
	.detail_title {
		max-width:1600px;
		width:100%;
		margin-left:auto !important;
		margin-right:auto !important;
	}
	.event_preview {
		margin-left:0 !important;
		margin-right:0 !important;
	}
	header .site_title {
		max-width:1600px;
		margin-left:auto;
		margin-right:auto;
	}
}

/*------------------------------------------------------
OVERLAY
------------------------------------------------------*/

#overlay {
	display:none;
	position:fixed;
	top:var(--offset);
	right:0;
	bottom:0;
	left:0;
	padding-left:var(--offset);
	padding-right:var(--offset);
	z-index:1000;
	pointer-events:none;
	-webkit-transform: translateX(100vw);
	transform: translateX(100vw);
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
}

#overlay.show {
	-webkit-transform: translateX(0px);
	transform: translateX(0px);
}

#overlay a.close_overlay,
a.close_nav {
	cursor:pointer;
	position:fixed;
	z-index:1000;
	right:10px;
	top:20px;
	width:50px;
	height:50px;
	background:url('images/close_icon.svg') no-repeat center center;
	background-size:24px 24px;
	backdrop-filter: blur(20px);
	border-radius:50%;
	pointer-events:all;
}

#overlay a.close_overlay {
	right:initial;
	top:0;
	left:30px;
	opacity:0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	-webkit-transition: -webkit-transform 0.4s var(--easing), opacity 0.4s var(--easing);
	transition: transform 0.4s var(--easing), opacity 0.4s var(--easing);
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}

#overlay.show a.close_overlay {
	opacity:1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

#overlay .inside_overlay {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(var(--columns), 1fr);
	align-items: start;
	height:100%;
}

#overlay .inside_overlay .overlay_content {
	-ms-grid-columns: 2 / 13;
	grid-column:2 / 13;
	padding-top:var(--offset);
	background:#fff;
	margin-left:var(--offset-minus);
	padding-left:var(--offset);
	height:100%;
	height: -moz-calc(100% - var(--offset));
	height: -webkit-calc(100% - var(--offset));
	height: -o-calc(100% - var(--offset));
	height: calc(100% - var(--offset));
	margin-right:var(--offset-minus);
	padding-right:var(--offset);
	overflow:auto;
	overflow-x:hidden;
	scrollbar-width: none;
	pointer-events:all;
}

#overlay.has_form .inside_overlay .overlay_content {
	-ms-grid-columns: 4 / 13;
	grid-column:4 / 13;
}

#overlay .inside_overlay .overlay_content::-webkit-scrollbar {
    display: none;
}

#overlay .inside_overlay .overlay_content .overlay_content_inside {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(11, 1fr);
	align-items: start;
	height:auto;
	position:relative;
}

.overlay_bg {
	display:none;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:transparent;
	z-index:999;
	cursor:pointer;
}

/*------------------------------------------------------
GRID
------------------------------------------------------*/

.grid {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(var(--columns), 1fr);
	align-items: start;
}

.full_columns,
#overlay .detail_page,
#overlay footer {
	-ms-grid-columns: 1 / 13;
	grid-column:1 / 13;
}

/*------------------------------------------------------
INTRO
------------------------------------------------------*/

.intro {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index:1000;
	background:#fff;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.intro.hide {
	-webkit-transform: translateY(calc((var(--vh, 1vh) * 100) - 70px));
	transform: translateY(calc((var(--vh, 1vh) * 100) - 70px));
}

.intro .logo {
	opacity:0;
	color:transparent;
	background:url('images/logo_tj.svg') no-repeat top left;
	background-size:contain;
	filter: drop-shadow(0 0 2px rgba(0,0,0,0.1));
	-webkit-transition:opacity 0.8s var(--easing);
	transition:opacity 0.8s var(--easing);
}

.intro.hide .logo {
	display:none;
}

.intro.show .logo {
	opacity:1;
}

/*
.intro.hide .logo {
	display:none;
}
*/

/*------------------------------------------------------
HEADER
------------------------------------------------------*/

header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:70px;
	background:#fff;
	z-index:100;
}

body.home header {
	position:absolute;
	margin-top: -moz-calc((var(--vh, 1vh) * 100) - 70px);
	margin-top: -webkit-calc((var(--vh, 1vh) * 100) - 70px);
	margin-top: -o-calc((var(--vh, 1vh) * 100) - 70px);
	margin-top: calc((var(--vh, 1vh) * 100) - 70px);
}

header a.home_logo {
	position:absolute;
	bottom:20px;
	background:url('images/logo_tj.svg') no-repeat top left;
	background-size:contain;
	left:var(--offset);
	color:transparent !important;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
	filter: drop-shadow(0 0 2px rgba(0,0,0,0.1));
}

header .site_title {
	opacity:0;
	position:absolute;
	bottom:18px;
	left:250px;
	right:250px;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none; 
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	color:var(--color_grey);
}

body.home header .site_title {
	display:none;
}

body.no_touch header a.home_logo:hover {
	-ms-transform: scale(1.05);
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
	color:var(--color_red);
}

header.intro_anim a.home_logo,
header.intro_anim ul.lang_switch li,
header.intro_anim .hamburger {
	opacity:0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	-webkit-transition: -webkit-transform 0.5s var(--easing), opacity 0.5s var(--easing);
	transition: transform 0.5s var(--easing), opacity 0.5s var(--easing);
}

header.intro_anim.show a.home_logo,
header.intro_anim.show ul.lang_switch li,
header.intro_anim.show .hamburger {
	opacity:1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

header.intro_anim.show ul.lang_switch li:nth-child(1) {
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}

header.intro_anim.show ul.lang_switch li:nth-child(2) {
	-webkit-transition-delay: 0.15s;
	transition-delay: 0.15s;
}

header.intro_anim.show ul.lang_switch li:nth-child(3) {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

header.intro_anim.show .hamburger {
	-webkit-transition-delay: 0.25s;
	transition-delay: 0.25s;
}

header ul.lang_switch {
	list-style:none;
	position:absolute;
	right:80px;
	bottom:19px;
	white-space: nowrap;
}

header ul.lang_switch li {
	display:inline-block;
	margin-right:17px;
}

header .hamburger {
	position:absolute;
	right:var(--offset);
	bottom:28px;
	width:25px;
	height:19px;
}

header .hamburger span {
	display:block;
	position:absolute;
	top:0;
	height:3px;
	background:var(--font_color);
	left:0;
	width:25px;
	-webkit-transition:top 0.4s var(--easing);
	transition:top 0.4s var(--easing);
}

body.no_touch header .hamburger.inactive:hover span.line_1 {
	top:2px;
}

body.no_touch header .hamburger.inactive:hover span.line_3 {
	top:14px;
} 

header .hamburger span.line_2 {
	top:50%;
	margin-top:-2px;
}

header .hamburger span.line_3 {
	top:16px;
}

header .logo_byline {
	position:fixed;
	top:60px;
	left:var(--offset);
}

body.home header .logo_byline {
	position:absolute;
}

/*------------------------------------------------------
NAVIGATION
------------------------------------------------------*/

nav {
	display:none;
	position:fixed;
	top:var(--offset);
	right:0;
	bottom:0;
	left:0;
	padding-left:var(--offset);
	padding-right:var(--offset);
	z-index:1000;
	-webkit-transform: translateY(calc(var(--vh, 1vh) * 100));
	transform: translateY(calc(var(--vh, 1vh) * 100));
	-webkit-transition: -webkit-transform 0.7s var(--easing);
	transition: transform 0.7s var(--easing);
}

nav.show {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.content_nav .column_left a,
ul.nav-menu li,
nav a.call_to_action,
nav .bottom_section {
	opacity:0;
	display:table;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	-webkit-transition: -webkit-transform 0.5s var(--easing), opacity 0.5s var(--easing), color 0.4s var(--easing), padding 0.4s var(--easing);
	transition: transform 0.5s var(--easing), opacity 0.5s var(--easing), color 0.4s var(--easing), padding 0.4s var(--easing);
}

ul.nav-menu li a {
	white-space: nowrap;
	-webkit-transition:padding 0.4s var(--easing);
	transition:padding 0.4s var(--easing);
}

body.no_touch ul.nav-menu li a:hover,
body.no_touch .content_nav .column_left a:hover {
	padding-left:1vw;
}

nav.show .content_nav .column_left a,
nav.show ul.nav-menu li,
nav.show a.call_to_action,
nav.show .bottom_section {
	opacity:1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

nav.show:not(.done) .content_nav .column_left a,
nav.show:not(.done) ul.nav-menu li,
nav.show:not(.done) a.call_to_action {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}

nav.show:not(.done) .content_nav .column_left h2:nth-child(2n),
nav.show:not(.done) ul.nav-menu li:nth-child(2) {
	-webkit-transition-delay: 0.55s;
	transition-delay: 0.55s;
}

nav.show:not(.done) ul.nav-menu li:nth-child(3) {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}

nav.show:not(.done) ul.nav-menu li:nth-child(4) {
	-webkit-transition-delay: 0.65s;
	transition-delay: 0.65s;
}

nav.show:not(.done) ul.nav-menu li:nth-child(5) {
	-webkit-transition-delay: 0.7s;
	transition-delay: 0.7s;
}

nav.show:not(.done) ul.nav-menu li:nth-child(6),
nav.show:not(.done) a.call_to_action {
	-webkit-transition-delay: 0.75s;
	transition-delay: 0.75s;
}

nav.show:not(.done) .bottom_section {
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s;
}

nav .inside_nav {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(var(--columns), 1fr);
	align-items: start;
	height:100%;
}

nav .inside_nav li.current-menu-item a,
nav .column_left a.active {
	color:var(--color_grey);
}

.content_nav {
	position:relative;
	-ms-grid-columns: 2 / 13;
	grid-column:2 / 13;
	padding-top:var(--offset);
	background:#fff;
	margin-left:var(--offset-minus);
	padding-left:var(--offset);
	height:100%;
	height: -moz-calc(100% - var(--offset));
	height: -webkit-calc(100% - var(--offset));
	height: -o-calc(100% - var(--offset));
	height: calc(100% - var(--offset));
	margin-right:var(--offset-minus);
	padding-right:var(--offset);
	overflow:auto;
	scrollbar-width: none;
}

.content_nav ::-webkit-scrollbar {
    display: none;
}

.inside_content_nav {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(11, 1fr);
	align-items: start;
	height:auto;
	position:relative;
}

.content_nav .column_left {
	-ms-grid-columns: 1 / 5;
	grid-column:1 / 5;
	height:100%;
}

.content_nav .column_right {
	-ms-grid-columns: 5 / 12;
	grid-column:5 / 12;
}


nav .socials {
	-ms-grid-columns: 1 / 12;
	grid-column:1 / 12;
	margin-top:50px;
}

.socials a {
	display:inline-block;
	width:38px;
	height:38px;
	background:url('images/icon_instagram.svg') no-repeat center center;
	background-size:100% 100%;
	text-indent:-100000px;
	margin-right:var(--offset);
	transform: rotate(0deg);
	-webkit-transform: -webkit-rotate(0deg);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.4s var(--easing), opacity 0.4s var(--easing);
	transition: transform 0.4s var(--easing), opacity 0.4s var(--easing);
}

footer .socials a {
	float:left;
}

body.no_touch .socials a:hover {
	transform: rotate(20deg);
	-webkit-transform: -webkit-rotate(20deg);
}

.socials a:last-child {
	margin-right:0;
}

.socials a.insta {
	background:url('images/icon_instagram.svg') no-repeat center center;
	background-size:100% auto;
}

.socials a.linkedin {
	background:url('images/icon_linkedin.svg') no-repeat center center;
	background-size:100% auto;
}

ul.nav-menu {
	list-style:none;
}

header,
main,
footer {
	-webkit-transition:filter 0.3s var(--easing) 0.1s;
	transition:filter 0.3s var(--easing) 0.1s;
}

header.is_blur,
main.is_blur,
footer.is_blur {
	filter:blur(30px);
}

#overlay footer.is_blur {
	filter:none !important;
}

#overlay footer {
	opacity:0;
	-webkit-transition:opacity 0.3s var(--easing);
	transition:opacity 0.3s var(--easing);
}

#overlay footer.show {
	opacity:1;
}

#overlay.has_form footer {
	display:none !important;
}

header.is_blur {
	z-index:1 !important;
}

nav a.call_to_action {
	position:absolute;
	left:0;
	bottom:23px;
}

nav .mobile_only {
	display:none;
}

nav .bottom_section {
	position:absolute;
	bottom:20px;
	left:20px;
}

nav .bottom_section ul {
	list-style:none;
	margin-top:50px;
}

nav .bottom_section ul li {
	display: inline-block;
	margin-right: var(--offset);
}

/*------------------------------------------------------
HOME
------------------------------------------------------*/

.home_intro {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	z-index:-1;
}

.home_intro,
.scroll_section .spacer,
.home_intro .swiper.swiper_home .swiper-slide {
	height: -moz-calc((var(--vh, 1vh) * 100) - 70px);
	height: -webkit-calc((var(--vh, 1vh) * 100) - 70px);
	height: -o-calc((var(--vh, 1vh) * 100) - 70px);
	height: calc((var(--vh, 1vh) * 100) - 70px);
}

.home_intro .swiper.swiper_home {
	width:100%;
	height:100%;
}

.home_intro .swiper.swiper_home .swiper-slide {
	width:100vw;
}

.home_intro .swiper.swiper_home .swiper-slide img,
.home_intro .swiper.swiper_home .swiper-slide video {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position: center center;
}

.scroll_section .spacer {
	background:transparent;
	cursor:pointer;
	width:100%;
}

.inside_scroll_section {
	background:#fff;
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	padding-left:var(--offset);
	padding-right:var(--offset);
}

.outer_main_section {
	position:relative;
}

.main_sections {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

.main_sections img,
.main_sections .focal_image {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-position:center center;
	object-fit:cover;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
}

body.no_touch .main_sections a:hover img,
body.no_touch .main_sections a.active_rollover img,
body.no_touch .main_sections a.active_rollover .focal_image {
	-ms-transform: scale(0.97);
	-webkit-transform: scale(0.97);
	transform: scale(0.97);
}

.main_sections {
	padding-top:150px;
}

.main_sections .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	margin-bottom:15px;
}

/* Sticky Title */

.column_left_main_section_sticky,
.column_right_main_section_sticky,
.flexible_content > h2,
.business_home_listing h2  {
	position:sticky;
	padding-top:0;
	top:70px;
	z-index:100;
	background:#fff;
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	padding-left:var(--offset);
	padding-right:var(--offset);
	padding-top:10px;
}

#overlay .column_left_main_section_sticky,
#overlay .column_right_main_section_sticky,
#overlay .flexible_content > h2,
#overlay .business_home_listing h2 {
	top:var(--offset-minus);
	padding-top:10px;
}


.column_left_main_section_sticky a,
.column_right_main_section_sticky a,
.flexible_content > h2 > a {
	display:table;
	-webkit-transition:padding 0.4s var(--easing);
	transition:padding 0.4s var(--easing);
}

body.no_touch .column_left_main_section_sticky a:hover,
body.no_touch .column_right_main_section_sticky a:hover,
body.no_touch .column_left_main_section_sticky a.active_rollover,
body.no_touch .column_right_main_section_sticky a.active_rollover,
body.no_touch .flexible_content > h2 > a:hover {
	padding-left:1vw;
	color:var(--color_grey);
}

.flexible_content.bg_dark > h2 {
	background:#000;
}

.flexible_content.bg_light > h2 {
	background:#F3F3F3;
}

.column_left_main_section_sticky {
	-ms-grid-columns: 1 / 7;
	grid-column:1 / 7;
}

.column_right_main_section_sticky {
	-ms-grid-columns: 7 / 13;
	grid-column:7 / 13;
}

.outer_main_section .flexible_content_einleitungstext {
	padding-top:55px;
}

/*------------------------------------------------------
PAGE DEFAULT
------------------------------------------------------*/

.page_default {
	padding-top:150px;
}

#overlay .page_default {
	padding-top:10px;
}

/*------------------------------------------------------
FLEXIBLE CONTENT
------------------------------------------------------*/

.flexible_content,
.outer_main_section,
.flexible_content_dienstleistungen .text_row {
	margin-bottom:80px;
}

.flexible_content .flexible_content.flexible_content_legende {
	margin-bottom:0 !important;
}

.flexible_content .flexible_content.flexible_content_legende.flexible_content_bild_size_xl p {
	max-width:50%;
	width:50%;
}

body.home .flexible_content:not(:has(~ .flexible_content)) {
	padding-bottom:80px;
	margin-bottom:0;
}

.flexible_content > h2 {
	margin-bottom:20px;
}

.flexible_content p:last-child {
	margin-bottom:0;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - STOERER
------------------------------------------------------*/

.flexible_content_stoerer_sticky {
	opacity:0;
	text-align:right;
	margin-bottom:0 !important;
	height:1px;
	pointer-events:none;
}

.flexible_content_stoerer_sticky.original a {
	opacity:0;
	pointer-events:none;
}

.flexible_content_stoerer_sticky a {
	pointer-events:all;
}

.flexible_content_stoerer_sticky.cloned {
	opacity:1;
	height:auto;
}

.flexible_content_stoerer_sticky.cloned a {
	position:fixed;
	pointer-events:all;
	bottom:var(--offset);
	right:var(--offset);
}

/*------------------------------------------------------
FLEXIBLE CONTENT - ARCHITONIC
------------------------------------------------------*/

.architonic_outer {
	display:block;
	overflow:hidden;
}

#vsr-iframe {
	border: none;
	overflow: hidden;
	overflow-x: hidden;
	overflow-y: hidden;
}

/* Special Topic */

.header-bottom {
	display:none !important;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - BILD + VIDEO
------------------------------------------------------*/

/* Legende */

.flexible_content_legende {
	-ms-grid-columns: 1 / 7;
	grid-column:1 / 7;
	margin-top:10px;
	margin-bottom:50px;
}

.flexible_content_legende.align_zentriert {
	-ms-grid-columns: 4 / 10;
	grid-column:4 / 10;
}

.flexible_content_legende.align_rechts {
	-ms-grid-columns: 7 / 13;
	grid-column:7 / 13;
}

/* S */

.flexible_content_bild.flexible_content_bild_size_s,
.flexible_content_bild.flexible_content_video_size_s,
.flexible_content_bild.flexible_content_bild_size_s.align_links,
.flexible_content_bild.flexible_content_video_size_s.align_links,
.flexible_content_legende.flexible_content_bild_size_s.align_links,
.flexible_content_legende.flexible_content_video_size_s.align_links {
	-ms-grid-columns: 1 / 4;
	grid-column:1 / 4;
}

.flexible_content_bild.flexible_content_bild_size_s.align_zentriert,
.flexible_content_bild.flexible_content_video_size_s.align_zentriert,
.flexible_content_legende.flexible_content_bild_size_s.align_zentriert,
.flexible_content_legende.flexible_content_video_size_s.align_zentriert {
	-ms-grid-columns: 6 / 10;
	grid-column:6 / 10;
}

.flexible_content_bild.flexible_content_bild_size_s.align_rechts,
.flexible_content_bild.flexible_content_video_size_s.align_rechts,
.flexible_content_legende.flexible_content_bild_size_s.align_rechts,
.flexible_content_legende.flexible_content_video_size_s.align_rechts {
	-ms-grid-columns: 9 / 13;
	grid-column:9 / 13;
}

.flexible_content_bild.flexible_content_bild_size_m,
.flexible_content_bild.flexible_content_video_size_m,
.flexible_content_bild.flexible_content_bild_size_m.align_links,
.flexible_content_bild.flexible_content_video_size_m.align_links,
.flexible_content_legende.flexible_content_bild_size_m.align_links,
.flexible_content_legende.flexible_content_video_size_m.align_links {
	-ms-grid-columns: 1 / 7;
	grid-column:1 / 7;
}

.flexible_content_bild.flexible_content_bild_size_m.align_zentriert,
.flexible_content_bild.flexible_content_video_size_m.align_zentriert,
.flexible_content_legende.flexible_content_bild_size_m.align_zentriert,
.flexible_content_legende.flexible_content_video_size_m.align_zentriert {
	-ms-grid-columns: 4 / 10;
	grid-column:4 / 10;
}

.flexible_content_bild.flexible_content_bild_size_m.align_rechts,
.flexible_content_bild.flexible_content_video_size_m.align_rechts,
.flexible_content_legende.flexible_content_bild_size_m.align_rechts,
.flexible_content_legende.flexible_content_video_size_m.align_rechts {
	-ms-grid-columns: 7 / 13;
	grid-column:7 / 13;
}

.flexible_content_bild img,
.flexible_content_video video,
.flexible_content_bild .focal_image {
	width:100%;
	height:auto;
	object-fit:cover;
	object-position:center center;
}

.flexible_content_bild .focal_image {
	height:100%;
}

.flexible_content_bild .format_3_1,
.flexible_content_video .format_3_1,
.flexible_content_bild .format_16_9,
.flexible_content_video .format_16_9 {
	aspect-ratio:3 / 1.2;
}

.flexible_content_bild img.format_3_2,
.flexible_content_bild .format_3_2,
.flexible_content_video video.format_3_2 {
	aspect-ratio:3 / 2;
}

.flexible_content_bild img.format_2_3,
.flexible_content_bild .format_2_3,
.flexible_content_video video.format_2_3 {
	aspect-ratio:4 / 5;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - EINLEITUNGSTEXT
------------------------------------------------------*/

.flexible_content_einleitungstext,
.flexible_content_text_und_bild_1_spaltig .text_row,
.flexible_content_dienstleistungen .text_row {
	-ms-grid-columns: 2 / 12;
	grid-column:2 / 12;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - TEXT
------------------------------------------------------*/

.flexible_content_text .wysiwig_content {
	width:70%;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - TEXT 2 COLUMNS
------------------------------------------------------*/

.flexible_content_text_2_columns {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - HAUPTTITEL
------------------------------------------------------*/

.flexible_content_haupttitel h2 {
	display:block;
}

.grid > .flexible_content_haupttitel {
	margin-bottom:0;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - TEXT + BILD 1 + 2-SPALTIG
------------------------------------------------------*/

.flexible_content_text_und_bild_1_spaltig,
.flexible_content_text_und_bild_2_spaltig {
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	padding-left:var(--offset);
	padding-right:var(--offset);
}

.flexible_content_text_und_bild_2_spaltig.load_more_hidden {
	display:none;
}

.flexible_content_text_und_bild_1_spaltig.bg_light,
.flexible_content_text_und_bild_1_spaltig.bg_dark,
.flexible_content_text_und_bild_2_spaltig.bg_light,
.flexible_content_text_und_bild_2_spaltig.bg_dark {
	padding-top: -moz-calc(var(--offset) * 2);
	padding-top: -webkit-calc(var(--offset) * 2);
	padding-top: -o-calc(var(--offset) * 2);
	padding-top: calc(var(--offset) * 2);
	padding-bottom: -moz-calc(var(--offset) * 2);
	padding-bottom: -webkit-calc(var(--offset) * 2);
	padding-bottom: -o-calc(var(--offset) * 2);
	padding-bottom: calc(var(--offset) * 2);
}

.flexible_content_text_und_bild_1_spaltig.bg_light,
.flexible_content_text_und_bild_2_spaltig.bg_light {
	background:#F3F3F3;
}

.flexible_content_text_und_bild_1_spaltig.bg_light .call_to_action,
.flexible_content_text_und_bild_2_spaltig.bg_light .call_to_action {
	background:#F3F3F3;
}

.flexible_content_text_und_bild_1_spaltig.bg_dark,
.flexible_content_text_und_bild_2_spaltig.bg_dark  {
	background:#000;
	color:#fff;
}

.flexible_content_text_und_bild_1_spaltig.bg_dark .call_to_action,
.flexible_content_text_und_bild_2_spaltig.bg_dark .call_to_action {
	background:#000;
	border-color:var(--color_grey);
}

.flexible_content_text_und_bild_1_spaltig.bg_dark a,
.flexible_content_text_und_bild_2_spaltig.bg_dark a {
	color:#fff;
}

.flexible_content_text_und_bild_1_spaltig h2,
.flexible_content_text_und_bild_2_spaltig h2 {
	margin-bottom:30px;
}

.two_columns {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

.swiper_case_study .two_columns {
	grid-template-columns: 60% 1fr;
	margin-bottom:0 !important;
}

.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_left,
.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_right {
	grid-row:1 / 1;
}

.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_left {
    grid-column: 2; 
}

.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_right {
    grid-column: 1;
}

.two_columns img,
.two_columns video,
.two_columns .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:contain;
}

.two_columns h4 {
	width:85%;
	color:var(--font_color);
	margin-bottom:10px;
	/*
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 2;
	hyphenate-limit-last: always;
	*/
}

.flexible_content_text_und_bild_2_spaltig.bg_dark .two_columns h4 {
	color:#fff;
}

.flexible_content_text_und_bild_1_spaltig .media_row,
.flexible_content_dienstleistungen .media_row {
	aspect-ratio:3 / 1.2;
}

.flexible_content_text_und_bild_1_spaltig .media_row img,
.flexible_content_dienstleistungen .media_row img {
	width:100%;
	height:100%;
	object-fit:cover;
}

.two_columns img,
.two_columns video {
	width:100%;
	height:100%;
	object-fit:cover;
	aspect-ratio:3 / 2;
}

.two_columns img.originalformat,
.two_columns video.originalformat {
	height:auto;
	object-fit:contain;
	aspect-ratio: unset;
}

.flexible_content_text_und_bild_1_spaltig .text_row,
.flexible_content_dienstleistungen .text_row {
	padding-top:80px;
}

.flexible_content_text_und_bild_1_spaltig .call_to_action {
	margin-bottom:var(--offset);
}

.flexible_content_text_und_galerie_2_spaltig .column_right {
	overflow:hidden;
}

.load_more_outer {
	text-align:center;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - PROJECT LISTING - 2 COLUMNS
------------------------------------------------------*/

.project_listing.columns_2,
.business_home_listing.columns_2 {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

.project_listing.columns_2 .focal_image,
.business_home_listing.columns_2 .focal_image,
.main_sections .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	object-position:center center;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
}

body.no_touch .project_listing.columns_2 a:hover .focal_image,
body.no_touch .business_home_listing.columns_2 a:hover .focal_image,
body.no_touch .main_sections a:hover .focal_image {
	-ms-transform: scale(0.97);
	-webkit-transform: scale(0.97);
	transform: scale(0.97);
}

.project_listing.columns_2 a,
.business_home_listing.columns_2 a {
	display:block;
	margin-bottom:var(--offset);
}

.project_listing_preview_text,
.business_home_listing.columns_2 .project_listing_preview_text {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin-top:5px;
	-webkit-transition:padding 0.4s var(--easing);
	transition:padding 0.4s var(--easing);
}

body.no_touch .project_listing.columns_2 a:hover .project_listing_preview_text,
body.no_touch .business_home_listing.columns_2 a:hover .project_listing_preview_text {
	padding-left:1vw;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - PROJECT LISTING - SLIDESHOW
------------------------------------------------------*/

.project_slideshow .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 1.2;
	object-fit:cover;
	object-position:center center;
}

.project_slideshow .swiper-slide {
	background:#fff;
}

.project_slideshow .swiper-slide h2 {
	padding-top:15px;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - DIENSTLEISTUNGEN + JOURNAL
------------------------------------------------------*/

.swiper_service,
.swiper_journal,
.swiper_team,
.swiper_case_study {
	margin-bottom:80px;
	overflow:initial;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none; 
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.flexible_content_dienstleistungen .two_columns,
.flexible_content_case_study .two_columns {
	margin-bottom:60px;
}

.swiper_service .swiper-slide,
.swiper_journal .swiper-slide,
.swiper_case_study .swiper-slide {
	border:2px solid var(--font_color);
	margin-right:25px;
	padding:30px;
	width:80vw;
	height:480px;
	aspect-ratio:3 / 2;
}

.swiper_case_study .swiper-slide {
	border:none 0;
	height:auto;
	width:700px;
	aspect-ratio:auto;
}

.swiper_service .swiper-slide .column_left,
.swiper_service .swiper-slide .column_right,
.swiper_journal .swiper-slide .column_left,
.swiper_journal .swiper-slide .column_right {
	width:50%;
	float:left;
}

.swiper_service .swiper-slide .column_right,
.swiper_journal .swiper-slide .column_right {
	height:100%;
}

.swiper_service .swiper-slide .column_left,
.swiper_journal .swiper-slide .column_left {
	overflow:auto;
	height:100%;
	scrollbar-width: none;
}

.swiper_service .swiper-slide .column_left::-webkit-scrollbar,
.swiper_journal.swiper-slide .column_left::-webkit-scrollbar {
    display: none;
}

.swiper_service .swiper-slide .column_left .inside_column_left,
.swiper_journal .swiper-slide .column_left .inside_column_left {
	padding:0 20px 20px 20px;
}

.swiper_service .swiper-slide .column_left h4,
.swiper_journal .swiper-slide.article_type_veranstaltung .column_left h4 {
	margin-top:0;
	margin-bottom:8px;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 2;
	hyphenate-limit-last: always;
}

.swiper_service .swiper-slide .column_right img,
.swiper_journal .swiper-slide .column_right img,
.swiper_service .swiper-slide .column_right .focal_image,
.swiper_journal .swiper-slide .column_right .focal_image {
	width:100%;
	height:100%;
	object-fit:cover;
}

.swiper-horizontal >.swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom, 
.swiper-pagination-fraction {
	bottom:-50px;
}

.swiper-pagination-bullet {
	width:16px;
	height:16px;
	background:var(--font_color);
	opacity:1;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	border:2px solid #7E7E7E;
	width:8px;
	height:8px;
}

.swiper-button-next, .swiper-button-prev {
	top:initial;
	bottom:-40px;
}

.swiper-button-next,
.swiper-button-prev {
	background-size:26px 23px;
	width:26px;
	height:23px;
}

.swiper-button-next {
	background:url('images/slider_arrow_right.svg') no-repeat center center;
	background-size:100% auto;
	right:0;
}

.swiper-button-prev {
	background:url('images/slider_arrow_left.svg') no-repeat center center;
	background-size:100% auto;
	left:0;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
	display:none;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - GALLERY
------------------------------------------------------*/

.swiper_gallery {
	margin-bottom:80px;
	overflow:initial;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none; 
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.swiper_gallery .swiper-slide {
	display:block;
	width:auto;
	margin-right:25px;
}

.swiper_gallery .swiper-slide,
.swiper_gallery .swiper-slide img {
	height:540px;
}

.swiper_gallery.legend_legende_pro_bild .swiper-slide {
	padding-bottom:30px;
}

.swiper_gallery .swiper-slide img {
	display:block;
	width:auto;
}

.swiper_gallery .image_legend {
	padding:10px 0 40px 0;
}

.two_columns .swiper_gallery .swiper-slide,
.two_columns .swiper_gallery .swiper-slide img {
	height:24vw;
}


/* Masonry */

.masonry_gallery {
	margin-left: -moz-calc(var(--gap_minus) / 2);
	margin-left: -webkit-calc(var(--gap_minus) / 2);
	margin-left: -o-calc(var(--gap_minus) / 2);
	margin-left: calc(var(--gap_minus) / 2);
	margin-right: -moz-calc(var(--gap_minus) / 2);
	margin-right: -webkit-calc(var(--gap_minus) / 2);
	margin-right: -o-calc(var(--gap_minus) / 2);
	margin-right: calc(var(--gap_minus) / 2);
}

.masonry_gallery .masonry_item {
	display:inline-block;
	width: -moz-calc(16.66% - var(--gap));
	width: -webkit-calc(16.66% - var(--gap));
	width: -o-calc(16.66% - var(--gap));
	width: calc(16.66% - var(--gap));
	margin-left: -moz-calc(var(--gap) / 2);
	margin-left -webkit-calc(var(--gap) / 2);
	margin-left: -o-calc(var(--gap) / 2);
	margin-left: calc(var(--gap) / 2);
	margin-right: -moz-calc(var(--gap) / 2);
	margin-right: -webkit-calc(var(--gap) / 2);
	margin-right: -o-calc(var(--gap) / 2);
	margin-right: calc(var(--gap) / 2);
	margin-bottom:var(--gap);
}

.masonry_gallery .masonry_item.grid-sizer {
	opacity:0;
}

.masonry_gallery .masonry_item img {
	width:100%;
	height:auto;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - EVENTS
------------------------------------------------------*/

.event_preview {
	display:block;
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	background:var(--font_color);
	padding:27px var(--offset);
	color:#fff;
	margin:0 var(--offset-minus) var(--gap) var(--offset-minus);
}

/*------------------------------------------------------
FLEXIBLE CONTENT - JOURNAL
------------------------------------------------------*/

.masonry_journal {
	margin-left: -moz-calc(var(--gap_minus) / 2);
	margin-left: -webkit-calc(var(--gap_minus) / 2);
	margin-left: -o-calc(var(--gap_minus) / 2);
	margin-left: calc(var(--gap_minus) / 2);
	margin-right: -moz-calc(var(--gap_minus) / 2);
	margin-right: -webkit-calc(var(--gap_minus) / 2);
	margin-right: -o-calc(var(--gap_minus) / 2);
	margin-right: calc(var(--gap_minus) / 2);
}

.masonry_journal .masonry_item {
	display:inline-block;
	width: -moz-calc(50% - var(--gap) - 8px);
	width: -webkit-calc(50% - var(--gap) - 8px);
	width: -o-calc(50% - var(--gap) - 8px);
	width: calc(50% - var(--gap) - 8px);
	margin-left: -moz-calc(var(--gap) / 2);
	margin-left: -webkit-calc(var(--gap) / 2);
	margin-left: -o-calc(var(--gap) / 2);
	margin-left: calc(var(--gap) / 2);
	margin-right: -moz-calc(var(--gap) / 2);
	margin-right: -webkit-calc(var(--gap) / 2);
	margin-right: -o-calc(var(--gap) / 2);
	margin-right: calc(var(--gap) / 2);
	margin-bottom:var(--gap);
	border:2px solid var(--font_color);
}

.masonry_journal .masonry_item.grid-sizer {
	opacity:0;
}

.masonry_journal .masonry_item img {
	width:100%;
	height:auto;
}

body.no_touch .article_type_artikel:hover,
.article_type_veranstaltung {
	background:var(--font_color);
	color:#fff;
	-webkit-transition:background 0.4s var(--easing), color 0.4s var(--easing);
	transition:background 0.4s var(--easing), color 0.4s var(--easing);
}

.article_type_artikel,
body.no_touch .article_type_veranstaltung:hover {
	background:#fff;
	color:var(--font_color);
}

.masonry_journal .masonry_item.has_image .column_left,
.masonry_journal .masonry_item.has_image .column_right {
	width:50%;
	float:left;
}

.masonry_journal .masonry_item.has_image .column_right {
	width:50%;
	float:left;
	position:absolute;
	bottom:0;
	right:0;
	top:0;
}

.masonry_journal .masonry_item.has_image .column_right .focal_image {
	object-fit:cover;
	height:100%;
	height:100%;
}

.masonry_journal .masonry_item .column_left .inside_column_left {
	padding:20px;
}

.masonry_journal .masonry_item .column_left {
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 2;
	hyphenate-limit-last: always;
}

.masonry_journal h4 {
	text-transform:uppercase;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - KOMPETENZEN BUTTONS
------------------------------------------------------*/

.kompetenzen_buttons {
	display:block;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;

}

.kompetenzen_buttons a.call_to_action {
	display:block;
	margin-top:10px;
	background:#fff;
	color:var(--font_color);
	border-color:var(--font_color);
	text-transform:uppercase;
	margin-bottom:10px;
	text-align:center;
}

.kompetenzen_buttons a.call_to_action:after {
	background:var(--font_color);
}

body.no_touch .kompetenzen_buttons a.call_to_action:hover {
	color:#fff;
	border-color:#fff;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - LOGO LISTING
------------------------------------------------------*/

.logo_listing {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(4, 1fr);
	align-items: start;
}

.logo_listing .logo_box {
	margin-bottom:var(--gap);
}

.logo_listing .logo_box.hidden {
	display:none;
}

.logo_listing .logo_box,
.logo_listing .logo_box a {
	aspect-ratio:3 / 2;
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.logo_listing .logo_box img {
	width:100%;
	height:100%;
	object-fit:contain;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - QUICKLINKS
------------------------------------------------------*/

.flexible_content_quick_links.quick_inks_layout_liste a {
	display:table;
}

.flexible_content_quick_links.quick_inks_layout_button {
	text-align:center;
}

.flexible_content_quick_links a.call_to_action {
	margin-top:0;
	margin-bottom:10px;
}


/*------------------------------------------------------
FLEXIBLE CONTENT - TEAM
------------------------------------------------------*/

.team_list_view {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
}

.team_member h5 {
	margin-top:15px;
}

.team_member .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:4 / 5;
	object-fit:cover;
}

.team_member {
	margin-bottom:50px;
}

.swiper .team_member {
	margin-bottom:0;
}

.team_single_view .team_member_single {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(var(--columns), 1fr);
	align-items: start;
}

.team_single_view .team_member_single .column_left {
	-ms-grid-columns: 1 / 5;
	grid-column:1 / 5;
}

.team_single_view .team_member_single .column_right {
	-ms-grid-columns: 7 / 13;
	grid-column:7 / 13;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - TEAM SLIDER
------------------------------------------------------*/

.swiper_team .swiper-slide {
	display:block;
	width:15vw !important;
	margin-right:var(--offset);
}

.swiper_team .swiper-slide img {
	width:100%;
	aspect-ratio:4 / 5;
}

/*------------------------------------------------------
STANDORTE
------------------------------------------------------*/

.standorte_overview,
.kompetenzen_images,
.flexible_content_3_columns_inside {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	align-items: start;
	grid-template-columns: repeat(3, 1fr);
}

.standorte_overview.standorte_overview_highlights,
.kompetenzen_images {
	grid-template-columns: repeat(2, 1fr);
}

.standorte_overview .standort_item,
.kompetenzen_images a,
.flexible_content_3_columns_inside a {
	margin-bottom:50px;
}

.standorte_overview .standort_item .focal_image,
.kompetenzen_images a .focal_image,
.flexible_content_3_columns_inside a .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
}

body.no_touch .standorte_overview .standort_item:hover .focal_image,
body.no_touch .kompetenzen_images a:hover .focal_image,
body.no_touch .flexible_content_3_columns_inside a:hover .focal_image {
	-ms-transform: scale(0.97);
	-webkit-transform: scale(0.97);
	transform: scale(0.97);
}

.standorte_overview .standort_item h4,
.kompetenzen_images a h4,
.flexible_content_3_columns_inside a h4 {
	margin-top:15px;
	text-transform:uppercase;
	-webkit-transition:padding 0.4s var(--easing);
	transition:padding 0.4s var(--easing);
}

body.no_touch .standorte_overview .standort_item:hover h4,
body.no_touch .kompetenzen_images a:hover h4,
body.no_touch .flexible_content_3_columns_inside a:hover h4  {
	padding-left:1vw;
} 

/*------------------------------------------------------
STANDORTE MAP
------------------------------------------------------*/

.outer_map {
	position:relative;
	-ms-grid-columns: 3 / 11;
	grid-column:3 / 11;
}

.outer_map img {
	width:100%;
	height:auto;
}

.outer_map a.map_point {
	position:absolute;
	top:0;
	left:0;
}

.outer_map a.map_point span.name {
	font-size:1.2vw;
	line-height:initial !important;
	color:#fff;
	display:block;
	position:absolute;
}

.outer_map a.map_point span.point {
	display:block;
	width:1.3vw;
	height:1.3vw;
	background:#fff;
	border-radius:50%;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing), background 0.4s var(--easing);
	transition: transform 0.5s var(--easing), background 0.4s var(--easing);
}

body.no_touch .outer_map a.map_point:hover span.point {
	background:var(--color_red);
	-ms-transform: scale(1.8);
	-webkit-transform: scale(1.8);
	transform: scale(1.8);
}


.outer_map a.map_point_usm-playlab {
	display:none;
}

/* Bern */

.outer_map a.map_point.map_point_bern,
.outer_map a.map_point.map_point_berne {
	top:43.6%;
	left:33.3%;
}

.outer_map a.map_point span.name {
	text-shadow: 1px 1px 1px #000;
}

.outer_map a.map_point.map_point_bern span.name,
.outer_map a.map_point.map_point_berne span.name {
	display:block;
	position:absolute;
	margin-top:0.1vw;
	margin-left:-0.48vw;
}

/* Biel */

.outer_map a.map_point.map_point_biel,
.outer_map a.map_point.map_point_bienne {
	top:32.6%;
	left:26.3%;
}

.outer_map a.map_point.map_point_biel span.name,
.outer_map a.map_point.map_point_bienne span.name {
	margin-top:0.1vw;
	margin-left:-0.48vw;
}

/* Lausanne */

.outer_map a.map_point.map_point_lausanne {
	top:62.6%;
	left:15.5%;
}

.outer_map a.map_point.map_point_lausanne span.name {
	margin-top:-2.1vw;
	margin-left:-3vw;
}

/* Genft */

.outer_map a.map_point.map_point_geneve-carouge {
	top: 79%;
	left: 3.5%;
}

.outer_map a.map_point.map_point_geneve-carouge span.name {
	margin-top: -0.1vw;
	margin-left: 1vw;
	color: var(--font_color);
	text-shadow: none;
}

/* Winterthur */

.outer_map a.map_point.map_point_winterthur,
.outer_map a.map_point.map_point_winterthour {
	top:13.6%;
	left:60.5%;
}

.outer_map a.map_point.map_point_winterthur span.name,
.outer_map a.map_point.map_point_winterthour span.name {
	margin-top:0.1vw;
	margin-left:-2.6vw;
}

/* Zürich */

.outer_map a.map_point.map_point_zuerich,
.outer_map a.map_point.map_point_zurich {
	top:20.6%;
	left:57.5%;
}

.outer_map a.map_point.map_point_zuerich span.name,
.outer_map a.map_point.map_point_zurich span.name {
	margin-top:0.2vw;
	margin-left:-1.5vw;
}

/* Zug */

.outer_map a.map_point.map_point_zug,
.outer_map a.map_point.map_point_zoug {
	top:31.6%;
	left:56.5%;
}

.outer_map a.map_point.map_point_zug span.name,
.outer_map a.map_point.map_point_zoug span.name {
	margin-top:0.3vw;
	margin-left:0vw;
}

/*------------------------------------------------------
FLEXIBLE CONTENT - GESCHICHTE
------------------------------------------------------*/

.flexible_content_geschichte .images_full {
	height:60vh;
	margin-bottom:20px;
}

.swiper_geschichte {
	margin-bottom:80px;
	overflow:initial;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none; 
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.swiper_geschichte .swiper-slide {
	margin-right:25px;
	padding:30px;
	width:55vw;
}

.swiper_geschichte .swiper-slide .column_left,
.swiper_geschichte .swiper-slide .column_right {
	width:300px;
	float:left;
}

.swiper_geschichte .swiper-slide .column_right {
	width: -moz-calc(100% - 300px);
	width: -webkit-calc(100% - 300px);
	width: -o-calc(100% - 300px);
	width: calc(100% - 300px);
}

.swiper_geschichte .swiper-slide .column_left h2 {
	display:inline-block;
	padding:50px;
	border:2px solid #000;
}

.swiper_geschichte .swiper-slide .column_right {
	/*font-family: 'OCR X Regular';*/
}

.images_full {
	position:relative;
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	height:80vh;
	margin-bottom:50px;
}

.images_full .image_full {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height: 100%;
	object-fit:cover;
	opacity:0;
	-webkit-transition:opacity 2s var(--easing);
	transition:opacity 2s var(--easing);
}

.images_full .image_full.active {
	opacity:1;
}

/*------------------------------------------------------
SINGLE DETAIL
------------------------------------------------------*/

.page_single .detail_header_image {
	margin-bottom:20px;
}

.page_single .detail_title {
	margin-bottom:20px;
}

.page_single .detail_intro {
	-ms-grid-columns: 4 / 11;
	grid-column:4 / 11;
	margin-bottom:50px;
	margin-top:20px;
}

body.single-form .page_single .detail_intro {
	-ms-grid-columns: 1 / 10;
	grid-column:1 / 10;
}

#overlay.has_form .page_single .detail_intro {
	-ms-grid-columns: 1 / 13;
	grid-column:1 / 13;
	margin-bottom:20px;
}

.page_single .detail_intro h3 {
	display:block;
}


/*------------------------------------------------------
FILTER PAGE
------------------------------------------------------*/

.filter_page .filter_element {
	display:none;
}

.filter_page .filter_element.show {
	display:block;
}

.fixed_filter {
	position:sticky;
	bottom:var(--offset);
	text-align:center;
	width: -moz-calc(100vw - (2 * var(--offset)));
	width: -webkit-calc(100vw - (2 * var(--offset)));
	width: -o-calc(100vw - (2 * var(--offset)));
	width: calc(100vw - (2 * var(--offset)));
	margin-bottom:50px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.fixed_filter a.do_filter {
	display:-webkit-inline-flex;
	display:inline-flex;
	margin:5px;
}

.fixed_filter a.do_filter {
	background:#fff;
}

.fixed_filter a.do_filter.active {
	background:var(--font_color) url('images/remove_filter.svg') no-repeat right 5px center;
	background-size:20px auto;
	color:#fff;
	text-align:left;
	padding-right:40px;
}

/*------------------------------------------------------
PRESS OVERVIEW
------------------------------------------------------*/

.page_presse .filter_page {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	padding-bottom:80px;
}

.page_presse .filter_page .filter_element .grid {
	grid-template-columns: repeat(6, 1fr);
}

.page_presse .filter_page .subgrid {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	-ms-grid-columns: 1 / 7;
	grid-column:1 / 7;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	margin-bottom:var(--offset);
}

.page_presse .filter_page .filter_element .column_right img,
.page_presse .filter_page .filter_element .column_right .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:4 / 5;
	object-fit:cover;
}

/*------------------------------------------------------
JOURNAL OVERVIEW
------------------------------------------------------*/

.page_journal .filter_page {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
	padding-bottom:80px;
}

.page_journal .filter_page .filter_element a {
	display:block;
	margin-bottom:25px;
}

.page_journal .filter_page .filter_element h4 {
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 2;
	hyphenate-limit-last: always;
	-webkit-transition:padding 0.4s var(--easing);
	transition:padding 0.4s var(--easing);
}

body.no_touch .page_journal .filter_page .filter_element a:hover h4 {
	padding-left:1vw;
}

.page_journal .filter_page .filter_element img,
.page_journal .filter_page .filter_element .focal_image,
.page_journal .filter_page .filter_element .preview_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	margin-bottom:13px;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.5s var(--easing);
	transition: transform 0.5s var(--easing);
}

body.no_touch .page_journal .filter_page .filter_element a:hover img,
body.no_touch .page_journal .filter_page .filter_element a:hover .focal_image,
body.no_touch .page_journal .filter_page .filter_element a:hover .preview_image {
	-ms-transform: scale(0.97);
	-webkit-transform: scale(0.97);
	transform: scale(0.97);
}

.page_journal .filter_page .filter_element .preview_image {
	background:var(--color_light_grey);
}

/*------------------------------------------------------
STANDORT DETAIL
------------------------------------------------------*/

.standort_header {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(var(--columns), 1fr);
	align-items: start;
	margin-bottom:50px;
}

.column_left_standort_header {
	-ms-grid-columns: 1 / 7;
	grid-column:1 / 7;
}

.column_left_standort_header .focal_image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
}

.column_left_standort_header .swiper_gallery {
	width:100%;
	overflow:hidden;
	margin-bottom:0;
}

.column_left_standort_header .flexible_content {
	margin-bottom:0;
}

.column_left_standort_header .swiper_gallery .swiper-slide,
.column_left_standort_header .swiper_gallery .swiper-slide img {
	width:100%;
	height:100%;
	object-fit:cover;
	margin-bottom:0;
	padding-bottom:0;
}

.column_right_standort_header {
	-ms-grid-columns: 7 / 13;
	grid-column:7 / 13;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.column_right_standort_header .section_top {
	flex-grow: 1;
}

.column_right_standort_header .section_bottom p:last-child {
	margin-bottom:0;
}

.column_right_standort_header .section_top .inside_section_top_left,
.column_right_standort_header .section_top .inside_section_top_right {
	width:50%;
	float:left;
	min-height:1px;
}

.column_right_standort_header .section_top .inside_section_top_right {
	text-align:right;
}

/*------------------------------------------------------
CONTACT US
------------------------------------------------------*/

body.home a.show_contact_us {
	display:none;
}

a.show_contact_us {
	position:fixed;
	width:40px;
	height:40px;
	background:url('images/icon_tel.svg') no-repeat center center;
	background-size:contain;
	bottom:20px;
	right:var(--offset);
	z-index:200;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-webkit-transition: -webkit-transform 0.4s var(--easing);
	transition: transform 0.4s var(--easing);
}

body.no_touch a.show_contact_us:hover {
	-ms-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.call_us_overlay {
	display:none;
	position:fixed;
	bottom:80px;
	right:0;
	padding:20px;
	width:calc(50% - 40px);
	max-width:600px;
	height:auto;
	background:#000;
	z-index:210;
	color:#fff;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: -webkit-transform 0.4s var(--easing);
	transition: transform 0.4s var(--easing);
}

.call_us_overlay.show {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

a.close_call_us {
	display:block;
	position:absolute;
	right:10px;
	top:10px;
	width:20px;
	height:20px;
	background:url('images/close_icon_white.svg') no-repeat center center;
	background-size:100% auto;
}

.call_us_overlay a {
	color:#fff;
}

.call_us_overlay_inside {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	-ms-grid-columns: 1 / 4;
	grid-column:1 / 4;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

.call_us_overlay_inside .standort_item {
	margin-bottom:20px;
}

/*------------------------------------------------------
PROJECT DETAIL
------------------------------------------------------*/

.single_projekte h1 {
	max-width:80%;
	margin-top:20px;
}

/*------------------------------------------------------
FOOTER
------------------------------------------------------*/

footer {
	background:var(--color_light_grey);
	margin-left:var(--offset-minus);
	margin-right:var(--offset-minus);
	padding:var(--offset);
}

footer .grid {
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
}

ul.footer-nav-menu {
	list-style:none;
}

ul.footer-nav-menu li a {
	text-transform:uppercase;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 2;
	hyphenate-limit-last: always;
	-webkit-transition:padding 0.5s var(--easing);
	transition:padding 0.5s var(--easing);
}

body.no_touch ul.footer-nav-menu li a:hover {
	padding-left:1vw;
}

footer span.edit-link {
	display:none;
}

.yikes-easy-mc-form {
	position:relative;
	margin-top:30px;
	margin-left:30px;
	margin-right:30px;
	width: -moz-calc(100% - 60px) !important;
	width: -webkit-calc(100% - 60px) !important;
	width: -o-calc(100% - 60px) !important;
	width: calc(100% - 60px) !important;
}

.yikes-easy-mc-form input {
	background:#000 !important;
	color:#fff !important;
	border:2px solid #fff !important;
	border-radius:9px;
	padding-right:80px !important;
}

.yikes-easy-mc-form input::-webkit-input-placeholder {
    color: #fff;
}

.yikes-easy-mc-form input:-moz-placeholder {
   color: #fff;
   opacity: 1;
}

.yikes-easy-mc-form input::-moz-placeholder {
   color: #fff;
   opacity: 1;
}

.yikes-easy-mc-form input:-ms-input-placeholder {
   color: #fff;
}

.yikes-easy-mc-form input[type=email]:focus, .yikes-easy-mc-form input[type=number]:focus, .yikes-easy-mc-form input[type=text]:focus, .yikes-easy-mc-form input[type=url]:focus, .yikes-easy-mc-form select:focus {
	outline:0px !important;
	border:5px solid #fff !important;
}

.yikes-easy-mc-form button.yikes-easy-mc-submit-button {
	display:block;
	background:url('images/newsletter_icon.svg') no-repeat center center;
	background-size:44px 44px;
	text-indent:-1000px;
	border:none 0;
	width:44px;
	height:44px;
	padding:0;
	margin:0;
	position:absolute;
	right:0;
	top:20px;
	right:20px;
	color:transparent;
}

footer .outer_map {
	margin-top:20px;
}

footer .outer_map a.map_point span.name {
	font-size: 0.9vw;
	line-height:initial !important;
}

footer .outer_map a.map_point span.point {
	width:0.8vw;
	height:0.8vw;
}

ul.footer-service-nav {
	list-style:none;
	margin-top:50px;
}

ul.footer-service-nav li {
	display:inline-block;
	margin-right:var(--offset);
}

/*------------------------------------------------------
NEWSLETTER
------------------------------------------------------*/

.newsletter_box .mc4wp-form-fields {
	border:1px solid var(--font_color);
	border-radius:9px;
	display: -ms-grid;
	display: grid;
	grid-gap: var(--gap);
	grid-row-gap: 0px;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	margin-top:30px;
	margin-bottom:30px;
}

.newsletter_box .mc4wp-form-fields > *:nth-child(5) {
    grid-column: 1 / -1;
    border-top:1px solid #000;
    border-right:0;
    text-align:center;
    cursor:pointer;
}

.newsletter_box input, .newsletter_box select {
	background:none;
	border:none;
	padding:10px;
	text-transform:uppercase;
	color:var(--font_color) !important;
}

.newsletter_box input {
	border-right:1px solid #000;
	padding-bottom:5px;
}

.newsletter_box select {
	appearance: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  overflow:visible !important;
}

.newsletter_box input::-webkit-input-placeholder {
    color: var(--font_color);
}

.newsletter_box input:-moz-placeholder {
   color: var(--font_color);
   opacity: 1;
}

.newsletter_box input::-moz-placeholder {
   color: var(--font_color);
   opacity: 1;
}

.newsletter_box input:-ms-input-placeholder {
   color: var(--font_color);
}

/*------------------------------------------------------
IE
------------------------------------------------------*/

.ie_message {
	display: none;
	padding: 10px;
}

.ie_message a {
	text-decoration: underline;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
	.ie_message {
		display: block !important;
	}
   header, main, footer {
    display: none !important
   }
}

/*------------------------------------------------------
LAPTOP (90%)
------------------------------------------------------*/

@media all and (max-width: 1600px) and (min-width: 0) {

	body, a.call_to_action {
		font-size:16px;
		line-height:23px;
	}

	.no_big {
		font-size:126px;
		line-height:126px;
	}

	h1, h2,
	ul.nav-menu li a,
	a.close_nav,
	.flexible_content_quick_links.quick_inks_layout_liste a,
	.flexible_content_einleitungstext .wysiwig_content .title_big {
		text-transform:uppercase;
		font-size:59px;
		line-height:67px;
	}

	.flexible_content_quick_links.quick_inks_layout_liste a,
	.swiper_geschichte .swiper-slide .column_left h2 {
		line-height:59px;
	}

	h3, .flexible_content_text_und_bild_1_spaltig .text_row, .flexible_content_text_und_bild_1_spaltig .text_row .wysiwig_content, .flexible_content_dienstleistungen .text_row, .flexible_content_dienstleistungen .text_row .wysiwig_content, .yikes-easy-mc-form input, .detail_intro_text, .detail_intro_text .wysiwig_content, .flexible_content_einleitungstext .wysiwig_content, h5 {
		font-size:28px;
		line-height:33px;
	}

	.yikes-easy-mc-form input {
		line-height:31px;
	}

	h4, footer ul.footer-nav-menu li a,
	.wysiwig_content .title_big {
		font-size:41px;
		line-height:45px;
	}

	header .logo_byline {
		font-size:12px;
		line-height:13px;
	}

	.content_nav .column_right {
	    -ms-grid-columns: 6 / 12;
	    grid-column: 6 / 12;
	}

	body.home header {
		margin-top: -moz-calc((var(--vh, 1vh) * 100) - 60px);
		margin-top: -webkit-calc((var(--vh, 1vh) * 100) - 60px);
		margin-top: -o-calc((var(--vh, 1vh) * 100) - 60px);
		margin-top: calc((var(--vh, 1vh) * 100) - 60px);
	}

	.home_intro, .scroll_section .spacer, .home_intro .swiper.swiper_home .swiper-slide {
		height: -moz-calc((var(--vh, 1vh) * 100) - 60px);
		height: -webkit-calc((var(--vh, 1vh) * 100) - 60px);
		height: -o-calc((var(--vh, 1vh) * 100) - 60px);
		height: calc((var(--vh, 1vh) * 100) - 60px);
	}

	header {
		height:60px;
	}

	.intro.hide {
		-webkit-transform: translateY(calc(100vh - 60px));
		transform: translateY(calc(100vh - 60px));
	}

	.column_left_main_section_sticky, .column_right_main_section_sticky, 
	.flexible_content > h2, 
	.business_home_listing h2 {
		top:60px;
	}

	header .site_title {
		left:226px;
		right:226px;
		bottom:16px;
	}

	header a.home_logo {
		bottom:16px;
	}

	header ul.lang_switch {
		bottom:15px;
	}

	header .hamburger {
		bottom:24px;
	}

	header .logo_byline {
		top:60px;
	}

	.main_sections,
	.page_default {
		padding-top:130px;
	}

	.newsletter_box input, .newsletter_box select {
		font-size:19px;
		line-height:19px;
	}

}

/*------------------------------------------------------
TABLET (70%)
------------------------------------------------------*/

@media all and (max-width: 1500px) and (min-width: 0) {

	body, a.call_to_action {
		font-size:17px;
		line-height:23px;
	}

	.no_big {
		font-size:100px;
		line-height:100px;
	}

	h1, h2,
	ul.nav-menu li a,
	a.close_nav,
	.flexible_content_quick_links.quick_inks_layout_liste a,
	.flexible_content_einleitungstext .wysiwig_content .title_big {
		text-transform:uppercase;
		font-size:47px;
		line-height:53px;
	}

	.flexible_content_quick_links.quick_inks_layout_liste a,
	.swiper_geschichte .swiper-slide .column_left h2 {
		line-height:47px;
	}

	h3, .flexible_content_text_und_bild_1_spaltig .text_row, .flexible_content_text_und_bild_1_spaltig .text_row .wysiwig_content, .flexible_content_dienstleistungen .text_row, .flexible_content_dienstleistungen .text_row .wysiwig_content, .yikes-easy-mc-form input, .detail_intro_text, .detail_intro_text .wysiwig_content, .flexible_content_einleitungstext .wysiwig_content, h5 {
		font-size:20px;
		line-height:25px;
	}

	.yikes-easy-mc-form input {
		line-height:24px;
	}

	h4, footer ul.footer-nav-menu li a,
	.wysiwig_content .title_big {
		font-size:32px;
		line-height:36px;
	}

	header .home_logo,
	.intro .logo {
		font-size:28px;
		line-height:28px;
	}


	header a.home_logo {
		bottom:13px;
	}

	header {
		height:40px;
	}

	.intro.hide {
		-webkit-transform: translateY(calc(100vh - 40px));
		transform: translateY(calc(100vh - 40px));
	}

	.column_left_main_section_sticky, .column_right_main_section_sticky, .flexible_content > h2, .business_home_listing h2 {
		top:40px;
	}

	header a.home_logo {
		bottom:4px;
	}

	header .site_title {
		left: 196px;
	    right: 196px;
	    bottom: 4px;
	}

	header ul.lang_switch {
		bottom:5px;
	}

	header .hamburger {
		bottom:11px;
	}

	body.home header {
		margin-top: -moz-calc((var(--vh, 1vh) * 100) - 40px);
		margin-top: -webkit-calc((var(--vh, 1vh) * 100) - 40px);
		margin-top: -o-calc((var(--vh, 1vh) * 100) - 40px);
		margin-top: calc((var(--vh, 1vh) * 100) - 40px);
	}

	.home_intro, .scroll_section .spacer, .home_intro .swiper.swiper_home .swiper-slide {
		height: -moz-calc((var(--vh, 1vh) * 100) - 40px);
		height: -webkit-calc((var(--vh, 1vh) * 100) - 40px);
		height: -o-calc((var(--vh, 1vh) * 100) - 40px);
		height: calc((var(--vh, 1vh) * 100) - 40px);
	}

	header .logo_byline {
		top:50px;
	}

	.main_sections,
	.page_default {
		padding-top:110px;
	}


	.newsletter_box input, .newsletter_box select {
		font-size:15px;
		line-height:15px;
	}

	h3,
	.flexible_content_text_und_bild_1_spaltig .text_row,
	.flexible_content_text_und_bild_1_spaltig .text_row .wysiwig_content,
	.flexible_content_dienstleistungen .text_row,
	.flexible_content_dienstleistungen .text_row .wysiwig_content,
	.yikes-easy-mc-form input,
	.detail_intro_text,
	.detail_intro_text .wysiwig_content,
	.flexible_content_einleitungstext .wysiwig_content,
	h5,
	p {
		max-width:720px;
	}

	.page_journal .filter_page {
		grid-template-columns: repeat(2, 1fr);
	}

	.flexible_content_text_und_bild_1_spaltig .media_row,
	.flexible_content_dienstleistungen .media_row {
		aspect-ratio:3 / 1.6;
	}

}

/*------------------------------------------------------
TABLET
------------------------------------------------------*/

@media all and (max-width: 1024px) and (min-width: 0) {

	.call_us_overlay {
		width:calc(80% - 40px);
	}

}

/*------------------------------------------------------
MOBILE
------------------------------------------------------*/

@media all and (max-width: 860px) and (min-width: 0) {

	:root {
	  --offset:9px;
	  --offset-minus:  -9px;
	  --gap: 9px;
	  --gap_minus: -9px;
	}

	body, a.call_to_action, 
	.custom_form input, 
	.custom_form select, 
	.custom_form checkbox,
	.custom_form textarea {
		font-size:15px;
		line-height:17px;
	}

	a.call_to_action {
		font-size:14px;
		line-height:15px;
	}

	.no_big {
		font-size:60px;
		line-height:60px;
	}

	h1, h2,
	ul.nav-menu li a,
	a.close_nav,
	.flexible_content_quick_links.quick_inks_layout_liste a {
		text-transform:uppercase;
		font-size:32px;
		line-height:34px;
	}

	ul.nav-menu li a {
		white-space: normal;
	}

	.flexible_content_quick_links.quick_inks_layout_liste a,
	.swiper_geschichte .swiper-slide .column_left h2 {
		line-height:29px;
	}

	h3, .flexible_content_text_und_bild_1_spaltig .text_row, .flexible_content_text_und_bild_1_spaltig .text_row .wysiwig_content, .flexible_content_dienstleistungen .text_row, .flexible_content_dienstleistungen .text_row .wysiwig_content, .yikes-easy-mc-form input, .detail_intro_text, .detail_intro_text .wysiwig_content, .flexible_content_einleitungstext .wysiwig_content, h5 {
		font-size:18px;
		line-height:22px;
	}

	.yikes-easy-mc-form input {
		line-height:25px;
	}

	h4, footer ul.footer-nav-menu li a,
	.wysiwig_content .title_big {
		font-size: 24px;
    	line-height: 27px;
	}

	header .home_logo,
	.intro .logo {
		font-size:24px;
		line-height:27px;
	}

	header .logo_byline {
		font-size:10px;
		line-height:11px;
	}

	body.home header {
		margin-top: -moz-calc((var(--vh, 1vh)* 100) - 40px);
		margin-top: -webkit-calc((var(--vh, 1vh)* 100) - 40px);
		margin-top: -o-calc((var(--vh, 1vh)* 100) - 40px);
		margin-top: calc((var(--vh, 1vh)* 100) - 40px);
	}

	header {
		height:40px;
	}

	.intro.hide {
		-webkit-transform: translateY(calc(100vh - 40px));
		transform: translateY(calc(100vh - 40px));
	}

	.home_intro,
	.scroll_section .spacer,
	.home_intro .swiper.swiper_home .swiper-slide {
		height: -moz-calc((var(--vh, 1vh)* 100) - 40px);
		height: -webkit-calc((var(--vh, 1vh)* 100) - 40px);
		height: -o-calc((var(--vh, 1vh)* 100) - 40px);
		height: calc((var(--vh, 1vh)* 100) - 40px);
	}

	header a.home_logo {
		bottom: 4px;
	}

	header .site_title {
		left: 140px;
	    right: 50px;
	    bottom: 7px;
	    overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	header .hamburger {
		bottom: 16px;
		height:12px;
	}

	header .hamburger span {
		height:2px;
	}

	header .hamburger span.line_2 {
		margin-top:2px;
	}

	header .lang_switch {
		display:none;
	}

	.content_nav .column_left,
	.content_nav .column_right,
	.column_left_standort_header,
	.column_right_standort_header {
		-ms-grid-columns: 1 / 13;
		grid-column:1 / 13;
	}

	.column_right_standort_header .section_top .inside_section_top_left {
		margin-top:var(--offset);
		margin-bottom:var(--offset);
	}

	.column_right_standort_header .section_top .inside_section_top_left, .column_right_standort_header .section_top .inside_section_top_right {
		width:100%;
		float:none;
		text-align:left;
	}

	#overlay a.close_overlay, a.close_nav {
		background-size: 18px 18px;
		top: 10px;
		width: 40px;
		height: 40px;
	}

	.inside_content_nav {
		padding-top:15px;
	}

	.content_nav .column_left {
		margin-bottom:15px;
	}

	nav a.call_to_action {
		bottom:initial;
		position:relative;
		white-space: nowrap;
	}

	nav ul.lang_switch.mobile_only {
		display:block;
		list-style:none;
		position:fixed;
		bottom:var(--offset);
		right:var(--offset);
		white-space: nowrap;
	}

	nav ul.lang_switch.mobile_only li {
		display:inline-block;
		margin-right:5px;
	}

	.socials  {
		position:relative;
		bottom:initial;
		left:initial;
		margin-top:20px;
		white-space: nowrap;
	}

	.socials a {
		width:25px;
		height:25px;
		background-size:20px 20px;
	}

	header .logo_byline {
		display:none;
	}

	.main_sections {
		padding-top:80px;
	}

	.main_sections img {
		margin-top:80px;
	}

	.main_sections img,
	.project_listing.columns_2 img, 
	.business_home_listing.columns_2 img  {
		aspect-ratio:4 / 5;
	}

	.main_sections h2 {
		margin-top:var(--offset);
	}

	.flexible_content {
		margin-bottom:60px;
	}

	.flexible_content_text_und_bild_1_spaltig .text_row, .flexible_content_dienstleistungen .text_row {
		padding-top:30px;
	}

	body.home .flexible_content:last-child {
		padding-bottom:60px;
		margin-bottom:0;
	}

	.flexible_content_text_und_bild_1_spaltig h2, .flexible_content_text_und_bild_2_spaltig h2 {
		margin-bottom:18px;
	}

	a.call_to_action {
		border: 2px solid var(--font_color);
		border-radius: 14px;
		margin-top:25px;
	}

	.two_columns,
	.swiper_case_study .two_columns {
		grid-template-columns: repeat(1, 1fr);
	}

	.two_columns .column_right {
		-ms-grid-row: 1 / 1;
		grid-row:1 / 1;
		margin-bottom:var(--offset);
	}

	.two_columns .column_left {
		-ms-grid-row: 2 / 2;
		grid-row:2 / 2;
	}

	.swiper_case_study .two_columns .column_left {
		-ms-grid-row: 1 / 1;
		grid-row:1 / 1;
		margin-bottom:25px;
	}

	.swiper_case_study .two_columns .wysiwig_content p:has(a.call_to_action) {
		text-align:left;
		margin-top:0 !important;
		margin-bottom:0;
	}

	.swiper_case_study .two_columns a.call_to_action {
		margin-top:0;
	}

	.swiper_case_study .two_columns .column_right {
		-ms-grid-row: 2 / 2;
		grid-row:2 / 2;
	}

	.standorte_overview.standorte_overview_highlights,
	.kompetenzen_images {
		grid-template-columns: repeat(1, 1fr);
	}

	.standorte_overview,
	.flexible_content_3_columns_inside {
		grid-template-columns: repeat(2, 1fr);
	}

	.standorte_overview .standort_item,
	.kompetenzen_images a,
	.flexible_content_3_columns_inside a {
		margin-bottom:25px;
	}

	.standorte_overview .standort_item h4,
	.kompetenzen_images a h4,
	.flexible_content_3_columns_inside a h4 {
		margin-top:9px;
	}

	.masonry_journal {
		margin-left:0;
		margin-right:0;
	}

	.masonry_journal .masonry_item {
		width:100%;
		width: -moz-calc(100% - 8px);
		width: -webkit-calc(100% - 8px);
		width: -o-calc(100% - 8px);
		width: calc(100% - 8px);
		margin-left:0;
		margin-right:0;
		margin-bottom:25px;
		position:relative !important;
		top:initial !important;
		left:initial !important;
	}

	.masonry_journal .masonry_item.has_image .column_left,
	.masonry_journal .masonry_item.has_image .column_right {
		position:relative;
		width:100%;
		float:none;
	}

	.masonry_journal .masonry_item.has_image .column_right {
		aspect-ratio:4 / 5;
	}

	.masonry_journal {
		height:auto !important;
	}

	.standorte_overview .standort_item .focal_image,
	.kompetenzen_images a .focal_image,
	.project_listing.columns_2 .focal_image, .business_home_listing.columns_2 .focal_image,
	.flexible_content_3_columns_inside a .focal_image {
		aspect-ratio:4 / 5;
	}

	.page_default {
		padding-top:64px;
	}

	.flexible_content_bild .format_3_1, .flexible_content_video .format_3_1, .flexible_content_bild .format_16_9, .flexible_content_video .format_16_9 {
		aspect-ratio: 3 / 2;
	}

	.swiper_service .swiper-slide, .swiper_journal .swiper-slide {
		aspect-ratio:auto;
		width: 80vw;
		height:auto;
		margin-right:9px;
	}

	.swiper_service .swiper-slide .column_left, .swiper_service .swiper-slide .column_right, .swiper_journal .swiper-slide .column_left, .swiper_journal .swiper-slide .column_right {
		width:100%;
		float:none;
	}

	.swiper_service .swiper-slide .column_left h4, .swiper_journal .swiper-slide.article_type_veranstaltung .column_left h4 {
		margin-top:0;
	}

	.swiper_service .swiper-slide .column_left, .swiper_journal .swiper-slide .column_left {
		height:auto;
	}

	.swiper_service .swiper-slide .column_right, .swiper_journal .swiper-slide .column_right {
		aspect-ratio:3 / 2;
		width:100%;
		margin-top:25px;
	}

	.swiper-button-next, .swiper-button-prev {
		width: 26px;
		height: 23px;
		background-size:100% auto;
	}

	.swiper-button-next, .swiper-button-prev {
		bottom: -40px;
	}

	.swiper-horizontal >.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
		bottom:-55px;
	}

	.kompetenzen_buttons a.call_to_action {
		margin-top:5px;
	}

	.team_single_view .team_member_single .column_left {
		-ms-grid-columns: 1 / 13;
		grid-column:1 / 13;
	}

	.team_single_view .team_member_single .column_right {
		-ms-grid-columns: 2 / 23;
		grid-column:2/ 12;
		margin-bottom:50px;
	}

	.swiper_geschichte .swiper-slide .column_left, .swiper_geschichte .swiper-slide .column_right {
		width: 80vw;
		float: none;
	}

	.swiper_geschichte .swiper-slide {
		width:80vw;
		padding:0;
	}

	.swiper_geschichte .swiper-slide .column_left {
		margin-bottom:25px;
	}

	.images_full {
		margin-bottom: 25px;
	}

	.team_list_view {
		grid-template-columns: repeat(2, 1fr);
	}

	.logo_listing {
		grid-template-columns: repeat(3, 1fr);
	}

	.masonry_gallery .masonry_item {
		width: -moz-calc(33.3333% - var(--gap));
		width: -webkit-calc(33.3333% - var(--gap));
		width: -o-calc(33.3333% - var(--gap));
		width: calc(33.3333% - var(--gap));
	}

	#overlay a.close_overlay {
		left: 9px;
		background-size: 18px 18px;
		top: 1px;
		width: 16px;
		height: 16px;
	}

	.page_single .detail_intro,
	.form_outer {
		-ms-grid-columns: 2 / 12;
		grid-column: 2 / 12;
	}

	.page_single .detail_intro h3,
	.page_single .detail_intro {
		margin-bottom: 15px;
   		margin-top: 5px;
	}

	.swiper_gallery .swiper-slide {
		width:80vw;
		height:100%;
		aspect-ratio:4 / 5;
	}

	.swiper_gallery .swiper-slide img {
		width:100%;
		height:100%;
		object-fit:cover;
		aspect-ratio:4 / 5;
	}

	.two_columns .swiper_gallery .swiper-slide,
	.two_columns .swiper_gallery .swiper-slide img {
		height:540px;
	}

	/* Footer */

	footer .grid {
		grid-template-columns: repeat(1, 1fr);
	}

	footer .grid .column_left {
		margin-bottom:25px;
	}

	.yikes-easy-mc-form button.yikes-easy-mc-submit-button {
		width:27px;
		height:27px;
		top: 8px;
		right: 16px;
		background-size:100% auto;
	}

	.yikes-easy-mc-form {
		margin-left: 20px;
		margin-right: 20px;
		width: -moz-calc(100% - 40px) !important;
		width: -webkit-calc(100% - 40px) !important;
		width: -o-calc(100% - 40px) !important;
		width: calc(100% - 40px) !important;
	}

	footer .outer_map {
		display:none;
	}

	ul.footer-service-nav {
		margin-top:30px;
	}

	.column_left_main_section_sticky, .column_right_main_section_sticky,
	.flexible_content > h2 {
		top:40px;
		padding-top:5px;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
		hyphenate-limit-chars: 6 3 2;
		hyphenate-limit-last: always;
	}

	.swiper_team .swiper-slide {
		width:40vw !important;
	}

	.flexible_content_legende {
		-ms-grid-columns: 1 / 13 !important;
		grid-column:1 / 13 !important;
	}

	.column_left_main_section_sticky, .column_right_main_section_sticky, .flexible_content > h2, .business_home_listing h2 {
		top:40px;
	}

	.flexible_content_text_2_columns {
		grid-template-columns: repeat(1, 1fr);
	}

	.flexible_content_text_2_columns .column_left_text_2_spalten {
		margin-bottom:20px;
	}

	.event_preview {
		grid-template-columns: repeat(1, 1fr);
	}

	.event_preview div {
		margin-bottom:10px;
	}

	.swiper_case_study .swiper-slide {
		padding-left:0;
		width:80vw;
		aspect-ratio: auto;
		padding-bottom:0;
		margin-right:0;
	}

	.flexible_content_case_study .two_columns {
		margin-bottom:0;
	}

	.newsletter_box {
		margin-top:30px;
		margin-bottom:30px;
	}

	nav .bottom_section {
		bottom: var(--offset);
	}

	nav .bottom_section ul {
		margin-top:20px;
	}

	nav .bottom_section ul li {
		display:block;
	}

	.flexible_content_text_und_bild_2_spaltig.position_left .two_columns {
	  grid-template-columns: 1fr;
	}

	.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_left {
	    grid-column:initial;
	    -ms-grid-row: 2 / 2;
	    grid-row:2 / 2;
	}

	.flexible_content_text_und_bild_2_spaltig.position_left .two_columns .column_right {
	    grid-column:initial; 
	    -ms-grid-row: 1 / 1;
	    grid-row:1 / 1;
	}

	.flexible_content_bild,
	.flexible_content_legende {
		-ms-grid-columns: 1 / 13 !important;
		grid-column:1 / 13 !important;
	}

	.flexible_content_legende {
		text-align:left !important;
	}

	.flexible_content_text .wysiwig_content {
		width:100%;
	}

	.flexible_content .flexible_content.flexible_content_legende.flexible_content_bild_size_xl p {
		max-width:100%;
		width:100%;
	}

	.custom_form .form_row {
		margin-bottom:10px;
	}

	.matter-textfield-outlined > input, .matter-textfield-outlined > textarea {
		padding:9px 10px 13px 10px;
	}

	#overlay.has_form .inside_overlay .overlay_content {
		-ms-grid-columns: 2 / 13;
		grid-column:2 / 13;
	}

	.call_us_overlay {
		width:calc(100% - 40px);
	}

	.flexible_content_geschichte .images_full {
		height:50vh;
		margin-bottom:20px;
	}

	.newsletter_box .mc4wp-form-fields {
		grid-template-columns: repeat(2, 1fr);
	}

	.newsletter_box input {
		border-right:0;
	}

	.newsletter_box input:nth-child(1),
	.newsletter_box input:nth-child(2) {
		border-bottom:1px solid #000;
	}

	.newsletter_box input:nth-child(1),
	.newsletter_box input:nth-child(3) {
		border-right:1px solid #000;
	}

	.newsletter_box input:nth-child(2),
	.newsletter_box select {
		margin-left:-20px;
		padding-left:20px;
	}

	.home_intro .swiper.swiper_home .swiper-slide:first-child img {
		object-position:center right;
	}

	.two_columns h4 {
		width:100%;
	}

	.page_journal .filter_page {
		grid-template-columns: repeat(1, 1fr);
	}

	.flexible_content_text_und_bild_1_spaltig .media_row, .flexible_content_dienstleistungen .media_row {
	    aspect-ratio: 3 / 2;
	}

	body.home .flexible_content:not(:has(~ .flexible_content)) {
		padding-bottom: 40px;
	}

	.outer_main_section .flexible_content_einleitungstext {
		padding-top: 30px;
	}

	.page_presse .filter_page .subgrid {
		grid-template-columns: repeat(1, 1fr);
	}

}