h2 {
	font:normal 1.6em Arial, Helvetica, sans-serif;
	color:#000066;
	margin-bottom:10px;
}

h3 {
	color: #000;
	font-size: 1.1em;
	padding: 0 0 0 10px;
	margin: 1em 0 0 0;
}

input[type=text], input[type=email], input[type=tel], textarea {
	padding-left:0.4em;
	margin-bottom: 0.2em;
	font-family: sans-serif;
}

#announcement {
	text-decoration:none;
	font-weight:bold;
}

#horizontal_separator {
	clear:both;
}

#reg_form {
	padding-left:10px;
}

div.info_title {
	padding-left:10px;
	padding-bottom:10px;
	font-size:1.1em;
	font-weight:bold;
}

div.info_title a {
	text-decoration:none;
}

div.info_title a:hover {
	text-decoration:underline;
}

span.info_title {
	padding-left:10px;
	font-size:1.1em;
	font-weight:bold;
}

.top_info {
	text-align:left;
	padding-left:10px;
	font-size:1.1em;
	margin-left: 0px;
	margin-top:5px;
}

.info {
	text-align:left;
	padding-left:10px;
	font-size:1.1em;
	margin-left: 20px;
	margin-top:5px;
}

.directions {
}

.directions a {
	text-decoration:none;
	font-weight:bold;
}

.directions:before {
	content:"▶ ";
}

.info ul {
	list-style-position:outside;
	padding-left: 0;
	margin: 0;
}

.info li {
	margin-left:20px;
}

.info li.info_cont {
	list-style:none;
}

.info li.sub_info_line {
	list-style:none;
}

.info li.sub_info_line:before {
	content:" - ";
}

div.mainbar ul {
	font-size: 1.1em;
	margin-top: 0;
}

#photo_bad_honnef {
	height:168px;
	float:right;
	margin-left:1em;
	margin-top: 2ex;
	margin-bottom:1em;
}

.info .no_bullet {
	list-style:none;
	padding-left:0px;
	margin-left: 0;
}

table.schedule {
	margin-left:20px;
	padding-left:10px;
	font-size:1.1em;
	margin-bottom:1em;
}

table.schedule td {
	padding:0px;
	padding-right:1em;
}

.errors {
	color: red;
}

p.errors {
	padding: 0 2em;
}

form table {
	border-collapse: collapse;
	clear: both;
}

form table tr {
	border-bottom: 0.3ex solid transparent;
}

form table tr.separator {
	border-top: 1ex solid transparent;
}

form th {
	font-weight: bold;
}

form label.inline_label {
	padding-left: 0.5em;
	font-weight: bold;
}

form th {
	text-align: right;
	vertical-align: top;
	padding-top: 1.3ex;
}

form td:first-of-type {
	color: red;
	vertical-align: top;
	padding-top: 0.8ex;
	padding-right: 0.5em;
}

form .inline_ast {
	color: red;
	font-weight: normal;
	vertical-align: 0.5ex;
}

#billing_same {
	margin-left: 1em;
}

form ul {
	margin: 0;
	padding: 0.5ex 0 0 0;
	list-style: none;
}

form input {
	height: 2em;
	vertical-align: middle;
}

form input.contribution, form textarea.contribution {
	width: 90%;
	padding: 0.2ex 0.3em;
	margin: 2px;
	border: 1px solid grey;
}

form p.remark {
	margin-top: 0;
	font-weight: bold;
}

#form {
	width:auto;
	margin:auto;
}

#form .input_separator {
	padding-top:10px;
}

div .form_line {
	margin-top:5px;
	margin-bottom:5px;
	clear:both;
	height:32px;
}

div .form_line div {
	vertical-align:middle;
	float:left;
}

div .form_line .label {
	width:150px;
	text-align:right;
	padding-top:5px;
}

div .form_line .ast_place {
	/* make div accept width */
	min-height:1px;
	width:10px;
	text-align:center;
	padding-top:2px;
}

/*.selectable input[type="text"].text_disabled { display: inline; }
.selectable input[type="text"] { display: none; }
.selectable input[type="radio"]:checked ~ input[type="text"].text_disabled { display: none; }
.selectable input[type="radio"]:checked ~ input[type="text"] { display: inline; }
.selectable input[type="checkbox"] { margin-left:5px; }
.selectable input[type="checkbox"]:checked ~ input[type="text"].text_disabled { display: none; }
.selectable input[type="checkbox"]:checked ~ input[type="text"] { display: inline; }*/
.notselectee { display: inline; }
.selectee { display: none; }
.selectee_block { display: none; }
.selector:checked ~ .notselectee { display: none; }
.selector:checked ~ .selectee { display: inline; }
.selector:checked ~ .selectee_block { display: block; }
.selectable input[type="checkbox"] { margin-left:5px; }

@media only screen and (max-device-width:480px) {
	div .form_line .label {
		width:250px;
	}
	div .form_line .ast_place {
		width:20px;
	}
}

div .form_line .form_element {
	padding-top:2px;
	width:60%;
}

div .form_line .form_element ul {
	margin:0;
	padding:0;
	list-style:none;
}

div .form_line .form_element input,select {
	height:26px;
	vertical-align:middle;
}

div.form_line input[type="radio"] {
	margin-top:0;
}

div .form_line .form_element ul {
	margin:0;
	padding:0;
	list-style:none;
}

.req_ast {
	color:red;
}

.input_info {
	font-size:0.5em;
}

#prop_no {
	margin-left:160px;
	width:60%;
}

#submit {
	margin-left:160px
}

#req_fields {
	padding-left:160px;
	font-size:1.1em;
}

@media only screen and (max-device-width:480px) {
	#prop_no {
		margin-left:270px;
		width:60%;
	}

	#submit {
		margin-left:270px
	}

	#req_fields {
		padding-left:270px;
		font-size:1.1em;
	}
}


#program {
	margin-top:0.5em;
	text-align:center;
}

#program_pic {
	width:90%;
}

.error_info {
	color:red;	
	font-weight:bold;
}
