@charset "utf-8";
/* CSS Document – Praxis Diana Jung WordPress Theme */
/* Hinweis: global.css wird separat per functions.php eingebunden. */

body{font-family:var(--font-family); color:var(--text-color);}
.container{max-width:1499px; padding-left:30px; padding-right:30px;}
.header{position:relative; z-index:99;}
.logo img{width:338px;}
.logo span{display:block; text-align:center;}
.menu{transform:translateY(27px);}
.menu ul li a:not(.logo), .logo span{font-size:23px; text-transform:uppercase; display:block; padding:12px 30px; line-height:30px; border-radius:25px; background:rgba(255,255,255,0.7); text-transform:uppercase; color:var(--text-color);}
.logo span:not(first-child){margin-top:15px;}
/* Aktiver Menüpunkt (native class + WordPress current-menu-item) */
.menu ul li a:hover,
.menu ul li a.active,
.menu ul li.current-menu-item > a,
.menu ul li.current-page-ancestor > a{color:#B9AEA2;}
.contacts a span{display:block;}
.contacts a span.icon{min-width:30px;}
.contacts a span.icon i, .contacts a span.icon svg{color:#B9AEA2; font-size:18px;}
.header .nav-icon{position:absolute; left:30px; top:50%; transform:translateY(-50%);}
.contact-links{position:absolute; right:calc(((100vw - 1499px) / 2) + 30px); top:50%; transform:translateY(-50%);}
.contact-link{width:40px; height:40px; background-color:var(--primary-color); border-radius:100%; cursor:pointer; display:grid; place-items:center; color:#fff; font-size:20px;}
.contact-link:hover{color:#fff;}
.contact-link:not(:last-child){margin-right:15px;}
.contact-block{padding:20px; border-radius:25px; background:rgba(255,255,255,0.7); position:absolute; right:calc(((100vw - 1499px) / 2) + 30px); top:100px; opacity:0; visibility:hidden; transition:all 0.1s linear;}
.contact-block.active{opacity:1; visibility:visible;}
.contact-block li:not(:last-child){margin-bottom:10px;}
.contact-block li a{white-space:nowrap; display:flex; align-items:center; font-size:20px; color:var(--text-color);}

.hero{min-height:800px; background-position:center center; background-repeat:no-repeat; background-size:cover; position:relative;}
.hero-banner-1{background-image:url(../images/hero-bg-1.jpg);}
.hero-banner-2{background-image:url(../images/hero-bg-2.jpg);}
.hero-banner-3{background-image:url(../images/hero-bg-3.jpg);}
.hero-banner-4{background-image:url(../images/hero-bg-4.jpg);}
.hero-banner-5{background-image:url(../images/hero-bg-5.jpg);}

.footer{background-color:var(--primary-color); padding:80px 0;}
.footer-block:not(:last-child){margin-bottom:60px;}
.footer-block h1:not(:last-child), .footer-block h5:not(:last-child), .footer-block h6:not(:last-child){margin-bottom:10px;}
.footer-block h5 a{color:var(--text-color);}
.footer-block h5 a:hover{color:#fff;}
.footer .row.rows{margin:-25px -15px;}
.footer .row.rows .columns{padding:25px 15px;}

.section{padding:100px 0;}

.image-section{min-height:1500px; background:url(../images/image.svg) center bottom no-repeat; background-size:cover; position:relative;}
.image-section::before{width:100%; height:60px; background-color:var(--primary-color); content:""; position:absolute; left:0; bottom:0; z-index:-1;}
.working-hours-table h4:not(:last-child){margin-bottom:50px;}
.working-hours-table .row.rows{margin:0 -40px;}
.working-hours-table .row.rows .columns{padding:0 40px;}
.working-hours-table .row.rows .columns:not(:last-child){border-right:2px solid var(--text-color);}
.working-hours-table h5{padding:5px 0; line-height:1.2;}

.article-block:not(:last-child){margin-bottom:40px;}
.article h4:not(:last-child){margin-bottom:15px;}
.article h5:not(:last-child), .article h6:not(:last-child){margin-bottom:15px;}
.article h5{line-height:2;}
.article-box{padding:50px 30px;}

ul.bullet-list li{padding-left:20px; position:relative;}
ul.bullet-list li::before{position:absolute; left:0; top:24px; width:4px; height:4px; border-radius:100%; background-color:var(--text-color); content:"";}

.qualification-section{background:url(../images/bg-2.svg) left center no-repeat; background-size:cover; min-height:800px;}
.map-section{background-color:var(--secondary-color);}
.svg-section{position:relative;}
.svg-section::before{width:100%; height:60px; background-color:var(--primary-color); content:""; position:absolute; left:0; bottom:0; z-index:-1;}
.map{height:850px;}
.map-section h4:not(:last-child){margin-bottom:50px;}
.map iframe{width:100%; height:100%;}
.article-block .article h5 a{color:var(--text-color);}
.article-block .article h5 a:hover{text-decoration:underline;}

.page .article h4:not(:last-child){margin-bottom:0;}
.page .article h5:not(:last-child), .article h6:not(:last-child){margin-bottom:0;}
.contact-section .article h1:not(:last-child), .contact-section h5:not(:last-child), .contact-section .article h6:not(:last-child){margin-bottom:10px;}

/* =====================================================
   WordPress Gutenberg Block Kompatibilität
   Gleicht die Gutenberg-Ausgabe an das Original-Design an.
   wp-block-heading  → wie .fw-medium .text-uppercase
   wp-block-list     → wie ul.bullet-list mit h5-Schriftgröße
   p                 → wie h5 formatiert
   ===================================================== */
.article h4.wp-block-heading{text-transform:uppercase; font-weight:500;}
.article h4.wp-block-heading:not(:first-child){margin-top:40px;}
.article p{font-size:22px; line-height:2; margin:0; padding:0;}
.article p:not(:last-child){margin-bottom:15px;}
.article ul.wp-block-list{padding:0; margin-top:15px;}
.article ul.wp-block-list li{font-size:22px; line-height:2; padding-left:20px; position:relative; list-style:none;}
.article ul.wp-block-list li:not(:last-child){margin-bottom:0;}
.article ul.wp-block-list li::before{position:absolute; left:0; top:24px; width:4px; height:4px; border-radius:100%; background-color:var(--text-color); content:"";}

@media(max-width:1499px){
	.logo img{width:300px;}
	.menu ul li a:not(.logo), .logo span{font-size:20px;}
	.hero{min-height:750px;}
	.contact-links{right:30px;}
	.contact-block{right:30px;}
	.contact-block li a{font-size:18px;}
	.contact-block{padding:15px; border-radius:20px; top:80px;}
	.section{padding:80px 0;}
	.working-hours-table .row.rows{margin:0 -30px;}
	.working-hours-table .row.rows .columns{padding:0 30px;}
	.image-section{min-height:1400px;}
	.qualification-section{min-height:750px;}
	.map{height:750px;}
}
@media(max-width:1399px){
	.logo img{width:280px;}
	.menu ul li a:not(.logo), .logo span{font-size:18px; padding:10px 22px; line-height:28px;}
	.menu{transform:translateY(24px);}
	.hero{min-height:700px;}
	.contact-block li a{font-size:16px;}
	.contact-block{border-radius:15px; top:50px;}
	.image-section{min-height:1300px;}
	ul.bullet-list li::before{top:20px;}
	.article ul.wp-block-list li::before{top:20px;}
	.qualification-section{min-height:700px;}
}
@media(max-width:1199px){
	.logo img{width:260px;}
	.menu ul li a:not(.logo), .logo span{font-size:16px; padding:8px 20px; line-height:24px;}
	.menu{transform:translateY(20px);}
	.hero{min-height:650px;}
	.footer{padding:50px 0;}
	.footer-block:not(:last-child){margin-bottom:50px;}
	.section{padding:60px 0;}
	.working-hours-table h4:not(:last-child){margin-bottom:40px;}
	.image-section{min-height:1200px;}
	.qualification-section{min-height:650px;}
	.map{height:650px;}
	.map-section h4:not(:last-child){margin-bottom:40px;}
	.article p{font-size:20px;}
	.article ul.wp-block-list li{font-size:20px;}
}
@media(min-width:992px){
	.menu{display:block !important;}
}
@media(max-width:991px){
	.menu, .hero{min-height:600px;}
	.logo{transform:translateY(18px); position:relative; z-index:99;}
	.logo img{width:240px;}
	.menu{padding:50px 30px; position:absolute; left:0; top:100%; width:100%; transform:none; background:rgba(255,255,255,0.7); opacity:0; visibility:hidden; transition:all 0.1s linear;}
	.menu.active{opacity:1; visibility:visible;}
	.menu ul li a:not(.logo), .logo span{font-size:14px; padding:8px 15px; line-height:20px;}
	.menu ul li a:not(.logo){background:none; padding:10px 0; line-height:24px; border-radius:0; letter-spacing:2px;}
	.menu ul li.header-contacts:not(:first-child){margin-top:15px;}
	.logo span{letter-spacing:2px;}
	.contact-block, .contact-block.active{opacity:0 !important; visibility:hidden !important;}
	.footer{padding:40px 0;}
	.footer-block:not(:last-child){margin-bottom:40px;}
	.section{padding:50px 0;}
	.working-hours-table .row.rows .columns:not(:last-child){border-right:0;}
	.image-section{min-height:1100px;}
	.working-hours-table h4:not(:last-child){margin-bottom:25px;}
	.table-block-wrap{margin:-15px 0;}
	.table-block{padding:15px 0;}
	.table-block:not(:last-child){border-bottom:2px solid var(--text-color);}
	.article-block:not(:last-child){margin-bottom:30px;}
	.article-box{padding:30px 30px; margin:0 -30px;}
	ul.bullet-list li::before{top:16px;}
	ul.bullet-list li{padding-left:15px;}
	.qualification-section{min-height:auto; background:none;}
	.map-section h4:not(:last-child){margin-bottom:30px;}
	.article h4.wp-block-heading:not(:first-child){margin-top:30px;}
	.article p{font-size:19px;}
	.article ul.wp-block-list li{font-size:19px; padding-left:15px;}
	.article ul.wp-block-list li::before{top:16px;}
}
@media(max-width:767px){
	.logo img{width:200px;}
	.logo span{font-size:13px; letter-spacing:1px;}
	.menu, .hero{min-height:550px;}
	.section{padding:40px 0;}
	.image-section{min-height:1000px;}
	.map{height:550px;}
	.article p{font-size:18px;}
	.article ul.wp-block-list li{font-size:18px;}
}
@media(max-width:575px){
	.menu, .hero{min-height:500px;}
	.footer{padding:30px 0;}
	.image-section{min-height:900px;}
	.map{height:500px;}
	.article p{font-size:17px;}
	.article ul.wp-block-list li{font-size:17px;}
}
@media(max-width:480px){
	.menu, .hero{min-height:450px;}
	.menu ul li a:not(.logo){letter-spacing:1px;}
	.image-section{min-height:800px;}
	.article-block:not(:last-child){margin-bottom:20px;}
	.article h4.wp-block-heading:not(:first-child){margin-top:20px;}
	.article p{font-size:16px;}
	.article ul.wp-block-list li{font-size:16px;}
}

#footer-cookie,
#footer-cookie * {
	box-sizing: border-box;
}

#footer-cookie {
	display: none;
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 60px;
	padding-left: 30px;
	padding-right: 30px;
	line-height: 60px;
	background: #303030;
	color: #fff;
}

#footer-cookie a {
	color: #fff;
}

#footer-cookie #description {
	float: left;
}

#footer-cookie #accept {
	float: right;
}

#footer-cookie #accept a {
	border: 1px solid #fff;
	padding: 0px 10px;
	display: block;
	text-decoration: none;
}

span#accept {
	line-height: 40px;
	margin-top: 10px;
}

@media (max-width: 1200px) {
	#footer-cookie {
		padding-top: 30px;
		padding-bottom: 30px;
		line-height: inherit;
		height: auto;
	}

	#footer-cookie #description {
		width: 100%;
	}

	#footer-cookie #accept {
		width: 100%;
		margin-top: 15px;
	}

	#footer-cookie #accept a {
		width: 100%;
		display: block;
		text-align: center;
	}
}

@media (max-width: 695px) {
	.hero-banner-1 {
		background-position: -90px;
	}
}
@media (max-width: 695px) {
	.hero-banner-2{background-image:url(../images/hero-bg-2-mobil.jpg);}
	.hero-banner-3{background-image:url(../images/hero-bg-3-mobil.jpg);}
	.hero-banner-4{background-image:url(../images/hero-bg-4-mobil.jpg);}
}
