/*
Theme Name: psv
Theme URI: https://www.psv.io/
Author: Patrick
Author URI: https://wppatrickk.com/
Description: Custom Theme for psv
Version: 1.0.0
Text Domain: psv
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/


* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

:focus {
	outline: 0;
}

body {
	line-height: 1;
	color: black;
	background: white;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption,
th,
td {
	text-align: left;
	font-weight: normal;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

/*--------------------------------------------------------------
# WP Core Styles
--------------------------------------------------------------*/

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 25px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/*--------------------------------------------------------------
# Predefined Styles
--------------------------------------------------------------*/

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter.woff2') format('woff2'),
        url('fonts/Inter.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

:root {
	--body-font: 'Inter', sans-serif;
  	--base-color: #1f2223;
  	--yellow: #e0bc5f;
  	--orange: #bb5e16;
  	--white: #ffffff;
  	--main-transition-value: cubic-bezier(0.4, 0, 0, 1);
}

body {
	background: #fff;
	font-family: var(--body-font);
	font-weight: 400;
	font-size: 20px;
	color: var(--base-color);
}

a {
	color: var(--orange);
	text-decoration: none;
	-webkit-transition: all 0.2s linear 0s;
	transition: all 0.2s linear 0s;
}

a:hover {
	text-decoration: none;
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

hr {
	border: none 0;
	border-bottom: 1px solid #E0E0E0;
	height: 1px;
	margin: 10px 0;
}

.inner {
	width: 100%;
	padding: 0 25px;
	max-width: 1370px;
	margin: 0 auto;
}

.clear {
	clear: both;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 10px;
}

h1 {
	font-size: 75px;
}

h2 {
	font-size: 50px;
}

h3 {
	font-size: 28px;
	font-weight: 500;
}

h4 {
	font-weight: 300;
	font-size: 30px;
	color: var(--orange);
	text-transform: uppercase;
	padding-bottom: 30px;
	margin-bottom: 0;
}

p {
	line-height: 1.5;
	margin-bottom: 20px;
}

p:last-child {
	margin-bottom: 0;
}

img {
	max-width: 100%;
	height: auto;
}

input[type="text"], input[type="email"], textarea, select {
	background-color: #fff;
	border-radius: 10px;
	border: 4px solid #E0BC5F;
	width: 100%;
	padding: 24px 30px;
	font-size: 14px;
	font-family: var(--body-font);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

select,
select option:first-child {
	color: #777;
}

select option {
	color: var(--base-color);
}

.select-wrapper {
	position: relative;
}

.select-wrapper:before {
	position: absolute;
	width: 18px;
	height: 10px;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	z-index: 1;
	content: "";
	background: url('images/dropdown.png') no-repeat center / contain;
}

.wpcf7-not-valid-tip {
	font-size: 14px;
	padding: 8px 10px 0;
	color: #bb5e16;
}

input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 3px solid #E0BC5F;
	background-color: white;
	cursor: pointer;
	position: relative;
	transition: background-color 0.2s;
}

input[type="checkbox"]:checked {
	background-color: #E0BC5F;
}

input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 0px;
  	left: 4px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.wpcf7 form .wpcf7-response-output {
	margin-left: 0;
	margin-right: 0;
	border-radius: 10px;
	padding: 10px 15px;
	font-size: 16px;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #E0BC5F;
}

.button,
input[type="submit"] {
	background-color: var(--base-color);
	color: #fff;
	display: inline-block;
	padding: 20px 50px;
	font-size: 20px;
	font-weight: 600;
	border-radius: 8px;
	position: relative;
	overflow: hidden;
	border: 0;
	cursor: pointer;
}

.button span {
	position: relative;
	z-index: 10;
}

.button:before {
	width: 200%;
	aspect-ratio: 1 / 1;
	position: absolute;
	content: "";
	top: 100%;
	left: -50%;
	border-radius: 50%;
	background-color: var(--yellow);
	transition: all 0.2s ease-in-out 0s;
}

.button:hover {
	color: #fff;
}

.header-content .button2:hover {
	
}

.button:hover:before {
	top: -50%;
}

.button2 {
	background: none;
	border: 1px solid #fff;
}

.button2:hover {
	border-color: var(--yellow);
}

.button2:hover::before {
	top: -150%;
}

.button3 {
	background-color: var(--orange);
}

.bottom-gap {
	padding-bottom: 80px;
}

.bottom-gap-sm {
	margin-bottom: 30px;
}

.cwrap {
	display: flex;
	justify-content: space-between;
}

.valign {
	align-items: center;
}

.columns {	
	justify-content: start;
	flex-wrap: wrap;
	margin: 0 -20px;
}

.col {
	flex: 1 1 50%;
	max-width: 50%;
	padding: 0 20px;
}

.col3 {
	flex: 1 1 33.33%;
	max-width: 33.33%;
	padding: 0 20px;
}

.col23 {
	flex: 1 1 66.67%;
	max-width: 66.67%;
	padding: 0 20px;
}

.col4 {
	flex: 1 1 25%;
	max-width: 25%;
	padding: 0 20px;
}

.col34 {
	flex: 1 1 75%;
	max-width: 75%;
	padding: 0 20px;
}

.col12 {
	flex: 1 1 100%;
	max-width: 100%;
	padding: 0 20px;
}

/*--------------------------------------------------------------
# Header Styles
--------------------------------------------------------------*/

.site-header {
	position: sticky;
	top: 0;
	padding: 25px 20px;
	border-radius: 0px 0px 28px 28px;
	background-color: var(--white);
	z-index: 100;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}

.site-branding img {
	max-width: 420px;
}

.site-branding img.mobile-logo {
	display: none;
}

.header-button {
	margin-left: auto;
}

.site-menu {
    position: fixed;
    width: 480px;
    height: calc(100% - 115px);
    top: 115px;
    right: 0;
    z-index: 20;
    opacity: 0;
    transform: scaleX(0);
    padding: 0 20px 20px 0;
    transform-origin: right;
    transition: transform 0.5s var(--main-transition-value), opacity 0.5s;
}

.menu-opened .site-menu {
    opacity: 1;
    transform: scaleX(1);
}

.site-menu-wrap  {
    background-color: var(--base-color);
	border-radius: 28px;
	padding: 80px 40px;    
	position: relative;
	height: 100%;
	overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.site-menu .menu {
}

.site-menu li {
	margin-bottom: 40px;
}

.site-menu li a {
	font-weight: 600;
	font-size: 36px;
	text-align: right;
	display: block;
	color: var(--white);
	padding-right: 40px;
	position: relative;
}

.site-menu li.menu-item-has-children > a:before {
	position: absolute;
	width: 18px;
	height: 11px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: "";
	background: url('images/menu-arrow.png') no-repeat center / contain;
}

.site-menu li.menu-item-has-children.sub-opened > a:before {
	transform: translateY(-50%) rotate(180deg);
}

.site-menu li ul {
	display: none;
	padding-top: 30px;
}

.site-menu li ul li {
	margin-bottom: 20px;
}

.site-menu li ul li a {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
}

.site-menu .header-button {
    display: none;
    padding-top: 12px;
    padding-right: 24px;
}

.site-menu .header-button .button {
    background-color: var(--white);
    color: var(--base-color);
}

.site-lang {
	position: relative;
    margin-left: 40px;
}

.site-menu .site-lang {
    display: none;
    padding: 10px 0 20px;
}

.site-lang > a {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--base-color);
    letter-spacing: 1.6px;
    position: relative;
    padding: 5px 40px 5px 0;
    display: block;
}

.site-menu .site-lang > a {
    color: #fff;
}

.site-lang > a::after {
	width: 24px;
	height: 24px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url('images/down-arrow.png') no-repeat center / contain;
	content: "";
}

.site-menu .site-lang > a::after {
    background: url('images/menu-arrow.png') no-repeat center / contain;
    width: 15px;
    height: 11px;
}

.lang-selector {
	position: absolute;
	width: 108px;
	right: 0;
	top: 30px;
	background-color: #fff;
	padding: 10px 20px;
	text-align: right;
	display: none;
}

.site-header .site-lang:hover > .lang-selector,
.site-lang-active .lang-selector {
    display: block;
}

.lang-selector a {
	display: block;
	padding: 8px 10px;
	font-weight: 600;
	font-size: 20px;
	text-align: center;
}

/*--------------------------------------------------------------
# Header Styles
--------------------------------------------------------------*/

.mobile-slide {
	position: relative;
	width: 50px;
	height: 35px;
	top: 2px;
	cursor: pointer;
	display: flex;
	align-items: center;
	margin-left: 40px;
}

.mobile-slide span {
	background-color: var(--base-color);
	display: block;
	height: 4px;
	position: relative;
	transition: background .2s ease-out;
	width: 100%;
	border-radius: 8px;
	transition: all .3s ease-out;
}

.mobile-slide span::before,
.mobile-slide span::after {
	background: var(--base-color);
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 70%;
	right: 0;
	border-radius: 8px;
	transition: all .3s ease-out;
}

.mobile-slide span::before {
	width: 50%;
}

.mobile-slide:hover span::before,
.mobile-slide:hover span::after,
.menu-opened .mobile-slide span::before,
.menu-opened .mobile-slide span::after {
	width: 100%;
}

.mobile-slide span::before {
	top: 14px;
}

.mobile-slide span::after {
	top: -14px;
}

.menu-opened .mobile-slide span {
	background: transparent;
}

.menu-opened .mobile-slide span:before,
.menu-opened .mobile-slide span:after {
	background: var(--base-color);
	top: 0;
}

.menu-opened .mobile-slide span:before {
	transform: rotate(-45deg);
}

.menu-opened .mobile-slide span:after {
	transform: rotate(45deg);
}

/*--------------------------------------------------------------
# Content Styles
--------------------------------------------------------------*/

.site-content {
	overflow: hidden;
}

.page-id-1257 .site-content {
	overflow: unset;
}

.section {
	padding: 80px 0;
	position: relative;
}

.section-image {
	left: 0;
	bottom: 0;
	position: absolute;
	width: 100%;
	max-width: 600px;
	transform: translate(-300px, 10%);
}

.bild-und-text-v1 .section-image,
.bild-und-text-v3 .section-image {
	left: auto;
	right: 0;
	transform: translate(300px, 20%);
}

.page-template-default .site-content .section:first-child,
.single-volunteer_project .site-content .section:first-child,
.single-job .site-content .section:first-child {
	padding-top: 0;
}

.header .inner {
	max-width: none;
	padding: 0 20px;
}

.headerv3 .header-container {
	overflow: visible;
}

.headerv3 .header-container:before {
	border-radius: 28px 0 0 28px;
}

.headerv3 .inner .inner {
	padding: 0 25px;
  	max-width: 1370px;
  	position: relative;
  	height: 100%;
}

.section-header-wrap {
	position: relative;
}

.header-container {
	border-radius: 28px;
	position: relative;
	overflow: hidden;
	height: calc(100vh - 200px);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.headerv2 .header-container,
.headerv3 .header-container {
	height: 100vh;
	max-height: 560px;
}

.headerv3 .header-container {
	max-height: 685px;
}

.header-container:before {
	width: 75%;
    height: 100%;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background: linear-gradient(89deg, rgba(0, 0, 0, 0.50) 22.73%, rgba(39, 35, 35, 0.00) 95.6%);
    mix-blend-mode: multiply;
    z-index: 1;
}

.header-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 28px;
}

.header-image.mobile-image {
	display: none;
}

.header-content {
	position: absolute;
	top: 50%;
	left: 120px;
	z-index: 10;
	transform: translateY(-50%);
}

.header-content h1 {
	color: var(--white);
	margin-bottom: 40px;
}

.scroll-down {
	position: absolute;
	width: 120px;
	height: 120px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	bottom: -60px;
	border-radius: 50%;
	background-color: #1F2223;
	cursor: pointer;
	overflow: hidden;
}

.scroll-down-wrap {
	position: relative;
	width: 100%;
	height: 100%;
}

.scroll-down-hover {
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0;
	border-radius: 50%;
	background-color: var(--yellow);
	display: block;
	position: absolute;
	transition: all 0.3s var(--main-transition-value) 0s;
}

.scroll-down:hover .scroll-down-hover {
	top: 0;
}

.scroll-down svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	transition: all 0.3s var(--main-transition-value) 0s;
}

.scroll-down:hover svg {
	top: 55%;
}

.bild-und-text-v1 .col:last-child {
	padding-top: 80px;
	padding-left: 80px;
}

.bild-und-text-v1 .image-overlay {
	max-width: 360px;
}

.text-modul .col:first-child {
	padding-right: 80px;
}

.bild-und-text-v1 .col:first-child {
	position: relative;
}

.bild-und-text-v1-content {
	padding: 20px 0 30px;
}

.bild-und-text-v1 img {
	border-radius: 20px;
}

.image-overlay,
.standort-overlay {
	position: absolute;
	right: -20px;
	bottom: 60px;
	padding: 20px;
	text-align: left;
	width: 100%;
	max-width: 420px;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: -9px 11px 9.8px 3px rgba(191, 200, 197, 0.15);
}

.standort-overlay {
	padding: 42px 40px;
	max-width: 460px;
}

.headerv3 .standort-overlay {
	left: 20px;
	right: auto;
	bottom: -60px;
}

.image-overlay-head {
	justify-content: flex-start;
}

.image-overlay-head h3,
.image-overlay-head p {
	font-size: 30px;
	color: var(--orange);
}

.image-overlay-head p {
	margin-bottom: 0;
	padding-left: 15px;
}

.image-overlay-head h3 strong,
.image-overlay-head span {
	font-weight: 700;
	font-size: 50px;
	color: var(--yellow);
}

.boxen-mit-bild-text-content {
	height: 590px;
	overflow: hidden;
}

.boxen-mit-bild-text-content .col3 {
	transition: all 0.5s var(--main-transition-value) 0s;
}

.boxen-mit-bild-text-content[data-section="box-1"] .col3:first-child,
.boxen-mit-bild-text-content[data-section="box-3"] .col3:last-child,
.boxen-mit-bild-text-content[data-section="box-2"] .col3:nth-child(2) {
	flex: 1 1 66.67%;
  	max-width: 66.67%;
}

.boxen-mit-bild-text-content[data-section="box-1"] .col3:last-child,
.boxen-mit-bild-text-content[data-section="box-3"] .col3:first-child,
.boxen-mit-bild-text-content[data-section="box-2"] .col3:last-child {
	flex: 1 1 0%;
  	max-width: 0%;
  	padding: 0;
}

.boxen-mit-bild-text-content[data-section="box-1"] .col3:last-child a,
.boxen-mit-bild-text-content[data-section="box-1"] .col3:first-child .box-mit-hidden,
.boxen-mit-bild-text-content[data-section="box-3"] .col3:first-child a,
.boxen-mit-bild-text-content[data-section="box-3"] .col3:last-child .box-mit-hidden,
.boxen-mit-bild-text-content[data-section="box-2"] .col3:last-child a,
.boxen-mit-bild-text-content[data-section="box-2"] .col3:nth-child(2) .box-mit-hidden {
	height: auto;
}

.boxen-mit-bild-text-content a {
	display: block;
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	height: 590px;
}

.boxen-mit-bild-img,
.boxen-mit-bild-text img {
	display: block;
}

.boxen-mit-bild-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.box-mit-content {
	position: absolute;
	width: calc(100% - 60px);
	left: 30px;
	bottom: 30px;
}

.box-mit-content h3 {
	margin-bottom: 0;
	font-size: 44px;
	color: #fff;
}

.box-mit-hidden {
	height: 0;
	overflow: hidden;
	transition: all 0.3s var(--main-transition-value) 0s;
	max-width: 580px;
}

.box-mit-hidden p {
	color: #fff;
	padding-top: 15px;
}

.teaser-volunteer .col3 a {
	display: block;
}

.teaser-volunteer .col3 a h3,
.teaser-volunteer .col3 a p {
	color: var(--base-color);
}

.boxen-mit-bild-text-content p,
.bild-und-text-v2 p {
	font-size: 18px;
}

.boxen-mit-bild-text-content p,
.boxen-mit-bild-text-content .button {
	margin-top: auto;
}

.bild-und-text-v2 img {
	max-width: 615px;
	border-radius: 28px;
}

.bild-und-text-v2 h3 {
	margin-bottom: 20px;
}

.bild-und-text-v2 p {
	padding: 10px 0 5px;
}

.kundenstimmen {
	overflow: hidden;
}

.kundenstimmen-content {
	padding-top: 120px;
}

.testimonial-slider {
	padding-bottom: 80px;
}

.testimonial-slider .slick-track {
    display: flex !important;
}

.testimonial-slider .slick-slide {
    height: inherit !important;
}

.kundenstimmen-content .slick-list {
	margin: 0 -25px;
	overflow: visible;
}

.kundenstimmen-content .slick-slide {
	margin: 0 25px;
}

.testimonial-card,
.stellen-job {
	padding: 120px 80px 80px 120px;
	border-radius: 20px;
	position: relative;
	background-image: linear-gradient(to right, #E0BC5F, #BB5116);
}

.testimonial-card {
	position: relative;
	height: 100%;
}

.testimonial-card:before {
	position: absolute;
	top: 50px;
	left: 40px;
	width: 47px;
	height: 47px;
	content: "";
	background: url('images/quotation-mark.png') no-repeat center / contain;
	z-index: 5;
}

.testimonial-card:after,
.stellen-job:after {
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background-color: #fff;
	position: absolute;
	top: 4px;
	left: 4px;
	border-radius: 16px;
	content: "";
}

.testimonial-image {
	position: absolute;
	width: 118px;
	height: 118px;
	top: -60px;
	right: 40px;
	z-index: 8;
	border-radius: 50%;
	overflow: hidden;
	background-color: #fff;
}

.testimonial-content {
	position: relative;
	z-index: 10;
	text-align: right;
}

.testimonial-content p:not(.title) {
	font-style: italic;
	text-align: left;
}

.testimonial-card h4 {
	padding-top: 40px;
}

.title {
	color: rgba(16, 16, 16, 0.30);
	font-weight: 300;
}

.slick-arrow {
	display: none !important;
}

.slide-arrows {
	text-align: right;
	padding-top: 80px;
}

.slide-arrow {
	display: inline-block;
	margin-left: 10px;
	width: 50px;
	height: 50px;
	background-color: var(--base-color);
	border-radius: 50%;
	position: relative;
}

.slide-arrow svg {
	fill: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.slide-prev.slide-arrow svg {
	transform: translate(-50%, -50%) rotate(-180deg);
}

.headerv2 h1 {
	margin-bottom: 0;
}

.headerv2 .header-content {
	top: auto;
	bottom: 80px;
	transform: translateY(0);
}

.bild-und-text-v3 h2,
.bild-und-text-v4 h2,
.bild-und-text-v6 h2 {
	margin-bottom: 30px;
}

.bild-und-text-v3 img,
.bild-und-text-v4 img,
.bild-und-text-v6 img {
	border-radius: 20px;
}

.bild-und-text-v2 .col:first-child,
.bild-und-text-v3 .col:last-child,
.bild-und-text-v4 .col:last-child,
.bild-und-text-v6 .col:last-child,
.text-und-bildslider .col:first-child {
	padding-top: 90px;
}

.bild-und-text-v4 .col:last-child,
.bild-und-text-v6 .col:last-child,
.bild-und-text-v2 .col:last-child {
	padding-left: 20px;
}

.bild-und-text-v4 .col:last-child,
.bild-und-text-v6 .col:last-child,
.bild-und-text-v2 .col:last-child,
.zweispaltiges-textmodul .col:last-child {
	padding-top: 65px;
}

.zweispaltiges-textmodul .button {
	margin-top: 30px;
}

.bild-und-text-v2.bild-und-text-v3 .col:last-child > * {
	max-width: none;
}

.bild-und-text-v3 a {
	color: var(--light-red);
	font-weight: 600;
}

.bild-und-text-v3 a.bild-read-less {
	display: inline-block;
	padding-top: 15px;
}

.hidden-content {
	display: none;
}

.zeitleiste .col:first-child {
	padding-right: 80px;
}

.zeitleiste img {
	border-radius: 20px;
}

.zeitleiste .content-blocks {
	height: 700px;
	margin-top: 80px;
	padding-left: 60px;
}

.zeitleiste .block {
	padding-bottom: 30px;
}

.zeitleiste .image-overlay-head {
	padding-bottom: 20px;
}

.zeitleiste h4 {
	margin-bottom: 20px;
}

.simplebar-track.simplebar-vertical {
	width: 5px;
	left: 0;
	right: auto;
	border-radius: 20px;
	background-color: var(--light-red);
}

.simplebar-scrollbar {
	border-radius: 20px;
	background-color: var(--dark-red);
}

.fakten-und-zahlen {
	padding-bottom: 20px;
}

.fakten-und-zahlen-header {
	max-width: 550px;
	padding-bottom: 20px;
}

.fakten-und-zahlen-header h2 {
	margin-bottom: 20px;
}

.fakten-und-zahlen-content .col,
.fakten-und-zahlen-content .col3 {
	padding-top: 60px;
	padding-bottom: 60px;
}

.fakten-und-zahlen-content .block {
	max-width: 600px;
}

.page-404-content .col:last-child {
	padding-left: 80px;
}

.fakten-und-zahlen-content .image-overlay-head p {
	font-weight: 600;
	font-size: 40px;
	margin-bottom: 0;
	padding-left: 0;
	color: var(--yellow);
}

.fakten-und-zahlen-content .image-overlay-head span {
	display: block;
	font-size: 80px;
	margin-bottom: 20px;
	color: var(--orange);
}

.benefits .fakten-und-zahlen-header {
	max-width: 600px;
}

.benefits .content-blocks h3 {
	font-weight: 600;
	color: var(--orange);
	font-size: 40px;
	padding: 25px 0 10px;
}

.bild-und-text-v5 .cwrap {
	margin: 0 -80px;
}

.bild-und-text-v5 .col {
	padding: 0 80px;
}

.bild-und-text-v5 img {
	border-radius: 20px;
}

.kalendar-header {
	padding-bottom: 40px;
}

.kalendar-header h2 {
	margin-bottom: 30px;
}

.kalendar-content .cwrap {
	margin: 0 -20px;
}

.kalendar-content .col5 {
	padding: 0 20px;
	display: flex;
	flex-direction: column;
}

.kalendar-content h3 {
	font-size: 40px;
	color: var(--light-red);
	font-weight: 600;
	margin-bottom: 20px;
}

.timings {
	margin: 0 -20px;
}

.timing {
	padding: 20px;
}

.timing > * {
	position: relative;
	z-index: 10;
}

.timing:nth-child(1),
.timing:nth-child(3),
.timing:nth-child(5),
.timing:nth-child(7),
.timing:nth-child(9) {
	background-color: #f7f7f7;
	position: relative;
}

.timing:nth-child(1):before,
.timing:nth-child(3):before,
.timing:nth-child(5):before,
.timing:nth-child(7):before,
.timing:nth-child(9):before {
	width: 150%;
	height: 100%;
	background-color: #f7f7f7;
	left: -25%;
	top: 0;
	content: "";
	position: absolute;
}

.kalendar-content .col5:first-child .timing:before {
	border-radius: 20px 0 0 20px;
}

.kalendar-content .col5:last-child .timing:before {
	border-radius: 0 20px 20px 0;
}

.timing h4 {
	font-size: 28px;
	font-weight: 500;
	margin-bottom: 12px;
}

.timing p {
	font-size: 18px;
	margin-bottom: 12px;
}

.timing-note {
	font-weight: 500;
	color: var(--dark-red);
	padding-left: 35px;
	position: relative;
}

.timing-note:before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 22px;
	height: 22px;
	content: "";
	line-height: 1.4;
	background: url('images/tooltip.png') no-repeat center / contain;
}

.boxen-mit-kategorien-content {
	padding-top: 40px;
}

.boxen-mit-kategorien-content .slick-list {
	margin: 0 -20px;
}

.boxen-mit-kategorien-content .slick-track {
	
	display: flex !important;
}

.boxen-mit-kategorien-content .slick-slide {
	padding: 0 20px;
	height: inherit !important;
}

.boxen-mit-kategorien-box {
	background-color: #f7f7f7;
	border-radius: 28px;
	overflow: hidden;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: all 0.3s var(--main-transition-value) 0s;
}

.boxen-mit-kategorien-box:hover {
	background-color: var(--light-pink);
}

.boxen-mit-kategorien-wrap {
	padding: 30px;
}

.boxen-mit-kategorien-box a {
	color: var(--base-color);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	height: 100%;
}

.tag {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 28px;
	background-color: #fff;
}

.boxen-mit-kategorien-wrap h3 {
	font-weight: 600;
	font-size: 45px;
	margin-bottom: 0;
	padding: 20px 0;
}

.boxen-mit-kategorien-img {
	position: relative;
	aspect-ratio: 1/1.1;
	margin-top: auto;
	width: 100%;
}

.boxen-mit-kategorien-img .project-arrow {
	bottom: 20px;
	top: auto;
	right: 30px;
	opacity: 0;
	background-color: var(--light-pink);
	transition: all 0.3s var(--main-transition-value) 0s;
}

.boxen-mit-kategorien-box a:hover .project-arrow {
	right: 20px;
	opacity: 1;
}

.boxen-mit-kategorien-img .project-arrow svg {
	fill: var(--base-color);
}

.boxen-mit-kategorien-img > div {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 98%;
	transition: all 0.3s var(--main-transition-value) 0s;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 28px;
	overflow: hidden;
}

.boxen-mit-kategorien-img > div.boxen-img-hover,
.boxen-mit-kategorien-box a:hover .boxen-img {
	opacity: 0;
}

.boxen-mit-kategorien-box a:hover .boxen-img-hover {
	height: 100%;
	opacity: 1;
}

.kontakt-modul {
	padding: 0;
}

.kontakt-modul-content {
	border-radius: 20px;
	text-align: center;
	background-color: var(--base-color);
	color: #fff;
	padding: 120px 80px;
}

.kontakt-modul .button {
	margin-top: 40px;
}

.stellen-job {
	padding: 80px;
	margin-top: 60px;
}

.stellen-job > div {
	position: relative;
	z-index: 5;
}

.job-title h2 {
	font-size: 36px;
}

.job-title h2 a {
	color: var(--base-color);
}

.job-description {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 80px;
}

.job-link a {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: var(--base-color);
	border-radius: 50%;
	position: relative;
}

.job-link svg {
	fill: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.stellen-job-meta {
	padding-top: 80px;
}

.stellen-job-meta span {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 6px;
	background: rgba(218, 206, 215, 0.50);
	margin-right: 20px;
	font-size: 18px;
	font-weight: 500;
	color: var(--dark-red);
}

.fakten-und-zahlen.aufzahlung .block {
	max-width: 600px;
}

.bild-und-text-v5 h2 {
	margin-bottom: 40px;
}

.bild-und-text-v4.bild-text-modules ul,
.bild-und-text-v6.bild-text-modules ul {
	padding-left: 0;
}

.zwei-spaltiges li,
.bild-und-text-v4.bild-text-modules li,
.bild-und-text-v6.bild-text-modules li {
	position: relative;
	padding-left: 40px;
	min-height: 26px;
	margin-bottom: 20px;
	list-style-type: none;
}

.zwei-spaltiges li:before,
.bild-und-text-v4.bild-text-modules li:before,
.bild-und-text-v6.bild-text-modules li:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	background: url('images/check.png') no-repeat center / contain;
	content: "";
}

.teaser-volunteer .boxen-mit-bild-text-content p {
	margin-top: 0;
}

.project-image {
	position: relative;
}

.project-arrow {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: var(--base-color);
	border-radius: 50%;
	position: absolute;
	top: 20px;
	right: 20px;
}

.project-arrow span {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
}

.project-arrow svg {
	fill: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.page-legal {
	padding-top: 120px;
}

.page-legal h1 {
	font-size: 50px;
	margin-bottom: 80px;
}

.page-legal h3 {
	font-size: 36px;
	margin-bottom: 20px;
}

.page-404-content h2 {
	margin-bottom: 20px;
}

.page-404-content .button {
	margin-top: 25px;
}

.mitarbeiter-slide > .cwrap {
	align-items: end;
}

.mitarbeiter-left {
	background-color: #D6CDD6;
	border-radius: 28px;
	overflow: hidden;
}

.mitarbeiter-left-content {
	padding: 48px 34px 96px;
}

.mitarbeiter-left-content h2 {
	margin-bottom: 0;
	padding: 30px 0;
}

.mitarbeiter-right {
	display: flex;
	flex-direction: column;
	align-items: end;
	text-align: right;
}

.mitarbeiter-right h2 {
	margin-bottom: 30px;
}

.mitarbeiter-right p {
	max-width: 800px;
}

.mitarbeiter-right-block {
	padding-top: 40px;
}

.mitarbeiter-right-image {
	max-width: 450px;
	background-color: #D6CDD6;
	padding: 10px;
	border-radius: 28px;
	margin-left: 30px;
}

.mitarbeiter-right-image img {
	border-radius: 28px;
	display: block;
}

.mitarbeiter-right-block > .cwrap {
	align-items: end;
}

.mitarbeiter-right-content {
	padding-bottom: 30px;
}

.mitarbeiter-v2 .kundenstimmen-content .slick-list {
	overflow: hidden;
}

.text-und-bildslider-slide {
	text-align: right;
}

.text-und-bildslider-slide.slick-slide img {
	border-radius: 20px;
	max-width: 615px;
	display: inline-block;
}

.gallerie-module-header h4 {
	text-align: center;
}

.gallerie-slides .slick-list {
	overflow: visible;
}

.gallerie-slide {
	padding: 0 30px;
}

.gallerie-box {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}

.gallerie-tag {
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: #fff;
	padding: 10px 20px;
	border-radius: 28px;
}

.gallerie-img {
	
}

.standort .cwrap {
	
}

.contact-blocks-v2 {
	padding-left: 80px;
}

.contact-block {
	padding: 15px 0;
}

.bento-grids .contact-block {
	padding: 5px 0;
}

.contact-image {
	width: 80px;
	padding-left: 20px;
	text-align: center;
}

.contact-image img {
	max-width: 42px;
}

.contact-content {
	width: calc(100% - 80px);
	padding: 0 20px;
}

.kontakt-modul-icons-v3 img {
	border-radius: 28px;
}

.kontakt-modul-icons-v3 .contact-image img {
	border-radius: 0;
}

.kontakt-modul-icons-v3 .col:last-child {
	padding-left: 100px;
}

.location-card {
	border-radius: 20px;
	border: 4px solid #BFA5B3;
	padding: 40px;
	position: relative;
	height: 100%;
}

.standort .col:last-child {
	padding-left: 80px;
}

.standort-overlay {
	bottom: -100px;
  	right: -20px;
}

.standort .contact-blocks {
	padding: 15px 0 50px;
}

.standort-img {
	position: relative;
}

.standort-img img {
	border-radius: 28px;
}

.standort-overlay {
	bottom: -60px;
  	right: -40px;
  	left: auto;
  	box-shadow: 9px 11px 9.8px 3px rgba(191, 200, 197, 0.15);
}

.standort-overlay-head {
	justify-content: flex-start;
	padding-bottom: 15px;
}

.standort-overlay-head img {
	margin-right: 20px;
}

.standort-overlay-head h3 {
	font-weight: 400;
	margin-bottom: 0;
	color: var(--light-red);
}

#psv-map {
	width: 100%;
	height: 680px;
	border-radius: 28px;
	overflow: hidden;
}

.gm-style-cc, .gmnoprint {
	display: none !important;
}

.bento-grids-content .col3:first-child,
.bento-grids-content .col3:nth-child(2),
.bento-grids-content .col3:nth-child(3) {
	padding-top: 0;
}

.bento-grids-content .col3 {
	padding-top: 40px;
}

.bild-text-modules ul,
.bild-text-modules ol,
.legal-content ul,
.legal-content ol {
	padding: 0 0 20px 25px;
}

.bild-text-modules ul li,
.bild-text-modules ol li,
.legal-content ul li,
.legal-content ol li {
	list-style: disc outside none;
	line-height: 1.4;
	margin-bottom: 10px;
	font-size: 18px;
}

.bild-text-modules ol li,
.legal-content ol li {
	list-style: decimal outside none;
}

.embedded-video {
	border-radius: 28px;
	overflow: hidden;
}

.embedded-video video {
	max-width: 100%;
}

.lightbox-video {
	position: relative;
	cursor: pointer;
}

.lightbox-play {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 30px;
	right: 30px;
	background-color: var(--base-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lightbox-play svg {
	width: 30px;
	height: 30px;
	position: relative;
	left: 2px;
}

.lightbox-overlay {
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 118px 20px 20px;
	z-index: 80;
	display: none;
}

.lightbox-inner {
	position: relative;
	height: 100%;
	border-radius: 28px;
	overflow: hidden;
}

.lightbox-overlay video {
	width: 100%;
  	height: 100%;
	object-fit: cover;
}

.lightbox-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	background-color: var(--base-color);
	border-radius: 28px;
	cursor: pointer;
	z-index: 10;
}

.lightbox-close span {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	display: block;
}

.lightbox-close span:before,
.lightbox-close span:after {
	width: 30px;
	height: 3px;
	border-radius: 8px;
	background-color: #ffffff;
	position: absolute;
	top: 12px;
	left: 0;
	content: "";
}

.lightbox-close span:before {
	transform: rotate(-45deg);
}

.lightbox-close span:after {
	transform: rotate(45deg);
}

.bildslider-mit-menu .inner {
	max-width: 1920px;
}

.menu-section {
	padding-top: 30px;
}

.menu-section:first-child {
	padding-top: 0;
}

.menu-images-wrap {
	position: sticky;
	top: 140px;
}

.menu-image {
	display: none;
	border-radius: 20px;
	overflow: hidden;
}

.menu-image:first-child {
	display: block;
}

.menu-dots {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	z-index: 10;
}

.menu-dot {
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #777;
	margin: 10px 0;
}

.menu-dot.active-dot {
	background-color: #fff;
}

.menu-tabs-header {
	padding-bottom: 60px;
	justify-content: start;
}

.menu-tabs-header a {
	border: 2px solid var(--base-color);
	color: var(--base-color);
	background-color: #fff;
	margin-right: 50px;
}

.menu-tabs-header a:last-child {
	margin-right: 0;
}

.menu-tabs-header a.active-menu-tab {
	background-color: var(--base-color);
	color: #fff;
}

.menu-tabs-header a.button::before {
	background-color: var(--base-color);
}

.menu-tabs-header a.button:hover::before {
	top: -75%;
}

.menu-content {
	display: none;
}

.menu-content:first-child {
	display: block;
}

.menu-content h2 {
	color: var(--yellow);
	margin-bottom: 0;
	padding-bottom: 60px;
}

.menu-content .menu-section:nth-child(2n+2) h2 {
	color: var(--orange);
}

.menu-row {
	margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #d8d8d8;
    line-height: 1.4;
}

.menu-row:last-child {
	margin-bottom: 0;
}

.menu-row p {
    margin-bottom: 0;
}

.pricing-left p {
	font-weight: 600;
}

.pricing-left p span {
	display: inline-block;
	font-size: 13px;
	padding-top: 0;
	font-weight: 400;
	position: relative;
	top: -5px;
}

.pricing-left span {
    font-size: 18px;
    display: block;
    padding-top: 6px;
}

.pricing-right p {
	line-height: 1.8;
}

.bento-grid-slide .col23 {
	flex: 1 1 60%;
  	max-width: 60%;
}

.bento-grid-slide .col3 {
	flex: 1 1 40%;
  	max-width: 40%;
}

.bento-grid-wrap {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
}

.bento-grid-row {
	flex-grow: 1;
	position: relative;
	height: 50%;
}

.bento-grid-row:first-child {
	background-color: #f3f0e9;
	border-radius: 20px;
	padding: 60px 40px;
	margin-bottom: 20px;
}

.bento-grid-row:last-child {
	display: flex;
	flex-direction: column;
}

.bento-grid-row:last-child .cwrap {
	flex-grow: 1;
}

.bento-grid-secondary {
	border-radius: 20px;
	background-color: #1b1919;
	padding: 40px;
	color: #fff;
	position: relative;
	height: 100%;
}

.bento-grid-image {
	position: relative;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.bento-grid-thumb {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.bento-grid-main {
	border-radius: 20px;
	overflow: hidden;
}

.kontaktformular {
	position: relative;
}

.contact-right-align {
	display: flex;
	justify-content: end;
}

.contact-form {
	max-width: 900px;
}

.contact-form > p {
	max-width: 560px;
}

.wpcf7-form .cwrap {
	padding-top: 30px;
}

.wpcf7-form .cwrap .cwrap {
	padding-top: 0;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7-acceptance label {
	position: relative;
	padding-left: 40px;
	display: block;
}

.wpcf7-acceptance label input {
	position: absolute;
	top: 2px;
	left: 0;
}

.contact-img {
	position: absolute;
	top: 50%;
	left: -400px;
	transform: translateY(-50%);
	border-radius: 50%;
	overflow: hidden;
}

.contact-img-right {
	left: auto;
	right: -400px;
}

.bullet-points {
	padding-top: 20px;
}

.bullet-points ul {
	width: 48%;
	font-weight: 600;
}

.bullet-points ul span {
	display: inline-block;
	padding-right: 5px;
}

.stellen-header {
	max-width: 50%;
}

.headerv3 {
	padding-left: 20px;
	padding-right: 20px;
}

.headerv3 .inner {
	max-width: 1370px;
	position: relative;
	height: 100%;
	z-index: 2;
}

/*--------------------------------------------------------------
# Footer Styles
--------------------------------------------------------------*/

.site-footer {
	background-color: var(--base-color);
	color: #fff;
	margin-top: 80px;
	border-radius: 60px 60px 0px 0px;
}

.site-footer p {
	max-width: 500px;
}

.site-footer .col:last-child {
	text-align: right;
}

.footer-menu li {
	margin-bottom: 20px;
}

.footer-menu a {
	font-weight: 600;
	color: var(--white);
}

.footer-menu a[href="#"] {
	pointer-events: none;
}

.footer-social {
	padding-top: 40px;
}

.footer-social a {
	display: inline-block;
	margin-left: 10px;
}

/*--------------------------------------------------------------
# Responsive Styles
--------------------------------------------------------------*/

@media screen and (max-width : 1460px) {
	.site-header {
		padding: 20px;
	}

	.scroll-down {
		width: 100px;
		height: 100px;
		bottom: -50px;
	}

	.header-container {
		height: calc(100vh - 170px);
	}

	.section-image {
		left: -200px;
		bottom: 0;
	}

	.bild-und-text-v1 .section-image, .bild-und-text-v3 .section-image {
		bottom: -10%;
	}

	.section-image img {
		max-width: 400px;
	}

	.menu-tabs-header a {
		padding: 20px 30px;
		flex-grow: 1;
		text-align: center;
		font-size: 18px;
	}

	.text-und-bildslider .col:last-child {
		position: relative;
	}

	.text-und-bildslider .slide-arrows {
		position: absolute;
		top: 30px;
		right: 50px;
		z-index: 10;
		padding-top: 0;
	}

	.contact-img {
		left: -300px;
	}

	.contact-img img {
		max-width: 600px;
	}

	.gallerie-box img {
		max-height: 600px;
	}

	h1 {
		font-size: 50px;
	}

	h2,
	.boxen-mit-kategorien-wrap h3 {
		font-size: 40px;
	}

	.benefits .content-blocks h3 {
		font-size: 32px;
	}

	h3 {
		font-size: 24px;
	}
}

@media screen and (max-width : 1320px) {
	.image-overlay {
		bottom: -80px;
	}

	.mitarbeiter-left-content {
		padding: 20px 20px 40px;
	}

	.mitarbeiter-slider .col3 {
		flex: 1 1 40%;
		max-width: 40%;
	}

	.mitarbeiter-slider .col23 {
		flex: 1 1 60%;
		max-width: 60%;
	}

	.menu-tabs-header a {
		margin-right: 30px;
	}
}

@media screen and (max-width : 1080px) {
	.desktop-logo,
	.header-button {
		display: none;
	}

    .site-lang {
        margin-left: auto;
    }

	.headerv2 .header-container {
		height: calc(100vh - 122px);
	}

	.site-branding img.mobile-logo {
		display: block;
	}

	.boxen-mit-bild-text-content .cwrap {
		display: block;
	}

	.boxen-mit-bild-text-content .col3 {
		width: 100%;
		max-width: 80%;
	}

	.header-content {
		left: 20px;
		top: 50%;
		transform: translateY(-50%);
	}

	.button {
		padding: 18px 40px;
	}

	.inner {
		padding: 0 20px;
	}

	.section {
		padding: 60px 0;
	}

	.headerv3 {
		padding-left: 20px;
		padding-right: 20px;
	}

	.gallerie-box img {
		max-height: 400px;
	}

	.kundenstimmen-header .col,
	.kontakt-modul-icons-v3 .col,
	.kontakt-modul-icons-v2 .col,
	.bild-und-text-v3 .col,
	.zeitleiste .col,
	.bild-und-text-v4 .col,
	.bild-und-text-v5 .col,
	.bild-und-text-v1 .col,
	.standort .col,
	.bild-und-text-v6 .col,
	.bild-und-text-v2 .col,
	.bildslider-mit-menu .col,
	.text-und-bildslider .col,
	.text-modul .col,
	.boxen-mit-bild-text-content .col3,
	.bento-grid-slide .col23,
	.bento-grids-header .col23,
	.bento-grids-header .col3,
	.page-404-content .col {
		flex: 1 1 100%;
  		max-width: 100%;
	}

	.bento-grids-header .slide-arrows {
		padding-top: 20px;
  		text-align: left;
	}

	.menu-content h2,
	.page-404-content .col:last-child {
		padding-bottom: 30px;
	}

	.menu-row {
		margin-bottom: 10px;
        padding-bottom: 10px;
	}

	.bento-grids-header .slide-arrow {
		margin-left: 0;
		margin-right: 10px;
	}

	.bento-grid-wrap {
		display: block;
	}

	.bottom-gap {
		padding-bottom: 30px;
	}

	.bento-grid-row {
		height: auto;
	}

	.bento-grids-content .col3:last-child {
		display: none;
	}

	.gallerie-slide {
		padding: 0 15px;
	}

	.stellen-header {
		max-width: 100%;
	}

	.box-mit-hidden {
		height: auto;
	}

	.text-modul .col:first-child {
		padding-right: 20px;
	}

	.stellen-job {
		padding: 40px;
		margin-top: 40px;
	}

	.text-und-bildslider .col:last-child {
		margin: 0 auto;
		max-width: 655px;
		padding-top: 100px;
	}

	.text-und-bildslider .slide-arrows {
		top: 20px;
		right: 20px;
	}

	.bild-und-text-v6 .col:last-child,
	.bild-und-text-v2 .col:last-child {
		text-align: center;
	}

	.bild-und-text-v3 .col:first-child {
		text-align: center;
	}

	.bild-und-text-v2 .col:last-child,
	.bildslider-mit-menu .col:last-child {
		padding-top: 65px;
	}

	.standort .col:last-child {
		padding-top: 90px;
		padding-left: 20px;
	}

	.headerv3 .standort-overlay {
		left: 40px;
		bottom: -40px;
	}

	.section-image,
	.contact-img {
		display: none;
	}

	.bild-und-text-v1 .col:first-child {
		text-align: center;
	}

	.bild-und-text-v2 .col:first-child {
		padding: 0 20px;
	}

	.kontakt-modul-icons-v3 .col:last-child,
	.zeitleiste .col:last-child,
	.bild-und-text-v1 .col:last-child,
	.bild-und-text-v3 .col:last-child,
	.bild-und-text-v4 .col:last-child {
		padding-left: 20px;
		padding-top: 40px;
	}

	.standort-overlay {
		right: 20px;
	}

	.image-overlay {
		left: 20px;
	}

	.bild-und-text-v5 .cwrap {
		margin: 0 -20px;
	}

	.bild-und-text-v5 .col {
		padding: 0 20px;
	}

	.bild-und-text-v5 .col:last-child {
		padding-top: 40px;
	}

	.kontakt-modul-icons-v2 .contact-block {
		padding-left: 0;
		padding-top: 10px;
	}

	br {
		display: none;
	}

	.headerv3 .header-container {
		max-height: 500px;
	}

	.header-content {
		padding-right: 20px;
	}

	.headerv2 .header-content {
		bottom: 20px;
		left: 30px;
	}

	.zeitleiste .content-blocks {
		height: 50vh;
	}

	.stellen-job-header .cwrap,
	.site-footer .cwrap {
		display: block;
	}

	.site-footer .col {
		max-width: none;
	}

	.site-footer .col:last-child {
		padding-top: 40px;
		text-align: left;
	}

	.job-description {
		max-width: none;
		padding: 30px 0 20px;
	}

	.site-menu {
		top: 100px;
		height: calc(100% - 100px);
	}

	.image-overlay {
		bottom: 40px;
	}

	.kalendar-content .cwrap {
		display: block;
		margin: 0;
	}

	.kalendar-content .col5 {
		padding: 40px 0 0;
	}

	.timing {
		height: auto !important;
	}

	.kalendar-content .col5:first-child {
		padding-top: 0;
	}	

	.site-footer {
		padding-top: 90px;
	}

	.benefits .content-blocks h3 {
		font-size: 24px;
	}

	body {
		font-size: 18px;
	}

    .pricing-left span {
        font-size: 16px;
    }
}

@media screen and (max-width : 767px) {
	.site-header {
		padding: 12px 15px;
	}

	.header-content {
		top: auto;
		bottom: 50px;
	}

	.gallerie-box img {
		max-height: 200px;
	}

	.site-menu {
		width: 100%;
		top: 85px;
		height: calc(100% - 85px);
        padding: 0 10px 15px 10px;
	}

	.site-menu-wrap {
		padding: 32px 24px;
	}

    .site-menu li.menu-item-has-children > a::before {
        width: 15px;
    }

    .site-menu .header-button {
	    display: inline-block;
    }

	.header-container {
		height: calc(100vh - 130px);
	}

	.inner,
	.header .inner {
		padding: 0 15px;
	}

	.section {
		padding: 40px 0;
	}

	.headerv3 {
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 140px;
	}

	.headerv3 .header-container {
		max-height: 260px;
	}

	.scroll-down {
		width: 80px;
		height: 80px;
		bottom: -30px;
	}

	.kontakt-modul-icons-v1 .col,
	.boxen-mit-bild-text-content .col3,
	.bild-und-text-v2 .col,
	.fakten-und-zahlen-content .col3,
	.fakten-und-zahlen-content .col,
	.bento-grids-content .col3,
	.mitarbeiter-slider .col23,
	.mitarbeiter-slider .col3,
	.zweispaltiges-textmodul .col,
	.wpcf7 .col,
	.wpcf7 .col3,
	.bento-grid-row .col {
		flex: 1 1 100%;
  		max-width: 100%;
	}

	.bento-grid-image {
		height: 380px;
	}

	.bild-und-text-v1 .col:first-child,
	.bild-und-text-v5 .col:first-child,
	.bild-und-text-v3 .col:first-child,
	.standort .col:first-child {
		order: 2;
	}

	.bild-und-text-v5 .col:first-child,
	.bild-und-text-v3 .col:first-child,
	.standort .col:first-child {
		padding-top: 30px;
	}

	.bild-und-text-v1 .col:last-child,
	.bild-und-text-v5 .col:last-child,
	.bild-und-text-v3 .col:last-child,
	.standort .col:last-child {
		order: 1;
		padding-top: 0;
	}

	.wpcf7 .col:first-child,
	.wpcf7 .col3,
	.bild-und-text-v1 .col:last-child {
		padding-bottom: 30px;
	}

	.wpcf7 .col3:last-child {
		padding-bottom: 0;
	}

	.gallerie-slides .slick-track {
		margin: 0 -10px;
	}

	.gallerie-slide {
		padding: 0 10px;
	}

	.text-und-bildslider-slide.slick-slide img {
		width: 100%;
	}

	.text-und-bildslider .col:first-child {
		padding-top: 0;
	}

	.mitarbeiter-slider .col23 {
		order: 1;
	}

	.mitarbeiter-slider .col3 {
		order: 2;
	}

	.mitarbeiter-right {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.mitarbeiter-right-block {
		order: 1;
		padding-top: 0;
	}

	.mitarbeiter-right > h2 {
		order: 2;
		font-size: 24px;
		margin-bottom: 15px;
	}

	.mitarbeiter-right > p {
		order: 3;
	}

	.mitarbeiter-right-block > .cwrap {
		align-items: flex-start;
		flex-direction: column;
	}

	.mitarbeiter-right-image {
		order: 1;
		margin-left: 0;
	}

	.mitarbeiter-right-content {
		order: 2;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.mitarbeiter-left-content {
		padding: 20px;
		position: relative;
	}

	.mitarbeiter-left-content h2 {
		padding: 12px 0 0;
		font-size: 24px;
	}

	.mitarbeiter-content,
	.mitarbeiter-left-image {
		display: none;
	}

	.mitarbeiter-content {
		padding-top: 20px;
	}

	.mitarbeiter-toggle {
		width: 40px;
		height: 40px;
		position: absolute;
		top: 20px;
		right: 20px;
		background-color: #fff;
		border-radius: 50%;
		display: block;
	}

	.mitarbeiter-toggle span {
		position: relative;
		width: 40px;
		height: 40px;
		display: block;
	}

	.mitarbeiter-toggle span:before,
	.mitarbeiter-toggle span:after {
		width: 20px;
		height: 3px;
		border-radius: 8px;
		display: block;
		position: absolute;
		top: 50%;
		left: 10px;
		transform: translateY(-50%);
		content: "";
		background-color: var(--base-color);
	}

	.mitarbeiter-toggle span:after {
		transform: translateY(-50%) rotate(90deg);
	}

	.mitarbeiter-opened .mitarbeiter-toggle span::after {
		display: none;
	}

	.boxen-mit-bild-text-content .col3,
	.bild-und-text-v2 .col:first-child,
	.fakten-und-zahlen-content .col3,
	.fakten-und-zahlen-content .col {
		padding-bottom: 30px;
	}

	.boxen-mit-bild-text-content .col3:last-child,
	.fakten-und-zahlen-content .col3:last-child,
	.fakten-und-zahlen-content .col:last-child {
		padding-bottom: 0;
	}

	.bento-grids-content .col3,
	.bento-grids-content .col3:nth-child(2),
	.bento-grids-content .col3:nth-child(3) {
		padding-top: 30px;
	}

	.fakten-und-zahlen-content .col, .fakten-und-zahlen-content .col3 {
		padding-top: 0;
	}

	.standort-overlay {
		position: relative;
		width: 95%;
		margin: -40px auto 0;
		bottom: auto;
		right: auto;
	}

	.location-card {
		padding: 20px;
	}

	.lightbox-close {
		width: 40px;
		height: 40px;
	}

	.kontakt-modul-content {
		padding: 60px 30px;
	}

	.stellen-job {
		padding: 20px;
		margin-top: 40px;
	}

	.contact-block {
		padding: 5px 0;
	}

	.kundenstimmen-content {
		padding-top: 40px;
	}

	.testimonial-image {
		width: 90px;
		height: 90px;
		top: -45px;
	}

	.testimonial-card {
		padding: 80px 30px 30px;
	}

	.testimonial-card::before {
		top: 30px;
		left: 30px;
		width: 35px;
		height: 35px;
	}

	.boxen-mit-kategorien-wrap {
		padding: 20px;
	}

	.boxen-mit-kategorien-wrap h3 {
		padding: 12px 0;
	}

	.bild-und-text-v1 .col:first-child {
		padding-top: 0;
	}

	.image-overlay {
		left: 0;
		right: 0;
		max-width: 85%;
		margin: -20px auto 0;
		position: relative;
		z-index: 10;
	}

	.bottom-gap {
		padding-bottom: 30px;
	}

	.zeitleiste .col:first-child {
		padding-right: 20px;
	}

	.zeitleiste .content-blocks {
		padding-left: 30px;
	}

	.job-description {
		padding: 10px 0 30px;
	}

	.text-und-bildslider .col:last-child {
		width: 100%;
		padding-top: 120px;
	}

	.text-und-bildslider .slide-arrows {
		top: 40px;
	}

	.gallerie-slides .slick-list {
		padding: 0 !important;
	}

	.stellen-job-meta {
		padding-top: 40px;
	}

	.footer-social a {
		margin-right: 10px;
		margin-left: 0;
	}

	.kundenstimmen .slide-arrows {
		text-align: left;
	}

	.bild-und-text-v2 .col:first-child {
		padding-right: 0;
		padding-bottom: 0;
	}

	.headerv3 .standort-overlay {
		left: 0;
		right: 0;
		margin-top: 0;
		padding: 20px;
		bottom: -80%;
		box-shadow: 6px 7px 9.8px 3px rgba(191, 200, 197, 0.15);
	}

	.bild-und-text-v2 .col:last-child {
		padding-top: 30px;
	}

	.bild-und-text-v2 img {
		width: 100%;
	}

	.bild-und-text-v1 .image-overlay {
		width: 90%;
	}

	#psv-map {
		height: calc(100vh - 120px);
	}

	.timing {
		padding: 12px 20px;
	}

	.bento-grid-row:first-child {
		padding: 20px;
	}

	.bento-grid-row .col:last-child {
		display: none;
	}

	.menu-content h2 {
		padding-bottom: 20px;
	}

	.menu-tabs-header a {
		margin-right: 20px;
	}

	.bildslider-mit-menu .col:last-child {
		padding-top: 30px;
	}

	.menu-tabs-header {
		padding-bottom: 30px;
	}

	.button {
		padding: 14px 22px;
		line-height: 1.4;
	}

	.standort .contact-blocks {
		padding: 0 0 30px;
	}

	.site-footer {
		margin-top: 40px;
	}

	.header-image.desktop-image {
		display: none;
	}

	.header-image.mobile-image {
		display: block;
	}

	.site-footer {
		padding-top: 80px;
	}

	.image-overlay-head h3 strong, .image-overlay-head span {
		font-size: 36px;
	}

	h1, h2, .boxen-mit-kategorien-wrap h3, .kalendar-content h3 {
		font-size: 30px;
	}

	.page-404-content img {
		max-width: 80%;
		margin: 0 auto;
		display: block;
	}

	.page-404-content .col:last-child {
		padding: 30px 20px 0;
	}

	.boxen-mit-bild-text-content,
	.boxen-mit-bild-text-content a {
		height: 400px;
	}

	.boxen-mit-bild-text-content .cwrap {
		margin: 0 -10px;
	}

	.boxen-mit-bild-text-content .col3 {
		padding: 0 10px;
	}

	.job-title h2,
	.image-overlay-head h3, .image-overlay-head p,
	.timing h4,
	.box-mit-content h3 {
		font-size: 24px;
	}

	.kontakt-modul-icons-v1 h4, .fakten-und-zahlen .fakten-und-zahlen-header h4 {
		font-size: 24px;
		padding-bottom: 15px;
	}

	.site-menu li {
		margin-bottom: 30px;
	}

    .pricing-right {
        white-space: nowrap;
    }

    .pricing-right br {
        display: block;
    }

    .site-menu .site-lang {
        display: flex;
        flex-direction: column;
        align-items: end;
    }

    .site-header .site-lang {
        display: none;
    }

    .site-menu .lang-selector {
        position: static;
        background: none;
        display: flex;
        gap: 12px;
        width: auto;
        padding: 12px 32px;
    }

    .site-menu .lang-selector a {
        color: #fff;
    }

    .site-menu .lang-selector a.current-lang {
        color: var(--orange);
    }

	.site-menu li a {
		font-size: 22px;
	}

	h4 {
		font-size: 20px;
		padding-bottom: 15px;
	}

	.site-menu li ul li a {
		font-size: 18px;
	}

	.button, input[type="submit"] {
		font-size: 18px;
	}

	body,
	.timing p {
		font-size: 16px;
	}

	.menu-row p,
	.boxen-mit-bild-text-content p {
		font-size: 14px;
	}

    .pricing-left span {
        font-size: 13px;
    }
	.bildslider-mit-menu.bildslider-mit-menu-v2 .col:last-child{
		order: -1;
	}

	.bildslider-mit-menu.bildslider-mit-menu-v2 .col:last-child {
		padding-top: 0;
		padding-bottom: 30px;
	}
}
.bildslider-mit-menu.bildslider-mit-menu-v2 .menu-tabs-header.cwrap{
	flex-wrap: wrap;
	gap: 15px 30px;

}
.bildslider-mit-menu.bildslider-mit-menu-v2 .menu-tabs-header.cwrap a{
	margin: 0 !important;
}
.boxen-mit-bild-text-content a::before{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	content: "";
	background-color: rgba(0,0,0,0.2);
	z-index: 1;
}
.boxen-mit-bild-text-content .box-mit-content{
	z-index: 2;
}