/*
Theme Name: Isotech
Text Domain: isotech
Author: Ursula Volkart
Author URI: http://www.ateliervolkart.ch/
Description: Theme für die Seite Isotech Biel Seeland
Version: 1.5
Screenshot: screenshot.jpg
*/
@font-face {
  font-family: "OpenSans";
  font-style: normal;
  font-weight: 300;
  src: url('fonts/OpenSans-Light.woff2') format('woff2');
}
@font-face {
  font-family: "OpenSans";
  font-style: italic;
  font-weight: 400;
  src: url('fonts/OpenSans-Italic.woff2') format('woff2');
}
@font-face {
  font-family: "OpenSans";
  font-style: italic;
  font-weight: 600;
  src: url('fonts/OpenSans-SemiBoldItalic.woff2') format('woff2');
}
@font-face {
  font-family: "OpenSans";
  font-style: italic;
  font-weight: 700;
  src: url('fonts/OpenSans-BoldItalic.woff2') format('woff2');
}
@font-face {
  font-family: "OpenSans";
  font-style: italic;
  font-weight: 800;
  src: url('fonts/OpenSans-ExtraBoldItalic.woff2') format('woff2');
}

/*======================================================================
Normalisierung, Startwerte
======================================================================*/
*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html {
	overflow-y: scroll; /*Optional, kein Scrollbalken*/
	-webkit-text-size-adjust: none; /*keine Textvergrösserung iphone*/
}

/* Block / Float
---------------------------------------------------------*/
main, header, footer, section, address, .container, .wrapper {
	display: block;
	clear: both;
	overflow: hidden;
}

/* Bilder responsive
---------------------------------------------------------*/
img, figure {
	display: block;
	max-width: 100%;
	height: auto;
	border: none;
	flex-shrink: 0;
}   

/* Listen
---------------------------------------------------------*/
ul {
	list-style: none; /* Remove list bullets */
}
main ul li {
  padding-left: 1em; 
  padding-top: 0.33rem;
}
main ul li:first-child,
main ol li:first-child  {
  padding-top: 0;
}
main ol li  {
    margin-left: 1em;
    padding-top: .5rem;
}
main ol  {
    padding-top: .5rem;
}
main ul li:before {
    content: "\2022"; /* 2212 Minus  \2022 Bulletpoint  */
    padding-right: 0.6em;
    margin-left: -1em;
    color: inherit;
}

/* Weitere Formate
---------------------------------------------------------*/
address {
	font-style: normal;
	font-weight: normal; 
}
table, th, tr, td {
	font-weight: 300;
	border:none;
	border-collapse:collapse;
	border-spacing:0;
	text-align: left;
}

/*======================================================================
Typografie
======================================================================*/

html {
	font-family: "OpenSans", sans-serif;    
	font-weight: 300;
	font-style: normal;
	color: #141414;
	font-size: 20px;
	line-height: 1.5;
}
main a, p a, footer a {
	color: #bb1f11; /*#006e9a*/
	font-weight: 200;
	text-decoration: none;
	/*border-bottom: 1px solid #bb1f11;*/
	white-space: normal;
	outline: none;
}
.wp-block-columns + h2, .wp-block-pullquote + h2 {
	margin-top: 120px;
}

a[href^="tel:"],
a[href^="mailto:"] {
	text-decoration: none;
	border-bottom: none;
	font-weight: 300;
}


/* Überschriften 
---------------------------------------------------------*/
/* 1em = 18 px */

h1, h2, h3, h4, h5, h6 {
	font-family: 'OpenSans', Arial, sans-serif; 
	font-weight: 800;
	font-style: italic;
	line-height: 1.3;
	margin: 0;
	color: #bb1f11;
}
h1 {
	font-size: 300%;
	text-transform: uppercase;
	margin-top: 1em;
	margin-bottom: 1em;
}
h2 {
	font-size: 240%;
	text-transform: uppercase;
	margin-top: 40px;
	margin-bottom: 24px;
}
h3 {
	font-size: 150%;
	margin-top: 40px;
	margin-bottom: 1rem;
	text-transform: uppercase;
}
.titelbox h3 {
	text-transform: none;
}
h4 {
	font-size: 125%;
	margin-top: 40px;
	margin-bottom: 8px;
}
h5 {    
	font-size: 100%; 
}
h6 {    
	font-size: 90%;
}

@media screen and (max-width: 1200px) {
	html main,  html footer { font-size: 18px;}
}
@media screen and (min-width: 1600px) {
	html main,  html footer { font-size: 22px;}
}
@media screen and (max-width: 900px) {
	h1 { font-size: 200%;}
	h2 { font-size: 150%;}
	h3 { font-size: 125%;}
	h4 { font-size: 110%;}
	.wp-block-pullquote {font-size: 1.3em;}
}

/*Klassen
--------------------------------*/
.lead {    
    border-top: 6px solid #bb1f11;
    Border-left: 6px solid #bb1f11;
    padding: 40px 10px 40px 30px;
    max-width: 900px;
    margin: 30px auto;
    font-size: 1.1em;
}
@media screen and (min-width: 900px) {
	.lead {    
	    border-top: 8px solid #bb1f11;
	    Border-left: 8px solid #bb1f11;
	    padding: 50px 0 50px 50px;
	    font-size: 1.2em;
	}
}
.hide {display: none;}




/*======================================================================
LAYOUT (Grundlayout)
======================================================================*/

/* Grundgerüst
---------------------------------------------------------*/
main {
	margin: 0 auto;
}

/* Allgemeine Klassen
---------------------------------------------------------*/

p + p, ol + p, ul + p, figure + p, p + div {
	padding-top: 1rem;
}
strong, b {
	font-weight: 700;
	font-style: italic;
}
strong {
	color: #bb1f11;
}


/* Buttons
---------------------------------------------------------*/
.button a, .wp-block-button a, .formular button, .searchform button {
	display: block;
	padding: 16px 16px;
	background-color: #bb1f11;
	border-radius: 0;
	border: none;
	cursor: pointer;
	font-size: 1.2rem;
	text-transform: uppercase;
	font-weight: 800;
	font-style: italic;
}
.wp-block-buttons > div.wp-block-button {
    margin: 10px auto;
    width: 100%;
}
.button a:hover, .wp-block-button a:hover, .formular button:hover, .searchform button:hover {
	opacity: .8;
}

a.button {
	font-style: italic;
	font-weight: 800;
}
a.button:before {
	content: ">";
	padding-right: 12px;
}

/*Bilder
-------------------------------------------------*/
figure.wp-block-image {
	max-width: 960px;
	margin: 60px auto 30px auto;
}
figure.wp-block-image img {
	margin: 0 auto 0 auto;
}
.wp-block-columns figure.wp-block-image {
	margin: 0 auto;
}

/*======================================================================
HEADER
======================================================================*/
header.kopfzeile {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 12px solid #bb1f11;
	min-height: 145px;
}
.logo {
	align-self: flex-start;
}

/*Seitentitel
-----------------------------------*/
#home h1.seitentitel,
.titelbildcontainer + .wrapper h1.seitentitel  { display: none; }

.titelbildcontainer .seitentitelbox {
	position: relative;
	margin-top: 30px;
} 

.titelbildcontainer h1.seitentitel {
  padding: 2px 20px 2px 8%;
}
@media screen and (min-width: 600px) {
	.titelbildcontainer .seitentitelbox {
		margin-top: -15%;
		margin-bottom: 15%;
	} 
	.titelbildcontainer h1.seitentitel {
		display: inline;
	  background-color: white;
	}
}

/*Logo
---------------------*/
.logo {
	padding: 0;
	margin: 20px 30px 30px 20px;
	width: 65%;
}
@media screen and (min-width: 600px) {
	.logo {
		padding: 0;
		margin: 30px 30px 30px 8%;
		width: 100%;
		max-width: 420px;
	}
}
.logo h1 {
	display: none;
}
.logo a {
	text-decoration: none;
	display: inline-block;
	max-width: 460px;
	margin: 0 auto;
}

/* Hauptnavigation
---------------------------------------------------------*/
.kopfmenu {
	width: 100%;
	position: absolute;
}
#navigation {
	display: none;
	position: relative;
	padding-top: 20px;
	background-color: #bb1f11;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: 9;
}
#navigation .sub-menu {
	display: none;
	padding-top: 20px;
}
#navigation .sub-menu a,
#navigation .fussnavi a {
    text-transform: none;
    font-size: .95rem;
}
@media screen and (min-width: 600px) {
	#navigation .sub-menu {
		margin-left: 80px;
	}
	#navigation .sub-menu a,
	#navigation .fussnavi a  {
	    text-transform: uppercase;
	    font-size: 1rem;
	}
}
@media screen and (min-width: 900px) {
	#navigation .sub-menu a {
	    font-size: 1.3rem;
	}
}
#navigation .hauptmenu li {
	padding: 10px 0 10px 0;
	text-align: left;
}
#navigation .fussnavi {
	padding-bottom: 40px;
} 
#navigation .top + .normal,
#navigation .fusszeile {
	margin-top: 50px;
}
#navigation .hauptmenu, #navigation .fusszeile {
	max-width: 600px;
	margin-left: 30px;
	padding-top: 120px;
	padding-right: 30px;
}
#navigation .fusszeile {
	padding-top: 0;
	padding-bottom: 30px;
}

@media screen and (min-width: 500px) {
	#navigation .socialnavi {
		position: absolute;
		bottom: 45px;
		right: 30px;
	}
}
@media screen and (min-width: 900px) {
	#navigation .hauptmenu, #navigation .fusszeile {
		max-width: 720px;
		margin-left: 110px;
		padding-top: 100px;
	}
	#navigation .socialnavi {
		right: 60px;
	}
	#navigation .top + .normal,
	#navigation .fusszeile {
		margin-top: 80px;
	}
}
@media screen and (min-width: 1200px) {
	#navigation .hauptmenu, #navigation .fusszeile {
		margin-left: 380px;
		padding-top: 10px;
	}
}



/*Navigations Punkte*/
#navigation a,
#tabnavigation a {
	color: white;
	font-size: 1rem;
	line-height: 1em;
	font-style: italic;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: none;
	/*white-space: nowrap;*/
}
#navigation li.icoabdichtung:before,
#navigation li.icoflachdach:before,
#navigation li.icospenglerei:before {
   	content:"";
   	display: inline-block;
	width: 30px;
	height: 35px;
	background-image:url(img/icon_abdichtung.svg); 
	background-size: 30px 30px;
	background-repeat: no-repeat;
   	margin-right: 12px;
    margin-bottom: -10px;
}
@media screen and (min-width: 400px) {
	#navigation li.icoabdichtung:before,
	#navigation li.icoflachdach:before,
	#navigation li.icospenglerei:before {
		width: 40px;
		height: 45px;
		background-size: 40px 40px;
		margin-right: 22px;
	}	
}
#navigation li.icoflachdach:before {
	background-image:url(img/icon_flachdach.svg);
	margin-right: 18px; 
}
#navigation li.icospenglerei:before {
	background-image:url(img/icon_spenglerei.svg);
	margin-right: 15px; 
}
@media screen and (min-width: 600px) {
	#navigation li.icoabdichtung:before,
	#navigation li.icoflachdach:before,
	#navigation li.icospenglerei:before {
		width: 60px;
		height: 60px;
		background-size: 54px 64px;
	}	
}
@media screen and (min-width: 1200px) {
	#navigation li.icoabdichtung:before,
	#navigation li.icoflachdach:before,
	#navigation li.icospenglerei:before {
		width: 70px;
		height: 70px;
		background-size: 64px 64px;
	}	
}

#navigation .top > a,
.subnaviplus span  {
	font-size: 1.3rem;
}
@media screen and (min-width: 400px) {
	#navigation .top > a,
	.subnaviplus span  {
		font-size: 1.5rem;
	}    
} 
@media screen and (min-width: 500px) {
	#navigation a,
	#tabnavigation a {
		font-weight: 800;
	}
	#navigation .top > a,
	.subnaviplus span  {
		font-size: 2rem;
	}    
}

@media screen and (min-width: 600px) {
	#navigation a,
	#tabnavigation a {
		font-size: 1.3rem;
	}
	#navigation .top > a,
	.subnaviplus span  {
		font-size: 2.4rem;
	}
	#navigation .fussnavi a {
		font-size: 1rem;
		font-weight: 700;
		text-transform: none;
	} 
}
@media screen and (min-width: 1200px) {
	#navigation a,
	#tabnavigation a {
		font-size: 1.7rem;
	}
	#navigation .top > a,
	.subnaviplus span  {
		font-size: 3.4rem;
	}
}

#navigation li.home {
	position: absolute;
	top: 30px;
	left: 30px;
} 


#navigation .current-menu-item > a, #navigation .current_page_parent > a,
#navigation .wpml-ls-current-language a, #tabnavigation .wpml-ls-current-language a {
	color: #DAAEBA;
}

/*Subnavigation*/
#navigation li.menu-item-has-children {
	position: relative;
}
.subnaviplus {
	padding-top: 14px;
	border: 0;
	outline: none;
	position: absolute;
	background-color: #bb1f11;
	top: 0;
	right: 0;
}
@media screen and (min-width: 400px) {
	.subnaviplus {
		padding-top: 24px;
	}
}
@media screen and (min-width: 500px) {
	.subnaviplus {
		width: 40px;
		padding-top: 16px;
	}
}
@media screen and (min-width: 600px) {
	.subnaviplus {
		padding-top: 30px;
	}
}
.subnaviplus span {
	line-height: 1rem;
	font-weight: 800;
	color: white; 
}

/*Subnavigationspunkt offen*/
#navigation .current-page-ancestor button.offen + ul {
	display: block;
}

/*Sprachwahl*/
#navigation .wpml-language-switcher ul li a,
#tabnavigation .wpml-language-switcher ul li a{
	font-size: 1.5rem;
}
@media screen and (min-width: 600px) {
	#navigation .wpml-language-switcher ul li a,
#tabnavigation .wpml-language-switcher ul li a {
		font-size: 2.2rem;
	}
}
#navigation .wpml-language-switcher,
#tabnavigation .wpml-language-switcher {
	position: absolute;
	top: 30px;
	left: 100px;
}
#tabnavigation .wpml-language-switcher {
	top: 15px;
    right: 70px;
	left: auto;
	display: none;
}
#tabnavigation .wpml-ls-current-language a {
	 	display: none;
}
@media screen and (min-width: 500px) {
	#tabnavigation .wpml-language-switcher {
		display: block;
	}
}
@media screen and (min-width: 600px) {
	#tabnavigation .wpml-language-switcher {
	    top: 4px;
		right: 75px;
	}
}
@media screen and (min-width: 800px) {
	#tabnavigation .wpml-language-switcher {
		right: 85px;
	}
	#tabnavigation .wpml-ls-current-language a {
	 	display: block;
	}
}
#tabnavigation a {
	color: #bb1f11;
}
.wpml-ls-legacy-list-horizontal {
	padding: 0;
}
/*Suchbutton*/
div.suchbutton {
	position: absolute;
    top: 80px;
    right: 12px;	
}
@media screen and (min-width: 800px) {
}
.suchbutton a i.suchbutton  {
	display: block;
	width: 40px;
	height: 40px;
	background-image:url(img/icon_lupe3.svg); 
	background-size: 35px 35px;
	background-repeat: no-repeat;
}
@media screen and (min-width: 800px) {
	div.suchbutton {
		top: 20px;
	    right: 260px;
	}	
	.suchbutton a i.suchbutton  {
		background-size: 40px 40px;
	}
}
/*Mobiles Menu Hamburger*/
button.hamburger{
	position: absolute;
	z-index: 99;
	top: 0;
	right: 0;
}

/* Titelbilder
---------------------------------------------------------*/


/*======================================================================
MAIN SPALTEN ABSTÄNDE
======================================================================*/

main {
	margin: 0 auto;
}
main .wrapper {
}
main .wrapper {
	padding-left: 8%;
	padding-right: 8%;
	max-width: 1600px;
	margin: 0 auto;
}
@media screen and (min-width: 1200px) {
	main .wrapper {
		padding-left: 10%;
		padding-right: 10%;
	} 
}
@media screen and (min-width: 1400px) {
	main .wrapper {
		padding-left: 10%;
		padding-right: 10%;
	} 
}
@media screen and (min-width: 1600px) {
	.main .wrapper {
		padding-left: 12%;
		padding-right: 12%;
	}
}


/*Spalten / Boxen 
-------------------------------------*/
/*Innere und äussere Abstände*/
main .wp-block-columns {
	gap: 30px;
	margin-bottom: 30px;
    flex-wrap: wrap!important;
    justify-content: flex-start;
}
main .wp-block-columns .wp-block-column {
    margin-bottom: 20px;
}
@media screen and (max-width: 899px) {
	main .wp-block-columns .wp-block-column {
	    max-width: 100%;
	    flex-basis: 100% !important;
	}
}

@media screen and (min-width: 900px) {
	main .wp-block-columns .wp-block-column {
	   min-width: 30%;
	   max-width: calc(50% - 15px);
	}
}
main .bildbox {
	padding: 0;
	gap: 0;
}


/*======================================================================
FOOTER
======================================================================*/
footer .fussbottom {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}
footer .fussbottom > * {
	margin-bottom:20px;
}
@media screen and (min-width: 800px) {
	footer .fussbottom {
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	footer .fussbottom > * {
		margin-bottom:0;
	}
}
footer.fusszeile {
	margin-top: 150px;
}
footer.fusszeile .fusswrapper {
	background-color: #bb1f11;
	padding: 40px 8% 60px 8%;
}
footer.fusszeile .fusswrapper .fussinhalt {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
}
footer.fusszeile * {
	color: white;
	font-weight: 700;
	font-style: italic;
	border: none;
}
footer.fusszeile .fussinhalt > div {
	width: 100%;
	margin-bottom: 30px;
}
@media screen and (min-width: 900px) {
	footer.fusszeile .fussinhalt > div {
		width: 33%;
		margin-bottom: 30px;
	}
	footer.fusszeile .fussinhalt > div:first-child {
		width: 100%;
	}
}
@media screen and (min-width: 1200px) {
	footer.fusszeile .fussinhalt > div,
	footer.fusszeile .fussinhalt > div:first-child {
		width: inherit;
	}
}
footer .fussbottom .fusslogos {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
footer .fussbottom .gebaeudehuelle {
	width: 100px;
	margin-right: 20px;
}
footer .fussbottom .isotechgroup {
	width: 160px;
}
@media screen and (min-width: 420px) {
	footer .fussbottom .isotechgroup {
		width: 200px;
	}
}

/* Impressum - Fussnavigation
---------------------------------------------------------*/
#fussnavi {
	text-align: center;
}

#fussnavi ul li {
	display: inline-block;
	padding-left: 12px;
	line-height: 1rem;
}
#fussnavi ul li a {
	color: #bb1f11;
	text-decoration: none;
	border-bottom: none;
	white-space: nowrap;
}
@media screen and (min-width: 600px) {    
	#fussnavi li + li {
		border-left: 1px solid #bb1f11;
		margin-left: 8px;
	}
}

/*Social Media*/  
.socialnavi ul { 
	display: flex;
	justify-content: center; 
}
.socialnavi ul li { 
	padding: 0 20px; 
}  
li.facebook a i.facebook { 
	display: block;
	width: 40px;
	height: 40px;
	background-image:url(img/icon_facebook.svg); 
	background-size: 40px 40px;
	background-repeat: no-repeat;
}
li.instagram a i.instagram { 
	display: block;
	width: 40px;
	height: 40px;
	background-image:url(img/icon_instagram.svg); 
	background-size: 40px 40px;
	background-repeat: no-repeat;
}
#navigation li.facebook a i.facebook { 
	background-image:url(img/icon_facebook_w.svg); 
}
#navigation li.instagram a i.instagram { 
	background-image:url(img/icon_instagram_w.svg); 
}
li.home a i.home { 
	display: block;
	width: 40px;
	height: 40px;
	background-image:url(img/icon_home_w.svg); 
	background-size: 40px 40px;
	background-repeat: no-repeat;
}

/*======================================================================
Seitenspezifisches
======================================================================*/

/*Newsboxen Startseite
-------------------------------------*/
.startboxen {
	margin: 60px 10%;
}
.startboxen time, .blogartikel time {
	font-size: .8rem;
	padding-bottom: 26px;
  display: block;

}

/*News Blog
-------------------------------------*/
.blogartikel {
	max-width: 960px;
  margin: 0 auto;
}
article.newsartikel {
    border-bottom: 4px solid #bb1f11;
    padding-bottom: 60px;
    margin-bottom: 90px;
}

/*LinkBox
-------------------------------------*/
a.linkbox {
	  display: block;
	  position: relative;
	  height: 260px;
	  width: 100%;
	  margin-bottom: 90px;
	  background-position: center;
	  background-size: cover;
	  background-repeat: no-repeat;
}
.linkbox .titelbox {
    background-color: white;
    position: absolute;
    padding: 15px 10px 20px 20px;
    bottom: -80px;
    left: 20.01%;
    width: 80%;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, .4 );
}
.linkbox .titelbox h3 {
	margin: 0 0 .5rem 0;
}
.linkbox .titelbox p {
	color: #141414;
}

/*asymetrische Anordnung
-------------------------------------*/
.rechtsbuendig {
	margin-right: -12%;
}
.linksbuendig,
main .fotorama.slider {
	margin-left: -12%;
}

/*BildBox
-------------------------------------*/
.bildbox {
	    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}    

.has-rot-background-color { background-color: #bb1f11; }
.has-blau-background-color { background-color: #0074BE; }
.has-hellrot-background-color { background-color: #DAAEBA; }
.has-schwarz-background-color { background-color: #141414; }
.has-weiss-background-color { background-color: #ffffff; }
.has-weinrot-background-color { background-color: #7c1437; }

.has-blau-background-color *,
.has-rot-background-color *
{ color: white !important; }

.bildbox-links .wp-block-column:nth-child(2) {
	padding-bottom: 60px;
}

/*Blockquote
-------------------------------------*/
.wp-block-pullquote {
	padding: 0;
	margin-bottom: 80px;
	color: #447e92;
}


/*Table Press Tabelle
-------------------------------------*/
table.tablepress td {
	border-top: 1px solid transparent;
	padding: 6px 30px 6px 0;
	color: #bb1f11;
}
table.tablepress td[colspan="2"] {
	border-top: none;
	padding-top: 0;
	font-size: .8rem;
}
table.tablepress td:nth-child(2) {
	padding-right: 0;
	text-align: right;
	white-space: nowrap;
}

/*Tabelle Öffnungszeiten*/
.tablepress-id-1 {
	max-width: 200px;
}


/*Histogramm
-------------------------------------------------*/
.histogramm {
	max-width: 960px;
}
.histogramm dl {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
}
.histogramm dt {
	width: 100px;
	text-align: center;
}
.histogramm dt .jahr {
	width: 100px;
	height: 100px;
	padding-top: 30px;
	border-radius: 100px;
	background-color: #bb1f11;
	color: white;
	font-size: 1.4rem;
	font-weight: 800;
	font-style: italic;
	text-align: center;
}
.histogramm dt .verbindung {
	  background-color: #bb1f11;
    width: 5px;
    height: 100%;
    margin: 0 auto;
}
.histogramm dl:last-child .verbindung {
    display: none;
}
.histogramm dd {
	padding: 10px 0 45px 30px;
}



/*Personen
-------------------------------------------------*/
.personenohnefoto, .personenmitfoto, .personmitfoto {
	display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.personenohnefoto > div {
	width: 100%;
	margin-bottom: 30px;
}
.personenmitfoto > div {
	width: 100%;
	margin-bottom: 30px;
}
.personmitfoto > div:first-child {
	width: 140px;
}
.personmitfoto > div:first-child {
	margin-right: 20px;
}
.personmitfoto > div:nth-child(2) h5 {
	margin: 10px 0;
}
.personmitfoto > div:first-child img {
	border-radius: 100px;
}
@media screen and (min-width: 900px) {
	.personenohnefoto > div {
		width: 50%;
	}
	.personenmitfoto > div {
		width: 50%;
	}
}
@media screen and (min-width: 1200px) {
	.personenohnefoto > div {
		width: 33%;
	}
}

@media screen and (min-width: 1600px) {
	.personenohnefoto > div {
		width: 25%;
	}
}

/*Kontakt Hinweis wiederverwendbarer Block
-------------------------------------------------*/
.kontakthinweis {
	max-width: 400px;
	margin: 100px auto 0 auto;
}
.breite-s {
	max-width: 400px;
	margin: 0 auto 0 auto;
}


/*======================================================================
Plugin Spezifisches
======================================================================*/

/*Instagram Feed
-------------------------------------*/
.instagram-gallery-feed .instagram-gallery__button--follow,
.instagram-gallery-feed .swiper-pagination-bullet-active {
 background-color: #bb1f11;
}

.instagram-gallery-feed .swiper-button-next:after,.instagram-gallery-feed .swiper-container-rtl .swiper-button-prev:after,
.instagram-gallery-feed .swiper-button-prev:after, .instagram-gallery-feed .swiper-container-rtl .swiper-button-next:after {
	color: white;
}

/*======================================================================
Templates
======================================================================*/
/*Paul Frei AG
-------------------------------------------------*/
.page-template-template-paulfrei h1,
.page-template-template-paulfrei h2,
.page-template-template-paulfrei h3,
.page-template-template-paulfrei h4,
.page-template-template-paulfrei h5,
.page-template-template-paulfrei h6,
.page-template-template-paulfrei main a { 
	color: #000000;	
 }
 .page-template-template-paulfrei .lead,
.page-template-template-paulfrei .fotorama__dot { 
	border-color: #000000;
 }

/*======================================================================
Suche
======================================================================*/
.suchbox {
    display: none;
    position: fixed;
    z-index: 200;
}
.suchbox div.overlay {
    position: fixed;
    justify-content: center;
    flex-wrap: wrap;
    z-index: 300;
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    background-color: #bb1f11;
    background-image: url(img/icon_kreuzw.svg);
	background-size: 40px 40px;
	background-repeat: no-repeat;
	background-position: calc(100% - 20px) 20px;
}
.suchbox form {
    max-width: 600px;
    padding: 30px;
    background-color: white;
}
.suchbox form h2 {
    margin-bottom: 1rem;
    color: #bb1f11;
}
.suchbox form input {
    width: 100%;
    font-family: 'OpenSans';
    font-weight: 700;
    font-size: 20px;
    color: #bb1f11;;
    font-style: italic;
    padding: 15px;
    border: 1px solid #bb1f11;
    margin-bottom: 1rem;
}
.suchbox form button {
    color: white;
    border: none;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.1rem;
    padding: .5rem 1.333em;
}


/*Suchergebnis*/
.suchresultate .element {
	padding-bottom: 20px;
	border-bottom: 2px solid #bb1f11;
	margin-bottom: 20px;
}
.suchresultate .element img {
	max-width: 200px;
	margin-left: 0;
    margin-top: 20px;
}
.suchresultate .element a {
	word-break: break-word;
}
@media screen and (min-width: 1600px) {
	.suchresultate .element {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.suchresultate .element img {
		margin-left: 30px;
	}
}

/*Pagination*/
.pagination li {
	display: inline-block;
}
.pagination li:before {
	content: "";
}
.pagination li a{
	font-weight: 800;
	font-style: italic;
}
.pagination li.active a {
	color: #DAAEBA;
}


/*======================================================================
Karte Google
======================================================================*/
.wp-block-column iframe {
	width: 100%;
    margin-top: 40px;
}

/*======================================================================
Formular
======================================================================*/
form.wpcf7-form p label {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.5rem;
    font-weight: 800;
    font-family: "OpenSans";
    font-style: italic;
    color: #bb1f11;
    text-transform: uppercase;
}
form.wpcf7-form p label span {
	width: 100%;
    margin-top: 8px;
}
@media screen and (min-width: 900px) {
	form.wpcf7-form p label span {
		width: calc(100% - 220px);
	    align-self: flex-end;
	    text-align: right;
	    margin-top: -5px;
	}
}
form.wpcf7-form p label span input, 
form.wpcf7-form p label span textarea {
		border: 2px solid #bb1f11;
    width: 100%;
    font-family: opensans;
    font-size: 1rem;
}
form.wpcf7-form p label span input {
    height: 55px;
    padding: 0 10px;
}
form.wpcf7-form p label span input:focus-visible {
	outline: none;
}
form.wpcf7-form p label span textarea {
    min-height: 300px;
    padding: 10px;
}

form.wpcf7-form .wpcf7-acceptance label span {
    font-size: 1rem;
    text-transform: none;
    color: rgb(20, 20, 20);
    font-weight: 300;
    font-style: normal;
    text-align: left;
    width: 100%;
    margin-left: 60px;
}
form.wpcf7-form .wpcf7-acceptance label  {
    position: relative;
}
input[type="checkbox"] {
    position: absolute;
    width: 30px;
    height: 30px;
    outline: 2px solid #bb1f11;
    /* background-color: white; */
    /* color: white; */
    /* fill: white; */
    /* flood-color: white; */
    /* stop-color: white; */
    /* box-shadow: none; */
    /* text-shadow: none; */
    appearance: none;
}

input[type="checkbox"]:checked:before,
input[type="checkbox"]:checked:after {
    content: ' ';
    position: absolute;
    left: 13px;
    top: 2px;
    height: 1.4rem;
    width: 3px;
    border: none;
    background-color: #bb1f11;
}
input[type="checkbox"]:checked:before {
  transform: rotate(45deg);
}
input[type="checkbox"]:checked:after {
  transform: rotate(-45deg);
}
.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

form.wpcf7-form .wpcf7-not-valid-tip {
	width: 100%;
		font-size: 1rem;
    text-transform: none;
    font-weight: 300;
    font-style: normal;
    margin-top: 5px;
    margin-bottom: 15px;
    text-align: left;
}

input.wpcf7-form-control[type="submit"] {
    padding: 12px 35px;
    outline: none;
    border: none;
    background-color: #bb1f11;
    color: white;
    font-size: 1.4rem;
    font-family: 'OpenSans';
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
}
.wpcf7 form.invalid .wpcf7-response-output {
	border-color: #bb1f11;
	margin: 30px 0;
	padding: 20px;
}
.wpcf7 .wpcf7-submit:disabled {
	opacity: .5;
}
/*======================================================================
Galerie
======================================================================*/
/*Grösse*/
.fotorama.slider {
	max-width: 1400px;
	margin: 120px 0 100px 0;
}

/*Legende unter Bild*/
.fotorama__caption {
	margin: 0;
	width: 100%;
	font-family: 'OpenSans', sans-serif;
	font-size: .8rem;
  background-color: transparent !important;
  bottom: 10px;
  right: 0;
  text-align: right;
}
.fotorama__caption__wrap {
	background-color: rgba(255,255,255, 1);
  padding: 20px 24px;
  display: inline !important;
}
.fotorama__stage__frame.fotorama__loaded--img {
	overflow: visible;
}
.galerie .fotorama__stage {
	margin-bottom: 42px;
	overflow: visible;
}
/*FullScreen*/
.fotorama--fullscreen, .fotorama--fullscreen .fotorama__nav, .fotorama--fullscreen .fotorama__stage {
	background: white;
}
.fotorama--fullscreen .fotorama__caption {
	text-align: center;
	margin-bottom: 0;
}
.fotorama--fullscreen .fotorama__stage {
	margin-bottom: 0;
}
.fotorama__nav--thumbs {
	text-align: left;
}
.fotorama__thumb-border {
	border: 2px dotted #bb1f11;
}
.fotorama__dot {
  border: 3px solid #bb1f11;
} 
.fotorama__nav__frame.fotorama__active .fotorama__dot {
    border-width: 6px;
    top: 9px;
    left: 4px;
 }
 .fotorama__nav-wrap {
 	margin-top: 20px;
 }


/*====================================================================== 
Hamburger Menü
======================================================================*/

/* von https://jonsuh.com/hamburgers */
.hamburger {
position: absolute;
  padding: 15px 10px 7px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: rgba(255, 255, 255, 0);
  border: 0;
  outline: none;
  margin: 0;
  overflow: visible; 
}
.hamburger:hover {
  background-color: #bb1f11;
}
.hamburger:hover .hamburger-inner, .hamburger:hover .hamburger-inner::after, .hamburger:hover .hamburger-inner::before {
  background-color: white;
}
.hamburger-box {
  width: 44px;
  height:44px;
  display: inline-block;
  position: relative; 
}

.hamburger-inner {
  display: block;
  top: 50%;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 44px;
	height: 7px;
	background-color: #bb1f11; /*Farbe Balken*/
	border-radius: 0;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; 
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; 
}
.hamburger-inner::before {
	top: -16px; 
}
.hamburger-inner::after {
	bottom: -16px; 
}

/* Collapse
---------------------------------------*/

.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
	top: -32px;
	transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
	transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--collapse.is-active .hamburger-inner {
	background-color: white;
	transform: translate3d(0, -10px, 0) rotate(-45deg);
	transition-delay: 0.22s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--collapse.is-active .hamburger-inner::after {
	top: 0;
	opacity: 0;
	transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
.hamburger--collapse.is-active .hamburger-inner::before {
	background-color: white;
	top: 0;
	transform: rotate(-90deg);
	transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); 
}

/*UP-Button
---------------------------------------------------------*/

.upbutton {
	position: fixed;
  bottom: 30px;
  right: calc(50% - 40px);
  z-index: 88;
  opacity: .5;
  mix-blend-mode: multiply;
}
.upbutton img {
	width: 80px;
	height: 40px;
}