/*
Theme Name: noctua
Theme URI: 
Description: Child theme of hello-elementor theme for the Hello Elementor theme
Author: <a href="https://elementor.com/?utm_source=wp-themes&#038;utm_campaign=author-uri&#038;utm_medium=wp-dash">Elementor Team</a>
Author URI: 
Template: hello-elementor
Version: 3.3.0
*/

/* Generated by Orbisius Child Theme Creator (https://orbisius.com/products/wordpress-plugins/orbisius-child-theme-creator/) on Mon, 10 Feb 2025 11:41:28 +0000 */ 
/* The plugin now uses the recommended approach for loading the css files.*/

body {
	border-left: 5px solid white;
	border-right: 5px solid white;		
	border-bottom: 5px solid white;
}

#top {
	border-top: 5px solid white;
}

@media screen and (min-width: 767px) {
	body {
		border-left: 15px solid white;
		border-right: 15px solid white;		
		border-bottom: 15px solid white;
	}
	
	#top {
		border-top: 15px solid white;
	}
}

@media screen and (min-width: 1024px) {
	body {
		border-left: 20px solid white;
		border-right: 20px solid white;		
		border-bottom: 20px solid white;
	}
	
	#top {
		border-top: 20px solid white;
	}
}

p {
	margin-block-start: 0;
    margin-block-end: 0;
	margin-bottom: 25px;
}

p:last-of-type {
	margin-bottom: 0;
	
}

ul {
	margin-block-start: 0;
    margin-block-end: 0;
}

b {
	font-family: var(--e-global-typography-accent-font-family);
}

.padding {
	padding-top: 25px;
	padding-bottom: 25px;
}

.padding-bottom {
	padding-bottom: 25px;
}

.padding-top {
	padding-top: 25px;
}

@media screen and (max-width: 1024px) {
	.main-nav {
		display: none;
	}
}

.main-nav nav > ul > li > a {
	background: var(--e-global-color-text);
}

.main-nav nav > ul > li > a:hover,
.main-nav nav > ul > .current-menu-item > a {
	text-decoration: underline;
}

ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
	border-inline-start: 0px solid white;
}

.hero-header-content {
	position: relative;
}

@media screen and (max-width: 766px) {	
	.hero-img {
		margin-top: 150px;		
	}
	
	.hero-img img {		
		width: 100%;
		max-width: 750px !important;
	}
}

@media screen and (max-width: 1124px) {	
	.hero-img.mieter {
		margin-top: 100px;
	}
}

@media screen and (max-width: 500px) {	
	.hero-img.mieter {
		margin-top: 280px;
	}
}

.circle {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100%;
	max-width: 250px !important;
}

.circle-mieter {
	position: absolute;
	top: 200px;
	left: 10px;
	width: 100%;	
	max-width: 230px !important;
}

@media screen and (min-width: 400px) {
	.circle {
		max-width: 300px !important;
	}
	
	.circle-mieter {
		top: 230px;
	}
}

@media screen and (min-width: 767px) {
	.circle {
		top: 10px;
		left: 50px;
		max-width: 400px !important;
	}
	
	.circle-mieter {
		top: 315px;
		left: 50px;
		width: 100%;
	}
}

.circle-bg {
	background-size: auto 100%;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px;
}

.bubbles {
	--e-con-grid-template-columns:repeat(1, 1fr) !important;
	--e-con-grid-template-rows: repeat(6, 1fr) !important;
}

.square {
	hyphens: manual;
}

.square ul {
	padding-left: 18px;
}

@media screen and (max-width: 869px) {	
	.square {
		max-width: 450px;
	}
}

@media screen and (max-width: 450px) {
	.bubbles {
		padding: 0 !important;
	}
	
	.circle-bg {
		background-size: auto 100%;
		background-repeat: no-repeat;
		background-position: center;
		padding: 60px;
		min-height: 450px;
	}
}

@media screen and (min-width: 451px) {
	.square {
		aspect-ratio: 1/1;
	}
}

@media screen and (min-width: 870px) {
	.bubbles {
		--e-con-grid-template-columns:repeat(2, 1fr) !important;
		--e-con-grid-template-rows: repeat(3, 1fr) !important;
	}
	
	.circle-bg {
		background-size: contain;
		background-repeat: no-repeat;
		padding: 60px;
	}
	
	.translate {
		transform: translateY(30px);
	}	
}

@media screen and (min-width: 1300px) {
	.bubbles {
		--e-con-grid-template-columns:repeat(3, 1fr) !important;
		--e-con-grid-template-rows: repeat(2, 1fr) !important;
	}
}

.underline a {
	text-decoration: underline;
}

.underline a:hover {
	text-decoration: none;
}

.white,
.white a {
	color: #fff !important;
}

.beige {
	color: var(--e-global-color-text);
}

.brown {
	color: var(--e-global-color-a576641);
}

.blue {
	color: var(--e-global-color-accent);
}

.heading-bg h2,
.heading-bg p {
	background: var(--e-global-color-text);
	padding: 2px 25px;
	display: inline-block;
}

.mietangebote-button {
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 100px;
	z-index: 2;
}

@media screen and (min-width: 767px) {
	.mietangebote-button {
		right: 50px;
		top: 70vh;
		bottom: auto;
		width: 160px;		
	}
}

@media screen and (min-width: 1700px) {
	.mietangebote-button {
		right: calc((((100vw - 1240px)/2)) - 200px);
		bottom: 25px;
		width: 160px;
		z-index: 2;
	}
}

@media screen and (max-width: 500px) {
	.akkordeon-style details {
		hyphens: auto;
	}
}

.akkordeon-style details {
	border-top: 1px solid white !important;
}

.akkordeon-style details:last-of-type {
	border-bottom: 1px solid white !important;
}

.akkordeon-style.blue details {
	border-top: 1px solid var(--e-global-color-accent) !important;
}

.akkordeon-style.blue details:last-of-type {
	border-bottom: 1px solid var(--e-global-color-accent) !important;
}

.akkordeon-style h6 {
	margin-top: 25px;
	margin-bottom: 25px;
}

.akkordeon-style ul {
	padding-left: 20px;
	margin-bottom: 25px;
}

.akkordeon-style ul:last-of-type {
	margin-bottom: 0;
}

.opacity {
	visibility: hidden;
}

.digits h3 {
	line-height: 120% !important;
}

.digits img {
	max-width: 70px !important;
}

footer a {
	text-transform: uppercase !important;
}

@media screen and (min-width: 767px) and (max-width: 1400px) {
	footer > div.underline {
		padding-inline-start: 60px !important;
	}
}

@media screen and (min-width: 1350px) {
	.kontakt-popup .dialog-widget-content {
		margin-left: calc(((100vw - 1260px)/2)) !important;
	}
}

.back-top-top {
	position: fixed;
	bottom: 15px;
	right: 20px;
}

@media screen and (min-width: 767px) {
	.back-top-top {
		position: fixed;
		bottom: 35px;
		right: 40px;
	}	
}

.legal h1 {
	margin-bottom: 40px;
	font-weight: 400;
}

.legal h2,
.legal h3 {
	margin-top: 40px;
}

.legal h3 {
	color: var(--e-global-color-a576641);
	font-size: var(--e-global-typography-0d053d0-font-size);
}

.legal h4 {
	font-family: var(--e-global-typography-accent-font-family);
	font-size: var(--e-global-typography-text-font-size);
}

.legal h2,
.legal h3,
.legal h4,
.legal p {
	hyphens: auto;
}

.legal ul {
	padding-left: 20px;
	margin-bottom: 25px;
}

.legal ul li {
	margin-bottom: 15px;
}

.legal ul li:last-of-type {
	margin-bottom: 0;
}

.legal a {
	word-wrap: break-word;
}

#breadcrumbs {
	display:none;
}

.property-container {
	max-width: 400px !important;
	border: none !important;
	background: #fff;
}

.immomakler .btn-primary {
	background-color:var( --e-global-color-primary );
}

.property-thumbnail img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    aspect-ratio: 1.77 / 1 !important; /* 16:9 ratio, adjust as needed */
    max-width: 400px !important;
    overflow: hidden !important;
    display: block !important;
}

.immomakler .email a {
	word-wrap: break-word;
}

.immomakler-archive,
.immomakler-single {
	max-width: 100% !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: 0;
	margin-right; 0;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: var( --e-global-color-secondary );
}

@media screen and (min-width: 1360px) {
	.immomakler-archive,
	.immomakler-single {
		padding-left: calc((100vw - 1290px) / 2);
		padding-right: calc((100vw - 1290px) / 2);
	}
}

@media screen and (max-width: 1024px) {
	.immomakler-single .property-title {
		margin-bottom: 50px;
		font-size: 30px;
		line-height: 130%;
	}
}

.immomakler-archive div.property-thumbnail {
	background-color: transparent;
}

.bootstrap-select.btn-group .dropdown-toggle .caret {
  display: none;
}