
/* Table of Contents
- Media Queries 1
	- table + html
	- header
	- responsive + site header
	- content css
- Defaults
- Navigation Genesis
- Site Navigation
- Typographical Elements
- Site Header (ohne Typografie)
- Structure and Layout
- Site Layout
- -- Bilder / Galerie
- -- Header Alternative Elemente
- -- Genesis Blöcke nebeneinander
- -- Image and Text container
- -- CTA Banner
- -- Buttons und Links
- -- Vorteile Auflistung
- -- Icons / Iconlist
- Footer
- History / Geschichte
*/


/* Media Queries von custom.css hier verschoben
---------------------------------------------------------------------------- */

@media only screen and (min-width: 480px) {

	table {
		table-layout: auto;
		word-break: normal;
	}

}

@media only screen and (min-width: 960px) {

	html {
		font-size: 16px !important;
	}

	

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-primary {
		display: block;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none !important;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		float: right;
		width: auto;
	}

	/* Site-Inner
	--------------------------------------------- */

	.site-inner {
		max-width: 112.5rem;
	}

	/* Content
	--------------------------------------------- 

	.content {
		float: left;
		width: 47.5rem;
		max-width: 100%;
	}*/

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}

	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 30%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* Author Box
	--------------------------------------------- */

	.author-box {
		background-color: #f5f5f5;
		padding: 1.875rem;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 2.5rem 3.75rem;
	}

	.after-entry .enews {
		padding-left: 1.875rem;
		padding-right: 1.875rem;
	}

	/* Column Classes
	--------------------------------------------- */

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: left;
		margin-left: 2.564102564102564%;
	}

	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.717948717948715%;
	}

	.one-third,
	.two-sixths {
		width: 31.623931623931625%;
	}

	.four-sixths,
	.two-thirds {
		width: 65.81196581196582%;
	}

	.one-fourth {
		width: 23.076923076923077%;
	}

	.three-fourths {
		width: 74.35897435897436%;
	}

	.one-sixth {
		width: 14.52991452991453%;
	}

	.five-sixths {
		width: 82.90598290598291%;
	}

	.first {
		clear: both;
		margin-left: 0;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry,
	.entry-comments,
	.entry-pings {
		margin-bottom: 3.75rem;
	}

	/* Footer Widgets
	--------------------------------------------- */

	.footer-widgets .wrap {
		max-width: 112.5rem;
	}

	.footer-widget-area {
		float: left;
		margin-bottom: 0;
		width: calc(100% / 4);
	}
}



/* 
----------------------------------------------------------------------------
Media Query ---- media.css
---------------------------------------------------------------------------- 
*/



/* Defaults
---------------------------------------------------------------------------- */

body {
	/* --border-padding: 30px; */
	--border-padding: 1.875rem;
}









/* Navigation Genesis
---------------------------------------------------------------------------- */
@media only screen and (min-width: 960px) {

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item:not([id^="mmenu"]) {
		display: inline-block;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu > .menu-highlight > a {
		background-color: #124352;
		border-radius: 3px;
		color: var(--white);
		font-weight: 600;
		margin-left: 0.9375rem;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: var(--primary-orange);
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		opacity: 0;
		display: none;
		padding-left: 0;
		left: 0rem !important;
		right: 0rem !important;
		width: initial !important;
		margin: 0 auto;
		max-width: var(--menu-width);
		/* border: 1px solid #E5E5E5; */
		box-shadow: 0rem 100px 80px rgb(0 0 0 / 7%), 0rem 41.7776px 33.4221px rgb(0 0 0 / 5%), 0rem 22.3363px 17.869px rgb(0 0 0 / 4%), 0rem 12.521rem 10.0172px rgb(0 0 0 / 4%), 0rem 6.6501px 5.32008px rgb(0 0 0 / 3%), 0rem 2.76726px 2.21381px rgb(0 0 0 / 2%);
		position: absolute;
		transition: opacity 0.4s ease-in-out;
		gap: 0rem;
		justify-content: flex-start;
		flex-wrap: wrap;
		flex-direction: row;
		padding-top: 34px;
		padding-bottom: 3.125rem;
	}

	.genesis-nav-menu .sfHover .sub-menu {
		display: flex !important;
	}

	.genesis-nav-menu .menu-item-has-children .sub-menu:before {
		content: "";
		pointer-events: none;
		display: block;
		position: absolute;
		z-index: -2;
		top: -200vh;
		left: -75vw;
		width: 200vw;
		height: calc(100vh - var(--menu-height) - 1px);
		opacity: 0;
		background: transparent;
		transition: opacity 0.4s ease-in-out;
	}

	.genesis-nav-menu .menu-item-has-children.sfHover .sub-menu:before {
		pointer-events: none;
		opacity: 1;
		top: 1px;
		background: rgba(0, 0, 0, 0.37);
	}

	.genesis-nav-menu .menu-item-has-children .sub-menu::after {
		content: "";
		position: absolute;
		pointer-events: none;
		display: block;
		z-index: -1;
		top: 1px;
		left: -17.375rem !important;
		right: -17.375rem !important;
		height: 100%;
		width: initial !important;
		margin: 0 auto;
		max-width: 1456px;
		background: linear-gradient(0deg, rgba(18, 67, 82, 0.03), rgba(18, 67, 82, 0.03)), #FFFFFF;
	}

	.genesis-nav-menu .menu-item-has-children.sfHover .sub-menu::after {
		pointer-events: initial;
	}

	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 0.9375rem;
		padding-top: 0.9375rem;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		display: none;
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) {
		border-bottom: 1px solid rgba(160, 180, 186, 0.3);
		/* padding neu beim link */
		padding: 0;
		margin-right: 2rem;
		width: calc(var(--menu-width) / 2 - 2rem);
	}
	

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		flex-direction: column;
		padding-bottom: 1.125rem;
		padding-top: 1.125rem;
		width: 100%;
		border: none;
		margin: 0rem;
		gap: 0.3125rem;
		justify-content: center;
		align-items: flex-start;
		transition: all 0.4s ease-in-out;
	}


	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a img {
		/* hover animation */
		transform: scale(0.9);
		transition: transform 250ms;
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a:hover img  {
		transform: scale(1);
	}



	.genesis-nav-menu .sub-menu .menu-item:nth-child(1), 
	.genesis-nav-menu .sub-menu .menu-item:nth-child(2) {
		border-top: 1px solid rgba(160, 180, 186, 0.3);
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) span {
		display: block;
		font-weight: 400;
		font-size: 0.9375rem;
		line-height: 131%;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #124352;
		margin-right: auto;
		width: 100%;
	}

	/* subnav hover state */
	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a:hover span,
	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a:focus span {
		color: var(--lightblue) !important;
	}

	/* nav + subnav active state */
	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a[aria-current="page"] span {
		color: var(--lightblue) !important;
	}

	/* nav active state */


	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) span.menu-description {
		font-weight: 400;
		font-size: 0.9375rem;
		line-height: 131%;

		letter-spacing: 0.01em;
		text-transform: initial;
		color: #AAAAAA;
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a.sub_nav_image {
		display: inline-grid;
		grid-auto-flow: column dense;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
		gap: 0.3125rem 0.5rem;
		width: initial;
		grid-template-areas:
			"Image Only Title"
			"Image Only Subtitle";
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a.sub_nav_image span {
		display: block;
		width: 100%;
		grid-area: Title;
		margin-top: auto;
	}
	/* } */

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a.sub_nav_image img + span:last-child, 
	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a.sub_nav_image img ~ span:last-child {
		margin-bottom: auto !important;
		margin-top: auto;
		grid-area: Only;
		margin-left: 0.5rem;
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a.sub_nav_image span.menu-description {
		grid-area: Subtitle;
		margin-bottom: auto;
		margin-top: initial;
	}

	.genesis-nav-menu .sub-menu .menu-item:not([id^="mmenu"]) a img {
		border: 1px solid #E5E5E5;
		/* margin-right: 0.6875rem; */
		width: 107px;
		position: inherit;
		grid-area: Image;
		margin-right: auto;
	}

}



/* Site Header Navigation
---------------------------------------------------------------------------- */

@media screen and (max-width: 1300px) and (min-width: 1200px) {
	html body.header-fixed {	
		--nav-height: 166px;
	}
}


@media only screen and (min-width: 960px) {

	.site-header {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		width: 100vw;
		z-index: 9999;
	}

}

/* Navigation Fixed scroll */
@media screen and (min-width: 1200px) {


	body.header-fixed {
		--nav-height: 84px;
		padding-top: var(--nav-height);
	}

	header.site-header {
		height: var(--nav-height);
	}

	body.header-fixed header.site-header {
		position: fixed;
		/* top: 2rem; */
	}

}



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

	header.site-header .schm_nav_button a {
		/* padding: 0.95rem 0.6rem 0.875rem 0.6rem !important; */
		padding: 15px 15px 12px 15px !important;
		font-size: 0.8rem !important;
	} 
	/* desktop navigation verkleinert */
	.genesis-nav-menu a {
		font-size: 0.8rem;
	}

	.wp-custom-logo .custom-logo-link {
		width: 100px;
	}

	.genesis-nav-menu li a {
		margin: 0;
	}

	.genesis-nav-menu li:not(:last-child) a {
		margin-right: 18px;
	}
}


/* Typographical Elements
--------------------------------------------- */

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

	.style-h1,
	.hero-title .style-h1 {
		font-size: 3rem;
	}

}


@media screen and (max-width: 1200px) {
	
	body {
		font-size: 1.1rem;
	}

	.hero-title .style-h1,
	h1, 
	h2.style-h1, 
	h3.style-h1, 
	h4.style-h1 {
		line-height: normal;
		font-size: 2.7rem;
	}

	h2, 
	h1.style-h2,
	h3.style-h2, 
	h4.style-h2,
	.style-h2 {
		font-size: 2.1rem;
		line-height: 1.3;
	}
	
	h3, 
	h1.style-h3, 
	h2.style-h3, 
	h4.style-h3 {
		line-height: 1.3;
		/* für header hierarchie genug gross*/
		font-size: 1.8rem;
	}

	h4, 
	h2.style-h4, 
	h3.style-h4, 
	h1.style-h4 {
		font-size: 1.6rem;
		line-height: 1.3;
	}

	p.lead {
		font-size: 1.5rem;
		line-height: 141%;
	}
	

	h1.topline, 
	h2.topline, 
	h3.topline, h4.topline, h5.topline, h6.topline, p.topline, span.topline {
		font-size: 0.9rem;
	}

	
	/* Titel von header Elementen, grösser als der von .style-h3 */
	.heading-alternativ {
		font-size: 2rem;
		line-height: 1.3;
	}

}


@media screen and (max-width: 1024px) {
	/* schriftgrössen prüfen */

	body {
		font-size: 1.25rem;
	}

	h2.heading-alternativ:not(.style-h3) {
		font-size: 1.7rem;
	}

	.hero-title .style-h1,
	h1,
	h2.style-h1, 
	h3.style-h1, 
	h4.style-h1 {
		font-size: 2.2rem;
	}

	h2, 
	h1.style-h2,
	h3.style-h2, 
	h4.style-h2,
	.style-h2 {
		font-size: 1.8rem;
	}

	h3, 
	h1.style-h3, 
	h2.style-h3, 
	h4.style-h3 {
		font-size: 1.55rem;
	}

	h4, 
	h1.style-h4, 
	h2.style-h4, 
	h3.style-h4 {
		font-size: 1.5rem;
	}

	.entry-header .hero-title h1.topline {
		font-size: 1.0625rem;
	}	
	
	/* war auskommentiert  */
	p.small {
		font-size: 1.0625rem;
		line-height: 134%;
	}
}



/* Site Header (ohne Typografie)
---------------------------------------------------------------------------- */

@media screen and (max-width: 1400px) and (min-width: 782px) {
	
	/* mehr Abstand links und rechts */
	.entry-header, .site-header,
	.site-inner {
		padding: 0rem 3.4375rem !important;
	}
}

/* @media screen and (max-width: 1200px) { */
@media screen and (max-width: 960px) {
/* media query gleich wie "Inhalt begrenzen" im front-end.css */

	/* beim team 1rem abstand entfernen */
	/* für dienstleistungen, den 1rem Abstand entfernen (overflow) */
	/* nicht beim begrenzten inhalt von entry-content entfernen, deshalb media query 1300 nicht 1400 */
	.full-width-content .entry-content > .alignwide {
		margin-left: 0;
		margin-right: 0;
	}
}

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

	/* header hero banner mit scroll down */
	.has-hero .entry-header > .wrap .hero-title {
		padding-bottom: 4rem;
	}
	
	.has-hero .entry-header > .wrap .hero-title .topline {
		margin-bottom: 0.5rem;
	}

	.has-hero .entry-header > .wrap .hero-title h2,
	.has-hero .entry-header > .wrap .hero-title .style-h1 {
		margin-bottom: 0;
	}


}


/* main content wrapper */
@media screen and (max-width: 1500px) and (min-width: 960px) {
	/* Inhalt begrenzen */
	/* 
	TODO,  alignwide und alignfull müssen trotzdem gut aussehen!
	.content {
		width: 50rem;
		max-width: 100%;
	}
	*/
}



@media screen and (max-width: 1200px) {
		
	/* header hero banner mit scroll down */
	.has-hero .entry-header > .wrap .hero-title {
		padding-bottom: 2rem;
	}

	.entry-header .scroll-button--wrapper .scroll-button {
		bottom: 2rem;
		right: var(--border-padding);
		display: flex;
	}

	.entry-header .scroll-button--wrapper .scroll-button svg {
		height: 30px;
	}
}



@media screen and (max-width: 768px) {
	/* hero */
	.has-hero .entry-header > .wrap .hero-title {
		padding: 10px;
		padding-bottom: 2rem;
	}

	.entry-header {
		--hero-height: 300px;
		padding: 0;
	}

	.entry-header .hero_full img {
		height: var(--hero-height);
		object-fit: cover;
	}

	.has-hero .entry-header > .wrap .hero-title {
		padding-left: var(--border-padding) !important;
		padding-right: var(--border-padding) !important;
	}
}





/* Structure and Layout
---------------------------------------------------------------------------- */

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

	/* für startseiten elemente */
	/* .wp-block-group {
		padding-top: 2.5rem;
	} */
	
}

/* Site Layout
---------------------------------------------------------------------------- */

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

	/* damit es keinen overflow gibt */
	#wpadminbar {
		max-width: 100px;
		overflow: hidden;
	}
	
	.remove-padding-mobile {
		padding: 0;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.margin-bottom-remove-mobile {
		margin-bottom: 0 !important;
	}

}


@media screen and (max-width: 960px) {
	/* spacing */
	.alignfull:not(.banner-has-background, .map) > .wp-block-group__inner-container {
		padding-left: var(--border-padding);
		padding-right: var(--border-padding);
	}

	/* geht nicht für alle */
	.alignwide.banner-has-background,
	.alignfull.banner-has-background > .wp-block-group__inner-container > .wp-block-group  {
		padding-left: var(--border-padding);
		padding-right: var(--border-padding);		
	}
	
	.alignwide {
		/* background-color: palegreen; */
		padding-left: 0;
		padding-right: 0;
	}

	.alignfull:not(.has-background) .wp-block-group__inner-container > p:not(.has-background-color) {
		padding-left: 0;
	}

	/* button bei mobile nicht neben sondern unter text */
	/* .are-vertically-aligned-bottom .wp-block-buttons>.wp-block-button {
		margin-top: 1.5rem;
	} */
}


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

	:root {
		--space-mini: 1.5rem;
		--space-small: 2.75rem;
		/* --space-medium: 5rem; */
		--space-medium: 3rem;
		--space-large: 5.5rem;
	}
	
	.wp-block-media-text .wp-block-media-text__content {
		padding: var(--border-padding);
	}

}


/* Bilder / Galerie
--------------------------------------------- */
@media screen and (max-width: 500px) {
	.wp-block-gallery.has-nested-images figure.wp-block-image img {
		max-height: 500px;
	}
}



/* Header Alternative Elemente
 --- auf der Startseite die drei Blöcke oben
--------------------------------------------- */

/* header elements */
/* @media screen and (max-width: 1500px) { */
@media screen and (max-width: 1300px) {
	.wp-block-media-text.alternativ .wp-block-media-text__content {
		width: 60%;
	}
}

/* @media screen and (max-width: 1400px) {
	.wp-block-media-text.alternativ .wp-block-media-text__content {
		width: 60%;
	}
} */

@media screen and (min-width: 782px) and (max-width: 1500px) {
/* @media screen and (min-width: 782px) and (max-width: 1310px) { */
	
	/* .wp-block-media-text.alternativ .wp-block-media-text__content {
		padding: 40px 0 0 56px;
	} */
	/* text wird abgeschnitten */
	.wp-block-media-text.alternativ .wp-block-media-text__media {
		/* width: 850px; */
		width: 855px;	
	}

}


@media screen and (max-width: 1200px) {
	/* Nur Header Elemente auf Startseite */
	.wp-block-media-text.alternativ .wp-block-buttons {
		min-height: 2em;
	}	
}


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

	.alternativ--full-width-tablet.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
		flex-basis: 100% !important; 
	}

	.alternativ--full-width-tablet.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not([style^=flex]) {
		max-width: 100% !important;
	}
	
}


/* Alternative Bilder-Text Elemente brechen früher um (die mit dem Text der das Bild verdeckt) */
@media screen and (max-width: 1200px) and (min-width: 820px) {

	/* oberes einzelnes Element */
	.wp-block-media-text.alternativ.alternativ--single .wp-block-media-text__media {
		width: 685px;
		height: 700px;
	}

	.wp-block-media-text.alternativ.alternativ--single .wp-block-media-text__content {
		width: 720px;
	}

}


/* @media screen and (max-width: 782px) { */
	@media screen and (max-width: 820px) {
		
		/* Alternative Elemente untereinander anzeigen */
		.wp-block-media-text.alternativ .wp-block-media-text__media {
			width: 100%;
		}
		
		.wp-block-media-text.is-stacked-on-mobile.alternativ .wp-block-media-text__content {
			width: 100%;
			height: auto;
			position: static;
			margin: 1.7rem 0 0 0 !important;
			padding: 0 !important;
		}
	
	.alternativ-container .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(2n) {
		margin-left: 0;
	}
	.alternativ-container .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
		flex-basis: 100% !important; 
	}

}



/* Header / Hero Elemente alternativ */
@media screen and (min-width: 600px) {
	.wp-block-column .wp-block-media-text.alternativ,
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column>.wp-block-media-text.alternativ:not(.size-large):not(.wp-block-group) {
		margin: 0px;
		margin-bottom: 0px !important;
		padding: 0px !important;
	}

	/* Bild in container braucht keinen Abstand */
	.is-vertically-aligned-center > .wp-block-image {
		margin: 0;
	}
}

@media screen and (min-width: 960px) {
	.entry-content > .wp-block-group.alignfull.alternativ-container > div {
		padding-left: var(--border-padding);
		padding-right: var(--border-padding);
	}

	.entry-content > .wp-block-group.alignfull.alternativ-container > div > .wp-block-columns {
		max-width: 100vw;
		margin: auto;
		padding: 0;
	}
}

/* Genesis Blöcke nebeneinander
--------------------------------------------- */


@media screen and (min-width: 782px) {
	
	/* den Text+Bild elementen das padding der äusseren Seite entfernen */
	/* .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child > *:not(.size-large, .wp-block-group) {
		padding-left: 0 !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:last-child > *:not(.size-large, .wp-block-group) {
		padding-right: 0 !important;
	}
	
	*/
	
	/* Abstand beim Team und auch bei Kabelkonfektionen */
	.wp-block-columns.team {
		gap: 1rem;
	}
} 

@media screen and (max-width: 782px) {
	.wp-block-columns.team {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 599px) {
	.wp-block-columns.flex-flip-mobile {
		flex-direction: column-reverse;
	}

	/* gestappelt, bei flex-flip muss der selektor auch umgekehrt sein */
	.flex-flip-mobile.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child),
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:last-child) {
		/* margin-bottom: var(--space-small); */
		/* background-color: lightcyan; */
	}

	/* verwendet z.B. bei Text und Button mit Bild */
	.wp-block-group:not(.has-background) .flex-flip-mobile.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child),
	.wp-block-group:not(.has-background) .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:last-child) {
		margin-bottom: var(--space-mini);
	}



	/* spacing */
	.wp-block-group:not(.has-background) .wp-block-columns {
		margin-bottom: var(--space-medium);
	}

	/* auflistung vorteile */
	.wp-block-columns:not(.is-not-stacked-on-mobile).check-ordered-wrapper > .wp-block-column:not(:last-child),
	.check-ordered-wrapper.wp-block-columns .wp-block-column,
	.wp-block-group:not(.has-background) .wp-block-columns:not(.is-not-stacked-on-mobile).check-ordered-wrapper > .wp-block-column:not(:last-child),
	.entry-content ul.check-ordered
	{
		margin-bottom: 0;
	}

	.wp-block-column ul.check-ordered li:first-child {
		margin-top: 0;
	}

	.entry-content ul.check-ordered:not(:last-child) li:last-child {
		margin-bottom: 0;
	}

}




/* Image and Text container
Bild und Text Block/Spalte
--------------------------------------------- */
/* Abstand bei Bild-Text Elementen vergrössern */
@media screen and (min-width: 782px) {	
	/* .wp-block-columns.alignwide.are-vertically-aligned-center .wp-block-column {
		margin-bottom: 30px;
	} */
}


/* @media screen and (min-width: 1400px) {	 */
@media screen and (min-width: 1500px) {	
	.site-inner  .wp-block-columns.alignwide > .wp-block-column:not(.small-border-padding) > *:not(.size-large, .wp-block-group) {
		padding-left: 7rem !important;
		padding-right: 7rem !important;
	}
}



@media screen and (min-width: 1200px) {	
	.site-inner  .wp-block-columns.alignwide>.wp-block-column>*:not(.size-large, .wp-block-group) {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
}

/* .tablet-h2-size class dem Text Titel geben, damit es auf dem Tablet nicht falsch umbricht wegen zu grossem Text */
@media screen and (min-width: 1200px) and (max-width: 1500px) {
	h2.style-h1.tablet-h2-size,
	.tablet-h2-size {
		font-size: 3rem;
	}	
	
	h2.style-h1.tablet-h3-size,
	.tablet-h3-size {
		font-size: 2.5rem;
	}	
}


/* max-width - .img-text--long-text bricht früher um */
@media screen and (max-width: 1024px) {	

	.img-text--long-text.wp-block-columns {
		flex-wrap: wrap;
	}

	.img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not([style^=flex]) {
		max-width: none;
		flex-basis: 100%;
	}

	/* bereits früher tauschen */
	.img-text--long-text.wp-block-columns.flex-flip-mobile {
		flex-direction: column-reverse;
	}

	/* damit das Bild nicht zu viel Höhe beansprucht */
	.img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not([style^=flex]) .wp-block-image img {
		max-height: 400px;
		object-fit: cover;
		margin-bottom: 1em;
	}

	/* min-width im max-width! */
	@media screen and (min-width: 782px) {
		/* gleicher Randabstand, .entry-content damit die Selektor Spezifität grösser ist, .size-large wird nicht beachtet */
		.entry-content .img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column > * {
			padding: 0 5rem !important;
		}
	}

	.img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
		flex-basis: 100% !important;
	}

	.img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
		margin-left: 0;
	}

}

@media screen and (max-width: 600px) {	
	/* Bei Text Bild / Bild Text Element die Abstände einheitlicher */

	/* Ab Q1 2024 nicht mehr nötig?? ist im custom.css gap */
	/* Abstand bei Bild entfernen, dafür bei Text hinzufügen */
	/* .wp-block-columns.flex-flip-mobile .wp-block-column > .wp-block-image:last-child,
	.wp-block-columns .wp-block-column > .wp-block-image:first-child, */
	.wp-block-column > .wp-block-image:only-child,
	.img-text--long-text.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not([style^=flex]) .wp-block-image:only-child img {
		margin-bottom: 0;
	}

	.wp-block-column > *:first-child {
		margin-top: 1rem;
	}
	
	.wp-block-column h1:first-child,
	.wp-block-column h2:first-child,
	.wp-block-column h3:first-child,
	.wp-block-column h4:first-child {
		margin-bottom: 1rem;
	}

	/* .wp-block-column > p.topline { */
	.wp-block-column > p.topline {
		margin-top: 1.5rem;
		margin-bottom: 0;
	}

	/* .wp-block-column > p.topline {
		margin-top: 1.75rem;
	} */
	


	.wp-block-column > h1,
	.wp-block-column > h2,
	.wp-block-column > h3,
	.wp-block-column > h4,
	.wp-block-column > .style-h1 {
		margin-top: 1rem;
		margin-bottom: 1.25rem;
	}
		
	.wp-block-column > p ~ .style-h1 {
		margin-top: 0.75rem;
	}

	.wp-block-column > .style-h1 ~ p {
		margin-top: 0;
		margin-bottom: 1rem;
	}
	
	.wp-block-column > .style-h1 ~ p:last-child,
	.wp-block-column > p:last-child {
		margin-bottom: 2rem;
	}

	.img-text--long-text .wp-block-column h2 {
		margin-bottom: 1rem;
	}
	.img-text--long-text .wp-block-column p {
		margin-top: 1rem;
	}

	.wp-block-column:not(:last-child) {
		margin-bottom: 0;
	}

	.img-text--button .wp-block-column {
		margin-bottom: 0 !important;
	}

	.img-text--button .wp-block-column > .wp-block-buttons {
		margin-top: 0;
	}

	/* iconlist */
	.iconlist.wp-block-columns {
		margin-bottom: 0;
	}

	/* Abstand hero */
	.wp-block-spacer.height-small-mobile {
		height: var(--space-small) !important;
	}
	.wp-block-spacer.height-none-mobile {
		height: 0 !important;
	}
}

/* Kategorien Übersicht und Verlinkung
--------------------------------------------- */

.g-kategorie-link {
	border: none !important;
}


@media screen and (min-width: 782px) {

	.wp-block-columns.three-cols-desktop {
		display: flex;
		margin-bottom: 1.75em;
		box-sizing: border-box;
		flex-wrap: wrap;
		gap: 1rem;
	}

	.wp-block-columns.three-cols-desktop:not(.is-not-stacked-on-mobile) > .wp-block-column:not([style^=flex]) {
		display: flex;
		box-sizing: border-box;
		max-width: 50%;
		margin-left: 0rem !important;
		margin-right: 0rem !important;
		flex-basis: calc(30% - 1rem);
	}


	.site-inner .three-cols-desktop.wp-block-columns.alignwide > .wp-block-column:not(.small-border-padding) > .g-kategorie-link:not(.size-large, .wp-block-group) {
		padding: 0 !important;
	}
	
}

@media screen and (min-width: 600px) {
	.three-cols-desktop.wp-block-columns.three-cols-desktop > .wp-block-column {
		margin-bottom: 1.75em;
	}
}

/* CTA Banner
--------------------------------------------- */
/* Banner mit Bild links aber auf Mobile oben */

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

	.alignfull.wp-block-group .alignwide.cta-img-top-mobile, 
	.alignfull .alignwide.cta-img-top-mobile,
	.cta-img-top-mobile {
		display: flex;
		flex-wrap: wrap;
		max-width: 620px;
		margin-left: auto;
		margin-right: auto;
	}

	.cta-img-top-mobile figure.wp-block-media-text__media {
		width: 100%;
	}
	
	.cta-img-top-mobile figure.wp-block-media-text__media img {
		object-fit: cover;
		max-height: 350px;
	}

}

/* Buttons und Links
--------------------------------------------- */
@media screen and (max-width: 1200px) {
	/*  mail + phone links */
	.entry-content .wp-block-button.mail a.wp-block-button__link,
	.entry-content .wp-block-button.phone a.wp-block-button__link, 
	/* buttons allgemein */
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
	.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
	a.button,
	.button:not(.gm-control-active) a,
	.wp-block-button__link a,
	a.wp-block-button__link,
	/* underline*/
	.entry-content .wp-block-button.underline a.wp-block-button__link {
		font-size: 0.9rem !important;
	}
}


/* Site Inner
--------------------------------------------- */
@media screen and (max-width: 1200px) {
	
	.site-inner {
		padding-left: var(--border-padding);
		padding-right: var(--border-padding);
	}
	.entry-header > .wrap .hero-title {
		padding: 3rem 0;
	}
}

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

	.entry-header > .wrap .hero-title {
		padding-left: var(--border-padding);
		padding-right: var(--border-padding);
		padding-bottom: 0;
		width: 100%;
	}
}

/* Vorteile Auflistung
--------------------------------------------- */

/* vorteile auflistung mit checkmarks */
@media screen and (max-width: 768px) {
	.entry-content ul.check li {
		flex-basis: 100%;
	}

	.entry-content li {
		gap: 10px;
	}
}



/* Icons / Iconlist
--------------------------------------------- */

/* @media screen and (min-width: 782px) and (max-width: 1200px) { */
@media screen and (min-width: 1024px) and (max-width: 1200px) {
	/* Iconlist mit 3 Elementen */
	.site-inner .iconlist .wp-block-columns.alignwide > .wp-block-column:not(:last-child) > *:not(.size-large, .wp-block-group),
    .iconlist > .wp-block-column:not(:last-child) >*:not(.size-large):not(.wp-block-group),
    .iconlist  .wp-block-column:not(:last-child) > *,
    .iconlist .wp-block-group  .wp-block-column:not(:last-child) figure 
	{
		padding-right: calc(3.4375rem / 2) !important;
	}	
	.site-inner .iconlist .wp-block-columns.alignwide > .wp-block-column:not(:first-child) > *:not(.size-large, .wp-block-group),
    .iconlist > .wp-block-column:not(:first-child) >*:not(.size-large):not(.wp-block-group),
    .iconlist  .wp-block-column:not(:first-child) > *,
    .iconlist .wp-block-group  .wp-block-column:not(:first-child) figure {
		padding-left: calc(3.4375rem / 2) !important;
	}
}


/* wrap iconlist at 1024px */
@media screen and (min-width: 600px) and (max-width: 1024px) {
	.iconlist .wp-block-columns {
		flex-wrap: wrap;
	}

	.iconlist .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
		flex-basis: calc(50% - var(--wp--style--block-gap, 2em)/2) !important;
	}

	.iconlist .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
		margin-bottom: 2.5rem;
	}

	/* @media screen and (max-width: 782px) and (min-width: 600px) { */
	/* } */

}



@media screen and (max-width: 599px) {
	.iconlist .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:last-child) {
		margin-bottom: var(--space-small);
	}
}



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

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

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

}


	

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


	/* Site Footer
	---------------------------------------------------------------------------- */

	/* Footer Menu
	--------------------------------------------- */

	.site-footer {
		padding: 7rem  0rem 3.125rem  0rem;
	}
	
	.entry-footer {
		max-width: 500px;
		margin: auto;
	}

	.entry-footer > * {
		margin-top: 2rem;
	}
	

	footer *:not(.nav-secondary) > .wrap > *:last-child {
		margin-left: 0;
	}

	footer .nav-secondary li:first-child a span {
		padding-left: 0;
	}

	/* nav-secondary links ausgerichtet */
	.nav-secondary a, 
	.nav-secondary a span {
		padding-left: 0;
	}

	.nav-secondary li:not(:last-child) {
		padding-right: 0.5rem;
	}

	.footer_social {
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}

	.widget-area.footer-widgets-1.g-contact-address {
		margin-bottom: 3rem;
	}
	
	/* Footer Grid
	---------------------------------------------------------------------------- */
	.footer-grid .g-contact-address > * {
		width: 100%;
	}

	footer.footer-grid--container .footer-grid {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas: 	"g-contact-address g-links g-cta";
	}

	footer.footer-grid--container .footer-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr auto;
		grid-template-areas: 	
		"g-contact-address g-links" 
		"g-cta g-cta";
	}

	.footer-grid > *,
	footer :not(.nav-secondary) > .wrap > * {
		/* margin-bottom: 2.5rem; */
		margin-bottom: 1.5rem;
	}

	.footer-grid .g-cta {
		margin-left: 0;
	}


}



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

	.entry-footer {
		max-width: 500px;
		max-width: 420px;
		margin: auto;
	}
}

@media screen and (max-width: 400px) {
	/* Footer Grid
	---------------------------------------------------------------------------- */
	
	footer.footer-grid--container .footer-grid {
		display: flex;
		flex-wrap: wrap;
	}
}

















/* History / Geschichte
---------------------------------------------------------------------------- */


/* Timeline */
#cd-timeline {
position: relative;
padding: 2em 0;
margin-top: 2em;
margin-bottom: 2em;
}


#cd-timeline::before {
/* this is the vertical line */
content: '';
position: absolute;
top: 1px;
left: 18px;
height: 100%;
width: 2px;
background: #E2E2E2;
}

@media only screen and (min-width: 768px) {
#cd-timeline {
	margin-top: 3em;
	margin-bottom: 3em;
}
#cd-timeline::before {
	left: 50%;
	margin-left: -2px;
}
}

.cd-timeline-block {
position: relative;
margin: 2em 0;
}
.cd-timeline-block::after {
clear: both;
content: "";
display: table;
}
.cd-timeline-block:first-child {
margin-top: 0;
}
.cd-timeline-block:last-child {
margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
.cd-timeline-block {
	margin: 4em 0;
}
.cd-timeline-block:first-child {
	margin-top: 0;
}
.cd-timeline-block:last-child {
	margin-bottom: 0;
}
}



.cd-timeline-pointer {
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-radius: 50%;
box-shadow: 0 0 0 4px #f8fafa, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05);
}
.cd-timeline-pointer img {
display: block;
width: 24px;
height: 24px;
position: relative;
left: 50%;
top: 50%;
margin-left: -12px;
margin-top: -12px;
}
.cd-timeline-pointer.cd-picture {
background: #75ce66;
}
.cd-timeline-pointer.cd-movie {
background: #c03b44;
}
.cd-timeline-pointer.cd-location {
background: #f0ca45;
}
@media only screen and (min-width: 768px) {
	.cd-timeline-pointer {
		width: 60px;
		height: 60px;
		left: 50%;
		margin-left: -30px;
		/* Force Hardware Acceleration in WebKit */
		-webkit-transform: translateZ(0);
		-webkit-backface-visibility: hidden;
	}
	.cssanimations .cd-timeline-pointer.is-hidden {
		visibility: hidden;
	}
	.cssanimations .cd-timeline-pointer.bounce-in {
		visibility: visible;
		-webkit-animation: cd-bounce-1 0.6s;
		-moz-animation: cd-bounce-1 0.6s;
		animation: cd-bounce-1 0.6s;
	}

}

.cd-timeline-content {
position: relative;
margin-left: 60px;
background: #f8fafa;
border-radius: 0.25em;
padding: 1em;
box-shadow: 0 3px 0 #d7e4ed;
}
.cd-timeline-content::after {
clear: both;
content: "";
display: table;
}
.cd-timeline-content h2 {
color: #124352;
}
.cd-timeline-content p,
.cd-timeline-content .cd-read-more,
.cd-timeline-content .cd-date {
font-size: 13px;
font-size: 0.8125rem;
}
.cd-timeline-content .cd-read-more,
.cd-timeline-content .cd-date {
display: inline-block;
}
.cd-timeline-content p {
margin: 1em 0;
line-height: 1.6;
}
.cd-timeline-content .cd-read-more {
float: right;
padding: .8em 1em;
background: #acb7c0;
color: #f8fafa;
border-radius: 0.25em;
}
.no-touch .cd-timeline-content .cd-read-more:hover {
background-color: #bac4cb;
}
.cd-timeline-content .cd-date {
float: left;
padding: .8em 0;
opacity: .7;
}

/* für was ist das?? */
.cd-timeline-content::before {
content: '';
position: absolute;
top: 16px;
right: 100%;
height: 0;
width: 0;
border: 7px solid transparent;
border-right: 7px solid #f8fafa;
}


#cd-timeline{
	padding: 1px 0 20px !important;
	width: 100% !important;
}


.cd-timeline-block{
	margin-top: 0px !important;
	margin-bottom: 25px;
}

.cd-year {
	margin-top: 125px;
}

.cd-year:first-of-type {
	margin-top: 75px;
}

.cd-timeline-content{
	float: left;
	padding: 0 !important;
	box-shadow: 0 0 0 !important;
}

.cd-timeline-img{
	float: right;
	width: 45%;
	margin-top: 5px;
}

.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content{
	float: right;
}

.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-img{
	float: left;
}

.cd-timeline-content h2 {
	color: #124352;
}

.cd-timeline-content h2:not(.style-h3) {
	font-weight: normal;
	font-size: 20px;
	line-height: 1.5em;
	margin-bottom: 0 !important;
}

.cd-timeline-content p {
	font-weight: 300 !important;
	font-size: 20px !important;
	line-height: 1.5em !important;
	text-align: right !important;
	margin-top: 0 !important;
}

.cd-timeline-content .cd-date{
	width: auto !important;
	left: 101% !important;
	top: -75px !important;
	background: #f8fafa !important;
	border-radius: 100px;
	color: #ccc !important;
	font-weight: normal !important;
	font-size: 25px !important;
	opacity: 1 !important;
	padding: 8px 14px !important;
	line-height: 1em;
	border: 2px solid #E2E2E2 !important;
	/* zentriert */
	left: calc(111% - 50px) !important
}

.cd-timeline-block.cd-1939-45 .cd-timeline-content .cd-date{
	width: 125px !important;
	left: 98% !important;
}

.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content .cd-date{
	/* right: 101% !important; */
	/* zentriert */
	right: calc(111% - 50px) !important;
	left: auto !important;
}

.cd-timeline-pointer {
	background: #f8fafa !important;
	box-shadow: 0 0 0 !important;
	width: 30px !important;
	height: 30px !important;
	margin-left: -15px !important;
	top: 8px;
	/* border: 4px solid #E2E2E2 !important; */
	border: 2px solid #E2E2E2 !important;
}

.cd-timeline-pointer::before {
	content: "";
	/* background: var(--primary-orange); */
	background: #89ce40;
	position: absolute;
	width:14px;
	height: 14px;
	left: 50%;
	top: 50%;
	margin-top: -7px;
	margin-left: -7px;
	border-radius: 50%;
}

.cd-timeline-block.electrical .cd-timeline-pointer::before,
.legend-single .electrical .cd-timeline-pointer::before {
	background: #FFE86C;
}

.cd-timeline-block.medical .cd-timeline-pointer::before,
.legend-single .medical .cd-timeline-pointer::before {
	background: #6aaac5;
}

.cd-timeline-block.group .cd-timeline-pointer::before,
.legend-single .group .cd-timeline-pointer::before {
	background: #124352;
}

.cd-timeline-block.fiber .cd-timeline-pointer::before,
.legend-single .fiber .cd-timeline-pointer::before {
	background: #95E196;
}

.cd-timeline-block.bold p {
	font-weight: bold !important;
	color: #555 !important;
}

.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content h2,
.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content p{
	text-align: left !important;
}


.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-img img{
	float: right;
}


@media only screen and (min-width: 768px) {
	.cd-timeline-content p {
		font-size: 16px;
		font-size: 1rem;
	}
	.cd-timeline-content .cd-read-more,
	.cd-timeline-content .cd-date {
		font-size: 14px;
		font-size: 0.875rem;
	}
}
@media only screen and (min-width: 768px) {
	.cd-timeline-content {
		margin-left: 0;
		padding: 1.6em;
		width: 45%;
	}
	.cd-timeline-content h2 {
		text-align: right;
	}
	.cd-timeline-content::before {
		top: 24px;
		left: 100%;
		border-color: transparent;
		border-left-color: #f8fafa;
	}
	.cd-timeline-content .cd-read-more {
		float: left;
	}
	.cd-timeline-content .cd-date {
		position: absolute;
		width: 100%;
		left: 122%;
		top: 6px;
		font-size: 16px;
		font-size: 1rem;
		/* zentrieren */
		width: 100px !important;
		right: calc(111% - 50px) !important;
		left: calc(111% - 50px) !important;
		text-align: center !important;
	}


	.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content {
		float: right;
	}
	.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content::before {
		top: 24px;
		left: auto;
		right: 100%;
		border-color: transparent;
		border-right-color: #f8fafa;
	}
	.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content .cd-read-more {
		float: right;
	}
	.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content .cd-date {
		left: auto;
		right: 122%;
		text-align: right;
	}
	.cssanimations .cd-timeline-content.is-hidden, .cssanimations .cd-timeline-img.is-hidden{
		visibility: hidden;
	}
	.cssanimations .cd-timeline-content.bounce-in, .cssanimations .cd-timeline-img.bounce-in{
		-webkit-animation: cd-bounce-2 0.6s;
		-moz-animation: cd-bounce-2 0.6s;
		animation: cd-bounce-2 0.6s;
	}
}

@media only screen and (max-width: 768px) {
	.cd-year {
		/* margin-top: 110px; */
		margin-top: 60px;
	}

	.cd-year:first-of-type {
		margin-top: -1px;
	}

	.cd-year {
		padding-left: 7px;
	}

	.cd-timeline-content .cd-date {
		position: absolute;
		top: 0px!important;
		left: -39px!important;
	}

	.cd-timeline-pointer {
		margin-left: -2px!important;
		top: 20px;
	}

	.cd-timeline-content p {
		text-align: left!important;
	}

	.cd-timeline-img {
		width: 100%;
		float: left;
		margin-top: 15px;
		padding-left: 43px;
	}

	.cd-timeline-content {
		margin-left: 43px!important;
		padding-top: 20px!important;
	}

	.cd-timeline-block {
		margin-top: 0px!important;
		margin-bottom: 0px;
	}

	.cd-year .cd-timeline-block:first-of-type .cd-timeline-content {
		padding-top: 75px !important;
	}

	.cd-year .cd-timeline-block:first-of-type .cd-timeline-pointer {
		top: 75px;
	}

	.cd-timeline-content .cd-date,
	.cd-timeline-block.cd-1939-45 .cd-timeline-content .cd-date,
	.cd-year:nth-child(even) .cd-timeline-block .cd-timeline-content .cd-date {
		/* left: -44px !important; */
		left: -47px !important;
		right: auto !important;
	}
}

