/* raleway-100 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/raleway-v34-latin-100.woff2') format('woff2');
}
/* raleway-200 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/raleway-v34-latin-200.woff2') format('woff2'); 
}
/* raleway-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/raleway-v34-latin-300.woff2') format('woff2'); 
}
/* raleway-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-v34-latin-regular.woff2') format('woff2'); 
}
/* raleway-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/raleway-v34-latin-500.woff2') format('woff2'); 
}
/* raleway-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/raleway-v34-latin-600.woff2') format('woff2'); 
}
/* raleway-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/raleway-v34-latin-700.woff2') format('woff2'); 
}
/* shadows-into-light-two-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Shadows Into Light Two';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/shadows-into-light-two-v17-latin-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap; 
  font-family: 'Rock Salt';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/rock-salt-v23-latin-regular.woff2') format('woff2');
}
:root{
	--c-beige: #B9A68D;
	--c-beige-headline: #A88E71;
	--c-beige-headline: #B9A68D;
	--c-red: #6a0f13; 
	--c-red-bright: #9E001A; 
	--t-std: all 0.33s ease; 
}

*, *:after, *:before{
	/*outline: 1px solid red;*/
}
html{
	scroll-padding-top: 150px; 
}

body{
	font-family: 'Raleway', sans-serif;
	line-height: 1.44;	
	font-size: 18px;
}

h1, .h1, h2, h3, h4, h5 {
	font-family: "Raleway", sans-serif; 
	letter-spacing: 0; 
	line-height: 1.15;
}
h1, .h1, h2{
	font-weight: 200;
	text-wrap: balance; 
}

h4, h5 {
	font-weight: 600;
}

h2{
	color:var(--c-beige-headline);
}
h2:has(+.upperwide){
	margin-bottom: 1em; 
}
h2+.upperwide{
	margin-bottom: 2em; 
}
.narrow{
	max-width: 45ch;
}
.header_img .claim h1 {
	margin-bottom: 0.5em;
	max-width: 720px;
	font-size: 3em;
	margin-bottom: 0.75em; 
	text-wrap: balance; 
	hyphens: auto; 
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.header_img .claim.anim.row2 h1 {
	animation-name: inRow2; 
	animation-duration: 2s; 
	animation-delay: 0; 
	animation-fill-mode: forwards; 
	animation-timing-function: linear;
}

@keyframes inRow2 {
	0% { 
		clip-path: polygon(0 0, 0 0, 0 50%, 0 50%);
	}
	50% { 
		clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
	}
	51%{
		clip-path: polygon(100% 0, 100% 50%, 8% 50%, 8% 100%, 0 100%, 0 50%, 0 0);
	}
	100% { 
		clip-path: polygon(100% 0, 100% 50%, 100% 50%, 100% 100%, 0 100%, 0 50%, 0 0);
	}
}


.header_img .claim p {
	transition: all 1s ease 1.75s; 
	opacity: 0; 
	transform: translateY(50%);
}
.header_img .claim.anim.row2 p {
	opacity: 1; 
	transform: translateY(0);
	
	@starting-style{
		opacity: 0; 
		transform: translateY(50%);
	}
}

p, ul, ol, table {
	margin: 0 0 0.5em 0;
}
section {
	padding-block: 100px; 
}
.form_button, .form_button:link, .form_button:visited, input[type=submit], input[type=button] {
	font-size: inherit; 
    letter-spacing:0.075em;
	padding: 0.75em 1.5em;
}

.main_frame {
	max-width: 1200px;
}
.extrapadtop{
	padding-top: 4em; 
}

.bg-grey{
	background-color: #f1f1f1;
	

	& h4{
		color: var(--c-red); 
		
	}
	& h2, & h3{
		color: black; 
		
	}
}

.slider3_frame .item {
	margin: 0 15px;
	background-color: white; 
}
.slider3_frame .owl-stage{
	display: flex; 
}
.slider3_frame .owl-stage .owl-item{
	display: flex; 
}
.slider3_frame .owl-stage .owl-item .img img{
	width: 100%; 
	aspect-ratio: 20/13;
	object-fit: cover; 
}
.slider3_frame{
	box-sizing: border-box; 
	position: relative; 
	margin: 0; 
	width: 100%;  
	padding-bottom: 66px; 
}
.slider3_frame>.slider3_framein{
	padding-left: 4em; 
	padding-right: 4em; 
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
	
}
.slider3_frame .owl-carousel{
	margin-bottom: 66px; 
}
.scroller_nav3 .arrow_left, .scroller_nav3 .arrow_right {
	z-index: 2;
	display: block;
	cursor: pointer;
	width: 3em;
	aspect-ratio: 1; 
	background-size: contain;
	background-position: center center;
	padding: 0;
	margin: 0;
	background-image: none; 
	position: absolute;
	top: 50%;
	margin-top: 0;
	background-color: white; 
	display: grid;
	justify-items: center;
	align-items: center;
	height: auto; 
	transition: var(--t-std); 
}
.scroller_nav3 .arrow_left:hover, .scroller_nav3 .arrow_right:hover {
	background-color: var(--c-red);
	
	&:after, &:before{
		border-color: white; 
	}
}
.scroller_nav3 .arrow_left:after, .scroller_nav3 .arrow_right:after {
	display: block; 
	content: ""; 
	width: 1em; 
	height: 1em; 
	border-right: 1px solid black;  
	border-bottom: 1px solid black; 
	transform: translateX(-25%) rotateZ(-45deg);
	transition: var(--t-std); 
}
.scroller_nav3 .arrow_left:after {
	transform: scaleX(-1) translateX(-25%) rotateZ(-45deg);
}
.scroller_nav3 .arrow_left {
	left: 0px;
}
.scroller_nav3 .arrow_right {
	right: 0px;
}
.object_frame .item{
	border: 1px solid #f1f1f1; 
}
.object_frame .item .img img{
	display: block; 
}

.item {
	height: auto;
	display: flex;
	flex-direction: column;
	padding-bottom:0;
	background-color: white; 
}
.item .text{
	padding: 1.75em 1.5em 1.5em 2em;
	display: flex; 
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
}
.item .text>:last-child{
	margin-bottom: 0; 
	padding-right: 3em; 	
	margin-bottom: -0.25em;
}
.item .text hr{
	border-top: 1px solid var(--c-red);
	width: 2em;
	height: 1.125em;
	flex-grow: 1;
	background-color: transparent;
	margin: 0 0 auto;
}

.item a.right {
	position: absolute;
	right: 1.5em;
	bottom: 1.5em;
	width: 2.5em;
	aspect-ratio: 1; 
	background-color: var(--c-red);
	display: grid;
	justify-items: center;
	align-items: center;
	height: auto;
	transition: var(--t-std); 
}
.item a.right:hover {
	background-color: var(--c-red-bright);
}
.item a.right:after {
	display: block;
	content: "";
	width: 1em;
	height: 1em;
	border-right: 1px solid white;
	border-bottom: 1px solid white;
	transform: translateX(-25%) rotateZ(-45deg);
}



.main_frame3{
	max-width: 1860px;
	display: flex;
	padding: 0 30px;
	gap: 2em;
	box-sizing: border-box;
}
.logo {
	flex-grow: 1;
	display: block; 
}
header .social_icons {
	flex-shrink: 0; 
}
.slogan{
	text-transform: uppercase; 
	font-size: 1.1em; 
	margin-bottom: 1em; 
	letter-spacing: 0.075em; 
	font-weight: 500;
	display: none; 
}
.location,
.area,
.pricetag{
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.location .icon,
.area .icon,
.pricetag .icon{
	font-size: 1.33em; 
	margin-right: 0.33em;
}
.pricetag b {
	font-family: "Shadows Into Light Two", sans-serif;	
	color: #6a0f13;
	font-size:2em;
}
.pricetag b:after {
	display: none; 
}
.priceinfo{
	line-height: 1.125;
}
.item h3{
	font-size: 1.35em; 
	font-weight: 600; 
	line-height: 1.39;
	margin-top: 0; 
	margin-bottom: 1em;
	hyphens: auto; 
	text-wrap: balance; 
}
.slider3_frame img.arrow_more{
	width: 44px; 
	aspect-ratio: 1; 
}


.style_element  {
	width: 100%;
	max-width: 800px;
	aspect-ratio: 7.5;
	background: url(../images/style_element.svg) no-repeat;
	background-size: cover;
	background-position: -100px top;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: scaleX(-1) rotate(0deg);
	z-index: 0;
}



header {
    /* transition:all 0.5s; */
    z-index:110;
    padding:30px 0 30px 0;
    top:0px;
    color:white;
	transition:all 0.5s;
	position: fixed;
	width: 100%; 
}


header.outside {
    top:-75px;
    transition:top 0.5s;
}

body.fixed {
    padding-top:75px;
}

body.fixed header {
    position:fixed;
    width:100%;
    top:0px;
    background-color:#f1f1f1;
	transition:all 0.5s;
}

body.fixed header .logo img  {

}
body.fixed header icon{
	filter: invert(32%) sepia(11%) saturate(585%) hue-rotate(354deg) brightness(95%) contrast(96%); 
}
header .fa{
	transition: var(--t-std);
}



.logo  {
    z-index:1;
    position:relative;
    display:inline-block;
}

.logo img  {
    transition: var(--t-std);
    position:relative;
	filter: brightness(0) invert(1);
	width: 240px; 
}

body.fixed header .logo img {
    width:135px;
	filter: none;
}

.slider_section {
    padding:0;
    background:none;
}

.header_img2 {
    min-height:500px;    
	position: relative; 
	display: flex;
}

@media only screen and (max-width: 500px) {
	.header_img2 {
		min-height: unset; 
	}
}
.header_img2:after {
	content: ""; 
	position: absolute; 
	bottom: 0; 
	width: 100%; 
	left: 0; 
	height: 50%; 
	background: linear-gradient(0deg, #0009, #0000)
}

.header_img2:before {
	content: ""; 
	position: absolute; 
	top: 0; 
	width: 100%; 
	left: 0; 
	height: 200px; 
	min-height: 25%; 
	background: linear-gradient(0deg, #0000, #0009)
}


.slider_section::after {
    display:none;
}



@media only screen and (max-width: 960px) {
	.extrapadtop{
		padding-top: 0; 
	}
}
@media only screen and (max-width: 600px) {
	.scroller_nav3{
		display: flex; 
		gap: 2em; 
		justify-content: center; 
		margin-bottom: 2em; 
	}
	.scroller_nav3 .arrow_left, .scroller_nav3 .arrow_right {
		position: static; 
		width: 2.5em;
		
	}
	.slider3_frame>.slider3_framein{
			padding-inline: 0; 
	}
	.slider3_frame .owl-carousel {
		margin-bottom: 2em;
	}
}

@media only screen and (max-width: 500px) {
	header {

		padding: 20px 0;
	}
}
@media only screen and (max-width: 360px) {

	.main_frame3 {
		gap: 1em;
		padding: 0 20px !important;
		box-sizing: border-box;
		align-items: center;
	}
}



.header_img .claim {
	display: grid;
	grid-template-rows: minmax(170px, 3.5fr) auto 1fr;
	width: 100%;
	z-index: 1;
}

.header_img .claim>div {
	grid-row: 2; 
	width: 100%; 
}

.header_img .claim h1 {
    color:white;
    max-width:700px;
		text-shadow: 0 0 10px #0008;
}
.header_img .claim h1:last-child {
	margin-bottom:0; 
}

.header_img .claim p {
	color: white;
	text-shadow: 0 0 20px black;
}

body.page .header_img .claim h1 {
	font-size: 55px;
}

body.page .header_img .claim {
    left:0 !important;
    width:100% !important;
}


.header_img .claim h4 {
    margin-top:10px;
    max-width:500px;    
}

header .social_icons {
	display: flex;
	gap: 1em;
	margin: 0 0.75em;
	margin-top: 0.25em;
}

header .social_icons a {
    text-align:center;
	font-size: 1.25em; 
}


@media only screen and (max-width: 600px) {

}
.header_img, .slider_section {
    width:100%;
    /*background:url(../images/header_img.jpg);*/
	background-size:cover;
	background-position:center center;
    position:relative;
}





/* Menu */
nav {
	margin-right: 5vw; 
}

.menu_frame_in {
    height:30px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.menu {
	padding: 0px;
	margin: 0px;
	width:100%;
}

.menu a {
	background: none;
	display: block;
	overflow:hidden;
	text-decoration: none;
    text-align:center;
	vertical-align:middle;
    color:white;
    padding-bottom:8px;
    padding-top:5px;
    margin-left:25px;
    margin-right:25px;
    text-transform:uppercase;
	font-weight: 500;
}


.menu a.marked, .menu a:hover {
/*	background: url(../images/menu_marked.png) repeat-x 0px 35px; */
}

.menu a.marked  {

}

.menu > li a.marked::after, .menu > li a:hover::after {
	content:"";
	display:block;    
    box-sizing: border-box;
	border-top: 1px solid #650010;
	margin-top: 4px;
}

.menu > li a::after /* , .menu > li a:hover::after, .menu > li:hover  > a::after */ {

	border-top:2px dotted transparent;
	margin-top:3px;
	content:"";
	display:block;
    box-sizing: border-box;
    
    
}

.menu > li a.marked::after {

    
}

.menu ul li a::after, .menu ul li a:hover::after, .menu ul li a.marked::after {
	border-top:none !important;
	margin-top:0 !important;
	content:"" !important;
	display:block !important;
    box-sizing: border-box;
    
}


.menu a:hover, .menu li:hover, .menu li:hover a {


}

.menu ul {
	margin: 0;
	display: none;
	position: absolute;
	left:10px;
	margin-top:0px;
	background-color:#FFFFFF;
	z-index: 100;
	width: auto;
	min-width: 260px;
	-webkit-box-shadow: 0px 10px 13px -7px #000000, 5px 5px 15px 5px rgba(0,0,0,0); 
	box-shadow: 0px 10px 13px -7px #000000, 5px 5px 15px 5px rgba(0,0,0,0);
	padding:10px 10px 10px 10px;
}

.menu ul ul {
	-webkit-box-shadow: none; 
	box-shadow:none;
}

.menu ul li {
	margin-right:0;
}

.menu ul li a {
	line-height: 1.4;
	padding-top: 7px;
	padding-bottom: 7px;
	padding-left: 0px;
	padding-right: 0px;
	background: none;
	margin-right:10px;
	margin-left:10px;
	font-size: 11pt;
	border-bottom:2px solid transparent;
	color:#000000;
    text-align:left;
    
}


.menu ul li a.marked {
	border-bottom:2px solid #650010;
}

.menu ul li:last-child a {


}
.menu ul li:hover, .menu ul li:hover > a {
	text-decoration: none;
	background: none;
}

/*
.menu ul ul {
	margin-top: -20px;
	margin-left: -20px;
	left: 99%;
	width: auto;
}
*/

.menu ul ul {
	position:static;
	display:block;
	min-width:230px;
	background:none;
	margin-left:0px;
	padding-left:30px;
	margin-top:-10px;
}

.menu li {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
	margin-right: 0px;
}

.menu > li {
    display:inline-block;
    position:relative;
}


.menu > li  > a {
	color:white;
}

.fixed .menu > li  > a {
	color:black;
}



.menu ul li ul {
	right: 0px;
}

.menu ul li a {
	border-bottom:1px solid transparent;
}
.menu ul li a:hover, .menu ul li a.marked {
	color:#650010;
	border-bottom:1px solid #650010;
}

.menu ul li {

}

.menu li:hover > ul {
	display: inline-flex;
	flex-direction: column;
	flex-wrap: wrap;
}

.menu li:hover > ul.wide {
	width:560px; 
}

.menu_root ol {
    list-style: none;
    padding-left:0px;
    margin-bottom:30px;
}

.menu_root ol li {
    display:inline;
}

.menu_root a {
    display:inline-block;
    padding:10px;
    background-color:#1D4E6B;
    text-decoration:none;
    color:white;
    margin-right:5px;
    margin-bottom:5px;
    line-height:1.0;
    text-decoration:none;
    
}

.menu_root a:hover, .menu_root ol li:last-child a {
    background-color:#5997A4;

}

@media only screen and (max-width: 1600px) {


	.menu a {
		margin-left: 15px;
		margin-right: 15px;
	}
}
@media only screen and (max-width: 1439px) {


	nav {
		margin-right: 0; 
	}
}




.is_mobile {
    display:none;
}

#menu_sidebar {
	display:none;
}

.menu_disabled {
	
}

.menu_enabled {

}

.bt_menu_open, .bt_menu_close {
    /*.bkg_color*/
    width:55px;
    height:55px;
    position:fixed;
    display:none;
    z-index:999;
}

.bt_menu_open {
    /*.bkg_color*/
    width: 50px;
    height: 50px;
    display:none;
}

.bt_menu_open:hover, .bt_menu_close:hover {
	text-decoration:none;
}

.bt_menu_close {
    /*.bkg_color*/
	top:0px;
	right:245px;
	z-index:999;
	text-align:center;
	background-color: var(--c-red);
}

.bt_menu_open {
    top:22px;
    right:12px;
    text-align:center;
    border-radius: 50%;
    background:url(../images/mobile_icon.svg) no-repeat;
    width:50px;
    height:50px;
}
.nav-toggle{
	border-radius: 50%;
    background:url(../images/mobile_icon.svg) no-repeat;
    width:3rem;
	aspect-ratio: 1; 
	cursor: pointer; 
	border: none; 
	align-self: start;
	display: none; 
}
body.fixed .nav-toggle{
	filter: invert(92%) sepia(56%) saturate(5253%) hue-rotate(347deg) brightness(91%) contrast(97%);
}
.bt_menu_open:before, .bt_menu_close:before {
    font-family:'Font Awesome 6 Free';
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
    /*	content: "\f0c9"; */
    color:#FFFFFF;
    font-size:17pt;
    line-height:55px;
    text-decoration:none !important;
}

.bt_menu_close:before {
 	content: "\f00d";
}

.menu_lang2 {
	width:245px;	
	height:55px;
	position:fixed;
	top:0px;
	right:0px;
	display:none;
	z-index:999;
    border-bottom: 1px solid black;
	background-color: var(--c-red);
}

.menu_lang2 a {
    display: block;
    float: left;
    padding-left:10px;    
    padding-right:10px;
    height: 45px;
    line-height:50px;
    margin-top:5px;

    background-color: #ffffff;
    text-align: center;
    text-decoration: none;
    border-radius:5px;
    margin-left:5px;
}

/*
.menu_lang2 a.phone {
    background: url(../images/icons/xxx.svg) 15px 8px no-repeat;
    background-size: 30px 30px;
    background-color: #FFFFFF;
}

.menu_lang2 a.email {
    background: url(../images/icons/xxx.svg) 15px 8px no-repeat;
    background-size: 30px 30px;
    background-color: #FFFFFF;
}
*/

.menu_lang2 a.marked, .menu_lang2 a:hover {
	color:#4F4F4F;
	background-color:#E0EFDC;
}

/* Sidebar */

/* Menu */
#menu_sidebar, 
#menu_sidebar ul,
#menu_sidebar li
{
    padding: 0px;
    margin: 0px;
}

#menu_sidebar > li
{
	display:inline-block;
}

#menu_sidebar li
{
    list-style-type: none;
    text-align:left;
}
	
#menu_sidebar
{
    position:fixed;
    right:0;
    top:55px;
    height:auto;
    width:300px;
    background-color:#FFFFFF;
    
    color:black;
    box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
    -moz-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
    -webkit-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
    -khtml-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
    display:none;	
    z-index:19000;
    overflow:auto;
}


#menu_sidebar ul {
    /* display: none; */
    position: static;
    padding-left: 20px;
    margin-top: 0px;
}

#menu_sidebar a {
	vertical-align:middle;
	background-color:transparent;
	color:#000000;
	margin-right:0px;
	padding-left:15px;
	padding-right:15px;    	
	padding-top:10px;
	padding-bottom:10px;
	display:block;
}


#menu_sidebar a i {
	/* display:none; */
}

#menu_sidebar ul {
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
    -khtml-box-shadow:none;
    margin-left:0px;
    margin-bottom:10px;	
}

#menu_sidebar li:hover > ul {

}

#menu_sidebar > li {
    float: none;
    display:block;
}
	
#menu_sidebar li {
	border-bottom:1px solid #E7E7E7;
}

#menu_sidebar a.marked, #menu_sidebar a.marked:visited, #menu_sidebar a.marked:active, #menu_sidebar a.marked:hover {
    font-weight:500;

}

#menu_sidebar a:hover {
   /* background-color:#FFB5B5 !important; */
}


#menu_sidebar li:hover, #menu_sidebar li:hover > a {
    color:black;
    background-color: transparent;
}

#menu_sidebar li.closed {

}

#menu_sidebar li.opened {

}

#menu_sidebar ul li.closed {
}

#menu_sidebar ul li.opened {

}	

#menu_sidebar ul {
	margin-left:0px;
	background-color:#FFFFFF;
}
	
#menu_sidebar ul li {
    border-bottom:none;
    padding-left:0px;
    /*
    list-style-type: square;
    list-style-position: outside;
    */ 
}	

#menu_sidebar ul li a, 	#menu_sidebar ul li a:visited, 	#menu_sidebar ul li a:active 	 {
    /* min-height:24px !important; */
    padding-top:10px;
    padding-bottom:10px;
    padding-right:25px;
    padding-left:15px;
    /* font-size:9.5pt; */
    /* background:url(../images/menu_item.png) 0px 17px no-repeat; */
	
}

#menu_sidebar ul li a:hover, #menu_sidebar ul li a.marked,  #menu_sidebar ul li a.marked:hover {
	/* background:url(../images/menu_item_m.png) 0px 17px no-repeat; */

}

#menu_sidebar ul ul
{
    margin-top: 0; 
    left:0;
}

#menu_sidebar li.menu_sidebar_tools, 	#menu_sidebar li.menu_sidebar_tools:hover {
	height:24px;
	line-height:24px;
	min-height:24px;
	border:none;
	background-color:#E7E7E7;
	overflow:hidden;
}


/* Resposive */

@media (max-width:1279px) {
	.nav-toggle{
		display: block; 
	}
	nav {
		display:none;
	}    

    .bt_menu_open {
        display:block;
    }
    
    #menu_sidebar
    {
        position:fixed;
    }
    
	.is_desktop {
		display:none;	
	}

    .is_mobile {
        display:block;
    }
    
    header .form_button {
        top:100px;
        right:10px;
    }
    
    #menu_sidebar li.social_media {
        display:none;
    }
    
    header .social_icons {
        right:100px;
    }
}


@media only screen and (max-width: 960px) {
    .bt_menu_open {
    	top:22px;
    	right:15px;
    }
}


@media only screen and (max-width: 500px) {
    
    
    .top_frame {
        padding: 6px 12px 6px 12px;
        width: calc(100% - 24px);
    }
    .bt_menu_open {
        right: 10px;
    }
}



@media only screen and (max-width: 360px) {
    

	.nav-toggle{ 
		align-self: center; 
	}
}



section {
    padding-block:100px;
    position:relative;
    line-height:1.6;
	background-size:cover;
	background-position:center center;
    background-repeat:no-repeat;
}



.margin_top {
    margin-top:10px;
}

h4:has(+h2){
	
	text-transform: uppercase; 
	margin-bottom: 1.5em; 
}

h4.underline::after {
	content: "";
	display: block;
	border-bottom: 1px solid var(--c-red);
	width: 2em;
	height: 1.5em;
	flex-grow: 1;
	background-color: transparent;
	margin: 0 0 auto;
}

h4.underline {
	text-transform: uppercase; 
	margin-bottom: 2em; 
	letter-spacing: 0.075em;
}
h4.topline {
	text-transform: uppercase; 
	letter-spacing: 0.075em;
}


h2.underline::after {
    content:"";
    display:block;
    width:200px;
    margin-top:40px;
    margin-bottom:40px;
    border-bottom:1px solid var(--c-red);
    
}

/*

section ul, section ol {
    list-style-type:none; 
    padding-left: 20px;
}


section ul li::before {
    content: "✔";
    color:#650010;
    position:relative;
    margin-left: -20px;
    margin-right: 9px;
}
*/

.gray_section {
    background-color:#ECECEE;
}

.red_section {
    background-color:#650010;
    color:white;
}

.red_section a {
    color:white;
}

.red_section h2, .red_section h3, .red_section h4 {
    color:white;
}

.red_section h2.underline::after, .red_section h4.underline::after {
    border-bottom:2px solid white;
}


.red_section .form_button {
    background-color:white;   
    color:#000000;
}

.full_screen_text_col,
.full_screen_text_col.col-md-2:nth-child(2) {
    padding:65px max(65px,calc(50vw - 700px)) 65px 80px;
}
.full_screen_text_col.col-md-2:nth-child(1) {
    padding:65px 80px 65px 80px;
	margin-bottom: 0; 
}

.full_screen_row {
}

.full_screen_row .col-md-2 {
	background-size:cover;
	background-position:center center;
}

.full_screen_text_col .main_frame {
    padding:0px;
    margin:0;
    max-width:640px;
}

@media only screen and (max-width: 960px) {
		
	.img_full_row{
		width: 100%;
		aspect-ratio: 3 / 2; 
		margin-bottom: 0!important; 
	}
}


/* Icons und Stylelemente */

.sidebar {
    position:fixed;
    right:0px;
    top:20%;
    z-index:5;
}

a.phone, a.mail, a.phone2, a.mail2 {
    display:inline-block;
    background-size:44px 44px;
    padding-left:55px;
    min-height:44px;
    line-height:44px;
    background-repeat:no-repeat;
    text-decoration:none;
    margin-bottom:10px;
}
/*
a.phone2, a.mail2 {
    background-size:32px 32px;
    padding-left:55px;
    min-height:32px;
    line-height:32px;
    background-size:32px 32px;
    
}
*/

.sidebar a {
    width:44px;
    height:44px;
    padding-left:0px;
    margin-bottom:10px;
	background-color: #ececec;
	display: grid; 
	justify-content: center; 
	align-content: center; 
}
.sidebar a icon {
	font-size: 1.25em; 
}

a.phone {
    background-image:url(../images/icon_phone.svg);   
}

a.mail {
    background-image:url(../images/icon_mail.svg);   
}

a.phone2 {
    background-image:url(../images/icon_phone2.svg);
    padding-right:20px;
}

a.mail2 {
    background-image:url(../images/icon_mail2.svg); 
    padding-right:20px;
}

blockquote {
	font-family: inherit; 
    font-size: 2rem; 
    padding:0;
    display:block;
    margin-bottom:30px;
	color: var(--c-beige); 
	font-weight: 200; 
	font-style: italic; 
	line-height: 1.32;	
	margin: 0;
}
.slider_frame2 blockquote+p>b{
	text-transform: uppercase; 
}

.slider_frame2 blockquote{
	margin-bottom: 1em; 
}

.text_frame {
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}


section a {
    text-decoration:underline;
	text-underline-offset: 5px;
}

section a:hover {
    color:#650010
}

ul+h3 {
    margin-top:30px;
}


h3+h2 {
    margin-top:-10px;
    line-height:1.2;
}

h2+h3 {
    margin-top:-10px;
    margin-bottom:30px;
}

h4+h3 {
    margin-top:-20px;
}

h4+h1, h4+h2 {
    margin-top:-10px;
}
 
hr+h4 {
    padding-top:15px;
    
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child{
	margin-top: 0; 
}


hr {
    display:block;
    height:2px;
    background-color:#000000;
    clear:both;
}


h4+hr {
    /*margin-top:-20px;    */
}


#scroller_content {
    /*
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    z-index:3;
    background-color:trasparent;
    */
}

#scroller_content .owl-dots {
    display:none;
}


.slider_item {
    background-size: cover;
    background-position: center center;
    position: relative;
    min-height: 100vh;
	position: relative;
	display: flex;
	width: 100%;
}



.slider_item:after {
	content: ""; 
	position: absolute; 
	bottom: 0; 
	width: 100%; 
	left: 0; 
	height: 50%; 
	background: linear-gradient(0deg, #0009, #0000)
}

.slider_item:before {
	content: ""; 
	position: absolute; 
	top: 0; 
	width: 100%; 
	left: 0; 
	height: 200px; 
	min-height: 25%; 
	background: linear-gradient(0deg, #0000, #0009)
}


.slider_frame2 {
    position: relative;
    width:100%;
    
}

#scroller_content2 {
}

.flexrow{
	display: flex; 
	flex-wrap: wrap; 
}

.kon .leftside{
	position: relative; 
	width: 57%; 
}
.kon .rightside{
	width: 33%; 
	margin-left: auto; 
	position: relative; 
}

@media only screen and (max-width: 960px) {
	.kon .leftside{
		width: 100%; 
	}
	.kon .rightside{
		width: 100%; 
	}
	.kon{
		gap: 3em; 
	}
	.slider_frame2 quote {
		margin-bottom: 0.66em;
	}
}
.k_social_icons{
	position: absolute; 
	right: 0; 
	top: 0; 
	display: flex; 
	gap: 0.5em; 
	font-size: 1.25em; 
}

.slider_item2 {

}

.scroller_nav {

}

.scroller_nav .arrow_left, .scroller_nav .arrow_right {
    position:absolute;
    top:50%;
    margin-top:-32px;
    z-index:2;
    display:block;
    cursor:pointer;
    width:64px;
    height:64px;
    background-size: 64px 64px;
    background-position:0 0;
    padding:0;
}

.scroller_nav .arrow_right {
    right:0px;    
}

.scroller_nav .arrow_left {
    /* transform:rotate(-180deg);   */ 
}

.scroller_nav .arrow_left, .scroller_nav .arrow_right {
	z-index: 2;
	display: block;
	cursor: pointer;
	width: 4.3em;
	aspect-ratio: 1; 
	background-size: contain;
	background-position: center center;
	padding: 0;
	margin: 0;
	background-image: none; 
	position: absolute;
	top: 50%;
	margin-top: 0;
	background-color: var(--c-beige); 
	display: grid;
	justify-items: center;
	align-items: center;
	height: auto; 
	transition: var(--t-std); 
}
.scroller_nav .arrow_left:hover, .scroller_nav .arrow_right:hover {
	background-color: white;
	
	&:after, &:before{
		border-color: black; 
	}
}
.scroller_nav .arrow_left:after, .scroller_nav .arrow_right:after {
	display: block; 
	content: ""; 
	width: 33%; 
	aspect-ratio: 1;  
	border-right: 1px solid white;  
	border-bottom: 1px solid white; 
	transform: translateX(-25%) rotateZ(-45deg);
	transition: var(--t-std); 
}
.scroller_nav .arrow_left:after {
	transform: scaleX(-1) translateX(-25%) rotateZ(-45deg);
}
.scroller_nav .arrow_left {
	left: 0px;
}
.scroller_nav .arrow_right {
	right: 0px;
}

.scroller_nav2 {
    position:absolute;
    top:3px;
    right:32px;
    
}


.scroller_nav2{
	position: absolute; 
	right: 0; 
	top: -0.25em; 
	display: flex; 
	gap: 0.66em; 
}
.scroller_nav2 .arrow_left, .scroller_nav2 .arrow_right {
	z-index: 2;
	display: block;
	cursor: pointer;
	width: 1.6em;
	aspect-ratio: 1; 
	background-size: contain;
	background-position: center center;
	padding: 0;
	margin: 0;
	background-image: none; 
	margin-top: 0;
	background-color: #ececec; 
	display: grid;
	justify-items: center;
	align-items: center;
	height: auto; 
	transition: var(--t-std); 
}
.scroller_nav2 .arrow_left:hover, .scroller_nav2 .arrow_right:hover {
	background-color: var(--c-red);
	
	&:after, &:before{
		border-color: white; 
	}
}
.scroller_nav2 .arrow_left:after, .scroller_nav2 .arrow_right:after {
	display: block; 
	content: ""; 
	width: 33%; 
	aspect-ratio: 1; 
	border-right: 1px solid black;  
	border-bottom: 1px solid black; 
	transform: translateX(-25%) rotateZ(-45deg);
	transition: var(--t-std); 
}
.scroller_nav2 .arrow_left:after {
	transform: scaleX(-1) translateX(-25%) rotateZ(-45deg);
}


#scroller_content3 {
    
}


@media (max-width: 1500px) {

}

@media (max-width: 1439px) {
	.scroller_nav .arrow_left, .scroller_nav .arrow_right {
		width: 3em;
	}
	.header_img .claim {
		margin-left: 3em;
		margin-right: 3em;
	}
}

@media (max-width: 630px) {
	.scroller_nav .arrow_left, .scroller_nav .arrow_right {
		display: none; 
	}
	.header_img .claim {
		margin-left: 0;
		margin-right: 0;
	}
}


a:has(>.icon-bgred){
	text-decoration: none; 
	display: inline-flex; 
	gap: 0.75em; 
	align-items: center; 
}

section.bg-beige{
	color: white; 
	padding: 0; 
	background-color: var(--c-beige); 
	
	& h2, & h3, & h4{
		color: white; 
		
	}
	
	& h2.underline::after {
		border-color: #fff;
	}
	& a {
		color: white; 
	}
	& a:hover {
		color: var(--c-red); 
	}
}

section:has(>.full_screen_row){
	padding: 0; 
	
}




.akkordeon_frame {
    margin-bottom:30px
    
}

.akkordeon {
    margin-bottom:10px;
    border-bottom:1px solid #DBDBDD;

}

.akkordeon>a:first-child {
    text-decoration:none;
    position:relative;
    display:block;
    padding-right:40px;
}



.akkordeon>a:first-child h4 {
    text-transform:none;
    font-size:15pt;
	margin: 0.75em 0;
	font-size: 1.33rem;
}

.akkordeon>a:hover h4 {
    color:#650010 !important;

}

.akkordeon>a i {
    position:absolute;
    right:0;
    top:0;
}

.akkordeon>a i {
	z-index: 2;
	display: block;
	cursor: pointer;
	width: 1.6em;
	aspect-ratio: 1; 
	background-size: contain;
	background-position: center center;
	padding: 0;
	margin: 0;
	background-image: none; 
	margin-top: 0;
	background-color: var(--c-beige); 
	display: grid;
	justify-items: center;
	align-items: center;
	height: auto; 
	transition: var(--t-std); 
}
.akkordeon>a i:after{
	display: block; 
	content: ""; 
	width: 33%; 
	aspect-ratio: 1; 
	border: 1px solid transparent;
	border-right: 1px solid white;  
	border-bottom: 1px solid white; 
	transform: rotateX(180deg) translateX(10%) translateY(-33%) rotateZ(45deg);
	transition: var(--t-std);
	transform-origin: center center;
}
.akkordeon>a.closed i:after{
	transform: translateX(10%) translateY(-33%) rotateZ(45deg);
}
.akkordeon .content>:last-child{
	margin-bottom: 1.5em; 
}
.akkordeon:last-child{
	border-bottom: 0; 
}
.akkrow{
	gap: 4em; 
	display: grid;
	grid-template-columns: 50% auto; 
}
.akkrow .leftside{
}
.akkrow .rightside{

}

@media only screen and (max-width: 960px) {
    
	.akkrow{
		grid-template-columns: 1fr; 
		
	}
}


.text-balance{
	text-wrap: balance; 
}




footer {
    background-color:#ECECEE;
    color:#000000;
    padding-block:30px;
}

footer .logo2 {
    display:inline-block;
    position:relative;
    top:20px;
}

footer .logo2 img {
    display:block;
    
}

footer img {
}

footer .centerside img {
    height: 114px;
	display: block; 
}


footer a {
    color:#000000;
}

footer a:hover {
    text-decoration:underline;
}


footer h4 {
    font-size:18pt;
}

footer .row .col-md-2:first-child .row .col-md-2:first-child {
    padding-right:0;
    width:30%;
}

footer .col-md-3:last-child {
    width:25%;
}

footer>div{
	display: flex; 
	gap: 3em; 
	flex-wrap: wrap; 
	justify-content: space-between; 
	width: 100%; 
}

footer>div .rightside{
	display: flex; 
	gap: 0.5em 2.5em; 
}
footer>div .centerside{
	display: flex; 
	flex-wrap: wrap; 
	align-items: start; 
	gap: 1.5em;
}
footer>div .centerside span{
	display: flex; 
	gap: 0.75em; 
}
@media only screen and (max-width: 1279px) {
    

    .logo_p {
        text-align:center;
        
    }
    
    footer .row .col-md-2, footer .row {
        display:block;
        width:100%;
        padding:0px;
        text-align:left;
    }
    footer .col-md-2:nth-child(1) {
        margin-bottom:40px;
    }

    footer .row .col-md-2:first-child .row .col-md-2:first-child {
        padding:0;
        width:auto;
    }

    
    footer .col-md-2 .row {
        display:table !important;
        max-width:700px;
        margin:auto;
    }
    
    footer .row .col-md-3 {
        display:table-cell !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }
    
}

@media only screen and (max-width: 960px) {
    
    footer .logo2 {
        top:0px;
    }
}

@media only screen and (max-width: 700px) {

    footer .row .col-md-3 {
        display:block !important;
        padding-left:0px !important;
        padding-right:0px !important;
    }
    
    footer .col-md-3:last-child {
        width:auto;
    }
	footer>div .rightside{
		flex-wrap: wrap; 
	}
}

.expad{
	padding-block: 1em;
}

.zuckerl{
	display:flex; 
	align-items: flex-start;
	gap: 1em; 
	
	&>img{
		width: 100px; 
		height: auto; 
	
	}
	&>ol{
		display: flex;
		flex-direction: column; 
		justify-content: space-around;
		align-self: stretch;
		margin-bottom: 0; 
	}
}

@media only screen and (max-width: 768px) {

	body{
		font-size: 16px; 
	}
	.header_img .claim h1 {
		hyphens: auto; 
		font-size: 2.5em; 
	}
	.header_img .claim>div {
		box-sizing: border-box;
	}
	
	.item h3{
		font-size: 1.5em; 
	}
	h2 {
		font-size: 2em;
	}
	h3 {
		font-size: 1.75em;
	}
}
@media only screen and (max-width: 630px) {
	.header_img .claim h1 {
		font-size: 6.35vw;
	}
}

.object_search{
	margin: 4em 0 2em; 
	padding-bottom: 2em; 
	border-bottom: 1px solid var(--c-red);
	
}
.object_search>#form_search{
	display: flex; 
	flex-wrap: wrap; 
	gap: 1.25em;
	justify-content: flex-start;
	align-items: center;
	
}
.object_search>#form_search .button{
	margin: 0;
	margin-left: auto; 
	
}
.object_search .input_col {
	margin: 0;
}
.object_search .input_col select {
	border: 1px solid #c6c6c6; 
	background-color: white; 
	margin: 0; 
	font-family: inherit; 
	appearance: none;
	min-width: 200px;
}
@media(max-width: 960px){
	.object_search .input_col select {
		min-width: 187px;
	}
}
@media(max-width: 768px){
	.object_search>#form_search>div:first-child{
		width: 100%; 
	}
}

@media(max-width: 450px){
	.object_search>#form_search{
		display: grid; 
		grid-template-columns: 1fr 1fr; 
		gap: 1em;
	}
	.object_search>#form_search>div:first-child{
		grid-column: 1 /3; 
	}
	.object_search .input_col select {
		width: 100%;
		min-width: unset; 
	}
	.object_search>#form_search .button {
		width: 100%; 
		padding-inline: 0; 
	}
}

.object_search h4 {
	margin: 0; 
}
.object_search input[type=submit] {
	padding: 0.75em 2.5em; 
}

.upperwide{
	text-transform: uppercase; 
	letter-spacing: 0.075em; 
}


.aboutrow{
	display: grid; 
	grid-template-columns: 6fr 3.25fr; 
	gap: 6em; 
}

.asideright{
	background-color: #f1f1f1;
	display: flex; 
	flex-direction: column; 
	position: relative; 
	overflow:hidden;
}
.asideright>div{
	padding: 1.75em 1.75em 0.875em 1.75em;
	position: relative; 
	z-index: 2;	
}
.asideright ul{
	list-style: none; 
	padding: 0; 
	margin: 0; 
	margin-bottom: 2em; 
	hyphens: auto;
}
.asideright li{
	border-left: 1px solid var(--c-red); 
	padding-left: 1em; 
	margin: 0; 
	margin-bottom: 1em; 
}
.asideright:after,
.asideright:before{
	content: "";
	position: absolute;
	background-color: #fff;
	bottom: -1em;
	height: 3px;

}
.asideright:after{
	left: -8%;
	width: 94%;
	transform: rotate(-12deg);
	transform-origin: 0 0;
}
.asideright:before{
	right: -38%;
	width: 103%;
	transform: rotate(11.75deg);
	transform-origin: bottom right;
}

.subscript{
	font-family: "Shadows Into Light Two", sans-serif;
	color: var(--c-red); 
	font-size: 2em; 	
	transform: translateY(-6px) skewY(357deg);
}
/*
.subscript{
	font-family: "Rock Salt";
	color: #8c072f;
	transform: translateY(-6px) skewY(357deg);
	font-size:1.2em;
	position: relative; 

}
*/

.extram{
	margin-top: 4em; 
}
.extramb{
	margin-bottom: 1.5em; 
}

hr.narrow{
	background-color: var(--c-red); 
	width: 200px; 
	max-width: 90vw; 
	margin: 0 auto; 
	height: 1px; 
}

.fullcolor{
	display: grid;
	grid-template-columns: 1fr 1fr;
	color: white;
	box-sizing: border-box; 
	width: 100%;
	padding: 0; 
}
.fullcolor *{
	box-sizing: border-box; 
}
.fullcolor>:first-child{
	background-color: var(--c-red);
	padding: 4em 5em 4em max(15px,calc(100% - 600px));
}
.fullcolor>:last-child{
	background-color: var(--c-beige);
	padding: 4em max(15px,calc(100% - 600px)) 4em 5em;
}
.fullcolor h2,
.fullcolor h3,
.fullcolor h4{
	color: white
}
.fullcolor h4.underline::after {
	border-color: white; 
}

ul.imglist{
	margin: 0; 
	padding: 0; 
}

ul.imglist li{
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 1em;
}


.maprow{
	display: grid; 
	grid-template-columns: 50% 1fr;
	gap: 5em; 
}

.maprow .circlelist {
	list-style-type: none;
	text-align: center;
	align-items: center;
	padding: 0;
	margin: 0;
	transition: all 0.3s ease;
	position: relative;
	width: 100%; 
	aspect-ratio: 12 / 10; 
	position: relative; 
	background-size: cover;
}

.maprow .circlelist>div {
	text-align: center; 
	border: 1px solid var(--c-red);
	color: black; 
	border-radius: 100%;
	font-weight: 600;
	transition: all 0.3s ease;
	position: absolute;
	z-index: 2;
	font-size: 1.2em;
	transform: translateX(-50%) translateY(-50%);
	width: 12%;
}
.maprow .circlelist>div>span{
	position: relative; 
	background: white; 
	z-index: 2;
	width: 100%; 
	height: 100%; 
	display: grid; 
	align-items: center; 
	justify-content: center; 
	aspect-ratio: 1; 
	border-radius: 100%; 
	transition: all 0.3s ease; 
}

.maprow .circlelist>div:hover>span{
	background-color: var(--c-red); 
	color:white
}

.maprow .circlelist div.loc-muc {
	left: 43.2%;
	top: 90.6%;
	/*z-index: 3; */
}
.maprow .circlelist div.loc-muc:after {
	display: none; 
}
.maprow .circlelist div.loc-in {
	left: 30%;
	top: 8.9%;
}
.maprow .circlelist div.loc-ed {
	left: 76.3%;
	top: 67.5%;
}
.maprow .circlelist div.loc-dah {
	left: 25.5%;
	top: 67.4%;
}
.maprow .circlelist div.loc-ffb {
	left: 11.2%;
	top: 84.6%;
}
.maprow .circlelist div.loc-paf {
	left: 42.8%;
	top: 37.6%;
}
.maprow .circlelist div.loc-la {
	left: 86.6%;
	top: 37.3%;
}
.maprow .circlelist div.loc-ush {
	left: 51.4%;
	top: 55.8%;
}
.maprow .circlelist div.loc-osh {
	left: 51%;
	top: 72.1%;
}
.maprow .circlelist div.loc-fs {
	left: 64.5%;
	top: 53%;
}

.maprow .placeslist{
	columns: 2; 
	gap: 30px; 
	list-style: none; 
	padding-left: 0; 
}

.maprow .placeslist div{
	transition: all 0.3s ease; 
}



.maprow .circlelist>span{
	content: ""; 
	width: 6.7%; 
	position: absolute; 
	left: 43.2%;
	top: 90.6%;
	border-top: 1px solid var(--c-red);
	z-index: -1;
	transform-origin: left; 
}

.maprow .circlelist .line-in {
	transform: rotateZ(258.8deg) scaleX(9.7);
}
.maprow .circlelist .line-ed {
	transform: rotateZ(329.4deg) scaleX(5.3);
}
.maprow .circlelist .line-dah {
	transform: rotateZ(226.8deg) scaleX(3.7)
}
.maprow .circlelist .line-ffb {
	transform: rotateZ(188.8deg) scaleX(4.6);
}
.maprow .circlelist .line-paf {
	transform: rotateZ(268.9deg) scaleX(6.2)
}
.maprow .circlelist .line-la {
	transform: rotateZ(314.8deg) scaleX(9.1);
}
.maprow .circlelist .line-ush {
	transform: rotateZ(285.3deg) scaleX(4.2)
}
.maprow .circlelist .line-osh {
	transform: rotateZ(295.7deg) scaleX(2.4)
}
.maprow .circlelist .line-fs {
	transform: rotateZ(303.5deg) scaleX(5.3)
}


.maprow:has(.loc-muc:hover) .list-muc{
	font-weight: bold; 
}
.maprow:has(.loc-fs:hover) .list-fs{
	font-weight: bold; 
}
.maprow:has(.loc-ed:hover) .list-ed{
	font-weight: bold; 
}
.maprow:has(.loc-in:hover) .list-in{
	font-weight: bold; 
}
.maprow:has(.loc-dah:hover) .list-dah{
	font-weight: bold; 
}
.maprow:has(.loc-ffb:hover) .list-ffb{
	font-weight: bold; 
}
.maprow:has(.loc-paf:hover) .list-paf{
	font-weight: bold; 
}
.maprow:has(.loc-la:hover) .list-la{
	font-weight: bold; 
}
.maprow:has(.loc-ush:hover) .list-ush{
	font-weight: bold; 
}
.maprow:has(.loc-osh:hover) .list-osh{
	font-weight: bold; 
}
 
.maprow:has(.list-muc:hover) .loc-muc>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-fs:hover) .loc-fs>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-ed:hover) .loc-ed>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-in:hover) .loc-in>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-dah:hover) .loc-dah>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-ffb:hover) .loc-ffb>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-paf:hover) .loc-paf>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-la:hover) .loc-la>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-ush:hover) .loc-ush>span{
	background-color: var(--c-red); 
	color:white
}
.maprow:has(.list-osh:hover) .loc-osh>span{
	background-color: var(--c-red); 
	color:white
}
 
.introrow{
	display: grid;
	grid-template-columns: 59fr 52fr;
	gap: 8.333%;
}

.introrow.righthalf{
	grid-template-columns: 1fr 50%; 
}

.red{
	color: var(--c-red); 
}

.faqs{
	display: grid;
	gap: 2em;
	grid-template-columns: 1fr 1fr;
	margin-block:2em;  
}

.faqitem{
	display: grid;
	gap: 0.5em 0em;
	grid-template-columns: 1fr 8fr;
	align-self: start;
}
.faqitem>*{
	grid-column: 2; 	
	margin-bottom: 0;
}
.faqitem>icon{
	grid-column: 1;
	font-size: 2em;
	align-self: center;
	justify-self: start;
}
.faqitem h3{
	color: var(--c-beige);
	font-weight: 400; 
	margin-block: 0.25em; 
}
.faqitem p{

}

.greybox{
	display: flex;
	justify-content: space-evenly;
	background-color: #f1f1f1;
	padding: 2em 2em 1em 2em;
	gap: 8.333%;
	margin-top: 3em;
}

.object_topic {
	font-size: 2.5em;
	margin-bottom: 1em;
	margin-top: 0.5em;
}

.doclist{
	margin-bottom: 3em; 
}

.gallery_frame{
	display: grid; 
	grid-template-columns: repeat(auto-fill,minmax(min(250px,100%),1fr));
	gap: 2em; 
	padding: 2em; 
}

.gallery_frame .gallery_img img{
	width: 100%; 
}

.gallery_frame .gallery_img {
	margin: 0; 
	display: block; 
}

.arrow_back{
	margin-top: 1em; 
	
}
.arrow_back:before{
	content: "\2039";
	margin-right: 0.5em; 
}

#is_agb_accepted{
/*	margin-bottom: 1em; */
}

.btnrow{
	display: flex; 
	gap: 1em; 
	flex-wrap: wrap; 
}

.btnrow .form_button{
	margin: 0; 
}

.checklist{
	list-style-type: '\2713';
}
.checklist>li{
	padding-left: 0.5em; 
}

button{
	cursor: pointer; 
}
.modalform *{
	box-sizing: border-box; 
}
.modalform{
	box-sizing: border-box; 
	background-color: white;
	flex-direction: column;
	justify-content: center;
	gap: 0.33em;
	opacity: 0;
	transition: all 0.3s ease;
	scale: 0;
	position: fixed;
	inset: 0;
	transition-behavior: allow-discrete;
	max-width: calc(100% - 2em);
	width: 800px;
	text-align: left;
	filter: drop-shadow(2px 4px 6px black);
	border: 3px solid var(--c-red);
	border-radius: 3px;
	overflow: visible;
	padding: 0;
}
.modalform>div{
	overflow: auto;
	/* border: 2px solid red; */
	max-height: calc(100vh - 2em);
	max-height: calc(100svh - 2em);
	padding: 2em 2em 1.33em 2em;
	overscroll-behavior: contain;
	background-position: center center;
	background-repeat: repeat;
}
.modalform:popover-open{
	opacity: 1;
	scale: 1;
}
@starting-style {
  .modalform:popover-open {
    opacity: 0;
	scale: 0;
  }
}
.modalform::backdrop{
}

.modalform::backdrop {
	background-color: #0000;
	transition: all 0.3s allow-discrete;
}

.modalform:popover-open::backdrop {
	background-color: #fff6;
	backdrop-filter: blur(4px);
}

@starting-style {
  .modalform:popover-open::backdrop {
	background-color: #0000;
	backdrop-filter: blur(0px);
  }
}
.modalform fieldset{
	border: 1px solid var(--c-beige);
	width: 100%;
	padding: 0.625em;
}
.modalform fieldset+fieldset{
	margin-top: 1.25em; 
}

.modalform .textfields{
	display: grid; 
	grid-template-columns:1fr 1fr;
	gap: 1em; 
}
.modalform .textfields>label{
	display: grid; 
	grid-template-columns: subgrid; 
}
.modalform .checkfields{
	display: flex;
	flex-wrap: wrap; 
	gap: 1em; 
	
}
.modalform .checkfields>label{
	display: flex; 
	gap: 0.25em; 
}

.modalform input[type="text"],
.modalform input[type="tel"],
.modalform input[type="email"]{
	border: 1px solid #c6c6c6;
	padding: 0.5em; 	
	margin: 0px;
	font-size: 0.9em;
	color: #000000;
	background-color: white;
	border-radius: 0; 
}

.modalform input[type="text"]:focus-within,
.modalform input[type="tel"]:focus-within,
.modalform input[type="email"]:focus-within{
	border: 1px solid var(--c-beige); 
	background: var(--c-beige); 
}


.modalform>.btn-close{
position: absolute;
	width: 3.5em;
	aspect-ratio: 1;
	right: 0;
	top: 0;
	border: 3px solid var(--c-red);
	border-radius: 100%;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: 0;
	cursor: pointer;
	background-color: var(--c-red);
	transition: all 0.3s ease;
	transform: translate(33%, -33%);
}
.modalform>.btn-close:hover{
	
	transform: translate(33%, -33%) scale(1.2);
}
.modalform>.btn-close:before,
.modalform>.btn-close:after{
	/* position: absolute; */
	content: "";
	width: 60%;
	height: 3px;
	background-color: white;
	grid-row: 1;
	grid-column: 1;
	transform: rotateZ(45deg);
	border-radius: 10px;
}
.modalform>.btn-close:after{
	transform: rotateZ(-45deg);
}
.modalform a {
	text-decoration: underline; 
}
.modalform response>* {
	display: none; 
}
.modalform .error {
	display: none; 
	margin: 1em 0 0;
}

.modalform>div.sending:after {
	content: "Bitte warten, Ihre Daten werden verarbeitet.";
	inset: 0;
	position: absolute;
	background: #fffc;
	backdrop-filter: blur(1px);
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	padding: 2em;
}

@media(max-width: 1279px){

	.fullcolor>:first-child{
		padding-right: 15px
	}
	.fullcolor>:last-child{
		padding-left: 15px; 
	}
	.maprow {
		gap: 1em;
	}
}
@media(max-width: 1024px){
	
	.aboutrow{
		gap: 2em; 
	}

	.maprow .circlelist>div {
		font-size: 1em;
	}
	.gallery_frame{

		gap: 1em; 
		padding: 1em; 
	}
}
@media(max-width: 768px){
	.aboutrow{
		grid-template-columns: 1fr; 
	}
	.fullcolor{
		grid-template-columns: 1fr;
	}
	.fullcolor>:first-child{
		padding-inline: 15px;
	}
	.fullcolor>:last-child{
		padding-inline: 15px;
	}
	.maprow {
		display: flex; 
		flex-direction: column-reverse; 
		gap: 1em; 
		
	}
	.placeslist{
		hyphens: auto; 
	}
	.introrow,
	.introrow.righthalf{
		grid-template-columns: 1fr; 
		gap: 0;
	}
	.faqs{
		grid-template-columns: 1fr;
	}
	
	.object_topic {
		font-size: 2em;
	}
    section:not(.fullcolor)+section {
       /*padding-top:0;*/
    }
}

@media only screen and (max-width: 1280px) {
    .full_screen_row .col-md-2 .form_button {
        min-width:250px;
    }    
}

@media only screen and (max-width: 960px) {
    .full_screen_text_col .main_frame {
        padding-left:20px;
        padding-right:20px;
        max-width:100%;
        margin:auto;
    } 
    

    .full_screen_text_col {
        min-height:auto !important;
        padding-top:0px;
        padding-bottom:40px;

    }
     .slider_frame2 {
        max-width:100% !important;    
    }
 
    
}

@media only screen and (max-width: 600px) {
    .header_img {
        text-align:center; 
    }
    
    quote {
        font-size: 1.3em;
    }
	.greybox {
		flex-direction: column; 
		gap: 1em; 
	}

	.modalform .textfields{
		grid-template-columns:1fr;
	}	
	.modalform .textfields>label {
		display: flex;
		flex-direction: column; 
		grid-column: span 1;
	}

	.modalform>div {
		padding: 1em 1em 0.33em 1em;
	}	
}

@media only screen and (max-width: 450px) {
    section {
        padding-top:50px;
        padding-bottom:50px;
    }
    header .social_icons {
    }
	.modalform .checkfields {
		flex-direction: column;
	}
}

.introslider.owl-carousel{
	display:block; 
}
.introslider .slider_item{
	display:none; 
}
.introslider .slider_item:first-child{
	display:flex; 
}