@charset "utf-8";
/* CSS Document */


:root {
    --border01: #000;
	--border02: #a00303;
    --button01:;
	--button02:;
    --border_dicke01:2px;
	--border_art:outset;



}

#wrapper {
	container-type: inline-size;
	display: Flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	margin:0px auto 0 auto;
	padding:0px;
	width:60%;
	min-height: 100vh;
	text-align: center;
	justify-content: start;   /* oder flex-start */
	background: linear-gradient(90deg,#666,#FFF,#FFF,#FFF,#666);
	border-right-width: 3px;
	border-left-width: 3px;
	border-right-style: solid;
	border-left-style: solid;/*	justify-content: space-between; */
	border-right-color: #333;
	border-left-color: #333;
}


#logohintergrund {


	display: flex;
	position: fixed;
	top:0px;
	padding: 0px 0 0px 0;
	margin: 0 auto 0px auto;
    height: clamp(20px, 6vw, 7vw);
	width: 60%;
	background: linear-gradient(90deg,#666,#FFF,#FFF,#FFF,#666);
	z-index: 200;

}




#Navigationsbereich {
	container-type: inline-size;
	display: flex;
	position: fixed;
	font-family: "Barlow Condensed", sans-serif;
	padding: 0px 0 0px 0;
	margin: 9cqw auto 0px auto;
	height: clamp(25px, 2cqw, 2cqw);
	width: 100cqw;
	justify-content: center;
	align-items: center;
	text-align:  center;
	background:linear-gradient(0deg,#000,#383838,#000);
    box-shadow: 3px 3px 4px rgba(39,39,39,1); 
	z-index: 9999;

}


.seitenkalibrierung01
{
	display: flex;
	position:relative;
	margin: 12cqw auto 0px auto;
	width: 100cqw;

}



.container003 {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: row;
	gap:0px;
	padding:0;
	margin: 2cqw auto 0px auto;
	width: 90cqw;
	justify-content: center;
	align-items: flex-start;
	text-align:  center;
	z-index: 1;

}

.container003-1 {
	display: flex;
	position: relative;
	box-sizing: border-box;
	flex-direction: column;
	padding:1cqw;
	margin: 0 0 0 0;
	height: auto;
	width: 50cqw;   /* immer 50 % */
	justify-content: flex-start;
	align-items: flex-start;
	text-align:  left;
	z-index: 1;


}

.container003-1:last-child {
      align-items: flex-end;
 /*   text-align: right; */
	margin:0;
}

.container003-1 img {
	box-sizing: border-box;
	width: 90%;
	height: auto;
	border: var(--border_dicke01) var(--border_art)  var(--border01); 
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	z-index: 1;
	display: block;
	margin: 0 0 0 auto;
}






.container003-1 video {
	box-sizing: border-box;
	width: 90%;
	height: auto;
	border: var(--border_dicke01) var(--border_art)  var(--border01);
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	z-index: 1;
	display: block;
	margin: 0 0 0 auto;
}




/* xxxxxxxxxxxxxx   KONTAKTIEREN   Service   Zufriedenekunden xxxxxxxxxxxxxxxxxxxxxxxxx */

.menu003-1 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6.5cqw;
    margin: 4cqw 0;
    padding: 0;
    z-index: 1;
}


.menu003-1 a {
    position: relative;
    display: inline-block;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 2cqw;
    font-weight: 500;
    text-decoration: none;
    color: #14427d;
}


.menu003-1 a:hover {
    color: #a00303;
}


.menu003-1 a::before {
    content: "";
    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 2px;

    background: #B90020;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.5s ease;
}


.menu003-1 a:hover::before {
    transform: scaleX(1);
}



/* xxxxxxxxxxxxxx   KONTAKTIEREN   Service   Zufriedenekunden xxxxxxxxxxxxxxxxxxxxxxxxx */








.container004 {
	box-sizing: border-box;
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	padding:0px 0 0px 0;
	margin:2cqw auto 0px auto;
	width: 90cqw;
	justify-content: flex-start;
	text-align: left;
	z-index: 1;

}


.container005 {
	container-type: inline-size;
	display: flex;
	position: relative;
	flex-direction: row;
	gap:0px;
	padding:0;
	margin: 2cqw auto 0px auto;
	width: 90cqw;
	justify-content: center;
	align-items: flex-start;
	text-align:  center;
	border: var(--border_dicke01) var(--border_art)  var(--border01);
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	z-index: 1;

}

.container005-1 {
	display: flex;
	position: relative;
	box-sizing: border-box;
	flex-direction: column;
	padding:1cqw;
    margin:0;
	height: auto;
	width: 50cqw;   /* immer 50 % */
	justify-content: flex-start;
	align-items: flex-start;
	text-align:  left;
	z-index: 1;

}










.container006 {
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	padding: 0px 0 0px 0;
	margin: 2cqw auto 0px auto;
	width: 90%;
	justify-content: flex-start;
	text-align: left;
	z-index: 1;
}


.container007 {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: row;
	margin: 2cqw 0 0px 0;
	padding: 2cqw;
	flex-wrap: wrap;      /* <-- Zeilenumbruch erlauben */
	justify-content: center;
	width: 90cqw;
	height:auto;
	gap: 0cqw ;           /* optional Abstand zwischen den Boxen */
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	border: var(--border_dicke01) var(--border_art)  var(--border01);
	z-index: 1;
}


.container007-1 {
	position: relative;
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	width:33cqw;
	padding: 1cqw;
    height:auto;
	z-index: 1;

}


.container007-1 img {
  margin:0 0 1cqw 0;	
  width:4cqw;
  height:4cqw;
}





.container009 {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: row;
	justify-content: center;
	margin: 2cqw 0  0  0;
	padding: 0 0 0 0cqw;
	width: 90cqw;
	height:auto;
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	gap: 0cqw;
	border: var(--border_dicke01) var(--border_art)  var(--border01);

}

.container009-1  {
	box-sizing: border-box;
	display: flex;
	position: relative;   /* <-- wichtig */
	flex-direction: column;
	justify-content: left;
	text-align: left;
	width: 50cqw;
	margin: 0;
	padding: 0cqw 0cqw 0cqw 5cqw;
	height: auto;

}

.container009-1::after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 2px;
    background: #CCC;
}

.container009-1:last-child::after { 
    display: none;    
}





.container010 {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: column;
	text-align: left;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 2cqw  0  0cqw 0;
	padding: 0px 0px 0cqw 0;
	width: 90cqw;
	height:auto;

}




.container010-1 {
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: column;
	text-align: left;
	justify-content:flex-start;
	align-items: flex-start;
	margin: 0px 0 0px 0;
	padding: 0px 5vw 5cqw 0;
	width: 80cqw;
	height:auto;
	overflow:hidden;


}

.container011 {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	gap:0;
	padding:0;
	margin: 2cqw auto 0 auto;
	width: 90cqw;
	justify-content: center;
	align-items: flex-start;
	text-align:  center;
	z-index: 1;
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	border: var(--border_dicke01) var(--border_art)  var(--border01);
}




.container011-1 {
	display: flex;
	position: relative;
	box-sizing: border-box;
	flex-direction: column;
	padding: 2cqw 0 2cqw 1cqw;
	margin: 0;
	height: auto;
	flex: 1;   /* immer 50 % */
	justify-content: flex-start;
	align-items: flex-start;
	text-align:  left;
	z-index: 1;
}


.container011-1::after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 2px;
    background: #CCC;
}

.container011-1:last-child::after { 
    display: none;    
}





.abstand_span01 {   /* bespiel bei h2e */
	display: flex;
	position: relative;
	width: 95cqw;
	margin-top: var(--abstand_top,0);
	margin-bottom: var(--abstand_botton,0);

}








.container_logo_extern {
	box-sizing: border-box;
	display: flex;
	position: absolute;
	flex-direction: column;
	align-items: center;
	text-align: center;
	justify-content: start;   /* oder flex-start */
	right:3%;
	top:0%;
	width:0cqw;
	height:auto;
	z-index: 10000;
}


.container_logo_extern img {
	width:5cqw;
	height:auto;
	margin-bottom:15px;
	border-radius: 20px;

}

























.Kontaktinfoleise {
	container-type: inline-size;
	box-sizing: border-box;
	display: flex;
	position: relative;
	flex-direction: row;
	justify-content: center;
	margin: 3cqw 0 3cqw 0;
	padding: 0 0 0 0;
	background:linear-gradient(0deg,#000,#383838,#000);
	width: 90cqw;
	height:auto;
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	gap: 0px;
	border: var(--border_dicke01) var(--border_art)  var(--border01);
		z-index: 2;

}



.Kontaktinfoleise_box  {
	box-sizing: border-box;
	display: flex;
	position: relative;   /* <-- wichtig */
	justify-content: center;
	text-align: left;
	width: 33cqw;
	margin: 0;
	padding: 1cqw 0 1cqw 0;
}


.Kontaktinfoleise_box::after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 2px;
    background: #CCC;
}

.Kontaktinfoleise_box:last-child::after { 
    display: none;    
}














/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */














/* Laptop / kleines Desktop */
@media screen and (max-width: 2000px) {
   #wrapper {
        width: 80%;

    }
	

#Navigationsbereich {
	margin: 7cqw auto 0px auto;
	height: clamp(25px, 1.9cqw, 2cqw);
}


#logohintergrund {
    width: 80%;
    height: clamp(20px, 7vw, 8vw);


}

.container_logo_extern {
	right:3%;




}









}



/* Handy */
@media screen and (max-width: 768px) {
	
	
	

#wrapper {
    container-type: normal;
	margin:0px 
	padding:0px;
    width:100%;
    border:none;
	border-radius:0px;
    max-width: 100%;
   overflow-x: hidden;


/*	justify-content: space-between; */
}



#Navigationsbereich {
    display:block;
    width:99%;
    margin:0;
    background:none;
    height:auto;
}

#logohintergrund {

    /* Logo Hintergrund sanft ausblenden von oben nach unten */
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 75%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 75%,
        transparent 100%
    );

    height: clamp(20px, 32vw, 32vw);
    width: 99%;
    z-index: 200;
	border:none;
	border-radius:0px;
}


.seitenkalibrierung01
{
	display: flex;
    position:relative;
	margin: 20cqw auto 0px auto;
	width: 100%;
}


.container003 {
	container-type: normal;
	flex-direction: column;
	gap:10px;
	padding: 50px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	width: 95cqw;
    margin-left: auto;
    margin-right: auto;

	justify-content: center;
	align-items: center;
	text-align:  center;
	z-index: 1;

}

.container003-1 {
    container-type: normal;
    display: flex;
    flex-direction: column;
	align-items: flex-start;
    padding: 0;
    margin: 0 ;
    height: auto;
    width: 100%;
}







.container003-1 img {
	width:100%;
	height:auto;
/*	border: medium solid #14427d; */
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);

}

.container003-1 video {
	width: 100%;
	height: auto;
}





.menu003-1 a {
    font-size: 5cqw;

}



.container004 {
	container-type: normal;
	width: 95cqw;
	margin: 50px 0px 0px 0px;
 	padding: 0 20px 0px 0;
}


.container005 {
	container-type: normal;
	flex-direction: column;
	height:auto;
	padding: 5px 0 5px 0;
	margin: 40px auto 0px auto;
	width: 95cqw;
}

.container005-1 {
	container-type: normal;
	margin: 0 0 0 0;
	padding: 20px 5px 20px 5px;
	width: 95%;
	height:auto;
	z-index: 1;
}








.container007 {
	container-type: normal;
	display: flex;
	position: relative;
	flex-direction: row;
    margin-left: auto;
    margin-right: auto;
	padding: 0 0 30px 0;
	flex-wrap: wrap;      /* <-- Zeilenumbruch erlauben */
	justify-content: center;
	width: 95cqw;
	gap: 10px;            /* optional Abstand zwischen den Boxen */


	z-index: 1;
}


.container007-1 {
	container-type: normal;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	width:95cqw;
	padding: 40px 15px 10px 15px;


}


.container007-1 img {
  width:50px;
  height:50px;
   margin:0 0 20px 0;
}



.container009 {
	container-type: normal;
	box-sizing: border-box;
	flex-direction: column;
	margin: 30px auto  0  auto;
	padding: 0 0 0 0cqw;
	width: 95cqw;
	height:auto;
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);
	gap: 0cqw;
}

.container009-1  {
	box-sizing: border-box;
	flex-direction: column;
	width 100%;
	margin: 0;
	padding: 0cqw 0cqw 0cqw 5cqw;
	height: auto;

}

.container009-1::after {
	display: none; 
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 2px;
    background: #CCC;
}

.container009-1:last-child::after { 
    display: none;    
}






.container010 {
	container-type: normal;
	flex-direction: column;
	margin: 30px  0  20px 0;
	padding: 0px 0px 0px 0px;
	width: 95%;

}


.container010-1 {
	container-type: normal;
	margin: 0px 0 0px 0;
	padding: 0px 10px 50px 10px;
	width: 100%;

}




.container011 {
	container-type: normal;
	flex-direction:column;
	gap:0px;
	padding:0px 0 0px 0;
	margin: 30px auto 30px auto;
	width:95cqw;
	border-radius: 20px 0px 20px 0px;
	box-shadow: 3px 3px 4px rgba(39,39,39,1);

}


.container011-1 {
	container-type: normal;
	flex-direction: column;
	padding: 20px 10px 20px 10px;
	margin: 0 0 0 0;
}

.container011-1::after {
 display:none;
}





.container_logo_extern {
	text-align: center;
	right:3%;
    top: -8%;
	width:12cqw;
	height:auto;
	background: transparent;
	z-index: 10000;
	border-radius:3px;
	border: none;
}

.container_logo_extern img {
	width:12cqw;
	height:auto;
	margin-bottom:10px;
	border-radius: 5px;

}







.Kontaktinfoleise {
	container-type: normal;
	flex-direction: column;
	justify-content: left;
	margin: 10px 0 10px  0;
	width: 95cqw;


}

.Kontaktinfoleise_box  {
	container-type: normal;
	justify-content: left;
	text-align: left;
	width: 95cqw;
	padding: 10px 0 10px 20px;
	font-family: "Barlow Condensed", sans-serif;
	font-size:20px;
	font-weight: 400;

}

.Kontaktinfoleise_box::after {
	display:none;

}

}


/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */
/* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */

