/*!
Theme Name: pb
Theme URI: https://them.es/starter
Author: Martin Hammerschmidt
Author URI: 
Description: 
Version: 3.6.3
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: pb
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

/* From http://codex.wordpress.org/CSS */

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%;
	/* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition:
		filter 0.2s ease-in,
		-webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/*costum css*/

/* montserrat-regular - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/montserrat-v31-latin-regular.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: url('fonts/montserrat-v31-latin-600.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
	--body-background-color: #FCF1E3;
	--text-color: #3C3C3C;
	--green-background-color: #D3E3E1;
	--gold-backgroud-color: #F0DFCD;
	--button-color: #CFA678;
	--white-color: white;
	--gold-box-background: #FDEBD6;
	--footer-gold-color: #CFA678;
	--footer-light-gold-color: #F9DFBF;
	--font-family-primary: "Montserrat", sans-serif;
	--h1-font-weight: 600;
	--h1-font-size: clamp(2.25rem, 2.125rem + 0.4vw, 2.5rem);
	/* 36 - 40 */
	--h2-font-size: clamp(1.5625rem, 1.4688rem + 0.3vw, 1.75rem);
	/* 25 - 28 */
	--font-size-text: clamp(1rem, 0.9375rem + 0.2vw, 1.125rem);
	/* 16 - 18 px */
	--font-lineheight-text: clamp(1.6875rem, 1.5938rem + 0.3vw, 1.875rem);
	/* 27 - 30 px */
}

body,
html {
	overflow-x: hidden;
	width: 100vw;
	max-width: 100vw;
	scroll-behavior: smooth;
}

body {
	background-color: var(--body-background-color);
	font-family: var(--font-family-primary);
	line-height: var(--font-lineheight-text);
	font-size: var(--font-size-text);
}

h1,
.h1 {
	font-size: var(--h1-font-size);
	font-weight: var(--h1-font-weight);
	margin-bottom: 60px;
	hyphens: auto;
}

h1 span,
.h1 span {
	display: block;
	margin-top: 20px;
}

h2,
.h2,
h1 span,
.h1 span {
	font-weight: 400;
	font-size: var(--h2-font-size);
}

.bg-body-background {
	background-color: var(--body-background-color);
}

.bg-green {
	background-color: var(--green-background-color);
}

.bg-gold {
	background-color: var(--gold-backgroud-color);
}

.bg-gold-box {
	background-color: var(--gold-box-background);
}

.bg-gold-footer-left {
	background-color: var(--footer-light-gold-color);
}

.bg-gold-footer-right {
	background-color: var(--footer-gold-color);
}

.bg-white {
	background-color: var(--white-color);
}

.bg-button {
	background-color: var(--button-color);
}

a.btn, button.btn, .btn:disabled {

	color: var(--white-color);
	border-radius: 0px 100px 100px 0px;
	padding: 5px 25px 5px 10px;
	font-size: var(--font-size-text);
	font-weight: var(--h1-font-weight);
	border: none;
	margin-top: 60px;
	width: fit-content;
	transition: ease-in-out 0.5s all;
	background: none;
	background-color: var(--button-color);
	text-decoration: none;
}

a.btn:hover,
a.btn:focus,
button.btn:hover,
button.btn:focus {
	background-color: var(--button-color);
	filter: brightness(1.1);
	color: var(--white-color);
	text-decoration: none;
}

.btn:disabled {
	background-color: var(--button-color)!important;
	color: var(--white-color)!important;
}

.form-control {
  border-color: var(--text-color);
}

.form-check-input {
  border-color: var(--text-color);
}

section {
	margin-top: clamp(6.25rem, 4.375rem + 6vw, 10rem);
	margin-bottom: clamp(6.25rem, 4.375rem + 6vw, 10rem);
}

.max-width-700 {
	max-width: 700px;
	width: 100%;
}



/*image block*/

.top-rect {
	width: 66%;
	height: clamp(1.875rem, 0.9375rem + 3vw, 3.75rem);
	background-color: var(--green-background-color);
	position: absolute;
	left: 0;
	bottom: 0;
}

.bottom-rect {
	width: 33%;
	height: clamp(1.875rem, 0.9375rem + 3vw, 3.75rem);
	background-color: var(--gold-backgroud-color);
	position: absolute;
	right: 0;
	top: 0;
}

.portrait-img {
	aspect-ratio: 2 / 3;
	height: 100%;
	width: 100%;
	max-height: 800px;
	display: block;
	object-fit: contain;
}

.h-15 {
	height: 15% !important;
}

.h-85 {
	height: 85% !important;
}

.no-hyphens-headline h1,
.no-hyphens-headline .h1,
.no-hyphens-headline h2,
.no-hyphens-headline .h2,
.no-hyphens-headline h3,
.no-hyphens-headline .h3,
.no-hyphens-headline h1 span,
.no-hyphens-headline .h1 span,
.no-hyphens-headline h2 span,
.no-hyphens-headline .h2 span,
.no-hyphens-headline h3 span,
.no-hyphens-headline .h3 span
{
	hyphens: none!important;
}

.no-hyphens
{
	hyphens: none!important;
}

/*logos*/

.site-logo {
	max-width: 360px;
	width: 100%;
}

#footer .site-logo {
	margin-bottom: 60px;
}

@media all and (max-width: 500px) {
	.site-logo {
		max-width: 250px;
	}
}

/*faq*/

.faq-section {
	padding: 72px 0;
}

.faq-title {
	font-weight: 600;
}

/*vita*/

.border-bottom {
	border-bottom: 1px solid var(--footer-gold-color) !important;
}

/* Accordion “clean” */
.faq-accordion .accordion-item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--footer-gold-color);
	/* dünner Trenner */
	border-radius: 0;
	padding: 0;
}

.accordion-button:focus {
	outline: 1;
}

.accordion-item:first-of-type>.accordion-header .accordion-button,
.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
	border-radius: 0 !important;
}

/*.accordion-button:focus, .accordion-button:focus-visible {
outline: 2px solid;
}*/

/* Button */
.faq-accordion .accordion-button {
	background: transparent;
	color: var(--text-color);
	padding: 22px 0;
	font-size: var(--h2-font-size);
	line-height: 1.2;
	font-weight: 400;
	box-shadow: none;
}

/* Entfernt Bootstrap Default-Hintergrund bei open */
.faq-accordion .accordion-button:not(.collapsed) {
	background: transparent;
	color: var(--text-color);
	box-shadow: none;
}

/* Body Text */
.faq-accordion .accordion-body {
	padding: 0 0 22px 0;
	color: var(--text-color);
	font-size: 18px;
	line-height: 1.7;
	max-width: 90%;
	hyphens: auto;
}

.faq-accordion .accordion-button::after {
	transform: scale(1.05);
	opacity: .8;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
	transform: rotate(-180deg) scale(1.05);
}

@media (max-width: 768px) {
	.faq-accordion .accordion-button {
		font-size: 20px;
		padding: 18px 0;
	}

	.faq-accordion .accordion-body {
		font-size: 16px;
	}
}


/*nav*/

#header {
	background-color: transparent;
}

.navbar-toggler.d-xl-none,
button.pb-offcanvas__close {
	border: none;
	background-color: var(--footer-gold-color);
	border-radius: 100px 0 0 100px;
	margin-right: -10px;
	padding-right: 20px;
	height: 40px;
	width: 65px;
}

button.pb-offcanvas__close {
	margin-right: -16px;
	padding-right: 26px;
}

.desktop-menu a.nav-link {
	text-decoration: none;
	transition: 0.4s;
	position: relative;
}

.desktop-menu a.nav-link::before,
.desktop-menu a.nav-link.active::before {
	content: "";
	position: absolute;
	width: 0;
	height: 2px;
	background-color: var(--button-color);
	bottom: 0;
	left: 0;
	transition: width 0.4s;
}

.desktop-menu a.nav-link:hover::before,
.desktop-menu a.nav-link.active::before {
	width: 100%;
}

/*contact*/

.maps-wrapper iframe {
	height: 50vh;
	min-height: 500px;
	filter: grayscale(1);
}

.dsgvo-gm-overlay.dsgvo-gm-light {
	background: var(--gold-backgroud-color);
}

.dsgvo-gm-load-btn.dsgvo-gm-light {
	background-color: var(--footer-gold-color);
}

/*footer*/

#footer a {
	/*color: var(--text-color) !important;*/
	color: var(--white-color) !important;
}

.contact-information svg {
	margin-right: 15px;
	height: var(--font-size-text);
	width: var(--font-size-text);
	line-height: var(--font-lineheight-text);
	margin-top: -0.1rem;
}

@media all and (max-width: 500px) {
	.contact-information a,
	.footernav a {
		padding-left: 0;
	}
}

main a,
footer a,
#footer a {
	text-decoration: underline;
	color: var(--text-color);
	text-underline-offset: 3px;
}

.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
a:focus-visible,
*:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px #000 !important;
}