/*
	=====================================
	mixed
	=====================================
*/

	:root {
		--ifx-navbar-height: 64px;
		--ifx-color-black-rgb: 4, 9, 17;
		--ifx-color-blue-rgb: 24, 69, 167;
		--ifx-color-dark-blue-rgb: 24, 59, 137;
		--ifx-body-bg: url('/theme/background/immofux-background-default.jpg');
	}

	html::before {
		content: ' ';
		display: block;
		background-image: var(--ifx-body-bg);
		background-position: center;
		background-size: cover;
		height: 100vh;
		width: 100vw;
		top: 0; bottom: 0; left: 0; right: 0;
		position: fixed;
		z-index: -10;
		pointer-events: none;
	}

	::placeholder {
		color: rgba(var(--ifx-color-blue-rgb),.40);
	}

	::-ms-input-placeholder {
		color: rgba(0,0,0,.5);
	}

	footer {
		margin: 1rem auto;
		padding: 1rem 0 1rem 0;
		background-color: rgba(var(--ifx-color-blue-rgb),.82);
		backdrop-filter: blur(6px);
	}

	footer a {
		color: rgba(255,255,255,.82);
		text-decoration: none;
	}

	footer a:hover {
		color: rgba(255,255,255,1);
	}

	footer img.brand {
	}

	body.no-nav {
		padding-top: 0 !important;
		--ifx-navbar-height: 14px;
	}

	.divider {
		--h: 1px;
		--s: dashed;
		--c: rgba(0,0,0,0.15);
		background-color: transparent;
		border-top: var(--h) var(--s) var(--c);
		height: 1px;
		overflow: hidden;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	
	.text-start {
		text-align: left;
	}

	.realestate-search-form-wrapper .note,
	.realestate-search-form-wrapper label {
		font-weight: normal;
		color: #fff;
		font-size: 1.5rem;
	}

	@media (max-width: 900px) {
		.realestate-search-form-wrapper label {
			font-size: 1.25rem;
		}
		.realestate-search-form-wrapper select,
		.realestate-search-form-wrapper input {
			font-size: 1.0rem;
		}
	}

	.realestate-search-form-wrapper .note {
		opacity: .75;
		padding: 1rem;
		font-size: 11px;
		line-height: 1;
	}

	.text-center {
		 text-align: center;
	}

	.container-non-responsive {
		max-width: 1400px !important;
	}

	.mt-2 {
		margin-top: 1rem !important;
	}

	.mb-2 {
		margin-bottom: 1rem !important;
	}

	.my-2 {
		margin-top: 1rem !important;
		margin-bottom: 1rem !important;
	}

	.mx-2 {
		margin-left: 1rem !important;
		margin-right: 1rem !important;
	}

	.me-2 {
		margin-right: 1rem !important;
	}

	.ms-1 {
		margin-left: .5rem !important;
	}

	.me-1 {
		margin-right: .5rem !important;
	}

	.mb-0 {
		margin-bottom: 0 !important;
	}

	.ms-2 {
		margin-left: 1rem !important;
	}

	.p-2 {
		padding: 1rem !important;
	}

	.px-2 {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.py-2 {
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}

	.pt-2 {
		padding-top: 1rem !important;
	}

/*
	=====================================
	Carousel / Header Banner customs
	=====================================
*/
	
	.carousel {
		--ifx-control-width: 5rem;
		--ifx-carousel-baseheight: 250px;
		--ifx-carousel-baseheight-multiplier: 1.25;
		--ifx-carousel-minheight: 60px;
		--ifx-carousel-maxheight: calc((100vw / 6) * var(--ifx-carousel-baseheight-multiplier));
		height: var(--ifx-carousel-baseheight);
		max-height: var(--ifx-carousel-maxheight);
		border-bottom: 3px solid #3b5998
	}

	.carousel.banner-v1 .carousel-control,
	.carousel.banner-v2 .carousel-control {
	    width: var(--ifx-control-width);
	}

	.carousel.banner-v1,
	.carousel.banner-v2 {
		--ifx-carousel-baseheight: 100vh;
		height: calc(var(--ifx-carousel-baseheight) - var(--ifx-navbar-height) + 15px) !important;
		max-height: calc(var(--ifx-carousel-baseheight) - var(--ifx-navbar-height) + 15px) !important;
	}

	.carousel.banner-v2 {
		--ifx-carousel-baseheight: 50vh;
	}

	.carousel.banner-v1 .carousel-caption,
	.carousel.banner-v2 .carousel-caption {
		top: auto;
	    right: var(--ifx-control-width);
	    left: var(--ifx-control-width);
	    bottom: calc(calc(var(--ifx-carousel-baseheight) - var(--ifx-navbar-height) - 94px ) / 2) !important;
	    padding: 0;
		margin-top: 0;
	}

	.carousel.banner-v1 .carousel-caption.caption-position-bottom,
	.carousel.banner-v2 .carousel-caption.caption-position-bottom {
	    bottom: 15vh !important;
	}

	.carousel.banner-v1 .carousel-indicators,
	.carousel.banner-v2 .carousel-indicators {
		bottom: -.5rem;
	}

	.carousel.banner-v1 .carousel-caption .carousel-overlay,
	.carousel.banner-v2 .carousel-caption .carousel-overlay {
		margin-bottom: 0;
		background: rgba(var(--ifx-color-black-rgb),0.3);
		backdrop-filter: blur(6px);
		padding: 10px;
		color: rgba(255,255,255,.75);
		box-shadow: 0 0.225rem 0.55rem rgb(0 0 0 / 12%) !important;
	}

	.carousel.banner-v1 .carousel-caption .carousel-overlay h3,
	.carousel.banner-v2 .carousel-caption .carousel-overlay h3 {
		font-size: 5rem !important;
		font-weight: 400;
		color: rgba(255,255,255,1);
	}

	@media all and (max-width: 1500px) {
		.carousel {
			max-height: var(--ifx-carousel-maxheight);
			min-height: var(--ifx-carousel-minheight);
		}
	}

	@media (max-width: 900px) {
		.carousel.banner-v1 .carousel-caption .carousel-overlay h3,
		.carousel.banner-v2 .carousel-caption .carousel-overlay h3 {
			font-size: 3rem !important;
		}
	}

/*
	=====================================
	Sidebar Panels customs
	=====================================
*/

	.panel {
		background-color: rgba(255,255,255,.92) !important;
		box-shadow: 0 0.225rem 0.55rem rgb(0 0 0 / 12%) !important;
		border: 0 !important;
	}

	.panel.dark {
		background-color: rgba(0,0,0,.32) !important;
		box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
	}

	.panel.trans {
		background-color: transparent !important;
		box-shadow: none !important;
	}

	.panel.white-trans {
		--bg-opacity: .5;
		background-color: rgba(255,255,255,var(--bg-opacity)) !important;
		_backdrop-filter: blur(5px);
	}

	.panel-heading {
		--heading-bg: #3b6ad6;
		--heading-color: white;
		background: var(--heading-bg) !important;
		color: var(--heading-color) !important;
	}

	.panel-heading.v2 {
		--heading-bg: rgba(54, 99, 197,.82);
		--heading-color: white;
	}

	.panel-heading.dark {
		--heading-bg: rgba(0,0,0,.72);
	}
	.panel-heading.success {
		--heading-bg: rgba(50,120,30,.72);
	}
	.panel-heading.danger {
		--heading-bg: rgba(120,30,10,.72);
	}
	.panel-heading.primary {
		--heading-bg: rgba(5, 70, 156,.82);
	}

	#second_nav.nav2 {
		background: rgba(54, 99, 197,.82);
		color: white !important;
	}

	.important-primary-2 {
		border-left: 2rem solid rgba(54, 99, 197,.82) !important;
	}

	.important-danger-2 {
		border-left: 2rem solid rgba(120,30,10,.82) !important;
	}

	.p-0 {
		padding: 0 !important;
	}
	.p-1 {
		padding: .375rem !important;
	}
	.p-2 {
		padding: .72rem !important;
	}
	.p-3 {
		padding: 1rem !important;
	}
	.px-3 {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.py-0 {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.px-2 {
		padding: 0 .72rem !important;
	}

	.mb-3 {
		margin-bottom: 1rem !important;
	}
	.border-0 {
		border: none !important;
	}
	.overflow-hidden {
		overflow: hidden;
	}
	.force-center {
		text-align: center !important;
	}
	.panel-primary > .panel-body {
		background-color: transparent !important;
	}
	.show-article {
		margin: 0;
		-webkit-box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
		box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
		background: rgba(255,255,255,.82) !important;
	}

	.show-article-plain .show-article {
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		background: transparent !important;
		border: none;
		border-radius: none;
	}

/*
	=====================================
	Search Button
	=====================================
*/

	.btn-primary.btn-attention {
		--ifx-bg-color: hsl(0, 85%, 35%);
		--ifx-bg-hover-color: hsl(0, 85%, 45%);
		--ifx-shadow: none;
		background-color: var(--ifx-bg-color);
		box-shadow: var(--ifx-shadow);
		border-radius: .5rem;
		text-shadow: none;
		border: 0;
		font-size: 1.5rem;
		line-height: 3rem;
	}

	.btn-primary.btn-attention:hover {
		border: 0;
		background-color: var(--ifx-bg-hover-color);
	}

/*
	=====================================
	new Nav
	=====================================
*/

	.navbar-fixed-top.ifx-newnav {
		height: var(--ifx-navbar-height) !important;
		max-height: var(--ifx-navbar-height) !important;
	}

	.ifx-newnav .navbar-brand {
	    padding-top: 1rem !important;
	    position: absolute !important;
	    display: inline !important;
	}

	.ifx-newnav .navbar-brand.navbar-brand-sm {
		display: flex !important;
		padding-top: .82rem !important;
		line-height: 1;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.ifx-newnav .navbar-brand.navbar-brand-sm > div {
		display: flex !important;
		flex-direction: row;
		line-height: 1;
		align-items: center;
	}

	.ifx-newnav .navbar-brand.navbar-brand-sm > span {
		display: flex !important;
		flex-direction: row;
		line-height: 1;
		align-items: center;
		font-size: 1.25rem;
		opacity: 0.72;
	}

	.ifx-newnav .navbar-brand.navbar-brand-sm span.brand {
		font-size: 2.5rem;
		font-weight: 700;
	}

	.ifx-newnav .navbar-toggle {
		margin-right: .5rem;
		margin-top: 1.25rem;
		border: none;
		border-radius: 1rem;
		z-index: 1042 !important;
	}

	.ifx-newnav .navbar-toggle:hover,
	.ifx-newnav .navbar-toggle:focus {
		background-color: rgba(0,0,0,.1);
	}

	.ifx-newnav .dropdown.active .dropdown-toggle {
		color: black !important;
	}

	.ifx-newnav .dropdown.open .dropdown-toggle {
		color: black !important;
	}

	.ifx-newnav .dropdown .caret {
	    border-top-color: rgba(255,255,255,.75) !important;
	    border-bottom-color: rgba(255,255,255,.75) !important;
	}

	.ifx-newnav .dropdown:hover .caret {
	    border-top-color: rgba(0,0,0,.75) !important;
	    border-bottom-color: rgba(0,0,0,.75) !important;
	}

	.ifx-newnav .dropdown.active .caret {
	    border-top-color: #000 !important;
	    border-bottom-color: #000 !important;
	}


	.ifx-icon {
		display: inline-block;
		position: relative;
		width: 1.5rem;
		height: 1.5rem;
		color: white;
		background-position: 50% 50%;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.ifx-icon-2x {
		width: 2.25rem;
		height: 2.25rem;
	}

	.ifx-icon-fb {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23fff' d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E");
	}

	.ifx-icon-twitter {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E");
	}

	@media (max-width: 1180px) {
		.col-lg-12 {
			padding-right: 0px;
			padding-left: 0px;

		}
	}

	@media (max-width: 768px) {
		.row .small-100 {
			width: 100%;
		}
		footer img.brand {
			margin: 1rem auto;
		}
		.col-xs-full {
			width: 100%;
		}
		.text-xs-center {
			text-align: center !important;
		}
		.pt-100-4 {
			padding-top: 15px;
		}
	}

	@media (max-width: 1000px) {

		.ifx-newnav .navbar-collapse {
			max-height: calc(100vh - 15px);
			padding-right: 15px;
			padding-left: 15px;
			border: none !important;
			box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
			background-color: rgba(44, 83, 158, .72);
			backdrop-filter: blur(10px);
			border-radius: 1rem;
			position: relative;
			top: 1rem;
			box-shadow: 0 .5rem 1rem -.25rem rgba(0,0,0,.5);
		}

		.ifx-newnav .navbar-collapse ul {
			padding: 0 .5rem;
		}

		.ifx-newnav .navbar-collapse li {
		}

		.ifx-newnav .navbar-collapse li a {
			height: auto;
			line-height: initial;
			border-radius: .5rem;
		}

		.ifx-newnav .dropdown-menu {
			background-color: rgba(255,255,255,.5);
		}

		.ifx-newnav .dropdown-menu .divider {
			background-color: rgba(255,255,255,.5);
		}

		.ifx-newnav .dropdown-header {
			color: rgba(255,255,255,.5) !important;
			font-size: 1.5rem;
			font-weight: 500;
			margin: 0;
		}

		.ifx-newnav .dropdown-menu a {
			color: rgba(255,255,255,1) !important;
		}

		.ifx-newnav a:hover,
		.ifx-newnav a:focus {
			background: none !important;
			color: rgba(255,255,255,1) !important;
			background-color: rgba(255,255,255,.1) !important;
		}

		.ifx-newnav .active > a {
			background: none !important;
			color: rgba(44, 83, 158, 1) !important;
			background-color: rgba(255,255,255,.75) !important;
		}
		.ifx-newnav .active > a:hover,
		.ifx-newnav .active > a:focus {
			background: none !important;
			color: rgba(44, 83, 158, 1) !important;
			background-color: rgba(255,255,255,1) !important;
		}

		.ifx-newnav .open > a.dropdown-toggle,
		.ifx-newnav .open > a.dropdown-toggle:hover,
		.ifx-newnav .open > a.dropdown-toggle:focus {
			background: none !important;
			color: rgba(44, 83, 158, 1) !important;
			background-color: rgba(255,255,255,1) !important;
		}

		.ifx-newnav .dropdown:hover .caret {
		    border-top-color: rgba(255,255,255,.75) !important;
		    border-bottom-color: rgba(255,255,255,.75) !important;
		}

		.ifx-newnav .dropdown.open .caret {
		    border-top-color: rgba(44, 83, 158, 1) !important;
		    border-bottom-color: rgba(44, 83, 158, 1) !important;
		}

	}

	@media (min-width: 1000px) {
		.ifx-newnav li > .dropdown-menu {
			max-height: calc( 100vh - 61px );
			overflow-y: auto;
		}
		.navbar-fixed-top.ifx-newnav .nav > li > a {
			height: calc( var(--ifx-navbar-height) - 1px) !important;
			line-height:  calc( var(--ifx-navbar-height) - 1px) !important;
		}
	}

	@media (min-width: 1001px) {
		.ifx-newnav .navbar-nav {
			float: right;
		}
		.ifx-newnav .nav > li > a {
			height: 54px;
			line-height: 54px;
			font-size: 1.15rem;
			padding: 0px 10px;
		}

		.ifx-newnav li > .dropdown-menu {
			border: 0;
			background-color: rgba(255, 255, 255, .72);
			backdrop-filter: blur(10px);
			box-shadow: 0 .5rem 1rem -.25rem rgba(0,0,0,.5);
		}

		.ifx-newnav li > .dropdown-menu > li > a {
			font-size: 1.25rem;
		}

		.ifx-newnav li > .dropdown-menu > li > a.mainsubnav {
			font-size: 1.5rem;
		}

		.ifx-newnav .dropdown-menu .divider {
			background-color: rgba(0,0,0,.15);
		}

		.ifx-newnav .dropdown-header {
			color: rgba(44, 83, 158, 1) !important;
		}

		.ifx-newnav li > .dropdown-menu > li > a:hover,
		.ifx-newnav li > .dropdown-menu > li > a:focus {
		    color: #fff;
		    text-decoration: none;
		    background-color: rgba(44, 83, 158, 1);
		}

	}

	@media (min-width: 1100px) {
		.ifx-newnav .nav > li > a {
			height: 54px;
			line-height: 54px;
			font-size: 1.5rem;
			padding: 0px 10px;
		}
	}
	
	.responsive-text {
		font-size: 20px; /* Standard-Schriftgröße für mobile Geräte */
	}

	@media (min-width: 768px) {
		.responsive-text {
			font-size: 40px; /* Schriftgröße für Bildschirmgrößen ab 768px Breite (Desktop) */
		}
	}

/*
	=====================================
	Artikelvarianten
	=====================================
*/

	.article-variant-1 .row > div:nth-child(1) {
		border-right: 1px solid rgba(0,15,30,.15);
	}

	.article-variant-1 .show-article {
		position: relative;
		box-shadow: none;
		padding: 1rem !important;
		border: none !important;
		background: none !important;
	}

	.article-variant-1 div .show-article:after {
		position: absolute;
		content: "";
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: rgba(0,15,30,.15);
	}

	.article-variant-1 div .show-article:last-of-type:after {
		background-color: transparent;
	}

	.article-variant-1 .cq-pagination-r {
		padding-bottom: 1rem;
	}

	@media (max-width: 780px){
		.article-variant-1 .show-article {
			padding: 0.5rem !important;
		}
	}

	@media (max-width: 480px){
		.article-variant-1 .show-article {
			padding: 1rem 0 !important;
		}
		.article-variant-1 .row > div:nth-child(1) {
			border-right: none;
		}
	}
