/*
 Theme Name:   Welthaus Child Theme
 Theme URI:    https://generatepress.com
 Description:  A GeneratePress child theme
 Author:       Mark Engelhardt
 Author URI:   https://markengelhardt.de
 Template:     generatepress
 Version:      0.1.1
*/


/** 
 * Breakpoints
  486 
  768
  1440


/* using post css */


*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


:where([hidden]:not([hidden='until-found'])) {
	display: none !important;
}


:where(html) {
	-webkit-text-size-adjust: none;
	color-scheme: dark light;
}


@supports not (min-block-size: 100dvb) {
	:where(html) {
		height: 100%;
	}
}


@media (prefers-reduced-motion: no-preference) {
	:where(html[focus-within]) {
		scroll-behavior: smooth;
	}
	:where(html:focus-within) {
		scroll-behavior: smooth;
	}
}


:where(body) {
	height: 100%;
	height: 100dvb;
	line-height: 1.5;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
	-webkit-font-smoothing: antialiased;
}


:where(input, button, textarea, select) {
	font: inherit;
	color: inherit;
}


:where(textarea) {
	resize: vertical;
	resize: vertical;
}


:where(button, label, select, summary, [role='button'], [role='option']) {
	cursor: pointer;
}


:where(:disabled) {
	cursor: not-allowed;
}


:where(label[\:has\(\%3E\%20input\:disabled\)], label[\:has\(\%2B\%20input\:disabled\)]) {
	cursor: not-allowed;
}


:where(label:has(> input:disabled), label:has(+ input:disabled)) {
	cursor: not-allowed;
}


:where(button) {
	border-style: solid;
}


:where(a) {
	text-underline-offset: 0.2ex;
}


:where(ul, ol) {
	list-style: none;
}


:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block;
}


:where(img, picture, svg) {
	max-width: 100%;
	height: auto;
}


:where(p, h1, h2, h3, h4, h5, h6) {
	word-wrap: break-word;
}


:where(h1, h2, h3) {
	line-height: calc(1em + 0.5rem);
}


:where(hr) {
	border: none;
	border-top: 1px solid;
	color: inherit;
	height: 0;
	overflow: visible;
}


:where(.focus-visible) {
	outline: 2px solid Highlight;
	outline: 2px solid var(--focus-color, Highlight);
	outline-offset: 2px;
}


:where(.focus-visible) {
	outline: 2px solid Highlight;
	outline: 2px solid var(--focus-color, Highlight);
	outline-offset: 2px;
}


:where(:focus-visible) {
	outline: 2px solid Highlight;
	outline: 2px solid var(--focus-color, Highlight);
	outline-offset: 2px;
}


:where(.visually-hidden:not(:focus):not(:active):not([focus-within]):not(.not-visually-hidden)) {
	-webkit-clip-path: inset(50%) !important;
	        clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
}


:where(.visually-hidden:not(:focus):not(:active):not([focus-within]):not(.not-visually-hidden)) {
	-webkit-clip-path: inset(50%) !important;
	        clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
}


:where(.visually-hidden:not(:focus):not(:active):not(:focus-within):not(.not-visually-hidden)) {
	-webkit-clip-path: inset(50%) !important;
	        clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
}


:root {
  --blue: rgb(29,61,146);
  --coal: #222222;
  --contrast: var(--coal);
  --dark-grey: #707070;
  --near-white: #F7F7F7;
  --very-light-grey: #F6F4F0;
  --very-light-blue: #EBF0FF; /* #F7F9FF; */
  --green: #5BA920;
  --light-apricot: #FFEADD;
  --content-wide: 1140px;
  --content-medium: 944px;
  --page-width: 1440px;
  --content-width: 1140px;
  --spacing-base: 24px;
  --page-bgcolor: rgb(255,255,255);
  --card-bg-color: #FFFFFF;
  --spacing-default: 16px;
  --text-s: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  --text-m: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem); /* 18px */
  /* --text-m: clamp(1rem, 0.9063rem + 0.4688vw, 1.375rem); */ /* 22px */
  --text-l: clamp(1.375rem, 1.2813rem + 0.4688vw, 1.75rem);
  --text-xl: clamp(1.75rem, 1.5625rem + 0.9375vw, 2.5rem);
  /* --text-xxl: clamp(2.33333rem, 1.5625rem + 0.9375vw, 3.33333rem); */
  --text-xxl: clamp(1.5rem, 1.1094rem + 1.9531vw, 3.0625rem);
}


/* debug */


/* * {
  border: solid 1px pink;
} */


.mx-auto {
  margin-left: auto;
  margin-right: auto;
}


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


.uppercase {
  text-transform: uppercase;
}


.w-box {
  width: 100%;
  max-width: 1440px;
  max-width: var(--page-width);
  margin-left: auto;
  margin-right: auto;
}


.w-l {
  width: 100%;
  max-width: 1140px;
  max-width: var(--content-wide);
  margin-left: auto;
  margin-right: auto;
}


.w-m {
  width: 100%;
  max-width: 944px;
  max-width: var(--content-medium);
  margin-left: auto;
  margin-right: auto;
}


.p-base {
  padding: 24px;
  padding: var(--spacing-base);
}


.px-base {
  padding-left: 24px;
  padding-left: var(--spacing-base);
  padding-right: 24px;
  padding-right: var(--spacing-base);
}


.py-base {
  padding-top: 24px;
  padding-top: var(--spacing-base);
  padding-bottom: 24px;
  padding-bottom: var(--spacing-base);
}


.py-small {
  padding-top: calc( 24px * 0.5);
  padding-top: calc( var(--spacing-base) * 0.5);
  padding-bottom: calc( 24px * 0.5);
  padding-bottom: calc( var(--spacing-base) * 0.5);
}


.py-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}


.pt-40 {
  padding-top: 40px;
}


.pb-40 {
  padding-bottom: 40px;
}


.py-80 {
  padding-top: 80px;
  padding-bottom: 80px;
}


.pt-80 {
  padding-top: 80px;
}


.pb-80 {
  padding-bottom: 80px;
}


/* margins */


.m-base {
  margin: 24px;
  margin: var(--spacing-base);
}


.mx-base {
  margin-left: 24px;
  margin-left: var(--spacing-base);
  margin-right: 24px;
  margin-right: var(--spacing-base);
}


.mx-small {
  margin-left: calc( 24px * 0.5);
  margin-left: calc( var(--spacing-base) * 0.5);
  margin-right: calc( 24px * 0.5);
  margin-right: calc( var(--spacing-base) * 0.5);
}


.my-base {
  margin-top: 24px;
  margin-top: var(--spacing-base);
  margin-bottom: 24px;
  margin-bottom: var(--spacing-base);
}


.my-small {
  margin-top: calc( 24px * 0.5);
  margin-top: calc( var(--spacing-base) * 0.5);
  margin-bottom: calc( 24px * 0.5);
  margin-bottom: calc( var(--spacing-base) * 0.5);
}


.my-40 {
  margin-top: 40px;
  margin-bottom: 40px;
}


.mt-0 {
  margin-top: 0px !important;
}


.mt-8 {
  margin-top: 8px;
}


.mt-40 {
  margin-top: 40px;
}


.mb-0 {
  margin-bottom: 0px !important;
}


.mb-8 {
  margin-bottom: 8px;
}


.mb-40 {
  margin-bottom: 40px;
}


.my-80 {
  margin-top: 80px;
  margin-bottom: 80px;
}


.mt-80 {
  margin-top: 80px;
}


.mb-80 {
  margin-bottom: 80px;
}


/* colors */


.fc-white {
  color: white;
}


.bg-white {
  background-color: white;
}


.bg-blue {
  background-color: rgb(29,61,146);
  background-color: var(--blue);
}


.bg-green {
  background-color: #5BA920;
  background-color: var(--green);
}


.bg-very-light-grey {
  background-color: #F6F4F0;
  background-color: var(--very-light-grey);
}


.bg-very-light-blue {
  background-color: #EBF0FF;
  background-color: var(--very-light-blue);
}


.bg-orange {
  background-color: var(--orange);
}


.header__image {
  font-size: 0;
}


.header__image img {
  background-color: lightgrey;
  font-size: 0;
}


.caption {
  color: darkgreen;
  text-align: center;
}


/* Text colors */


.blue {
  color: rgb(29,61,146);
  color: var(--blue);
}


.black {
  color: #222222;
  color: var(--coal);
}


.whb-arrow-link {
  display: inline-block;
  max-width: 40px;
}


.mask-round {
  -webkit-mask-image: url('assets/images/mask-round.svg');
          mask-image: url('assets/images/mask-round.svg');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}


.sr-only {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  
}


.d-block {
  display: block;
}


.block-editor-block-list__layout .block-editor-block-list__block {
  margin-left: auto;
  margin-right: auto;
}


/* override for background-color in Block Editor */


.editor-styles-wrapper {
  background-color: white !important;
}


.editor-styles-wrapper h1 {
  /* color: red; */
}


.gb-button-wrapper .gb-button.gb-button-download {
  display: block;
  text-align: left;
}


.gb-button-download::before {
  content: 'Download';
  display: block;
}


.download-button-block {
  display: grid;
  grid-template-columns: max-content auto;
  align-items: center;
  grid-column-gap: 8px;
  -moz-column-gap: 8px;
       column-gap: 8px;
}


.download-button-block .icon {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}


.download-button-block .label {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
}


.download-button-block .a {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  color: rgb(29,61,146);
  color: var(--blue);
  display: inline-block;
}


button.edu__more {
  padding: 0;
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}


button.edu__more:hover,
button.edu__more:focus {
  color: rgb(29,61,146);
  color: var(--blue);
}


/* Typography */


/* source-sans-pro-regular - latin */


@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('assets/fonts/source-sans-3-v15-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-sans-3-v15-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-sans-pro-italic - latin */


@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('assets/fonts/source-sans-3-v15-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-sans-3-v15-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-sans-pro-700 - latin */


@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('assets/fonts/source-sans-3-v15-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-sans-3-v15-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-sans-pro-700italic - latin */


@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 600;
  src: local(''),
       url('assets/fonts/source-sans-3-v15-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-sans-3-v15-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-serif-pro-regular - latin */


@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('assets/fonts/source-serif-4-v8-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-serif-4-v8-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-serif-pro-italic - latin */


@font-face {
  font-family: 'Source Serif Pro';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('assets/fonts/source-serif-4-v8-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-serif-4-v8-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-serif-pro-700 - latin */


@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('assets/fonts/source-serif-4-v8-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-serif-4-v8-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* source-serif-pro-700italic - latin */


@font-face {
  font-family: 'Source Serif Pro';
  font-style: italic;
  font-weight: 600;
  src: local(''),
       url('assets/fonts/source-serif-4-v8-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('assets/fonts/source-serif-4-v8-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* Text sizes */


html {
  font-size: 100%;
}


body {
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
  /* font-family: 'Source Serif Pro', Georgia, 'Times New Roman', Times, serif; */
}


p:last-of-type {
  margin-bottom: 0;
}


.text-s {
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
}


.text-m {
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
}


.text-l {
  font-size: clamp(1.375rem, 1.2813rem + 0.4688vw, 1.75rem);
  font-size: var(--text-l);
}


.text-xl {
  font-size: clamp(1.75rem, 1.5625rem + 0.9375vw, 2.5rem);
  font-size: var(--text-xl);
}


.text-xxl {
  font-size: clamp(1.5rem, 1.1094rem + 1.9531vw, 3.0625rem);
  font-size: var(--text-xxl);
}


/* font weights */


.fw-normal {
  font-weight: 400;
}


.fw-medium {
  font-weight: 600;
}


.fw-bold {
  font-weight: 700;
}


h1 {
  font-size: clamp(1.5rem, 1.1094rem + 1.9531vw, 3.0625rem);
  font-size: var(--text-xxl);
  font-family: 'Source Sans Pro';
  font-weight: 600;
}


h2 {
  font-size: clamp(1.75rem, 1.5625rem + 0.9375vw, 2.5rem);
  font-size: var(--text-xl);
  font-family: 'Source Sans Pro';
  font-weight: 600;
}


h3 {
  font-size: clamp(1.375rem, 1.2813rem + 0.4688vw, 1.75rem);
  font-size: var(--text-l);
  font-family: 'Source Sans Pro';
  font-weight: 600;
}


.whb-column-label {
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 1rem;
}


.single-projekt {}


.serif {
  font-family: 'Source Serif Pro', Georgia, 'Times New Roman', Times, serif;
}


.sans {
  font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
}


.kicker {
  text-transform: uppercase;
}


a.clean {
  text-decoration: none;
}


/* Icons */


.icon-arrow-right {
  display: inline-block;
  background-image: url('assets/images/icon-arrow-right.svg');
  background-repeat: no-repeat;
  background-size: auto auto;
  background-size: initial;
  width: 32px;
  height: 24px;
  vertical-align: middle;
}


/* Styles for page header */


#masthead .inside-header {
  flex-wrap: wrap;
  padding-left: 24px;
  padding-right: 24px;
  
  max-width: calc(1140px + 24px + 24px);
  
  max-width: calc(var(--content-width) + 24px + 24px);
  margin: auto;
}


@media (min-width: 768px) {


#masthead .inside-header {
    margin-bottom: 16px
}
  }


.meta-nav {
  display: none !important;
}


@media (min-width: 768px) {
  .meta-nav {
    display: flex !important;
  }
  .meta-nav {
    width: 100%;
    justify-content: flex-end;
  }
}


.site-logo {
  width: 160px;

  
}


/* @media (min-width: 990px) {
    width: 200px;
  } */


@media (min-width: 1100px) {


.site-logo {
    width: 200px;
    margin-bottom: 24px

  
}
  }


.nav-float-right #site-navigation {
  padding-left: 24px;
}


.main-navigation .inside-navigation {
  gap: 8px;
}


/* Suchen-Icon im Header */


.searchwp-modal-form-trigger-el {
  background-color: white;
  color: #222222;
  color: var(--coal);
  padding: 8px;
  line-height: 1;
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
}


.searchwp-modal-form-trigger-el:hover,
.searchwp-modal-form-trigger-el:focus {
  background-color: var(--very-light-blue-2);
  color: #222222;
  color: var(--coal);
}


.searchwp-modal-form-trigger-el::before {
  content: '';
  width: 32px;
  height: 32px;
  background-image: url('assets/images/icon-search-black.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
}


.menu-toggle {
  padding: 0;
  line-height: 60px;
  margin: 0;
  font-weight: 600;
  text-transform: none;
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  cursor: pointer;
}


/* Styles for navigation menus */


.main-navigation .main-nav ul {
  -moz-column-gap: 24px;
       column-gap: 24px;
}


.main-navigation .main-nav ul li a {
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  color: #222222;
  color: var(--coal);
  padding: 8px 0;
  font-weight: 600;
  line-height: 1.25;
}


/* child menu items */


.main-navigation .main-nav ul ul li a {
  padding: 8px 16px;
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  font-weight: 400;
}


.main-navigation ul.sub-menu {
  border: none;
  border-radius: 4px;
  box-shadow: 1px 2px 8px 0px rgba(0,0,0,0.24);
}


/* secondary nav in header, desktop only */


.meta-nav ul li a {
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
  color: #707070;
  color: var(--dark-grey);
  padding: 8px 16px 8px 0;
}


/* mobile */


.main-navigation.offside {
  width: 80vw !important;
  
}


.main-navigation.offside {
  background-color: white;
  padding: 24px;
  padding: var(--spacing-base);
  
}


.main-navigation.offside .whb-logo {
    max-width: 160px;
  }


.main-navigation.offside .main-nav ul li a {
  /* padding-left: 0; */
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  color: #222222;
  color: var(--coal);
}


/* show secondary nav block (.meta-nav) in offside menu */


.main-navigation .meta-nav-mobile {
  width: 100%;
}


@media (max-width: 768px) {
 
  /* override menu style of generatepress */
  .main-navigation .meta-nav-mobile ul {
    display: block;
  }
  .main-navigation .meta-nav-mobile ul li a {
    font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
    font-size: var(--text-m);
    line-height: 40px;
  }
}


/* Styles for page footer */


.site-footer {
  /* padding-left: var(--spacing-base);
  padding-right: var(--spacing-base); */
}


/**/


.whb-footer-menu .wp-block-navigation__container {
  display: grid;
  align-items: start;
  grid-row-gap: 40px;
  row-gap: 40px;
}


@media (min-width: 486px) {


.whb-footer-menu .wp-block-navigation__container {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 40px;
         column-gap: 40px
}
  }


@media (min-width: 768px) {


.whb-footer-menu .wp-block-navigation__container {
    grid-template-columns: repeat(3, 1fr)
}
  }


.whb-footer-menu.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  background-color: inherit;
  color: #707070;
  color: var(--dark-grey);
  position: relative;
  z-index: 1;
  display: block;
  flex-direction: initial;
  align-items: normal;
  opacity: 1;
  transition: opacity .1s linear;
  visibility: visible;
  visibility: initial;
  width: auto;
  height: auto;
  overflow: visible;
  left: 0;
  top: 0;
  border: none;
}


.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
  min-width: auto;
}


.whb-footer-menu .wp-block-navigation-item {
  margin: 0px;
}


.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: inline-block;
  padding: 4px 0;
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
}


.wp-block-navigation .wp-block-navigation-item {
  display: block;
  align-items: initial;
  position: relative;
}


.wp-block-social-links {
  margin-bottom: 0;
}


/* Component basics */


.page-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  max-width: var(--page-width);
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}


.comp {
  margin-top: 40px;
  margin-bottom: 40px;
  /* padding: 24px; */
  /* width: 100%;
  max-width: var(--page-width); */
}


.comp__inner {
  margin: 0 auto;
  position: relative;
}


/* Container block */


.container-block {}


.container-block .grid-2 > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  grid-row-gap: 40px;
  row-gap: 40px;
  align-items: center;
}


.container-block .grid-3 > div {
  display: grid;
  
  grid-row-gap: 32px;
  
  row-gap: 32px;
  grid-column-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
}


@media (min-width: 768px ) {


.container-block .grid-3 > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch
}
  }


@media (min-width: 960px ) {


.container-block .grid-3 > div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr
}
  }


.grid-3 .teaser-card {
  height: 100%;
}


.grid-3 .comp.teaser-card-block {
  margin-top: 0;
  margin-bottom: 0;
}


.header-block.header-a {
  padding: 0;
  margin-bottom: 0;
}


.header-block.header-a .header__content {
    position: absolute;
    padding: 24px;
    padding: var(--spacing-base);
  }


.header-block.header-a .header__title {
  }


.header-block.header-a .header__image img {
    aspect-ratio: 1440 / 500;
    -o-object-fit: cover;
       object-fit: cover;
  }


.header-block.header-b {
  padding: 0;
}


@media (max-width: 1140px) {


.header-block.header-b .header__content {
      padding-left: 24px;
      padding-left: var(--spacing-base);
      padding-right: 24px;
      padding-right: var(--spacing-base)
  }
    }


.header-block.header-b .header__content::after {
    display: block;
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgb(29,61,146);
    background-color: var(--blue);
    z-index: -1;
    /* background-size: contain; */
    aspect-ratio: 3 / 2;

  }


/* height: 50%;
    min-height: 320px;
    max-height: 480px; */


@media (min-width: 960px) {


.header-block.header-b .header__content::after {
      aspect-ratio: 2 / 1
      /* height: 100%;
      max-height: 640px;   */

  }
    }


.header-block.header-b .header__image img {
    aspect-ratio: 1140 / 640;
    -o-object-fit: cover;
       object-fit: cover;
  }


.header-block.header-b .header__text {
    margin-top: 72px;
    padding-bottom: 40px;
    border-bottom: solid 8px #F7F7F7;
    border-bottom: solid 8px var(--near-white);
  }


.header-block.header-c {
  padding: 0;
}


.header-block.header-c .comp__inner {
    display: grid;
    grid-template-rows: 1fr auto;
    justify-content: center;
    width: 100%;
  }


.header-block.header-c .header__content {
    color: #FFFFFF;
    padding: 24px;
    padding: var(--spacing-base);
    grid-row-start: 1;
    z-index: 11;
    margin-left: auto;
    margin-right: auto;
    grid-row-end: 2;
    grid-column-start: 1;
    margin-top: calc(100vw * (400 / 1440));
  }


@media (min-width: 1440px) {


.header-block.header-c .header__content {
      margin-top: 400px
  }
    }


.header-block.header-c .header__image {
    grid-row-start: 1;
    z-index: 10;
    grid-row-end: 2;
    grid-column-start: 1;
  }


.header-block.header-c .header__image img {
      aspect-ratio: 2.4 / 1;
      -o-object-fit: cover;
         object-fit: cover;
    }


.header-block.header-c .header__text {
    margin-top: 72px;
  }


.header-block.header-d .header__image img {
    aspect-ratio: 1140 / 640;
    -o-object-fit: cover;
       object-fit: cover;
  }


.header-block.header-d .header__title {}


.header-block.header-d .header__text {
    margin-top: 72px;
    padding-bottom: 40px;
    border-bottom: solid 8px #F7F7F7;
    border-bottom: solid 8px var(--near-white);
  }


.header-block.header-a .header__title, .header-block.header-c .header__title, .header-block.header-b .header__title {
    color: white;
  }


/**
.quicklinks-block
.ql-item
.ql-item--link
.ql-item--text 
*/


.wh-block {
  margin: 40px auto;
}


.ql-item--link,
.ql-item--title {
  display: inline-block;
  text-decoration: none;
  margin-bottom: 8px;
}


.ql-item {
  padding: 16px;
}


@media (min-width: 768px) {
  .quicklinks-block .quicklinks--items {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}


.teaser-rund-block .tr-item {
    display: grid;
    grid-column-gap: 40px;
  }


@media (min-width: 768px) {
    .teaser-rund-block .tr-item.image-text {
      grid-template-columns: 38fr 62fr;
    }
    
    .teaser-rund-block .tr-item.text-image {
      grid-template-columns: 62fr 38fr;
    }

      .teaser-rund-block .tr-item.text-image .teaser-content {
        grid-column: 1 / 2;
        grid-row-start: 1;
      }
      .teaser-rund-block .tr-item.text-image .teaser-image {
        grid-column: 2 / 3;
        grid-row-start: 1;
      }
  }


.teaser-rund-block .teaser-content {
    display: flex;
    flex-flow: column;
  }


@media (min-width: 768px) {


.teaser-rund-block .teaser-content {
      /* padding: 16px 0; */
  }
    }


.teaser-rund-block .kicker {
    color: rgb(29,61,146);
    color: var(--blue);
  }


.teaser-rund-block .teaser-title {}


.teaser-rund-block .teaser-text {}


.teaser-rund-block .teaser-image {
    width: 100%;
    max-width: 240px;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
  }


@media (min-width: 768px) {


.teaser-rund-block .teaser-image {
      max-width: 100%;
      margin-bottom: 0;
  }
    }


.teaser-rund-block .teaser-image {
    aspect-ratio: 1 / 1;
    -o-object-fit: cover;
       object-fit: cover;
}


/* .teaser-card {
  width: 100%;
  max-width: 360px;
  background-color: var(--card-bg-color);
} */


/* Teaser Row Cards */


.teaser-row__cards {
  display: flex;
  flex-flow: column;
  gap: 32px;
}


@media (min-width: 768px) {


.teaser-row__cards {
    flex-flow: row
}
  }


.teaser-card {
  background-color: #FFFFFF;
  background-color: var(--card-bg-color);
  width: 100%;
}


/* display: flex;
  flex-flow: column; */


@media (min-width: 768px) {


.teaser-card {
    /* width: 33.33333%; */
}
  }


.teaser-card__image {
  aspect-ratio: 360 / 230;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}


.teaser-card__content {
  padding: 16px;
  padding: var(--spacing-default);
  width: 100%;
  display: flex;
  flex-flow: column;
  flex-grow: 1;
  /* justify-content: flex-start; */
}


.teaser-card__title {
  margin-bottom: calc( 16px );
  margin-bottom: calc( var(--spacing-default) );
}


.teaser-card__text {
  flex-grow: 1;
}


/* News slider (news-latest) */


.carousel-item {
  padding: 0 16px;
  width: 80%;
}


@media (min-width: 768px) {


.carousel-item {
    width: 33.3%;
    min-height: 320px
}
  }


/* Controls */


.flickity-button {
  background: transparent;
  color: rgb(29,61,146);
  color: var(--blue);
}


.flickity-button:hover {
  background: #fff;
  cursor: pointer;
  color: rgb(29,61,146);
  color: var(--blue);
}


@media (min-width: 768px) {
  .flickity-prev-next-button {
    width: 64px;
    height: 64px;
  }
  .flickity-prev-next-button.previous {
    left: -64px !important;
  }
  .flickity-prev-next-button.next {
    right: -64px !important;
  }
}


/* Text Image Block */


@media (min-width: 768px) {
  .text-image-block .comp__inner {
    display: grid;
    grid-column-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
    grid-template-columns: 1fr 264px;
  }
}


.text-image__image figcaption {
  padding: var();
}


/* Project Key Data Block */


@media (min-width: 768px) {
  .project-keydata-block .comp__inner {
    display: grid;
    grid-column-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
    grid-template-columns: auto auto 264px;
  }
}


/* Styles for next events block */


.events-teaser-grid {
  display: grid;
  grid-row-gap: 48px;
}


@media (min-width: 768px) {


.events-teaser-grid {
    
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 40px;
    grid-row-gap: 48px
}
  }


.event-teaser {
  display: grid;
  grid-template-columns: 160px 1fr;
  grid-template-rows: auto;
  grid-column-gap: 32px;
}


.event-teaser__image {}


.event-teaser__title {
  font-size: max(1rem, min(2.5vw, 1.375rem));

}


.event-teaser__title a {
    text-decoration: none;
  }


.event-teaser__content {}


.event-teaser__date {}


/* Styles for list of upcoming events */


.teaser-grid {
  display: grid;
  grid-row-gap: 40px;
  grid-column-gap: 32px;
  justify-content: center;
  
}


@media (min-width: 768px) {


.teaser-grid {
    grid-template-columns: 1fr 1fr 1fr
  
}
  }


/* Style for pagination */


.pagination {
  margin-top: 80px;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}


.pagination a, 
  .pagination .current-page {
    display: flex;
    justify-content: center;
    align-items: center;
    /* padding: 8px; */
    border-radius: 50%;
    width: 48px;
    height: 48px;
  }


.pagination a {
    background-color: white;
    color: rgb(29,61,146);
    color: var(--blue);
  }


.pagination .current-page {
    background-color: rgb(29,61,146);
    background-color: var(--blue);
    color: white;
  }


/* Image Slider */


.image-slider__title {
  
}


/* .image-slider__item {
  height: calc(573px + 64px);
  width: 100%;
} */


.image-slider__item figure {
  display: flex;
  flex-flow: column;
  align-items: center;
  height: ;
}


.image-slider__image {
  /* height: 100%;
  width: auto; */
  aspect-ratio: 1.647 / 1;
  -o-object-fit: cover;
     object-fit: cover;
}


.image-slider__item figcaption {
  text-align: left;
  height: 40px;
  padding-top: 16px;
  padding-bottom: 16px;
}


@media (min-width: 768px) {
  .image-slider__item {
    height: calc(573px + 64px);
    width: 100%;
  }
  .image-slider__item figure {
    /* height: 573px; */
  }
  .image-slider__image {
    height: 540px;
  }
  
}


.caption.with-counter {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #222222;
  color: var(--coal);
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
}


.slide-counter.no-caption {
  display: block;
  width: 100%;
  text-align: right;
  color: #222222;
  color: var(--coal);
  font-size: clamp(0.8125rem, 0.7551rem + 0.3827vw, 1rem);
  font-size: var(--text-s);
  padding-top: 16px;
  padding-bottom: 16px;
}


/* Styles for SDG block */


.sdg-block {
  
}


.sdg-block .comp__inner {
  border-top: solid 8px #F7F7F7;
  border-top: solid 8px var(--near-white);
  
  display: grid;

  grid-row-gap: 40px;

  row-gap: 40px;

  
  
}


@media (min-width: 768px) {


.sdg-block .comp__inner {
    grid-template-columns: 25% 75%;
    -moz-column-gap: 32px;
         column-gap: 32px

  
  
}
  }


@media (min-width: 768px) {}


.sdg-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 16px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  grid-row-gap: 16px;
  row-gap: 16px;
  max-width: 240px;
}


.sdg-tiles__tile {}


/* Kontakt-Modul Styles */


.contact-block {}


.contact-block .comp__inner {
  display: grid;
  grid-row-gap: 32px;
  row-gap: 32px;
  grid-column-gap: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}


@media (min-width: 768px ) {


.contact-block .comp__inner {
    grid-template-columns: 160px 1fr 1fr;
}
  }


.contact-block .comp__inner {

  background-image: url("assets/images/divider-bottom-s-white.svg");
  background-position-y: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: center;
}


/* Styles for quote block */


@media (min-width: 768px) {


.quote-block .comp__inner {  
    display: grid;
    grid-column-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
    grid-template-columns: auto 172px

}
  }


.quote-source-photo__image {
  grid-column: 2 / 3;
  margin-bottom: 24px;
  margin-bottom: var(--spacing-base);
  margin-left: auto;
  margin-right: auto;
}


@media (min-width: 768px) {


.quote-source-photo__image {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0
}
  }


.quote-content {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}


blockquote {
  border-left: none;
  padding: 0;
  font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
  font-size: var(--text-m);
  font-style: inherit;
  margin: 0 0 24px 0;
  margin: 0 0 var(--spacing-base) 0;
  position: relative;
}


/* Styles for search results page */


/* search form */


.searchwp-modal-form__content {
  max-width: 944px;
  max-width: var(--content-medium);
  margin-left: auto;
  margin-right: auto;
}


.searchwp-modal-form__content input[type="search"] {
    color: #222222;
    color: var(--coal);
    font-size: clamp(1.375rem, 1.2813rem + 0.4688vw, 1.75rem);
    font-size: var(--text-l);
  }


.searchwp-modal-form__content input[type="search"]:focus {
    border: solid 2px rgb(29,61,146);
    border: solid 2px var(--blue);
  }


/* results */


.search-results #main {
  /* max-width: var(--content-medium);
  margin-left: auto;
  margin-right: auto; */
}


.whb-search-result {
  margin-bottom: 40px;
}


.search-results .page-header {
  max-width: 944px;
  max-width: var(--content-medium);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}


.search-results .page-header .page-title > span {
    /* font-style: italic; */
  }


.search-results .page-header .page-title > span::before {
    content: '„';
  }


.search-results .page-header .page-title > span::after {
    content: '“';
  }


/* .gb-grid-wrapper.view-projects > [class*="gb-grid-column-"]{
  width: auto;
  flex-basis: 31%;

}

.gb-grid-wrapper > .projekt {
  width: auto;
} */


.locations-grid,
.whb-engagement-grid {
  display: grid !important;
}


@media (min-width: 768px) {


.locations-grid,
.whb-engagement-grid {
    grid-template-columns: repeat(2, 1fr)
}
  }


@media (min-width: 960px) {


.locations-grid,
.whb-engagement-grid {
    grid-template-columns: repeat(3, 1fr)
}
  }


.location-item,
.whb-engagement-item {
	padding-bottom: 24px;
}


.location-image,
.whb-engagement-image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 360 / 230;
}


.location-item h2,
.whb-engagement-item h2 {
	padding: 16px;
	font-size: 1.2rem;
}


.location-item h2 a,
.whb-engagement-item h2 a {
  color: inherit;
  text-decoration: none;
}


.location-item h2 a::after,
.whb-engagement-item h2 a::after {
	content:'';
	display: block;
  background-image: url('assets/images/icon-arrow-right.svg');
  background-repeat: no-repeat;
  background-size: auto auto;
  background-size: initial;
  width: 32px;
  height: 24px;
  vertical-align: middle;
  margin-top: 24px;
}


.breadcrumbs {
  max-width: 944px;
  margin-left: auto;
  margin-right: auto;
}


/* Bildungsangebote */


@media (min-width: 768px) {
  .edu-block > .comp__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column-gap: 24px;
    -moz-column-gap: 24px;
         column-gap: 24px;
  }

  .edu-block > div > img {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
  }

  .edu-block > div > .edu__title {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .edu-block > div > .edu__facts  {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .edu__title {
    margin-top: 0;
  }

}


dl.edu__facts {
  /* display: grid;
  grid-template-columns: 1fr; */
}


.edu__facts dd {
  margin: 0 0 16px 0;
}


.edu__description {
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
}


@media (min-width: 768px) {
  dl.edu__facts {
    /* grid-template-columns: fit-content(10%) 1fr;
    row-gap: 8px;
    column-gap: 16px; */
  }
  .edu__facts dt {
    /* grid-column: 1/2; */
    line-height: 1.2;
    font-weight: bold;
  }
  
  .edu__facts dd {
    /* grid-column: 2/3;     */
  }
  .edu__description {
    /* -webkit-line-clamp: 2; */
  }

}


.edu__description.collapsed {
  -webkit-line-clamp: 3;
  margin-bottom: 0;
}


@media (min-width: 768px) {
  .edu__description.collapsed {
    -webkit-line-clamp: 2;
  }
}


.edu__more {
  display: none;
  margin-bottom: 16px;
}


.edu__more.active {
  display: inline-block;
}


ul.two-col-list {
  /* --list-indent: 1.5rem; */
  -moz-column-width: 20rem;
       column-width: 20rem;
  -moz-column-gap: 40px;
       column-gap: 40px;
}


.two-col-list ul {
  /* margin: 0 0 0 var(--list-indent);
  padding: 0;
  list-style-type: none; */
}


.two-col-list li {
  margin-bottom: 1rem;
}


.two-col-list li::marker {
  color: rgb(29,61,146);
  color: var(--blue);
  font-size: 2rem;
  line-height: 1;
}


/* .two-col-list li::before {
  content: "\2605";
  float: left;
  margin-left: calc( var(--list-indent) * -1 );
  width: var(--list-indent);
} */


/* @media (min-width: 960px ) {
  .two-col-list .acf-innerblocks-container {
    column-width: 20em;
  }
  
} */


/* filter.css */


/* hide the chips of selected terms (filter everything) */


.wpc-custom-selected-terms {
	display: none;
}


.wpc-filter-taxonomy {
	display: inline-block;
	padding: 4px 8px;
	background-color: white;
	border-radius: 40px;
	border: solid 2px rgb(29,61,146);
	border: solid 2px var(--blue);
	max-width: 320px;
  background-color: white;
}


@media (min-width: 768px) {
	.wpc-filters-widget-wrapper {
		display: flex;
	}
	.wpc-filter-taxonomy {
		margin-right: 24px;
		margin-right: var(--spacing-base);
	}
	
}


.wpc-filter-taxonomy .select2-selection {
	color: rgb(29,61,146);
	color: var(--blue);
	font-weight: 600;
	border: none;
  background-color: transparent;
}


.wpc-filter-header {
	display: none;
}


.wpc-filter-everything-dropdown {
	max-width: 320px;
}


.wpc-filter-taxonomy .select2-container .select2-selection--single {
  border: none;
  background-color: transparent;
}


/* posts found */


/* short code [fe_posts_found] */


.wpc-posts-found {
	margin-bottom: 24px;
	margin-bottom: var(--spacing-base);
	font-size: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
	font-size: var(--text-m);
}

