@import 'animations.min.css?v=1.0.0';
@import 'nav.min.css?v=1.0.0';
@import 'svgs.min.css?v=1.0.0';

/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-display:swap;
  src: local(''),
       url('/assets//fonts/open-sans-v34-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/assets//fonts/open-sans-v34-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: local(''),
       url('/assets//fonts/open-sans-v34-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/assets//fonts/open-sans-v34-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display:swap;
  src: local(''),
       url('/assets//fonts/open-sans-v34-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/assets//fonts/open-sans-v34-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* general */
*,:before,:after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;	
}

*:focus { outline: none!important; }

html, body {
	min-width: 320px;	
	min-height:100%;		
	background-color:#FFFFFF;	
	color:#1d1d1b;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;	
	font-size:18px;
	-webkit-overflow-scrolling:touch;
}
html.touch { cursor:pointer; }

a, button {	
	-webkit-transition:0.3s all;
	-moz-transition:0.3s all;
	-o-transition:0.3s all;
	-ms-transition:0.3s all;
	transition:0.3s all;
}

.container, .container-fluid, .banner, main, section, .section, article, aside, footer { position:relative; }

/* text colors */
.text-primary { color:#00834C!important; } /* RGB: 0,131,76 (Grün) */
.text-secondary { color:#64C3A1!important; } /* RGB: 100,195,161 (Hellgrün) */
.text-black { color:#1d1d1b!important; } /* RGB: 29,29,27 (Schwarz) */
.text-gray { color:#c6c6c6!important; } /* RGB: 198,198,198 (Grau) */
.text-gray-dark { color:#878787!important; } /* RGB: 135,135,135 (Dunkelgrau) */
.text-gray-light { color:#e3e3e3!important; } /* RGB: 227,227,227 (Hellgrau) */
.text-white { color:#ffffff!important; } /* RGB: 255,255,255 (Weiss) */

/* bg colors */
.bg-primary { background-color: #00834C!important; }
.bg-secondary { background-color:#64C3A1!important; } 
.bg-black { background-color:#1d1d1b!important; }
.bg-gray { background-color:#c6c6c6!important; }
.bg-gray-dark { background-color:#878787!important; }
.bg-gray-light { background-color:#e3e3e3!important; }
.bg-gray-light-50 { background-color:rgba(227,227,227,0.5)!important; }
.bg-white { background-color:#ffffff!important; }

/* border colors */
.border-primary, .border-primary::after { border-color:#00834C!important; }
.border-secondary, .border-secondary::after { border-color:#64C3A1!important; }
.border-black, .border-black::after { border-color:#1d1d1b!important; }
.border-gray, .border-gray::after { border-color:#c6c6c6!important; }
.border-gray-dark, .border-gray-dark::after { border-color:#878787!important; }
.border-gray-light, .border-gray-light::after { border-color:#e3e3e3!important; }
.border-white, .border-white::after { border-color:#ffffff!important; }

/* headings */
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 { 
	margin:0 0 1rem 0;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
}

h1,.h1 { font-size:1.5rem; line-height:1.2; }
h2,.h2 { font-size:1.5rem; line-height:1.2; }
h3,.h3 { font-size:1.5rem; line-height:1.2; }
h4,.h4 { font-size:1.25rem; line-height:1.5; }

/* text */
p { font-size:1rem; font-weight:300; line-height:1.5; }
.body-1 { font-size:1rem; font-weight:300; line-height:1.5; }
.body-2 { font-size:.9rem; font-weight:300; line-height:1.5; }
.body-3 { font-size:.8rem; font-weight:300; line-height:1.5; }
.nano { font-size:.7rem; font-weight:300; line-height:1.5; }
.hyphens-auto { hyphens:auto; }

/* weights */
strong, .strong { font-weight:600!important; } 
b, .b { font-weight:700!important; } 

/* line-heights */
.lh-1-3 { line-height:1.3; }
.lh-1-15 { line-height:1.15; }

/* links */
a, a:visited, a:focus { color:#1d1d1b; text-decoration:underline; }
a:hover { color:#00834C; text-decoration:underline; }

/* lists */
ul, ol { 
	margin:0 0 1rem 0; 
	padding:0 0 0 20px; 	
	list-style-type:circle;
}
ul > li, ol > li {	
	font-size:1rem;
	line-height:1.5;
}

/* buttons base */
.bt { 
	display:inline-flex; 	
	align-items:center;
	justify-content:center;
	height:48px;
	padding:0 1rem;
	background-color:transparent;
	border:transparent 2px solid; 
	line-height:1;
	text-align:center;
	text-decoration:none!important;
}

/* buttons sizes */
.bt-xl { 
	height:56px;
	padding:0 1.75rem;
}
.bt-block { 	
	width:100%;
	padding:0 1rem;
	margin:auto;		
}

/* buttons types */
.bt-icon { 
	padding:0;
	width:40px;
}
.bt-icon.bt-lg {
	width:48px;
}
.bt-icon.bt-xl {
	width:56px;
}

/* buttons solid */
.bt-primary, .bt-primary:visited { 
	background-color:#00834C;
	color:#fff;	
}
.bt-primary:hover { 	
	background-color:#64C3A1;
	color:#fff;
}
.bt-primary:focus { 
	background-color:#64C3A1;
	color:#fff;
}

.bt-secondary, .bt-secondary:visited { 
	background-color:#64C3A1;
	color:#fff;	
}
.bt-secondary:hover { 	
	background-color:#00834C;
	color:#fff;
}
.bt-secondary:focus { 
	background-color:#00834C;
	color:#fff;
}

/* buttons outlined */
.bt-primary.outlined, .bt-primary.outlined:visited { 
	background-color:transparent;
	border-color:#00834C;
	color:#00834C;	
}
.bt-primary.outlined:hover { 	
	background-color:#00834C;
	border-color:#00834C;	
	color:#FFFFFF;
}
.bt-primary.outlined:focus { 
	background-color:#00834C;
	border-color:#00834C;		
	color:#FFFFFF;
}

.bt-white.outlined, .bt-white.outlined:visited { 
	background-color:transparent;
	border-color:#FFFFFF;
	color:#FFFFFF;	
}
.bt-white.outlined:hover { 	
	background-color:#FFFFFF;
	border-color:#FFFFFF;	
	color:#00834C;
}
.bt-white.outlined:focus { 
	background-color:#FFFFFF;
	border-color:#FFFFFF;		
	color:#00834C;
}

/* buttons disabled */
.bt-disabled, .bt-disabled:visited { 
	background-color:#eee!important;
	color:#aaa!important;	
}
.bt-disabled:hover { 	
	background-color:#eee!important;
	color:#aaa!important;
}
.bt-disabled:focus { 
	background-color:#eee!important;
	color:#aaa!important;
}

/* close button */
.bt-close {
	width:40px;
	height:40px;
	padding:0;
}
.bt-close:hover, .bt-close:focus {
	background:#fff!important;
}
.bt-close .svg {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.bt-close:hover .svg, .bt-close:focus .svg  {
	background:#00834C!important;
}

/* spacings - cms usage */
.p-0-75 { padding-left:0.75rem!important; padding-right:0.75rem!important; padding-top:0.75rem!important; padding-bottom:0.75rem!important; }
.px-0-75 { padding-left:0.75rem!important; padding-right:0.75rem!important; }
.ps-0-75 { padding-left:0.75rem!important; }
.pe-0-75 { padding-right:0.75rem!important; }
.py-0-75 { padding-top:0.75rem!important; padding-bottom:0.75rem!important; }
.pt-0-75 { padding-top:0.75rem!important; }
.pb-0-75 { padding-bottom:0.75rem!important; }
.py-6 { padding-top:6.5rem; padding-bottom:6.5rem; }
.pt-6 { padding-top:6.5rem; }
.pb-6 { padding-bottom:6.5rem; }

/* aspects */
.aspect { position:relative; }
.aspect--4-3 { padding-top:75%; }
.aspect--16-8 { padding-top:50.0%; }
.aspect--16-9 { padding-top:56.25%; }
.aspect--16-10 { padding-top:62.5%; }

.aspect-inner { 
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.aspect-inner iframe, .aspect-inner video {
	width:100%;
	height:100%;
}

/* object-fit */
.object-fit-cover {
	width:100%;
	height:100%;
	object-fit:cover;
}
.object-fit-contain {	
	width:100%;
	height:100%;
	object-fit:contain;
}


/* ELEMENTS >> */
/* general */
.container-narrow {
	width:840px;
	max-width:100%;
}

/* Unordered lists in content */
.block--1-col ul > li, .block--2-col ul > li {
	margin-bottom:.35rem;
}
.block--1-col ul > li:last-child, .block--2-col ul > li:last-child {
	margin-bottom:0;
}

/* header */
header {
	height:120px;
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:100;		
	background:#fff;
}

.logo { 
	position:absolute;
	left:2rem;
	z-index:2;
}

/* banner */
.banner { 
	width:100%;	
	padding-top:120px;
}
.banner-fullscreen {
	height:100vh;
}
.banner-default, .banner-none {
	height:auto;
}

.banner-inner {
	max-height:100%;
}
.banner.has--claim .banner-inner {
	max-height:calc(100% - 90px);
}
.banner-claim {
	height:90px;
}

/* carousel */
.carousel-indicators {
	margin-bottom:2rem;
}
.carousel-indicators [data-bs-target] {
	width:14px;
	height:14px;	
	margin-left:4px;
	margin-right:4px;
	border:0 none;
	opacity:1;
	background-color:#e3e3e3;
	-webkit-border-radius:50%;
	border-radius:50%;
}
.carousel-indicators [data-bs-target]:hover {
	background-color:#64C3A1;
}
.carousel-indicators .active {
	background-color:#00834C!important;
}

.carousel-control-next, .carousel-control-prev {	
	width: 52px;
	opacity: 1;
}
.carousel-control-next:hover, .carousel-control-prev:hover {	
	opacity: 1;
}
.carousel-control-next {
	right:-72px; 
}
.carousel-control-prev {
	left:-72px; 
}
.carousel-control-next-icon, .carousel-control-prev-icon {
	width: 52px;
	height: 99px;
}
.carousel-control-next-icon {
  background-image: url('/files/images/icons/carousel-arrow-right.png');
}
.carousel-control-prev-icon {
  background-image: url('/files/images/icons/carousel-arrow-left.png');
}

/* teaser */
.block--teaser-immobilien .item:hover .bt-primary.outlined { 	
	background-color:#00834C;
	border-color:#00834C;	
	color:#FFFFFF;
}

/* xxl list */
.block--list-xxl .item {
	min-height:9.05rem;
	position:relative;
	z-index:1;
	margin-left:4.2rem;
	margin-bottom:2.25rem;	
}
.block--list-xxl .item:last-child {	
	margin-bottom:0rem;	
}

.block--list-xxl .item-icon {
	width:7.4rem;
	height:7.4rem;
	position:absolute;	
	left:0;
	z-index:2;
	font-size:3rem;
	-webkit-transform-origin:center;
	transform-origin:center;
	-webkit-transform:translateX(-50%) rotate(45deg);
	transform:translateX(-50%) rotate(45deg);
}

.block--list-xxl .item-icon-text {
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

.block--list-xxl .item-text {
	padding-left:7.4rem;
	padding-right:3.2rem;
}

/* list assignments */
.block--list-assignments .list {
		height:4.5rem;	
}
.block--list-assignments .item {	
	margin-bottom:.75rem;
}
.block--list-assignments .item:last-child {
	margin-bottom:0!important;
}
.block--list-assignments .item-link {
	height:4.5rem;
	padding-right:calc(3rem + 32px)!important;
}
.block--list-assignments .item-link-icon {
	width:32px;
	height:32px;
	position:absolute;
	right:1.5rem;
	z-index:1;	
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.block--list-assignments .item-link:hover {
	background-color:rgba(100,195,161,.25)!important;
	color:#1d1d1b!important;
}
.block--list-assignments .item-link:hover .item-link-icon {
	background-color:#00834C!important;
	color:#fff!important;
}

/* accordion */
.block--accordion .carousel-indicators {
	margin-bottom:-1.5rem;
}
.block--accordion .item {	
	position:relative;		
	margin-bottom:1.5rem;	
}
.block--accordion #acc_haus .carousel-inner, 		
.block--accordion #acc_wohnungen .carousel-inner {
	margin-bottom:1.25rem;	
}
.block--accordion .item:last-child {				
	margin-bottom:0;	
}
.block--accordion .item:last-child .accordion-body {				
	padding-bottom:0!important;	
}

.block--accordion .item-icon {
	width: calc(100px + 1.25rem);
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-right:#fff 1.25rem solid;
}
.block--accordion .item-icon img {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}

.block--accordion .accordion-button {	
	min-height: 100px;
	padding-left: calc(100px + 3.25rem);	
	background: #fff;
}
.block--accordion .accordion-button:not(.collapsed) {
	color:#00834C;
}
.block--accordion .accordion-button::after {
	display:none!important;
}
.block--accordion .accordion-button:not(.collapsed) .item-icon img {
	-webkit-transform:rotate(-180deg);
	transform:rotate(-180deg);
}

/* Objekt-Liste */
.object-listing .item-badge {
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
.object-listing .item-button {
	padding-top:.75rem;
	padding-bottom:.75rem;
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.object-listing .item:hover .item-button {
	background:#00834C!important;
	color:#fff!important;
}

/* Objekt-Details */
.block--object-details .betreuung-content ul > li {
	margin-bottom:.35rem;
}
.block--object-details .betreuung-content ul > li:last-child {
	margin-bottom:0;
}
.block--object-details .betreuung-partner-content p:last-child {
	margin-bottom:0;
}

/* steckbrief */
.steckbrief-content p:last-child {
	margin-bottom:0;
}

/* jobs */
.block--jobs .item-button .svg {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.block--jobs .item-button:hover .svg {
	background:#fff!important;
}

/* call2action */
.block--call2action p {
	line-height:1.3;
	margin-bottom:.75rem;
}

/* ansprechpartner */
.block--ansprechpartner .item-image {
	max-width:245px;
	border:#e3e3e3 2px solid;
}
.block--ansprechpartner .item-image:hover {
	border-color:#00834C;
}

/* footer */
.social-icons a:hover {
	background:rgba(100,195,161,.25);
}
.social-ratings {
	max-width: 100%;
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
}

.social-ratings--immoscout {
	width: 208px;
	height: 153px;
	border: 0 none !important;
	margin: 0;
}

.social-ratings--g-widget {
	width: 182px;
	height: 137px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left: 0;
	border: #757575 1px solid;
	text-align: center;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.25;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

/* << ELEMENTS */

@media (min-width: 1921px) {
	
}
	
@media (max-width: 1899.98px) { 	
	.logo {
		width:259px;
		left:1rem;
	}
}

@media (max-width: 1599.98px) { 
	html, body { font-size:18px; }
	
	h1,.h1 { font-size:1.35rem; line-height:1.2; }
	h2,.h2 { font-size:1.35rem; line-height:1.2; }
	h3,.h3 { font-size:1.35rem; line-height:1.2; }
	h4,.h4 { font-size:1.15rem; line-height:1.5; }
}

@media (max-width: 1499.98px) { 	
	/* carousel */
	.carousel-control-next {
		right:2rem; 
	}
	.carousel-control-prev {
		left:2rem; 
	}
}

@media (max-width: 1199.98px) {	
	/* banner */
	.banner-fullscreen {
		height:auto;
	}
	.banner-container {
		max-width:100%!important;
		padding:0!important;
	}	
}

@media (max-width: 991.98px) {	
	/* carousel */
	.carousel-indicators {
		margin-bottom:1.25rem;
	}
	
	.carousel-control-next, .carousel-control-prev {
		width: 26px;		
	}
	.carousel-control-next-icon, .carousel-control-prev-icon {
		width: 26px;
		height: 50px;
	}
	.carousel-control-next {
		right:1rem; 
	}
	.carousel-control-prev {
		left:1rem; 
	}
	
	/* list assignments */
	.block--list-assignments .list {
		height:3.5rem;
		margin-bottom:.75rem;
	}
	.block--list-assignments .item-link {
		height:3.5rem;
		padding-right:calc(2rem + 28px)!important;
	}
	.block--list-assignments .item-link-icon {
		width:28px;
		height:28px;		
		right:1rem;		
	}
	
	/* steckbrief */
	.steckbrief-content.border-2 {
		border-right:0 none!important;
	}
	
	/* accordion */
	.block--accordion .item {
		margin-bottom:1rem;
	}
	.block--accordion .item-icon {
		width: calc(64px + 1rem);	
		border-right:#fff 1rem solid;
	}	
	.block--accordion .item-icon img {
		width: 50px;
		height:auto;
	}
	.block--accordion .accordion-button {	
		min-height: 64px;
		padding-left: calc(64px + 2.25rem);		
	}
}

@media screen and (max-width: 767.98px), screen and (max-height: 640px) {
	html, body { font-size:17px; }
	
	h1,.h1 { font-size:1.25rem; line-height:1.3; }
	h2,.h2 { font-size:1.25rem; line-height:1.3; }
	h3,.h3 { font-size:1.25rem; line-height:1.3; }
	h4,.h4 { font-size:1.15rem; line-height:1.5; }
	
	/* spacings - cms usage */
	.py-6 { padding-top:4.5rem; padding-bottom:4.5rem; }
	.pt-6 { padding-top:4.5rem; }
	.pb-6 { padding-bottom:4.5rem; }
	
	/* buttons sizes */
	.bt-xl { 
		height:50px!important;
		padding:0 1.25rem;
	}
	
	/* header */
	header {
		height:85px;
	}
	
	.logo { 
		width:188px;
		height:auto;		
		left:1rem;		
	}
	
	/* banner */
	.banner {
		padding-top:85px;
	}	
	
	/* hinterlegte ueberschrift */
	.block--1-col-heading h2 {
		padding:.6rem 1rem!important;
	}
	
	/* xxl list */
	.block--list-xxl .item {			
		margin-bottom:1.75rem;	
	}

	.block--list-xxl .item-icon {			
		font-size:2.5rem;		
	}	

	.block--list-xxl .item-text {
		padding-left:6.9rem;
		padding-right:1.5rem;
	}
}

@media (max-width: 575.98px) { 
	
}	

@media (max-width: 479.98px) { 
	/* xxl list */
	.block--list-xxl .item {		
		margin-left:3.8rem;
		margin-bottom:1.5rem;	
	}

	.block--list-xxl .item-icon {
		width:5.9rem;
		height:5.9rem;	
		padding:.35rem!important;
		font-size:2.25rem;		
	}	

	.block--list-xxl .item-text {
		padding-left:5.2rem;
		padding-right:1.25rem;
	}
	
	
}	

@media (max-width: 415.98px) { 
	/* footer */
	.social-ratings--immoscout {
		width:198px;
	}
}