@charset "UTF-8";

/*
Theme Name: nextpublic
Author: Agentur medienlabor
Author URI: https://agentur-medienlabor.de/
Version: 1
Text Domain: nextpublic
*/

/* Variables */
:root {
	--color-primary-1: #C58DD9;
	--color-primary-2: #652CB3;
	--color-primary-3: #3C46E5;
	--color-primary-4: #55A9F1;
	--color-secondary-1: #69DDB6;
	--color-secondary-2: #7FD855;
	--color-secondary-3: #A1C527;
	--color-white: #FFFFFF;
	--color-black: #2F2C2B;
	--color-neutral-2: #F7F7F7;
	--color-neutral-3: #D9D9D9;
	--color-neutral-4: #7F7F7F;
	--color-feedback-success: #7FD855;
	--color-feedback-error: #F44848;
	--color-feedback-info: #55A9F1;

	--gap: 8px;

	--wp--preset--font-size--large: 36px;
	--wp--preset--font-size--medium: 16px;
	--wp--preset--font-size--small: 12px;
}

.has-primary-1-background-color {
	background-color: var(--color-primary-1) !important;
}

.has-primary-2-background-color {
	background-color: var(--color-primary-2) !important;
}

.has-primary-3-background-color {
	background-color: var(--color-primary-3) !important;
}

.has-primary-4-background-color {
	background-color: var(--color-primary-4) !important;
}

.has-secondary-1-background-color {
	background-color: var(--color-secondary-1) !important;
}

.has-secondary-2-background-color {
	background-color: var(--color-secondary-2) !important;
}

.has-secondary-3-background-color {
	background-color: var(--color-secondary-3) !important;
}

.has-white-background-color {
	background-color: var(--color-white) !important;
}

.has-black-background-color {
	background-color: var(--color-black) !important;
}

.has-neutral-2-background-color {
	background-color: var(--color-neutral-2) !important;
}

.has-neutral-3-background-color {
	background-color: var(--color-neutral-3) !important;
}

.has-neutral-4-background-color {
	background-color: var(--color-neutral-4) !important;
}

.has-feedback-success-background-color {
	background-color: var(--color-feedback-success) !important;
}

.has-feedback-error-background-color {
	background-color: var(--color-feedback-error) !important;
}

.has-feedback-info-background-color {
	background-color: var(--color-feedback-info) !important;
}


.container {
  width: calc(100% - 96px);
	max-width: 1440px;
  margin: 0 auto 0 auto;
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: calc(var(--gap) * 3);
}

.row {
	grid-column: span 12;
}

.span50 {
	grid-column: span 6;
}

.span33 {
	grid-column: span 4;
}

.span25 {
	grid-column: span 3;
}

.span16 {
	grid-column: span 2;
}

div[class^="grid"],
div[class*="grid"] {
	grid-column: span 1;
	background: red;
}


/* 1.0 - Reset */

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, 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 {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	height: 100%;
	min-height: 100%;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	background: var(--color-background);
	height: 100%;
	margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
}

a:hover,
a:active {
	outline: 0;
}

a:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--color-primary-1);
	transition: .3s all;
}

button:focus-visible,
button:active,
input:focus-visible,
input:active {
	outline: 2px solid var(--color-primary-1);
	transition: .3s all;
	background-color: var(--color-primary-1);
}

a img {
	border: 0;
}

b, strong {
	font-family: 'Untitled';
	font-weight: 600;
}

/**
 * 2.0 - Genericons
 */

.social-navigation a:before,
.secondary-toggle:before,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.comment-reply-title small a:before,
.comment-navigation .nav-next a:after,
.comment-navigation .nav-previous a:before,
.posted-on:before,
.byline:before,
.cat-links:before,
.tags-links:before,
.comments-link:before,
.entry-format:before,
.edit-link:before,
.full-size-link:before,
.pagination .prev:before,
.pagination .next:before,
.image-navigation a:before,
.image-navigation a:after,
.format-link .entry-title a:after,
.entry-content .more-link:after,
.entry-summary .more-link:after,
.author-link:after {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-family: "Genericons";
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	speak: none;
	text-align: center;
	text-decoration: inherit;
	text-transform: none;
	vertical-align: top;
}


/**
 * 3.0 Typography
 */

body,
button,
input,
select,
textarea {
	color: var(--color-black);
	font-family: "Untitled", 'Arial';
	font-weight: 400;
	font-size: 16px;
	line-height: 150%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: "Outfit";
	margin-bottom: 24px;
	color: var(--color-black);
}

h1 {
	font-size: 44px;
	line-height: 135%;
	font-weight: 400;
	margin-bottom: calc(var(--gap) * 4);
}

h2 {
	font-size: 36px;
	line-height: 135%;
	font-weight: 400;
	margin-bottom: calc(var(--gap) * 3);
}

body:not(.home) h2 {
	margin-top: calc(var(--gap) * 10);
}

h3 {
	font-size: 32px;
	line-height: 135%;
	font-weight: 300;
	margin-bottom: var(--gap);
}

h4 {
	font-size: 24px;
	line-height: 135%;
	font-weight: 400;
	margin-bottom: var(--gap);
}

h5 {
	font-size: 24px;
	line-height: 135%;
	text-decoration: underline;
	font-weight: 400;
	margin-bottom: var(--gap);
}

h6 {
	font-size: 20px;
	line-height: 135%;
	font-weight: 400;
	margin-bottom: var(--gap);
}

p {
	margin-bottom: calc(var(--gap) * 3);
}

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

a {
	color: var(--color-turq-dark);
	text-decoration: underline;
	transition: .3s all;
}

a:hover {
	color: var(--color-hover-text);
	transition: .3s all;
}

span.meta {
	font-family: 'Outfit';
	text-decoration: none;
	letter-spacing: .2px;
	font-size: 14px;
	font-weight: normal;
	line-height: 28px;
	color: var(--color-gray-2);
	text-transform: uppercase;
}

dfn,
cite,
em,
i {
	font-family: "Outfit";
	font-weight: normal;
	font-style: italic;
}

blockquote {
	font-size: 24px;
	line-height: 135%;
	font-family: "Outfit";
	margin-top: calc(var(--gap) * 10);
}

blockquote p {
	margin-bottom: calc(var(--gap) * 4);
}

blockquote > p:last-child {
	margin-bottom: 0;
}

blockquote cite,
blockquote small {
	color: #333;
	font-size: 15px;
	font-size: 1.5rem;
	font-family: "Noto Sans", sans-serif;
	line-height: 1.6;
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

address {
	font-style: italic;
	margin: 0 0 1.6em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: Inconsolata, monospace;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre {
	background-color: transparent;
	background-color: rgba(0, 0, 0, 0.01);
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
	line-height: 1.2;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 0.8em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

abbr[title] {
	border-bottom: 1px dotted #eaeaea;
	border-bottom: 1px dotted rgba(51, 51, 51, 0.1);
	cursor: help;
}

mark,
ins {
	background-color: #fff9c0;
	text-decoration: none;
}

sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

small {
	font-size: 75%;
}

big {
	font-size: 125%;
}


/**
 * 4.0 Elements
 */

hr {

}

ul,
ol {
	margin: 0 0 calc(var(--gap) * 3) calc(var(--gap) * 2);
}

ul.check li {
	margin: 0 0 calc(var(--gap) * 3);
	padding: 0 0 0 calc(var(--gap) * 4);
	list-style: none;
	background-image: url("img/check.svg");
	background-repeat: no-repeat;
	background-position: left 3px;
	background-size: 18px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin-bottom: 1.6em;
}

dt {
	font-weight: bold;
}

dd {
	margin-bottom: 1.6em;
}

table,
th,
td {
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.6em;
	table-layout: fixed; /* Prevents HTML tables from becoming too wide */
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	font-weight: 700;
}

td {
	border-width: 0 1px 1px 0;
}

th, td {
	padding: 0.4em;
}

img {
	height: 100%;
	width: 100%;
	vertical-align: top;
}

figure {
	margin: 0;
}

del {
	opacity: 0.8;
}

/* - - - - - Basic Styles - - - - - */

.alignfull {
	/* margin-top: 0;
	margin-bottom: 0;
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	max-width: 100vw;
	width: 100vw;
	max-height: 90vh;
	position: relative;
	overflow: hidden; */

	max-width: 100vw;
  position: relative;
  width: 100%;
}

.wp-block-group {
		margin-bottom: calc(var(--gap) * 7);
}

.hide {
	display: none !important;
}

.wp-block-list li:not(:last-child) {
	margin-bottom: 10px;
}

.has-large-font-size,
.has-medium-font-size,
.has-small-font-size {
	line-height: 135%;
	font-weight: 400;
}

.button {
	padding: 13px calc(var(--gap) * 3);
	display: inline-block;
}

a.button {
	text-decoration: none;
}

.round {
	border-radius: 100px;
}

.black {
	background-color: var(--color-black);
	color: var(--color-white);
	border: 2px solid var(--color-black);
}

.arrow {
	padding: 13px;
	line-height: 12px;
}

.arrow:after {
	content: '\e5c8';
	font-family: 'Material Icons';
	font-weight: 300;
	font-style: normal;
	font-size: 30px;
	line-height: 30px;
}

a.black:hover {
	color: var(--color-black);
	background-color: var(--color-white);
}

.wp-block-media-text .wp-block-media-text__content {
	height: 100%;
	position: relative;
}

.wp-block-media-text .wp-block-media-text__content .wp-block-buttons {
	position: absolute;
	bottom: 0;
	margin: 0;
}

.tags,
.categories {
	margin-top: calc(var(--gap) * 3);
}

.categories ul {
	margin: 0;
	padding: 0;
}

.tags .tag-item,
.categories li,
.category-list a {
	display: inline-block;
	background-color: var(--color-neutral-4);
	text-decoration: none;
	padding: 5px calc(var(--gap) * 2);
	margin: 0 calc(var(--gap) * 1) calc(var(--gap) * 1) 0;
	border-radius: 6px;
	color: var(--color-white);
	font-size: 16px;
	text-transform: uppercase;
	position: relative;
}

.category-list a.filter-button.confirmed {
	background-color: var(--color-black);
	color: var(--color-white);
	border: 2px solid var(--color-black);
	padding-right: calc(var(--gap) * 5);
}

.category-list a.filter-button.selected {
	background-color: var(--color-white);
	color: var(--color-black);
	border: 2px solid var(--color-black);
	padding-right: calc(var(--gap) * 5);
}

.category-list a.filter-button.confirmed:after,
.category-list a.filter-button.selected:after {
	font-family: 'Material Icons';
	font-weight: 300;
	font-style: normal;
	font-size: 20px;
	padding-top: 1px;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	color: var(--color-black);
	position: absolute;
  top: 50%;
	right: calc(var(--gap) * 1.5);
  transform: translateY(-50%);
	/* content: '\e5ca'; */
	content: '\e5cd';
}

.category-list a.filter-button.confirmed:after {
	color: var(--color-white);
}

.category-list a.filter-button.selected:hover {
	color: var(--color-black);
	background-color: var(--color-white);
}

.category-list a.filter-button.selected:hover:after {
	color: var(--color-black);
}

/* .categories a:hover {
	background-color: var(--color-black);
	color: var(--color-white);
	transition: .3s all;
} */

/* #reset-filter {
	background-color: var(--color-white);
	color: var(--color-black);
	border-color: var(--color-black);
}

#reset-filter:hover {
	background-color: var(--color-black);
	color: var(--color-white);
}

#ajax-button {
	background-color: var(--color-black);
	color: var(--color-white);
	border-color: var(--color-black);
}

#ajax-button:hover {
	background-color: var(--color-white);
	color: var(--color-black);
} */

.category-filter > a.action-button {
	background-color: var(--color-neutral-4);
	color: var(--color-white);
	border-color: var(--color-neutral-4);
}

.category-filter > a#ajax-button.action-button.inactive,
.category-filter > a#reset-filter.action-button.inactive,
.category-filter > a#ajax-button.action-button.has-been-filtered {
	background-color: var(--color-neutral-3);
	color: #5f5f5f;
	border-color: var(--color-neutral-3);
	pointer-events: none;
}

.category-filter > a#ajax-button.action-button:hover,
.category-filter > a#reset-filter.action-button:hover {
	background-color: var(--color-white);
	color: var(--color-black);
	border-color: var(--color-black);
}

.category-filter > a#ajax-button.action-button,
.category-filter > a#reset-filter.action-button {

}

.category-filter {
	padding: calc(var(--gap) * 10) 0 0;
}

.category-list {
	display: block;
	margin: calc(var(--gap) * 4) 0 calc(var(--gap) * 3.5);
}

.category-list span {
	font-size: 16px;
	display: block;
	padding: 0 0 calc(var(--gap) * 7);
}

.category-list a {
	background-color: var(--color-white);
	color: var(--color-black);
	border: 2px solid var(--color-black);
}

.category-list a:hover,
.category-list a:active {
	background-color: var(--color-black);
	color: var(--color-white);
}

.category-filter > a {
	font-size: 16px;
	padding: 13px 24px;;
	margin-right: calc(var(--gap));
	text-decoration: none;
	background-color: var(--color-neutral-3);
	color: var(--color-neutral-4);
	border: 2px solid var(--color-neutral-3);
	border-radius: 100px;
	display: inline-block;
}

/* .category-filter > a:last-child {
	background-color: var(--color-neutral-2);
	color: var(--color-neutral-4);
	border: 2px solid var(--color-neutral-4);
} */

.category-filter > a:hover {
	background-color: var(--color-black);
	color: var(--color-white);
	border: 2px solid var(--color-black);
}

#spinner {
	border: 8px solid #f3f3f3;
  border-top: 8px solid var(--color-black);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: spin 2s linear infinite;
  display: none;
	position: absolute;
  left: 50%;
  margin-top: -10px;
}

#spinner.is-active {
	display: block;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}



a.edit-post-link,
a.wp-block-button__link,
a.btn-read-more {
	display: block;
	font-weight: 400;
}

.wp-block-buttons {
	margin: calc(var(--gap) * 4) 0;
}

.wp-block-button {
	position: relative;
	border-radius: 100px;

}

.wp-block-button__link {
	padding: 14px 20px;
}

.wp-block-button a {
	background-color: var(--color-black);
	color: var(--color-white);
	border: 2px solid var(--color-black);
}

.wp-block-button:hover a {
	background-color: var(--color-white);
	color: var(--color-black);
	border: 2px solid var(--color-black);
}

[class^='is-style-outline'] a,
[class*='is-style-outline'] a {
	background-color: var(--color-white);
	color: var(--color-black);
}

[class^='is-style-outline'] a:hover,
[class*='is-style-outline'] a:hover {
	background-color: var(--color-black);
	color: var(--color-white);
}



a.wp-block-button__link.has-neutral-4-background-color {
	border-color: var(--color-neutral-4);
	color: var(--color-white);
}

a.wp-block-button__link.has-neutral-4-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-neutral-4) !important;
}

div.is-style-outline > a.wp-block-button__link.has-neutral-4-background-color {
	background-color: var(--color-white) !important;
	color: var(--color-neutral-4);
}

div.is-style-outline > a.wp-block-button__link.has-neutral-4-background-color:hover {
	background-color: var(--color-black) !important;
	color: var(--color-white) !important;
	border-color: var(--color-black);
}

a.wp-block-button__link.has-neutral-3-background-color {
	border-color: var(--color-neutral-4);
	color: #5F5F5F;
}

a.wp-block-button__link.has-neutral-3-background-color:hover {
	background-color: var(--color-white) !important;
	color: #5F5F5F !important;
}

div.is-style-outline > a.wp-block-button__link.has-neutral-3-background-color {
	background-color: var(--color-neutral-2) !important;
	color: var(--color-neutral-4);
}

div.is-style-outline > a.wp-block-button__link.has-neutral-3-background-color:hover {
	background-color: var(--color-black) !important;
	color: var(--color-white) !important;
	border-color: var(--color-black);
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-neutral-2);
	color: #5F5F5F;

	a.wp-block-button__link.has-neutral-2-background-color:hover {
		background-color: var(--color-white) !important;
		color: var(--color-black) !important;
	}
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-primary-1);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-primary-2);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-primary-3);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-primary-4);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-secondary-1);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-secondary-2);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}

a.wp-block-button__link.has-neutral-2-background-color {
	border-color: var(--color-secondary-3);
}

a.wp-block-button__link.has-neutral-2-background-color:hover {
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
}


.is-style-round-icon-right a {
	padding: 14px 54px 14px 20px;
}

.is-style-round-icon-left a {
	padding: 14px 20px 14px 54px;
}

.is-style-round-icon-right a:after {
	content: url('img/forward-white.svg');
	height: 24px;
	width: 24px;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}

.is-style-round-icon-right a:hover:after {
	content: url('img/forward-black.svg');
}



.is-style-round-icon-right a.has-neutral-3-background-color:after {
	content: url('img/forward-darker.svg');
}

.is-style-round-icon-left a.has-neutral-3-background-color:after {
	content: url('img/prev-darker.svg');
}


.is-style-round-icon-right a.has-neutral-3-background-color:hover:after {
	content: url('img/forward-darker.svg');
}

.is-style-round-icon-left a.has-neutral-3-background-color:hover:after {
	content: url('img/prev-darker.svg');
}


.is-style-round-icon-right a.has-neutral-4-background-color:hover:after {
	content: url('img/forward-neutral-4.svg');
}

.is-style-round-icon-left a.has-neutral-4-background-color:hover:after {
	content: url('img/prev-neutral-4.svg');
}




.is-style-round-icon-left a:after {
	content: url('img/prev-white.svg');
	height: 24px;
	width: 24px;
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
}

.is-style-round-icon-left a:hover:after {
	content: url('img/prev-black.svg');
}


.is-style-round-icon-left a.has-white-background-color {
	color: var(--color-black);
}

.is-style-round-icon-left a.has-white-background-color:hover{
	color: var(--color-white) !important;
	background-color: var(--color-black) !important;
}

.is-style-round-icon-left a.has-white-background-color:hover:after {
	content: url('img/prev-white.svg');
}

.is-style-round-icon-left a.has-white-background-color:after {
	content: url('img/prev-black.svg');
}

.is-style-round-icon-right a.has-white-background-color {
	color: var(--color-black);
}

.is-style-round-icon-right a.has-white-background-color:hover{
	color: var(--color-white) !important;
	background-color: var(--color-black) !important;
}

.is-style-round-icon-right a.has-white-background-color:hover:after {
content: url('img/forward-white.svg');
}

.is-style-round-icon-right a.has-white-background-color:after {
	content: url('img/forward-black.svg');
}


.wp-block-media-text__media {
	border-radius: 30px;
	overflow: hidden;
}


/* .wp-block-columns {
	margin-bottom: calc(var(--gap) * 4);
}

.wp-block-cover {
	border-radius: 20px;
	overflow: hidden;
	background-color: #d0edf1;
	padding: calc(var(--gap) * 10) calc(var(--gap) * 7) calc(var(--gap) * 8);
	margin-bottom: calc(var(--gap) * 4);
}

.wp-block-cover img {
	opacity: .35;
} */

/* blockquote {
	background-color: var(--color-gray-3);
	padding: calc(var(--gap) * 4);
	border-radius: 20px;
	margin-bottom: calc(var(--gap) * 4);
}

.wp-block-quote {
	background-image: url(img/quote.svg);
	background-size: contain;
	background-position: left 32px top -20px;
	background-repeat: no-repeat;
}

.wp-block-quote p {
	font-size: 20px;
	line-height: 40px;
}

.wp-block-quote cite {
	font-size: 12px;
	line-height: 32px;
	font-family: 'Outfit';
	font-weight: 400;
	letter-spacing: 2.4px;
	text-transform: uppercase;
} */

/* .lightweight-accordion {
	margin: -1px 0 0 !important;
}

.lightweight-accordion .lightweight-accordion-title {
	padding: calc(var(--gap) * 2.5) calc(var(--gap) * 2) !important;
	background-color: var(--color-white) !important;
	border-top: 1px solid var(--color-gray-3);
	border-bottom: 1px solid var(--color-gray-3);
	position: relative;
}

.lightweight-accordion-title h1,
.lightweight-accordion-title h2,
.lightweight-accordion-title h3,
.lightweight-accordion-title h4,
.lightweight-accordion-title h5,
.lightweight-accordion-title h6,
.lightweight-accordion-title p,
.lightweight-accordion-title span {
	font-weight: 600 !important;
	font-size: 20px !important;
	line-height: 28px !important;
	padding: 0 !important
}

.lightweight-accordion .lightweight-accordion-title::marker {
	content: '';
}

.lightweight-accordion .lightweight-accordion-title:after {
	content: url(img/add.svg);
	position: absolute;
	width: 24px;
	height: 24px;
	right: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: .3s all;
}

.lightweight-accordion details[open] .lightweight-accordion-title:after {
	transform: translate(-50%, -50%) rotate(45deg);
	transition: .3s all;
}

.lightweight-accordion .lightweight-accordion-body {
	padding: calc(var(--gap) * 4) 0 !important;
} */

/* .wpcf7 {
	margin-top: calc(var(--gap) * 10);
}

form.wpcf7-form br {
	display: none;
}

.form-col-1 {
	display: block;
	margin-bottom: calc(var(--gap) * 4);
}

.form-col-1-row {
	display: block;
	margin-bottom: calc(var(--gap) * 4);
}

.form-col-1-row:last-child {
	margin-bottom: 0;
}

.form-col-2 {
	display: block;
	margin-bottom: calc(var(--gap) * 4);
}

.form-col-2-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(var(--gap) * 3);
	margin-bottom: calc(var(--gap) * 4);
}

.form-col-2-row:last-child {
	margin-bottom: 0;
}

.wpcf7-form-control-wrap,
.wpcf7-form-control {
	display: block;
	width: 100%;
}

.wpcf7-form-control,
.wpcf7-form-control::placeholder {
	font-size: 18px;
	line-height: 30px;
	padding: var(--gap) calc(var(--gap) * 1.65);
	color: var(--color-gray-2);
}

.wpcf7-form-control::placeholder {
	padding: 0;
}

select.wpcf7-form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url("img/down.svg") calc(100% - (var(--gap) * 1.5)) / calc(var(--gap) * 3) no-repeat;
}

input.wpcf7-form-control,
select.wpcf7-form-control,
button.wpcf7-form-control,
textarea.wpcf7-form-control {
	border-radius: 4px;
	border: 1px solid var(--color-gray-3);
	outline: 0;
	color: var(--color-black);
}

.wpcf7-form label {
	font-size: 20px;
	line-height: 28px;
	font-weight: 600;
	display: block;
	margin-bottom: calc(var(--gap) * 2);
}

input.wpcf7-form-control.wpcf7-file {
	opacity: 0;
	height: 100%;
}

.form-col-2-item.upload {
	position: relative;
}

.form-col-2-item.upload .wpcf7-form-control-wrap {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	z-index: 100;
}

.form-col-2-item.upload:hover .upload-overlay {
	cursor: pointer;
	transition: .3s all;
}

.form-col-2-item.upload .upload-overlay {
	display: block;
	border-radius: 4px;
	border: 1px dashed var(--color-gray-3);
	padding: calc(var(--gap) * 4) calc(var(--gap) * 18);
	text-align: center;
	transition: .3s all;
}

.form-col-2-item.upload .upload-overlay .upload-icon {
	background-image: url("img/upload.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: calc(var(--gap) * 7);
	height: calc(var(--gap) * 7);
	margin: 0 auto calc(var(--gap) * 3);
	opacity: .65;
	transition: .3s all;
}

.form-col-2-item.upload .upload-overlay span {
	display: block;
	color: var(--color-gray-2);
	transition: .3s all;
}

.form-col-2-item.upload .upload-overlay span:first-child {
	margin-bottom: var(--gap);
	color: var(--color-gray-1);
	transition: .3s all;
}

.form-col-2-item.upload:hover .upload-overlay {
	border-color: var(--color-black);
}

.form-col-2-item.upload:hover .upload-overlay .upload-icon {
	opacity: 1;
	transition: .3s all;
}

.form-col-2-item.upload:hover .upload-overlay span:first-child {
	color: var(--color-black);
	transition: .3s all;
}

.wpcf7-form-control.wpcf7-radio {
	padding: 0;
}

.wpcf7-form-control.wpcf7-radio .wpcf7-list-item.first {
	margin-left: 0;
}

.wpcf7-list-item-label {
	font-weight: 400;
}

.wpcf7-list-item > label {
	margin-bottom: 0;
}

input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 12px;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
	color: var(--color-black);
}

input.wpcf7-submit[type="submit"] {
	display: inline-block;
	width: auto;
	background-color: var(--color-black);
	border: 0;
	color: var(--color-white);
}

input.wpcf7-submit[type="submit"]:not([disabled]):hover {
	background-color: var(--color-gov-red);
}

.wpcf7 .wpcf7-submit:disabled {
	background-color: var(--color-gray-3);
}

input[type="text"]:hover,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border: 1px solid var(--color-gray-1) !important;
}

.form-col-2-item.label-inside {
	position: relative;
}

.form-col-2-item.label-inside label {
	position: absolute;
	z-index: 100;
	top: 8px;
	left: 14px;
	font-size: 12px;
	line-height: 12px;
	font-weight: normal;
	margin: 0;
}

.form-col-2-item.label-inside .wpcf7-form-control {
	background-color: var(--color-white);
	position: relative;
	z-index: 200;
	transition: .3s all;
}

.form-col-2-item.label-inside .wpcf7-form-control.active-element {
	background-color: transparent;
	padding: calc(var(--gap) * 1.75) calc(var(--gap) * 1.65) calc(var(--gap) * 0.25);
	z-index: 90;
	transition: .3s all;
} */

/* .wp-block-table table {
	border-radius: 12px;
	overflow: hidden;
}

.wp-block-table table,
.wp-block-table table th,
.wp-block-table table td,
.wp-block-table table thead {
	border: 0;
}

.wp-block-table table thead {
	background-color: var(--color-black);
}

.wp-block-table table thead th {
	color: #fff;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	padding: 14px 24px 12px;
}

.wp-block-table table tbody tr:nth-child(even) {
	background-color: var(--color-background);
}

.wp-block-table table tbody tr:nth-child(even) td {
	color: var(--color-gray-1);
}

.wp-block-table table tbody tr td {
	color: var(--color-gray-2);
	padding: 14px 24px;
} */

/* .wp-block-separator {
	clear: both;
	float: none;
	display: block;
	margin: 0 0 calc(var(--gap) * 4);
	padding-top: calc(var(--gap) * 4);
	border-top: 0;
	border-bottom: 1px solid black;
}

.wp-block-gallery,
.wp-block-file,
.wp-block-media-text,
.wp-block-embed {
	margin-bottom: calc(var(--gap) * 5);
}

.wp-block-file {
	background-color: var(--color-background);
	padding: calc(var(--gap) * 2) calc(var(--gap) * 4);
	border-radius: 12px;
}

.wp-block-file__button {
	background-color: var(--color-black);
	color: var(--color-white);
	padding: calc(var(--gap) * 1) calc(var(--gap) * 2);
}

.wp-block-embed iframe {
  width: 100%;
  height: unset;
  aspect-ratio: 16/9;
} */

/* - - - - - Header Styles - - - - - */

header#page-header {
	-webkit-backdrop-filter: saturate(180%) blur(10px); /* Add this line first, it fixes blur for Safari*/
	backdrop-filter: saturate(180%) blur(10px);  /* This line activates blur*/
	background-color: rgba(255, 255, 255, .5);
	width: 100%;
	/* max-width: 1440px; */
	position: fixed;
	z-index: 999;
	left: 50%;
	transform: translateX(-50%);
}

header#page-header .inner-page-header {
	max-width: 1440px;
	margin: 0 auto;
	padding: calc(var(--gap) * 3) 48px;
}

/* header#page-header .container {
	padding: 0 calc(var(--gap) * 3);
}*/

span.clear {
	clear: both;
	display: block;
	visibility: hidden;
	height: 1px;
}

header#page-header .site-logo {
	float: left;
}

header#page-header .site-logo img {
	height: auto;
	width: 200px;
	padding-top: 5px;
}

.menu-toggle {
	font-size: 16px;
	line-height: 100%;
	grid-column: 12;
	float: right;
	transition: .3s all;
}

.menu-toggle:hover {
	border: 2px solid var(--color-black);
	color: var(--color-black);
	background-color: transparent;
	transition: .3s all;
}

nav.primary-navigation {
	display: none;
	grid-column: 1/12;
	padding: 0 37px 0 148px;
}

nav.primary-navigation > ul {
	list-style: none;
	margin: calc(var(--gap) * 10) 0 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

nav.primary-navigation ul li {

}

/* nav.primary-navigation > ul li a {
	text-decoration: none;
	font-size: 44px;
	line-height: 135%;
	display: inline;
	position: relative;
}

nav.primary-navigation > ul li a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: -5px;
  left: 0;
  background-color: var(--color-black);
  transform-origin: bottom left;
  transition: transform 0.25s ease-out;
}

nav.primary-navigation > ul li a:hover:after {
  transform: scaleX(1);
} */

nav.primary-navigation > ul li a {
	text-decoration: none;
	font-size: 44px;
	line-height: 135%;
	display: inline;
	position: relative;

	background-image: linear-gradient(var(--color-black), var(--color-black));
	background-size: 0 2px;
	background-repeat: no-repeat;
	background-position: left bottom;
	transition: .5s;
}

nav.primary-navigation > ul li a:hover {
	background-size: 100% 2px;
	transition: .5s;
}

/* nav.primary-navigation > ul li a:after {
	content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  width: 0;
  bottom: -5px;
  background: var(--color-black);
  height: 2px;
  transition-property: width;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

nav.primary-navigation > ul li a:hover:after {
	left: 0;
	right: auto;
	width: 100%;
} */

nav.primary-navigation ul li ul.sub-menu {
	list-style: none;
	margin: calc(var(--gap) * 6) 0 0;
}

nav.primary-navigation ul li ul.sub-menu li a {
	font-size: 36px;
	line-height: 135%;
}

nav.primary-navigation ul li ul.sub-menu li {
	padding: 14px 0 18px;
}

/* - - - - - Home Styles - - - - - */

/* body.home #content {
	padding-top: 94px;
} */

body.home article {
	position: relative;
}

body.home .wp-block-video:first-child video {
	/* max-width: 1440px;
	margin: 0 auto;
	display: block; */

	width: 1440px;
	left: 50%;
	position: relative;
	display: block;
	transform: translateX(-50%);
}

.animation {
	width: 1000px;
	height: auto;
	position: absolute;
	bottom: -96px;
	top: 900px;
	/* right: calc((100% - 1440px) / 2); */
	right: calc((100% - 1440px) / 2 - 200px);
}

.animation video {
	width: 100%;
}

#background-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
  position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
  z-index: -1;
}

.play {
	font-family: 'Material Icons Rounded';
	font-weight: 300;
	font-style: normal;
	font-size: 36px;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	position: absolute;
	/* right: 46px; */
	z-index: 888;
	background-color: rgba(0, 0, 0, 0);
	/* padding: 20px; */
	padding: 2px;
	color: var(--color-black);
	outline: none;
	border: 0;
}

.play:after {
	content: "\e034";
}

.play.stop-active:after {
	content: "\e037";
}

.down-down {
	position: absolute;
	right: 28px;
	z-index: 888;
	background-color: rgba(0, 0, 0, 0);
	padding: 20px;
	display: inline-block;
	background-image: url(img/scroll-down.svg);
	background-repeat: no-repeat;
	background-size: 70%;
	background-position: center center;
	top: 0;
	right: unset;
	left: 50%;
	transform: translateX(-50%);
	outline: none;
	border: 0;
}

/* .down-down:after {
	content: "\ead0";
} */

.shortcode-referenzen-wrapper {
	overflow: hidden;
	width: calc(100% - var(--gap) * 30);
	margin: 0 auto;
	padding-bottom: 60px;
}

.shortcode-referenzen-outer-wrapper.count-3 .shortcode-referenzen-wrapper,
.shortcode-referenzen-outer-wrapper.count-2 .shortcode-referenzen-wrapper,
.shortcode-referenzen-outer-wrapper.count-1 .shortcode-referenzen-wrapper {
  width: 100%;
}

.shortcode-referenzen-outer-wrapper.count-4,
.shortcode-referenzen-outer-wrapper.count-5,
.shortcode-referenzen-outer-wrapper.count-6,
.shortcode-referenzen-outer-wrapper.count-7,
.shortcode-referenzen-outer-wrapper.count-8,
.shortcode-referenzen-outer-wrapper.count-9,
.shortcode-referenzen-outer-wrapper.count-10,
.shortcode-referenzen-outer-wrapper.count-11,
.shortcode-referenzen-outer-wrapper.count-12,
.shortcode-referenzen-outer-wrapper.count-13,
.shortcode-referenzen-outer-wrapper.count-14,
.shortcode-referenzen-outer-wrapper.count-15 {
	/* margin-left: calc(0px - var(--gap)* 15); */
	width: calc(100% + var(--gap)* 30);
	max-width: 90vw;
	left: 50%;
	transform: translateX(-50%);
}

.shortcode-referenzen-outer-wrapper {
	width: 100%;
	position: relative;
	margin: 0 0 calc(var(--gap)* 10);
}

.swiper-pagination {
	display: none;
	bottom: 0px !important;
}

.swiper-pagination-bullet {
	width: 12px !important;
	height: 12px !important;
}

.swiper-pagination-bullet-active {
	background-color: var(--color-neutral-4) !important;
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-next,
.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-prev {
	width: 48px;
	height: 48px;
	background-color: var(--color-black);
	border-radius: 24px;
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-next:hover,
.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-prev:hover {
  border: 2px solid var(--color-black);
	background-color: var(--color-white) !important;
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-next:after,
.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-prev:after {
	font-family: 'Material Icons Rounded';
	font-weight: 300;
	font-style: normal;
	font-size: 24px;
	display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
	color: var(--color-white);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-next:hover:after,
.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-prev:hover:after {
	color: var(--color-black);
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-next:after {
	content: '\e5c8';
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-prev:after {
	content: '\e5c4';
}

.shortcode-referenzen-outer-wrapper .swiper-navigation .swiper-button-disabled {
	background-color: var(--color-neutral-4);
}


.shortcode-referenzen-header {
	margin: calc(var(--gap) * 3) 0;
}

.shortcode-referenzen-header h3 a {
	text-decoration: none;
}

.shortcode-referenzen-thumbnail-wrapper {
	border-radius: 30px;
	overflow: hidden;
}

.shortcode-referenzen-content {
	margin-bottom: calc(var(--gap) * 4);
	font-size: 16px;
	line-height: 135%;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
}

.shortcode-leistungen-item {
	flex: 0 0 calc(100% / 3 - calc(var(--gap) * 4) / 3 * (3 - 1));
	position: relative;
}

.shortcode-leistungen-wrapper.cluster .shortcode-leistungen-item header.shortcode-leistungen-header {
	margin: calc(var(--gap) * 3) 0;
}

.shortcode-leistungen-wrapper.feed .shortcode-leistungen-item header.shortcode-leistungen-header {
	margin: calc(var(--gap) * 3) 0;
}

.shortcode-leistungen-item .shortcode-leistungen-content {
	margin-bottom: calc(var(--gap) * 10);
}

.shortcode-leistungen-item header.shortcode-leistungen-header h3 a {
	text-decoration: none;
}

.shortcode-leistungen-item .shortcode-leistungen-thumbnail-wrapper {
	border-radius: 30px;
	overflow: hidden;
}

.shortcode-leistungen-item .shortcode-leistungen-thumbnail-wrapper img {
	width: 100%;
	height: auto;
	border-radius: 30px;
	overflow: hidden;
}

.shortcode-leistungen-item .shortcode-leistungen-footer {
	position: absolute;
	bottom: 0;
}

.shortcode-leistungen-wrapper.feed {
	display: block;
  flex-wrap: unset;
  gap: unset;
  margin-bottom: calc(var(--gap)* 4);
}

.shortcode-leistungen-wrapper.cluster {
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-between; */
	gap: calc(var(--gap) * 6) calc(var(--gap) * 4);
	margin-bottom: calc(var(--gap) * 4);
}


#shortcode-research-item-list {
  padding-top: calc(var(--gap)* 4);
}

.shortcode-research-item,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(var(--gap) * 3);
	margin: calc(var(--gap) * 5) 0 calc(var(--gap) * 10);
}

.shortcode-research-item:first-child {
	margin-top: 0;
}

.shortcode-research-thumbnail-wrapper {
}

.shortcode-research-thumbnail-wrapper img {
	height: auto;
	border-radius: 30px;
	overflow: hidden;
}

.shortcode-research-header h3 a,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-item h3 a,
.shortcode-research-header h3,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-item h3 {
	text-decoration: none;
	font-size: 24px;
	font-weight: 400;
}

.shortcode-research-header,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-header,
.shortcode-research-excerpt,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-excerpt {
	margin-bottom: calc(var(--gap) * 3);
}

.shortcode-research-content,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-content {
	position: relative;
	margin: unset;
}

.shortcode-research-footer,
.shortcode-leistungen-wrapper.feed .shortcode-leistungen-footer {
	position: absolute;
	bottom: 0;
}


.shortcode-team-wrapper {
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-between; */
	gap: calc(var(--gap) * 5) calc(var(--gap) * 4);
	margin-bottom: calc(var(--gap) * 4);
}

.shortcode-team-item {
	flex: 0 0 calc(100% / 3 - calc(var(--gap) * 4) / 3 * (3 - 1));
	position: relative;
}

.shortcode-team-thumbnail-wrapper {
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.shortcode-team-thumbnail-wrapper:focus {
	outline: 2px solid var(--color-primary-1);
}

.slide-up {
	display: none;
}

.shortcode-team-thumbnail-wrapper .shortcode-team-teaser-wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backdrop-filter: saturate(180%) blur(10px); /* Add this line first, it fixes blur for Safari*/
	backdrop-filter: saturate(180%) blur(10px);  /* This line activates blur*/
  background-color: rgba(0, 0, 0, .5);
	opacity: 0;
	transition: .3s all;
}

.shortcode-team-thumbnail-wrapper .shortcode-team-teaser {
	font-size: 16px;
	color: rgba(255,255,255,.9);
	padding: calc(var(--gap) * 4);
	line-height: 135%;
	position: absolute;
	top: 100%;
	transition: .5s all;
}

.shortcode-team-thumbnail-wrapper:hover .shortcode-team-teaser-wrapper,
.shortcode-team-thumbnail-wrapper:focus .shortcode-team-teaser-wrapper {
	opacity: 1;
	transition: .3s all;
}

.shortcode-team-thumbnail-wrapper:hover .shortcode-team-teaser,
.shortcode-team-thumbnail-wrapper:focus .shortcode-team-teaser {
	top: 0;
	transition: .5s all;
}

.shortcode-team-header {
	margin: calc(var(--gap) * 2) 0 calc(var(--gap) * 1);
}

.shortcode-team-header h3,
.shortcode-team-header a {
	font-size: 32px;
	text-decoration: none;
	font-family: 'Outfit';
	font-weight: 300;
}

.shortcode-team-content p {
	font-size: 20px;
	font-family: 'Outfit';
	font-weight: 300;
	line-height: 135%;
}


.page-hero-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	height: auto;
	aspect-ratio: 189 / 70;
}

body.home .page-hero-image {
	margin-bottom: calc(var(--gap) * 7);
}

body:not(.home) .main-article-content {
	padding: calc(var(--gap) * 7) 0 calc(var(--gap) * 15);
}

body:not(.home) .main-article-content.without-hero-image {
	padding-top: calc(var(--gap) * 19);
}

main.startseitenentwurf .main-article-content.without-hero-image {
	padding-top: 0;
}

body:not(.home) .main-article-content .row {
	grid-column: 2 / 12;
}

main.startseitenentwurf .main-article-content .row {
	grid-column: span 12;
}

/* - - - - - Footer Styles - - - - - */

.single-article-footer {
	margin-top: calc(var(--gap) * 7);
}

.single-article-footer .wp-block-buttons {
	margin-bottom: 0;
}

footer#page-footer {
	background-image: url(img/footer-background-2.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 75px 0 30px;
	position: relative;
}

#page-footer .container {
	display: flex;
  justify-content: space-between;
}

footer#page-footer .site-logo {
	grid-column: 1/4;
	margin-bottom: calc(var(--gap) * 7);
}

footer#page-footer .site-logo img {
	/* width: 72%; */
	height: 48px;
}

footer#page-footer nav.footer-navigation {
	grid-column: 1/8;
}

footer#page-footer .context {
	margin-top: calc(var(--gap) * 7);
}

footer#page-footer .meta {
	grid-column: 8/12;
	text-align: right;
	text-transform: none;
	font-size: 12px;
	line-height: 16px;
	padding-top: 10px;
}

footer#page-footer .widget h2 {
	font-size: 32px;
	text-decoration: none;
	font-weight: 300;
}

/* footer#page-footer .footer-area-1 .widget h2 {
	font-size: 32px;
	text-decoration: none;
	font-weight: 300;
} */

footer#page-footer .footer-area-1 {
	/* grid-column: 1/5; */
	width: 33.33%;
}

footer#page-footer .footer-area-2 {
	/* grid-column: 5/8;
	padding-left: calc(var(--gap) * 5);*/
}

footer#page-footer .footer-area-2 .widget {
	line-height: 220%;
	font-weight: 300;
}

footer#page-footer .footer-area-3 {
	/* grid-column: 9/12; */
}

footer#page-footer .newsletter {
	width: 55%;
	padding: 0 calc(var(--gap) * 12);
}

nav.footer-navigation ul {
	list-style: none;
	/* display: flex;
	flex-wrap: wrap;
	justify-content: space-between; */
	margin: 0;
}

nav.footer-navigation ul li {
	float: left;
	margin-right: 20px;
}

nav.footer-navigation ul li a {
	color: var(--color-black);
	text-decoration: none;
	font-size: 16px;
	line-height: 28px;
	font-weight: 300;
	text-decoration: underline;
}


/* Custom Radio */
.wpcf7-radio .wpcf7-list-item label,
.wpcf7-acceptance .wpcf7-list-item label {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none
  user-select: none;
}

.wpcf7-radio .wpcf7-list-item label input,
.wpcf7-acceptance .wpcf7-list-item label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label:before {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: var(--color-white);
	border-radius: 20px;
	border: 3px solid var(--color-black);
	transition: .3s all;
}

.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label:before {
	border-radius: 0;
}

.wpcf7-radio .wpcf7-list-item label:hover input ~ .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item label:hover input ~ .wpcf7-list-item-label:before {
  background-color: var(--color-neutral-4);
	transition: .3s all;
}

.wpcf7-radio .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label:before {
  background-color: var(--color-white);;
}

.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  display: none;
}

.wpcf7-radio .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label:after {
  display: block;
}

/* Style the checkmark/indicator */
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label:after {
	left: 7px;
  top: 7px;
  width: 11px;
  height: 11px;
  background-color: var(--color-black);
  border-radius: 100%;
}


.cr_page {
	width: 100% !important;
	background-color: unset !important;
}

.cr_body > .editable_content {
	position: relative;
}

.cr_ipe_item {
  margin: 0 !important;
  padding: 0 !important;
}

.cr_ipe_item[rel=checkbox] label {
	font-size: 13px !important;
	line-height: 18px !important;
	display: block;
	font-weight: normal;
}

.editable_content > .cr_ipe_item[rel=checkbox] .itemname {
	display: none;
}

.cr_ipe_item[rel=checkbox] div {
	display: grid;
  grid-template-columns: 1em auto;
  gap: 0.5em;
	margin-top: 10px;
}

.cr_ipe_item[rel=email] {
	position: relative;
	margin-bottom: 20px !important;
  display: block;
	height: 53px;
	width: calc(100% - 53px - 8px);
}

.cr_ipe_item[rel=email] label {
	font-size: 16px;
	line-height: 135%;
	font-weight: normal;
	margin: 16px 0 0 22px;
	position: absolute;
	transition: .3s all;
}

.cr_ipe_item[rel=email] label.active {
	font-size: 10px;
	margin: 7px 0 0 22px;
	transition: .3s all;
}

.cr_ipe_item[rel=email] input {
	background: none !important;
	padding: 13px;
	border: 1px solid var(--color-black);
	border-radius: 40px;
	outline: none !important;
	position: absolute;
  top: 0;
  left: 0;
	font-size: 16px;
	line-height: 135%;
	color: var(--color-black);
	padding: 14px 20px 14px 20px;
	transition: .3s all;
}

.cr_ipe_item[rel=email] input:focus,
.cr_ipe_item[rel=email] input#text5806792.active {
	padding: 18px 20px 10px 20px;
	border: 2px solid var(--color-black);
	transition: .3s all;
}

.cr_ipe_item.ui-sortable:nth-child(4) span {
	font-size: 13px !important;
	line-height: 18px !important;
	display: block;
}

.cr_ipe_item.submit_container {
	position: absolute;
	top: 0;
	right: 0;
	width: 53px !important;
}

.cr_ipe_item.submit_container button {
	content: '';
	background-color: var(--color-black);
	border-radius: 40px;
	border: 2px solid var(--color-black);
	height: 53px;
	width: 53px;
	background-image: url(img/arrow-next.svg);
	background-repeat: no-repeat;
	background-size: 30%;
	background-position: center center;
	margin: 0;
}

.cr_ipe_item.submit_container button:hover {
	background-color: transparent;
	border: 2px solid var(--color-black);
	background-image: url(img/arrow-next-schwarz.svg);
	opacity: 1;
}

.cr_ipe_item.musthave div input.cr_ipe_checkbox {
	border: 2px solid var(--color-black) !important;
	width: 17px !important;
	height: 17px !important;
	border-radius: 2px !important;
	display: inline-block;
	outline: none;
	margin: 0 8px 0 0;
	-webkit-appearance: none !important;
	appearance: none !important;
	background-color: transparent !important;
	transform: translateY(2px);

	display: grid;
	place-content: center;
}

.cr_ipe_item.musthave div input.cr_ipe_checkbox::before {
  content: "";
  width: 9px;
  height: 9px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--color-black);
	transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.cr_ipe_item.musthave div input.cr_ipe_checkbox:checked::before {
  transform: scale(1);
}

.lightweight-accordion details {
	border: 2px solid var(--color-black);
	border-top-right-radius: 45px !important;
	border-bottom-right-radius: 45px !important;
	/* background-color: var(--color-white); */
	background-color: transparent;
}

.lightweight-accordion details summary::-webkit-details-marker {
  display:none;
}

.lightweight-accordion .lightweight-accordion-title {
	/* background-color: var(--color-white) !important; */
	background: transparent !important;
	padding: 22px 44px !important;
	width: calc(100% - 45px);
	box-sizing: border-box;
	position: relative;
	list-style: none;
}

.lightweight-accordion .lightweight-accordion-title > span,
.lightweight-accordion .lightweight-accordion-title > span * {
	font-family: 'Outfit' !important;
	font-size: 32px !important;
	font-weight: 300 !important;
	line-height: 125% !important;
}

.lightweight-accordion .lightweight-accordion-title > span strong {
	font-weight: 500 !important;
}

.lightweight-accordion .lightweight-accordion-title::after {
	content: '\e313';
	font-family: 'Material Icons Rounded';
	font-weight: 300;
	font-style: normal;
	font-size: 36px;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	position: absolute;
	top: 26px;
	right: 0;
	transition: .3s all;
}

.lightweight-accordion details[open] .lightweight-accordion-title::after {
	transform: rotate(180deg);
	transition: .3s all;
}

.lightweight-accordion .lightweight-accordion-body {
  padding: 0 44px 29px !important;
	width: calc(100% - 88px - 45px);
}

.lightweight-accordion .lightweight-accordion-body > *:last-child {
	margin-bottom: 0 !important;
}
