:root {
	--ci-color: #296141;
	--dark-color: #000000;
	--light-color: #ffffff
}

@font-face {
	font-family: 'montserratsemibold';
	src: url("../webfonts/montserrat-semibold-webfont.woff2") format("woff2"), url("../webfonts/montserrat-semibold-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal
}

@font-face {
	font-family: 'montserratmedium';
	src: url("../webfonts/montserrat-medium-webfont.woff2") format("woff2"), url("../webfonts/montserrat-medium-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal
}

@font-face {
	font-family: 'montserratlight';
	src: url("../webfonts/montserrat-light-webfont.woff2") format("woff2"), url("../webfonts/montserrat-light-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal
}

.expertisen{
	margin: 3em 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 2em;
}

.expertisen .card{
	overflow: hidden;
	display: grid;
	grid-template-rows: subgrid;
	grid-row-end: span 2;
	gap: 0;
}

.expertisen .card h3{
	font-size: inherit;
	margin: 0;
	background: var(--ci-color);
	color: #fff;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	text-align: center;
	justify-content: space-between;
	align-items: center;
	padding: 1em;
	gap: .5em;
}
.expertisen .card span{
	padding: 1em;
	display: flex;
	flex-direction: column;
	text-align: center;
	justify-content: center;
	align-items: center;
	grid-row: 2;
}
.expertisen .card img{
	width: 60px;
	height: 60px;
	aspect-ratio: 1/1;
	object-fit: cover;
}

.expfilter{
	display: flex;
	gap: .5em;
	margin-bottom: 1em;
	grid-column: 1 / -1;
	flex-wrap: wrap ;
	&>*{
		width: auto;
	}
}



dialog#popover{
	position: fixed;
	flex-direction: column;
	justify-content: center;
	inset: 0;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	width: 100svw;
	width: 100dvw;
	height: 100svh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	background: rgba(41, 97, 65, 0.8);
	border:none;
	padding: var(--bs-gutter-x,.75rem);
	margin: 0;

	div{
		max-width: 1320px;
		margin: 0 auto;
		background: #fff;
		flex: 0;
		width: 100%;
		min-height: 0;
		position: relative;
		overflow: hidden;

		button{
			position: absolute;
			top: 0;
			right: 0;
			background: none;
			border: none;
			font-size: 2em;
			color: #000;
			background: #fff;
			height: 40px;
			width: 40px;
			display: flex;
			justify-content: center;
			align-items: center;
			outline: none;

		}
		iframe{
			width: 100%;
			height: 100%;
			border: none;
		}
		svg{
			position: absolute;
			width: 100px;
			height: 100px;
			left: calc(50% - 50px);
			top: calc(50% - 50px);
		}
	}
}
dialog#popover[open] {
	display: flex;
	animation: showDialog 0.5s ease forwards;
	
	div{
		animation: showDialogContent 0.75s ease forwards;
	}
}
dialog#popover[closing] {
	animation: hideDialog 0.5s ease forwards;
	div{
		animation: hideDialogContent 0.25s ease forwards;
	}
}
dialog#popover::backdrop{
	display:none;
}

@keyframes showDialog {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes showDialogContent {
	0% {
		flex: 0;
	}
	100% {
		flex: 1;
	}
}
@keyframes hideDialog {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes hideDialogContent {
	0% {
		flex: 1;
	}
	100% {
		flex: 0;
	}
}

.whitelabel{
	padding: calc(var(--bs-gutter-x,.75rem) * 2);
}

.navbar {
	z-index: 67;
	background-color: transparent;
	position: fixed;
	top: var(--wp-admin--admin-bar--height,0px);
	left: 10%
}

.navbar .navbar-brand {
	background-color: var(--ci-color);
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	padding: 20px;
	display: block;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

.navbar .navbar-brand img {
	max-width: 50px
}

.nav-sidebar {
	z-index: 67;
	position: fixed;
	top: var(--wp-admin--admin-bar--height,0px);
	right: 0
}

.nav-sidebar .nav-content-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	width: 100%
}

.nav-sidebar .nav-content {
	height: 100%;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1
}

.nav-sidebar .nav-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	background-color: var(--ci-color)
}

.nav-sidebar .logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px 10px 20px 10px;
	color: #fff
}

.nav-sidebar .logo img {
	max-width: 500px
}

.nav-sidebar .menu-icons-container {
	width: 100px;
	text-align: center
}

.nav-sidebar .menu-icons-container .menu-icons {
	width: 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 10px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16)
}

.nav-sidebar .menu-icons-container a, .nav-sidebar .menu-icons-container a:hover {
	color: var(--ci-color)
}

.nav-sidebar .menu-icons-container .btn-menu {
	border: none;
	background-color: transparent;
	margin-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	width: 40px;
	height: 20px
}

.nav-sidebar i {
	font-size: 22px;
	margin-bottom: 3px
}

.nav-sidebar .pop-menu {
	height: 60vh;
	border-radius: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.nav-sidebar .footer-nav {
	background-color: white
}

.nav-sidebar .footer-nav .wp-block-column {
	margin: 20px 0;
	padding: 5em;
	width: 50vw
}

.nav-sidebar .footer-nav .wp-block-column a {
	color: var(--ci-color)
}

.nav-sidebar .footer-main-menu {
	display: none
}

.hidden-nav {
	right: 0
}

.nav-content {
	position: fixed;
	min-width: 50vw;
	right: -50vw;
	top: 0;
	bottom: 0;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

.bg-transparent {
	background-color: transparent
}

.bg-white {
	background-color: #fff
}

.page-content-blur .page-content {
	-webkit-filter: blur(15px);
	filter: blur(15px)
}

.btn-menu .line {
	width: 100%;
	height: 3px;
	background: var(--ci-color);
	position: relative
}

.btn-menu .line::before, .btn-menu .line::after {
	content: '';
	position: absolute;
	height: 3px;
	width: 100%;
	background: var(--ci-color);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	left: 0
}

.btn-menu .line::before {
	top: -9px
}

.btn-menu .line::after {
	top: 9px
}

.sideslide {
	position: fixed;
	right: 0;
	top: 0;
	height: 100vh;
	background-color: var(--ci-color);
	border-bottom-left-radius: 5em;
	color: #fff;
	z-index: 10;
	border-right: 100px solid #fff;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column
}

.sideslide .content {
	padding: 3.25em 3em
}

.sideslide .content .menu-item a {
	background: #fff;
	color: var(--ci-color);
	font-size: 1.25em;
	position: relative;
	border-radius: 20px;
	margin-bottom: 1em;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-right: 3.75em;
	font-family: "montserratlight";
	overflow: hidden
}

.sideslide .content .menu-item.icon a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	width: 15%;
	min-width: 3em;
	height: 100%;
	background: #f4f4f4;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 15px 25px;
	background-origin: content-box;
}

.sideslide ul {
	list-style: none;
	padding: 0;
	margin: 0
}

.sideslide address {
	background: #f4f4f4;
	color: #000;
	padding: 2em 4em;
	border-bottom-left-radius: 5em
}

.sideslide address h3 {
	color: var(--ci-color)
}

.sideslide address ul {
	list-style: none;
	padding: 0;
	font-size: .8em
}

.sideslide address ul li {
	display: inline-block
}

.sideslide address ul li a {
	color: var(--ci-color)
}

.sideslide address ul li a:hover {
	color: #000
}

.sideslide address ul li a:visited {
	color: var(--ci-color)
}

.sideslide address ul li a:visited:hover {
	color: #000
}

header, main, footer {
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

.opennav .nav-sidebar .menu-icons-container .menu-icons {
	-webkit-box-shadow: none;
	box-shadow: none
}

.opennav header, .opennav main, .opennav footer {
	-webkit-filter: blur(15px);
	filter: blur(15px)
}

.opennav .sideslide {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	min-width: 50vw;
	overscroll-behavior: contain;
	overflow: auto
}

.opennav .btn-menu .line::before {
	top: 0px
}

.opennav .btn-menu .line::after {
	top: 0px
}

.overflow-hidden {
	overflow: hidden
}

.langswitch {
	position: fixed;
	top: var(--wp-admin--admin-bar--height,0px);
	right: 120px;
	z-index: 1000;
	width: 4em
}

.langswitch .wpml-ls-legacy-dropdown a {
	border: none;
	color: #000;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	padding: .8em .5em
}

.langswitch .wpml-ls-legacy-dropdown a:hover {
	background-color: var(--ci-color);
	color: #fff
}

.langswitch .wpml-ls-sub-menu {
	border-top: 0px
}

@media (max-width: 768px) {
	.nav-sidebar .menu-icons-container .btn-menu {
		margin-bottom: 0px
	}

	.sideslide {
		width: 100%;
		border-right: 0px;
		border-bottom-left-radius: unset
	}

	.sideslide .content {
		padding-top: 5em;
		padding: 5em 15px 2em
	}

	.sideslide .content .menu-item a {
		font-size: 1em
	}

	.sideslide address {
		padding: 1em 15px;
		border-bottom-left-radius: unset
	}

	.sideslide address h3 {
		font-size: 1em
	}
}

.home header {
	height: 100vh;
	max-height: 880px;
	min-height: 700px;
	background-color: #fff
}

.home header ul {
	list-style: none;
	padding: 0;
	max-width: unset;
	margin: 0;
	-webkit-columns: 2;
	columns: 2;
	gap: 1em
}

.home header .menu-item a {
	background: #fff;
	color: var(--ci-color);
	font-size: 1.125em;
	position: relative;
	border-radius: 20px;
	margin-bottom: 1em;
	padding-top: 1.2em;
	padding-bottom: 1.2em;
	padding-right: 6em
}

.home header .menu-item.icon a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	width: 25%;
	height: 100%;
	background: var(--ci-color);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 15px 30px;
	background-origin: content-box;
}

.sideslide .content .menu-item.icon.about a::after{
	background-image: url(../style/icons_ci/about.svg);
}
.sideslide .content .menu-item.icon.offer a::after{
	background-image: url(../style/icons_ci/offer.svg);
}
.sideslide .content .menu-item.icon.expertise a::after{
	background-image: url(../style/icons_ci/expertise.svg);
}
.sideslide .content .menu-item.icon.why a::after{
	background-image: url(../style/icons_ci/why.svg);
}
.sideslide .content .menu-item.icon.partners a::after{
	background-image: url(../style/icons_ci/partners.svg);
}
.sideslide .content .menu-item.icon.news a::after{
	background-image: url(../style/icons_ci/news.svg);
}


.home header .menu-item.icon.about a::after{
	background-image: url(../style/icons/about.svg);
}
.home header .menu-item.icon.offer a::after{
	background-image: url(../style/icons/offer.svg);
}
.home header .menu-item.icon.expertise a::after{
	background-image: url(../style/icons/expertise.svg);
}
.home header .menu-item.icon.why a::after{
	background-image: url(../style/icons/why.svg);
}
.home header .menu-item.icon.partners a::after{
	background-image: url(../style/icons/partners.svg);
}
.home header .menu-item.icon.news a::after{
	background-image: url(../style/icons/news.svg);
}



.home .section-relative {
	position: relative
}

.home .box-brand {
	position: absolute;
	margin-top: 15vh;
	margin-bottom: 4rem;
	display: inline-block
}

header::before {
	content: "";
	width: 1vmax;
	height: 30vh;
	position: absolute;
	background-color: var(--ci-color);
	left: 0;
	bottom: 0;
	z-index: 56
}

header .shape {
	height: 75%;
	width: 200px;
	right: 15%;
	bottom: 0;
	position: absolute;
	background-color: var(--ci-color);
	border-top-right-radius: 20px;
	border-top-left-radius: 20px
}

header h1, header h2 {
	margin-bottom: 0;
	font-size: clamp(1em, 5vmax, 2.5em);
	padding-left: 18.7%
}

@media (max-width: 768px) {
	header h1, header h2 {
		padding-left: 0
	}
}

header.sub {
	height: 60vh
}

header.sub .box-brand .brand-name h1 {
	font-size: 1.75em
}

header.sub .featured-img-box img {
	height: 100%
}

header .box-brand {
	top: 0;
	z-index: 2;
	position: absolute;
	margin-top: 15vh;
	margin-bottom: 4rem;
	display: inline-block
}

header .box-brand img {
	width: 60%
}

header .box-brand .brand-name {
	display: inline-block;
	padding: 60px;
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: 20px 20px 45px 0;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16)
}

header .featured-img-box {
	height: 100%;
	width: 60%;
	background-color: #f4f4f4
}

header .featured-img-box img {
	position: absolute;
	width: 50%;
	height: 70%;
	-o-object-fit: cover;
	object-fit: cover;
	bottom: 0;
	right: 0;
	z-index: 1
}

header .featured-img-box figure {
	display: inline-block
}

header .background-gray {
	height: 100%;
	width: 60%;
	background-color: #f4f4f4
}

header .blog-img-box {
	position: absolute;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0
}

header .blog-img-box .blog-featured-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	z-index: 45
}

@media (max-width: 768px) {
	.opennav .navbar .navbar-brand {
		opacity: 0
	}

	header.sub .box-brand {
		width: unset
	}
}

@media (max-width: 650px) {
	.home header {
		min-height: unset;
		height: auto;
		max-height: unset
	}

	.home header .box-brand {
		position: relative;
		margin-top: 6em
	}

	header {
		min-height: unset;
		height: auto;
		max-height: unset
	}

	header::before {
		display: none !important
	}

	header.sub {
		min-height: unset;
		height: auto;
		max-height: unset
	}

	header .imgwrap {
		position: absolute !important;
		top: 0;
		width: 100%
	}

	header .box-brand {
		position: relative;
		margin-top: 6em
	}

	header .featured-img-box {
		width: 100%;
		background-color: #f4f4f4
	}

	header .featured-img-box figure {
		margin-bottom: 0;
		height: 100%
	}

	header .featured-img-box img {
		position: relative;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		bottom: 0;
		right: 0;
		z-index: 1
	}

	header .featured-img-box figure {
		display: inline-block
	}
}

@media (max-width: 575.98px) {
	.home header ul {
		-webkit-columns: 1;
		columns: 1
	}

	header .box-brand .brand-name {
		padding: 40px
	}
}

@media (max-width: 425px) {
	.home header .menu-item a {
		font-size: 0.9em
	}
}

::-webkit-scrollbar {
	width: 1vmax
}

::-webkit-scrollbar-track {
	background: #fff;
	opacity: 0
}

::-webkit-scrollbar-thumb {
	background: var(--ci-color);
	-webkit-transition: .5s all ease-out;
	transition: .5s all ease-out;
	height: 120px
}

::-webkit-scrollbar-thumb:hover {
	background: #000
}

main {
	position: relative;
	overflow: hidden;
	height: 100%
}

main::before {
	content: "";
	width: 1vmax;
	height: 100%;
	position: absolute;
	background-color: var(--ci-color);
	left: 0
}

main .card-group {
	position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding: 40px
}

@media (max-width: 768px) {
	main .card-group {
		padding: 15px
	}
}

main .card-group .wp-block-buttons {
	margin-top: auto
}

main .card-group .wp-block-group__inner-container {
	max-width: 1320px;
	margin: 0 auto
}

main .card {
	border-radius: 45px 45px 45px 0;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	border: 0
}

main .card:hover {
	-webkit-box-shadow: 30px 30px 30px rgba(68, 68, 68, 0.23);
	box-shadow: 30px 30px 30px rgba(68, 68, 68, 0.23)
}

#carouselNewsslider .carousel-control-next, #carouselNewsslider .carousel-control-prev {
	height: 50px;
	width: 50px;
	background: #fff;
	color: #000;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	opacity: 1;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	text-align: center;
	font-size: 1.5em
}

#carouselNewsslider .carousel-control-next:hover, #carouselNewsslider .carousel-control-prev:hover {
	color: #fff;
	background: var(--ci-color)
}

#carouselNewsslider .carousel-control-prev {
	left: auto;
	right: calc(2.5em + 50px)
}

#carouselNewsslider .carousel-control-next {
	right: 2em
}

#carouselNewsslider .carousel-inner {
	padding: 0 0 5em 0
}

#carouselNewsslider .carousel-item {
	height: 35vh;
	min-height: 400px;
	background-size: cover;
	background-position: top center;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 45px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

#carouselNewsslider .carousel-caption {
	right: 0;
	width: auto;
	max-width: 50%;
	left: auto;
	background: hsl(146 41% 27% / .9);
	bottom: -2em;
	padding: 3em;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 45px;
	text-align: left
}

#carouselNewsslider .carousel-caption p {
	font-family: "montserratlight";
	font-size: 1em
}

#carouselNewsslider .carousel-caption .btn {
	border-color: #fff;
	color: #fff;
	background: transparent
}

@media (max-width: 575.98px) {
	#carouselNewsslider .carousel-caption {
		max-width: unset
	}
}

@media (max-width: 650px) {
	main::before {
		display: none !important
	}
}

.filter {
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	border-radius: 5px
}

.list hr:last-of-type {
	display: none
}

.joblist {
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	padding: 2em
}

.joblist a {
	text-decoration: none
}

.joblist a h5 {
	text-decoration: none
}

.joblist figure img {
	aspect-ratio: 1/1;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	border-radius: 20px 20px 45px 0
}

.joblist:hover {
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16)
}

footer {
	background-color: var(--ci-color);
	color: #fff;
	position: relative
}

footer::before {
	content: '';
	width: 1vmax;
	height: 100%;
	position: absolute;
	background-color: #fff;
	left: 0
}

footer h3 {
	color: #fff
}

footer a {
	color: #fff
}

footer a:hover {
	color: #f4f4f4
}

footer .menu-hauptmenue-container, footer .menu-hauptmenue-it-container, footer .menu-hauptmenue-fr-container, footer #menu-footer-schnellnavigation, footer #menu-footer-schnellnavigation-it, footer #menu-footer-schnellnavigation-fr {
	font-size: 1.5em
}

footer ul {
	list-style: none;
	padding: 0
}

footer ul li a {
	color: #fff
}

footer ul li a:hover {
	color: #f4f4f4
}

footer ul li a:visited {
	color: #fff
}

footer ul li a:visited:hover {
	color: #f4f4f4
}

footer .menu-hauptmenue-container li a, footer .menu-hauptmenue-it-container li a, footer .menu-hauptmenue-fr-container li a, footer #menu-footer-schnellnavigation li a, footer #menu-footer-schnellnavigation-it li a, footer #menu-footer-schnellnavigation-fr li a {
	text-decoration: none
}

@media (max-width: 650px) {
	footer::before {
		display: none !important
	}

	footer .menu-hauptmenue-container, footer .menu-hauptmenue-en-container, footer .menu-hauptmenue-fr-container {
		font-size: 1em
	}
}

body {
	font-size: 16px;
	line-height: 1.5;
	color: #000;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto
}

* {
	scroll-behavior: smooth
}

.container-fluid {
	max-width: 1400px
}

body {
	font-family: "montserratmedium", sans-serif
}

h1, h2, h3, h4, h5, h6 {
	color: var(--ci-color);
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none
}

h1 {
	font-family: "montserratmedium";
	font-size: clamp(1.8em, 5vw, 3.5em);
	margin-bottom: 1em
}

h2 {
	font-family: "montserratmedium";
	font-size: clamp(1.8em, 5vw, 3.5em);
	margin-bottom: 1em
}

h3 {
	color: #000;
	font-family: "montserratlight";
	font-size: clamp(1.125em, 5vw, 2.125em)
}

b {
	font-family: "montserratsemibold"
}

a {
	color: var(--ci-color);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

a:hover {
	color: #000
}

a:visited {
	color: var(--ci-color)
}

hr {
	margin: 5em 0;
	border: 0px;
	border-top: 0px !important;
	border-bottom: 0px !important;
	height: 2px !important;
	background-color: var(--ci-color);
	opacity: 1
}

.btn, 
.wp-block-button__link, 
.wp-block-file 
.wp-block-file__button,
.gform_button.button{
	font-size: 1em;
	background: #fff;
	border: 2px solid var(--ci-color);
	color: var(--ci-color);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	border-radius: 20px
}

.btn.current,
.btn:hover,
.wp-block-button__link.current,
.wp-block-button__link:hover,
.wp-block-file .wp-block-file__button:hover,
.gform_button.button:hover{
	text-decoration: none;
	background-color: var(--ci-color);
	color: #fff
}

.btn:visited, .wp-block-button__link:visited, .wp-block-file .wp-block-file__button:visited {
	color: var(--ci-color)
}

.btn:visited:hover, .wp-block-button__link:visited:hover, .wp-block-file .wp-block-file__button:visited:hover {
	text-decoration: none;
	background-color: var(--ci-color);
	border-color: var(--ci-color) !important;
	color: #fff
}

.btn:focus, .wp-block-button__link:focus, .wp-block-file .wp-block-file__button:focus {
	text-decoration: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none
}

.paddingy {
	padding: 5em 0
}

.wp-block-column {
	margin: 20px 0
}

.card-group {
	/* background-color: #fff; */
	position: relative
}

.card-group .card {
	border-radius: 45px 45px 45px 0;
	padding: 0;
	-webkit-box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	box-shadow: 20px 20px 30px rgba(68, 68, 68, 0.16);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	border: 0
}

.card-group .card:hover {
	-webkit-box-shadow: 30px 30px 30px rgba(68, 68, 68, 0.23);
	box-shadow: 30px 30px 30px rgba(68, 68, 68, 0.23)
}

.card-group .card figure {
	border-radius: 20px 20px 0px 0px;
	background-color: var(--ci-color);
	padding: 2em;
	margin-bottom: 0;
	width: 100%;
	text-align: center
}

.card-group .card p {
	padding: 1.5em
}

.card-group .card .wp-block-button {
	margin-bottom: 40px
}

.card-group .card-btn {
	border-radius: 10px;
	border-color: var(--ci-color);
	color: var(--ci-color)
}

.card-group figcaption {
	padding: 20px 40px
}

@media (max-width: 575.98px) {
	.card-group h2 {
		font-size: 2em
	}
}

.form-control, .form-select {
	margin-bottom: 1rem;
	border: 2px solid var(--ci-color);
	font-size: 1em;
	color: #000;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease
}

.form-control:focus, .form-select:focus {
	border-color: #000;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #000;
	outline: none
}

.input-group-text {
	background-color: var(--ci-color);
	color: #fff;
	border: none
}

.btn-primary.disabled, .btn-primary:disabled {
	background: var(--ci-color)
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	margin-bottom: 1em !important;
	border: 0px solid var(--ci-color);
	border-bottom: 2px solid var(--ci-color);
	font-size: 1em !important;
	padding: 1em !important;
	border-radius: 0px;
	color: #000;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	background-color: #f4f4f4
}

.gform_wrapper.gravity-theme input[type=color]:focus, .gform_wrapper.gravity-theme input[type=date]:focus, .gform_wrapper.gravity-theme input[type=datetime-local]:focus, .gform_wrapper.gravity-theme input[type=datetime]:focus, .gform_wrapper.gravity-theme input[type=email]:focus, .gform_wrapper.gravity-theme input[type=month]:focus, .gform_wrapper.gravity-theme input[type=number]:focus, .gform_wrapper.gravity-theme input[type=password]:focus, .gform_wrapper.gravity-theme input[type=search]:focus, .gform_wrapper.gravity-theme input[type=tel]:focus, .gform_wrapper.gravity-theme input[type=text]:focus, .gform_wrapper.gravity-theme input[type=time]:focus, .gform_wrapper.gravity-theme input[type=url]:focus, .gform_wrapper.gravity-theme input[type=week]:focus, .gform_wrapper.gravity-theme select:focus, .gform_wrapper.gravity-theme textarea:focus {
	border-color: #000;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #000;
	outline: none
}

.gform_wrapper.gravity-theme .gform_footer button, .gform_wrapper.gravity-theme .gform_footer input, .gform_wrapper.gravity-theme .gform_page_footer button, .gform_wrapper.gravity-theme .gform_page_footer input {
	padding: 1em
}


table.anmeldung {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ddd;
	border-top:none;

	td{
		padding: 1em;
		white-space: nowrap;
	}
	
	tbody td{
		border:none;
		border-top: 1px solid #ddd;
		background: #f3f3f3;
	}
	td:nth-child(1){
		padding-right: 5em;
	}
	td:nth-child(2){
		width: 100%;
		white-space: normal;
	}
	td:last-child{
		text-align: right;
	}

	.wp-block-button__link.wp-element-button{
		border:none;
		background: var(--dark-color);
		color: var(--light-color);
		padding: .5em 1em;
	}

	.month td{
		background: #fff;
		text-align: left;
		padding: 0;
	}
	.month label{
		display: block;
		padding: 1em;
		cursor: pointer;
		user-select: none;
	}
	.month input{
		display: none;
	}

	.month svg{
		height: 25px;
		width: auto;
		display: block;
		object-fit: contain;
		float: right;
	}
	.month:has(:checked) svg{
		transform: rotate(180deg);
	}


	.month ~ tr{
		display:none;
	}
	.month:has(:checked) ~ tr{
		display:table-row;
	}


}

[class^="filter-"]{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: .4em .8em 0;
	gap: .8em;
	background: var(--light-color);
	color: var(--dark-color);
	border: 1px solid #ddd;
	font-size: 1.2em;

	input{
		display: none;
	}
	label{
		cursor:pointer;
		padding: .4em 0 .8em;

		&:has(:checked){
			background: linear-gradient(0deg, var(--dark-color), var(--dark-color) 6px, var(--light-color) 6px);
		}
	}

}

.footer_button{
	background: var(--ci-color);
	color: var(--light-color) !important;
	border: none;
	padding: .5em 1em;
	position: fixed;
	right: 0;
	bottom: 0;
	text-decoration: none;
	translate: 0px 100%;
	transition: translate .2s ease;

	&::after{
		content: '\F138';
		font-family: "bootstrap-icons";
		margin-left: .5em;
		top: 3px;
		display: inline-block;
		position: relative;
	}
}

.scrolled .footer_button{
	translate: 0px 0%;
}

.esab__container{
	gap:2px !important;
}

.wp-block-esab-accordion-child{
	border:none !important;
	padding: 2px;
}

.esab__head{
	padding: 1em !important;
	height: auto;
    cursor: pointer;
    margin-bottom: 10px;
    display: flex;
	background: rgb(244 244 244) !important;
    font-size: 1em;
    font-weight: 500;
    text-align: left;
    border-radius: 4px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .15);
    letter-spacing: 1px;
}
.esab__body{
	border:none !important;
	& > * {
		padding-left: 40px;
		padding-right: 40px;
	}
}

.esab__icon{
	position: relative;
	width: 20px;
	height: 20px;
}
.esab__icon>div{
	display: none !important;
}

.esab__icon:before {
    width: 100%;
    height: 2px;
    top: 50%;
    position: absolute;
    display: block;
    content: "";
    transform: translateY(-50%);
    background-color: #000;
}

.esab__icon:after{
    height: 100%;
    width: 2px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    display: block;
    content: "";
    background-color: #000;
	opacity: 1;
    transition: .3s opacity ease;
}
.esab__active_icon.esab__icon:after{
	opacity: 0;
}

.toChatGPT{
	display: none;
}


/*Kursdaten*/

:root{
	--lightgrey-color: #f4f4f4;
	--maintrans: .3s all ease-in-out;
	--b-radius: 4px;

	--starttext: 'Bitte einen Startzeitraum wählen';
	--startendtext: 'Start / Ende';
	--weitereinfos: 'Weitere Infos';
	--anmeldemoeglichkeiten: 'Anmeldemöglichkeiten';
	--kurshinweise: 'Kurshinweise';
}

html[lang="fr-FR"]:root{
	--starttext: 'Veuillez choisir une période de début';
	--startendtext: 'Début / Fin';
	--weitereinfos: 'Plus d`infos';
	--anmeldemoeglichkeiten: 'Possibilités d`inscription';
	--kurshinweise: 'Indications sur les cours';
}

html[lang="it-IT"]:root{
	--starttext: 'Selezionare un periodo di inizio';
	--startendtext: 'Inizio / Fine';
	--weitereinfos: 'Più informazioni';
	--anmeldemoeglichkeiten: 'Opzioni di registrazione';
	--kurshinweise: 'Appunti del corso';
}

.filter-orte{
	margin-top: 2em;
	border-top-left-radius: var(--b-radius);
	border-top-right-radius: var(--b-radius);
	border-bottom-width: var(--b-radius);
}

/*Kursinfos Formular*/
#gfield_description_14_148{
	margin: 2em 0;
	padding: 1em;
	border-radius: var(--b-radius);
	background-color: var(--lightgrey-color);

	&::before{
		content: var(--kurshinweise);
		display: block;
		color: var(--ci-color);
		font-family: "montserratsemibold";
		font-size: 1.5em;
		margin-bottom: .5em;
	}
}

.filter-kundenart{
	border-top: 0;
}

[class^="filter-"] {
	font-size: 1em;
	background-color: #f4f4f4;
	padding: 0 1em;
	gap: .5em;
	font-family: "montserratsemibold";

    & label {
		color: var(--ci-color);
		font-size: 1em;
		padding: 1em 1em 1em 0;
		transition: var(--maintrans);

		&::before{
			content: '✓';
			opacity: 0;
			transition: var(--maintrans);
		}

        &:has(:checked) {
            background: transparent;
			color: var(--dark-color);

			&::before{
				opacity: 1;
			}
        }

		&:hover{
			color: var(--dark-color);
		}
    }
}

table.anmeldung{
	thead{
		background-color: var(--ci-color);
		color: var(--light-color);
	}

	td ,
	.month label{
        padding: 1em 2em;
    }
}

[disabled]{
	pointer-events: none;;
}

@media screen and (max-width: 768px){

	table.anmeldung{
		tbody, td, tfoot, th, thead, tr{
			display: flex;
			flex-direction: column;
		}
		
		&::before{
			content: var(--starttext);
			padding: 1em 2em;
			color: var(--light-color);
			background-color: var(--ci-color);
			display: block;
			width: 100%;
			position: relative;
		}

		thead{
			display: none;
		}

		tr:not(.month){
			td{
				&::before{
					color: var(--ci-color);
					margin-bottom: .5em;
					text-align: left;
					font-family: "montserratsemibold";
					font-size: .9em;
				}
			}
			td:nth-child(1){
				&::before{
					content: var(--startendtext);
				}
			}

			td:nth-child(2){
				&::before{
					content: var(--weitereinfos);
				}
			}

			td:nth-child(3){
				&::before{
					content: var(--anmeldemoeglichkeiten);
				}
			}
		}
	}
}