@charset "utf-8";

:root {
	
	
	--color-ci-blue-dark-rgb: 0, 0, 52;
	--color-ci-blue-dark: #000034;
			
	--color-ci-blue-rgb: 4, 22, 94;
	--color-ci-blue: #04165e;
	
	--color-ci-lightblue-rgb: 243, 244, 248;
	--color-ci-lightblue: #f3f4f8;

	--color-ci-orange-rgb: 253, 93, 0;
	--color-ci-orange: #fd5d00;


	
	--color-red-rgb: 197,20,28;
	--color-red: #c5141c;
		
	--color-darkgrey-rgb: 101,101,101;
	--color-darkgrey: #656565;
		
	--color-grey-rgb: 181,181,181;
	--color-grey: #b5b5b5;
		
	--color-lightestgrey-rgb: 240,240,240;
	--color-lightestgrey: #f0f0f0;
	
	--color-lightgrey-rgb: 229,229,229;
	--color-lightgrey: #e5e5e5;
		
	--color-link-grey-rgb: 102,102,102;
	--color-link-grey: #666666;
		
	--color-blue-dark-rgb: 108,177,46;
	--color-blue-dark: #6cb12e;
		
	--color-darkgreen-rgb: 22,130,45;
	--color-darkgreen: #16822d;
		
	--color-grey-headline-rgb: 134,129,125;
	--color-grey-headline: #86817D;
		
	--color-dark-text-rgb:46,45,48;
	--color-dark-text:#2e2d30;
	
	--color-text-rgb:76,76,72;
	--color-text:#4c4c48;
	
	--slider-height: 640px;
	
	--gallery-thumb-width: 300px;
	
	--picbox-width: 236px;
	--picbox-pano-width: 312px;
	
}
/* ##### FORMULAR START ##### */

#container section div.infobox {
	padding:6px;
	margin:4px 0 10px 0;
	font-size:100%;
	clear:none;
}

#container section div.success {
	margin:12px 0 18px 0;
	background: rgba(54,193,64,0.125);
	border: 3px solid rgba(54,193,64,1);	
}

#container section div.success h2 {
	color:green;
	color:rgba(54,193,64,1);
	margin:10px;
}


div#karte {
	display:block;
	min-height:360px;
}

div#route > div {
	font-size:100% !important;
	color:#86817d !important;
	font-family:'Oxygen', Helvetica, Verdana, Arial, san-serif;
}

div#route div.adp-summary {
	font-size:110%;
}

div#route div.adp-substep {
	font-size:90%;
}





#content article.formular div.form {
	width:680px;
	margin:0;
	clear:none;
	text-align:left;
}

#content article.formular form.formular {
	width:100%;
	margin:0 0 30px 0;
	padding:0;
	font-size:100%;
	clear:none;
	text-align:left;
}

#content article.formular form.formular fieldset {
	clear:none;
	margin:4px 0 10px 0;
	padding:20px;
	font-size:100%;
	border:0px;
	background:rgba(var(--color-lightestgrey-rgb),1);
	/*
	background:rgba(248,248,248,1);
	*/
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	
}

#content article.formular form.formular fieldset.error {
	border:1px solid red;
	margin:12px 0 18px 0;
}

#container section article.formular form fieldset.box_l,
#container section article.formular form fieldset.box_r {
	float:left;
	margin:0 2% 0 0;
}

#container section article.formular form fieldset.box_r {
	margin:0;
}

#container section article.formular form fieldset.box50 {
	width:48%;
}

#content article.formular form.formular fieldset legend {
	font-size:190%;
	line-height:140%;
	padding:4px 6px;
	margin:0 0 0 -4px !important;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;

	background:rgba(var(--color-lightestgrey-rgb),1);
	/*
	background:rgba(248,248,248,1);
	*/
	color:var(--color-ci-blue-dark);
	
	font-weight:400 !important;	
}

#content article.formular form.formular fieldset legend.fehler {
	background-color:red;
	color:#fff;
}

#content article.formular form.formular p.r {
	text-align:right;
}

#content article.formular form.formular span.fl {
	float:left;
}

#content article.formular form.formular span.fr {
	float:right;
}

#content article.formular form.formular span.form_pflicht {
	display:inline-block;
	margin-bottom:6px;
}

#content article.formular form.formular p,
#content article.formular form.formular ul {
	display:block;
	margin:0 0 8px 0;
	font-size:100%;
	width:auto;
	text-align:left;
}

#content article.formular form.formular p,
#content article.formular form.formular li {
	font-size:150%;
	line-height:130%;
}

#content article.formular form.formular li li {
	font-size:100%;
}

#content article.formular form.formular ul {
	margin:0 0 4px 20px;
}

#content article.formular form.formular fieldset span.txt {
	display:inline-block;
	margin:0;
	font-size:100%;
	line-height:130%;
}

#content article.formular form.formular fieldset p {
	line-height:130% !important;	
}

#content article.formular form.formular fieldset #mapbox,
#content article.formular form.formular fieldset #mapbox #map_canvas {
	display:block;
	margin-bottom:0;
	padding:0;
}

#content article.formular form.formular fieldset p.hinweis {
	display:block;
	clear:both;
	margin:4px 0 16px 124px;
	padding:0 0 0 44px;
	font-size:150%;
	line-height:130%;
	min-height:36px;
	/*
	background:url(/gif/icons/hinweis.png) no-repeat 4px 4px;
	background:url(/gif/icons/icon-hinweis.svg) no-repeat 4px 4px;
	*/
}

#content article.formular form.formular fieldset p.full {
	margin-left:0;	
}

#content article.formular form.formular fieldset label,
#content article.formular form.formular fieldset label.radio {
	display:inline-block;
	width:130px;
	margin:0;
	padding:0;
	font-size:100%;
	line-height:110%;
}


#content article.formular form.formular fieldset label.ort,
#content article.formular form.formular fieldset label.ortsteil {
	width:70px;
	margin-left:16px;
}

#content article.formular form.formular fieldset label.fl {
	float:left;
	display:inline-block;
}

#content article.formular form.formular fieldset.border label.fl_textarea {
	margin:0;
}

#content article.formular form.formular fieldset label.captcha {
	width:130px;
}

#content article.formular form.formular fieldset label.block,
#content article.formular form.formular fieldset span.block {
	width:100%;
	display:block;
}

#content article.formular form.formular fieldset span.block {
	margin-bottom:4px;
}

#content article.formular form.formular fieldset label.block_label {
	display: block;
	width: auto;
	margin-top: 0 !important;
	margin-bottom: 4px;
	line-height: 130%;
}

#content article.formular form.formular fieldset label.select.auto,
#content article.formular form.formular fieldset label.radio_label {
	width:auto;
	margin-left:6px;
}

#content article.formular form.formular fieldset label.radio_label {
	padding:6px 0;
}

#content article.formular form.formular fieldset label.checkbox_label {
	width:auto;
	margin-left:6px;
	margin-right:16px;
	vertical-align:2px;
}



#content article.formular form.formular fieldset p span.hinweistext {
	display: inline-block;
	width:calc(100% - 156px);
	margin-left:156px;
	margin-top:4px;
}

#content article.formular form.formular fieldset p  a {
	color:#005B7C !important;
}

#content article.formular form.formular select.select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:none;
	border-radius: 0;	
	font-size:100%;
	line-height:130%;
	width:auto;

	border: 1px solid rgba(128,128,128,1);
	color: #333;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	padding:2px 30px 2px 2px;	
	display:inline-block;
	margin:0 0 0 24px;
	background-color:#fff;
	background-image: url(/gif/icons/icon-bottom.png);
	background-repeat: no-repeat;
	background-position: right 4px top 50%;
}

#content article.formular form.formular fieldset select.auto_width {
	width:auto;
}

#content article.formular form.formular select.select option {
	padding:2px 4px;
	font-size: 100%;
	color:#666;
}


#content article.formular form.formular fieldset input.txt, 
#content article.formular form.formular fieldset input.suche,
#content article.formular form.formular fieldset textarea {
	display:inline-block;
	margin:0 0 0 24px;
	padding:6px;

	border: 1px solid rgba(128,128,128,1);
	color: #333;
	font-size:110%;
	line-height:130%;
	font-family:Tahoma,Verdana,Arial,san serif;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}


#content article.formular form.formular fieldset input.txt, 
#content article.formular form.formular fieldset textarea {
	width:calc(100% - 174px);
}

#content article.formular form.formular fieldset textarea.fl {
	float:left;	
}

#content article.formular form.formular fieldset input.nolabel, 
#content article.formular form.formular fieldset textarea.nolabel {
	margin-left:0;	
	width:calc(100% - 18px);
}

#content article.formular form.formular fieldset input.plz {
	width:60px;
}

#content article.formular form.formular fieldset input.ort,
#content article.formular form.formular fieldset select.ortsteil {
	width:calc(100% - 338px);
	margin-left:0px;
}

#container form fieldset textarea,
#container form fieldset textarea:hover {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	border: 1px solid rgba(128,128,128,1);
}

#content article.formular form.formular fieldset input.captcha {
	width:100px;
}

#content article.formular form.formular fieldset img.captcha {
	margin:0 0 0 24px;
}


#content article.formular form.formular fieldset input.radio, 
#content article.formular form.formular fieldset input.checkbox,
#content article.formular form.formular fieldset input[type="radio"] {
	display:inline-block;
	width:16px;
	margin-left:25px;
}

#content article.formular form.formular fieldset p input.radio:nth-of-type(1), 
#content article.formular form.formular fieldset p input.checkbox:nth-of-type(1),
#content article.formular form.formular fieldset input[type="radio"]:nth-of-type(1) {
	display:inline-block;
	width:16px;
	margin-left:25px;
}

#content article.formular form.formular fieldset input.checkbox {
	margin-right:4px;
	vertical-align:-1px;
}


#content article.formular form.formular fieldset img.captcha {
	vertical-align:-8px;
	margin-right:10px;
}

#content article.formular form.formular .buttons {
	display:block;
	margin:4px 0 32px 0;		
}


#content article.formular form.formular button,
#content article.formular form.formular input[type="submit"],
#content article.formular form.formular input[type="reset"] {
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	
	

	background: rgba(var(--color-ci-blue-dark-rgb),1);
	color:#fff;

	border: 3px solid rgba(var(--color-ci-blue-dark-rgb),1);	
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	
	overflow:hidden;
	display: inline-block;
	position: relative;
	font-size: 130%;
	padding: 10px 20px;
	width:auto;
	margin-left:10px;
	margin-bottom:10px;
	overflow-wrap: break-word !important;	
}

#content article.formular form.formular button:hover,
#content article.formular form.formular input[type="submit"]:hover,
#content article.formular form.formular input[type="reset"]:hover {
	background-color: transparent;
	text-shadow: none;
	
	color:rgba(var(--color-ci-blue-dark-rgb),1);
	background: #fff !important ;
	
}

#content article.formular form.formular button:hover:before,
#content article.formular form.formular input[type="submit"]:hover:before,
#content article.formular form.formular input[type="reset"]:hover:before {
	top: 0%;
	bottom: auto;
	height: 100%;
}

#content article.formular form.formular button:before,
#content article.formular form.formular input[type="submit"]:before,
#content article.formular form.formular input[type="reset"]:before {
	display: block;
	position: absolute;
	left: 0px;
	bottom: 0px;
	height: 0px;
	width: 100%;
	z-index: -1;
	content: '';
	color: #fff !important;
	
	background: rgba(var(--color-ci-blue-rgb),1);

	transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}


#content article.formular form.formular input[type="reset"] {
	background: rgba(244,73,73,0);
	color:rgba(244,73,73,1);
	border: 3px solid rgba(244,73,73,1);
	margin-right:0px;
}

#content article.formular form.formular input[type="reset"]:hover {
	color: #fff !important;
	background: rgba(244,73,73,1);
}

#content article.formular form.formular input[type="reset"]:before {
	color: #fff !important;
	background: rgba(244,73,73,1);
}




#container form fieldset label.txt.url,
#container form fieldset input.txt.url,
#container form fieldset label.url,
#container form fieldset input.url {
	display:none !important;
}

#container form fieldset input:focus,
#container form fieldset select:focus,
#container form fieldset textarea:focus {	
	background:rgba(236,236,236,.5);
}


#container div.success {
	border:2px solid rgba(0,128,0,1);
	background-color:rgba(0,128,0,.125);
	margin:12px 0 18px 0;
	padding:6px;
}

#container div.success h2 {
	color:#008000;
	margin:0 0 2px 0;
}



#content article.formular form.formular#search_form button,
#content article.formular form.formular#search_form input[type="submit"],
#content article.formular form.formular#search_form input[type="reset"] {
	margin-bottom:8px;
}



#content article.formular form.formular#routenplaner {
	width:100%;
	display:block;
	margin:0 0 10px 0 !important;
}

#content article.formular form.formular#routenplaner fieldset {
	width:calc(100% - 10px);
	margin:0 0 10px 0;
	padding:6px;
	display:block;
}

#content article.formular form.formular#routenplaner fieldset:nth-child(even){
	margin-right:0;
}

#content article.formular form.formular#routenplaner fieldset input.txt,
#content article.formular form.formular#routenplaner fieldset select {
	width:calc(100% - 14px);
	margin:0;
	padding:6px;
}
#content article.formular form.formular#routenplaner fieldset select {
	width:100%;
}


#content article.formular form#routenplaner p.r {
	text-align:right;
}

#content article.formular div#karte {
	width:100%;
	display:block;
	min-height:520px;
	margin:0 0 10px 0;
}

#content article.formular div.transport#karte {
	min-height:480px;
}

div#route > div{
	font-size:140%;
}


#content div.anfahrtsplan {
	float:right;
	margin:0 0 16px 24px;
}





#choose {
	display:inline-block;
	float:right;
	margin:4px 0 10px 0;
}

#choose select {
	padding:6px;
	margin:0;
	border:1px solid #E6E6E6;
}






#content article.formular form.formular fieldset #mapbox,
#content article.formular form.formular fieldset #mapbox #map_canvas {
	display:block;
	margin-bottom:0;
	padding:0;
}




#content .desktop_only {
	display:inline-block !important;
}



@media only screen and (max-width: 1023px) {
	
	#content .desktop_only {
		display:none !important;
	}
	
	#content article.formular form.formular fieldset label,
	#content article.formular form.formular fieldset label.txt {
		display:block;
		width:auto;
		margin-bottom:2px;
		line-height:130%;
	}

	#content article.formular form.formular fieldset label.ort,
	#content article.formular form.formular fieldset label.ortsteil {
		width:auto;
		display:block;
		float:none;
		margin-left:0;
	}

	#content article.formular form.formular fieldset label.fl {
		width:auto;
		display:block;
		float:none;
		margin:0;
	}
	
	#content article.formular form.formular fieldset label.radio {
		margin-bottom:6px;
	}

	#content article.formular form.formular fieldset label.radio_label {
		width:auto;
		display:inline-block;
		margin-left:6px;
	}
	
	#content article.formular form.formular fieldset label.checkbox_label {
		width:auto;
		display:inline-block;
		margin-left:6px;
		margin-right:16px;
		vertical-align:2px;
	}
		
	#content article.formular form.formular fieldset input.txt, 
	#content article.formular form.formular fieldset textarea {
		font-size:150%;
		line-height:140%;
	}
	
	#content article.formular form.formular fieldset input.txt, 
	#content article.formular form.formular fieldset textarea,
	#content article.formular form.formular fieldset textarea.fl,
	#content article.formular form.formular fieldset input.nolabel, 
	#content article.formular form.formular fieldset textarea.nolabel,
	#content article.formular form.formular fieldset input.plz,
	#content article.formular form.formular fieldset input.ort,
	#content article.formular form.formular fieldset select.select {
		padding:6px;
		border: 1px solid rgba(128,128,128,1);
		width:calc(100% - 14px);
		display:block;
		float:none;
		margin:0 0 4px 0;
	}
		
	#content article.formular form.formular fieldset select.select {
		margin-left:0px;
	}
	
	#content article.formular form.formular fieldset select.ortsteil {
		width:100%;
	}
	
	#content article.formular form.formular fieldset select.auto_width {
		width:auto;
	}

	#content article.formular form.formular fieldset input.captcha {
		width:100px;
		float:left;
	}

	#content article.formular form.formular fieldset p input.radio, 
	#content article.formular form.formular fieldset p input.checkbox,
	#content article.formular form.formular fieldset p input[type="radio"] {
		display:inline-block;
		width:16px;
		height:auto;
		margin:0 0 4px 25px;
	}
	
	#content article.formular form.formular fieldset p input.radio:nth-of-type(1), 
	#content article.formular form.formular fieldset p input.checkbox:nth-of-type(1),
	#content article.formular form.formular fieldset p input[type="radio"]:nth-of-type(1) {
		margin-left:0;
	}

	#content article.formular form.formular fieldset img.captcha {
		float:left;
	}
	
	#content article.formular form.formular fieldset span.frage {
		margin:6px 10px 0 0;
		float:left;
	}
	
	
	#content article.formular form.formular fieldset p span.hinweistext {
		display: inline-block;
		width:100% !important;
		margin-left:0 !important;
		margin-top:4px;
	}
	
	
	
	
	
	#content article.formular form.formular fieldset p.radio_block_label label {
		width:calc(100% - 48px);
		margin-left:6px;
		float:left;
		line-height:130%;
	}
	
	
	#content article.formular form.formular fieldset p.radio_block_label span.block,
	#content article.formular form.formular fieldset p.radio_block_label span.inline_block,
	#content article.formular form.formular fieldset p.radio_block_label label.inline_block,
	#content article.formular form.formular fieldset p.containergroessen span.inline_block,
	#content article.formular form.formular fieldset p.label_containergroessen	{
		display:block !important;
		clear:both !important;
		width:100% !important;
	}
	
	
	#content article.formular form.formular fieldset p.radio_block_label input[type="radio"] {
		border:4px solid red !important;
		background-color:yellow !important;
		margin:4px 0 0 0 !important;
		display:block !important;
		padding:0 !important;
		width:16px !important;
		float:left !important;
	}
	
	
	#content article.formular form.formular fieldset p.radio_block_label label.inline_block	{
		margin-left:0;
	}
	
}


	

@media only screen and (max-width: 639px) {
	
	
	#content article.formular form.formular fieldset {
		/*
		padding:0;
		background: rgba(255,255,255,1);
		*/
	}

	#content article.formular form.formular fieldset legend {
		margin:0 !important;
		/*
		-webkit-border-radius: 0px;
		-moz-border-radius: 0px;
		border-radius: 0px;
		padding:0;
		background: rgba(255,255,255,1);
		*/
	}
	
	
	
	#content article.formular form.formular fieldset p.radio_block_label label {
		width:calc(100% - 48px);
		margin-left:6px;
		float:left;
		line-height:130%;
	}
	
	#content article.formular form.formular fieldset p.radio_block_label span.block,
	#content article.formular form.formular fieldset p.radio_block_label span.inline_block,
	#content article.formular form.formular fieldset p.radio_block_label label.inline_block,
	#content article.formular form.formular fieldset p.containergroessen span.inline_block,
	#content article.formular form.formular fieldset p.label_containergroessen {
		display:block !important;
		clear:both !important;
		width:100% !important;
	}
	
	
	#content article.formular form.formular fieldset p.radio_block_label input[type="radio"] {
		border:4px solid red !important;
		background-color:yellow !important;
		margin:4px 0 0 0 !important;
		display:block !important;
		padding:0 !important;
		width:16px !important;
		float:left !important;
	}
	
	
	#content article.formular form.formular fieldset p.radio_block_label label.inline_block	{
		margin-left:0;
	}
	
	
	
	
	
	#content article.formular form.formular#search_form fieldset label.txt {
		width:100%;
		display:block;
		margin-bottom:4px;
	}
	
	#content article.formular form.formular#search_form fieldset input.suche {
		width:calc(100% - 14px);
		display:block;
		margin-left:0;
	}
	
	#content article.formular form.formular#search_form fieldset input.radio {
		margin-left:0;
		
	} 
	
	#content article.formular form.formular#search_form fieldset label.radio_label {
		margin-right:10px;
		display:inline-block;
	}
	
	#content article.formular form.formular#search_form button,
	#content article.formular form.formular#search_form input[type="submit"],
	#content article.formular form.formular#search_form input[type="reset"] {
		margin-bottom:8px;
	}
	
}

@media only screen and (max-width: 580px) {
	
	#content article.formular form.formular#search_form fieldset br.w640 {
		display:block;
		margin-bottom:10px;
	}
	
	#content article.formular form.formular#search_form select.select {
		margin-left:0;
	}
	
}

/* SUCHE ENDE */




#content article.formular form.formular fieldset p input.checkbox_txt_label {
	border:4px solid red !important;
	background-color:yellow !important;
	margin:4px 0 0 0 !important;
	display:block !important;
	padding:0 !important;
	width:16px !important;
	float:left !important;
}

#content article.formular form.formular fieldset p label.checkbox_txt_label {
	width:calc(100% - 48px);
	margin-left:6px;
	float:left;
	line-height:130%;
}

/* ##### FORMULAR ENDE ##### */