* { 
	margin: 0; padding: 0; 
}

body { 
	font-family: Helvetica, Arial, Sans-Serif;
	background: #2c2c2c ;
  background-size:cover;
}

#layer {
    display:fixed;
    height:100vh;
     width:100vw;
   top:0px;
    left:0px;
    opacity:0.5;
    background-color:black;margin:0px;padding:0px;
}

#page-wrap { 
	width: 990px;
	margin: 10px auto;
	overflow: hidden;
}

.hidden {
	position:absolute;
	left:-999em;
	top:-999em;
	width:1%;
}


h1 { 
	font-size: 30px;
	letter-spacing: -1px;
	color: white;
	margin: 0 0 15px 0; 
	}
	
h1 input, .cim	{ 
		color: #fff; 
		background:black;
		background:transparent;
		border:0px;
		font-size: 32px;
		font-weight:900;
		width:auto;
		height:1.5em;
		margin:0 auto;
}

h3 { 
	font-size: 18px; 
	letter-spacing: -1px; 
	margin: 0 0 5px 0; 
}

p, label { 
	font-family: Georgia, serif;
	font-style: italic;
	font-size: 18px; 
	margin: 4px 0;
}	


fieldset {
	width: 280px; 
	padding: 15px; 
	float: left; 
	border: none;
	margin: 0 10px 0 0; 
	}
	fieldset#step_1	{ 
		background: #b2e7ca; 
	}
	fieldset#step_2	{ 
		background: #b2d9e7; 
	}
	fieldset#step_3 { 
		background: #e7c7b2; 
	}

legend { 
	font-weight: bold; 
	font-size: 20px; 
	background: white;
	-moz-border-radius: 10px; 
	-webkit-border-radius: 10px;
	padding: 5px 10px; 
	letter-spacing: -1px;
}
									  	  
option { 
	padding: 0 5px; 
}

.name_wrap { 
	margin: 5px 0; 
	}
	.name_wrap label { 
		font-size: 12px; 
		display: block; 
		width: 102px; 
		float: left; 
	}
	
.push {
	margin: 20px 0 0 0; 
}

#special_accommodations_wrap,
#company_name_wrap { 
	margin: 8px 0 0 0; 
}

#company_name_wrap label,
#company_city_wrap label,
#company_address_wrap label,
#company_tel_wrap label,
#company_adoszam_wrap label,
#company_bill_name_wrap label,
#company_bill_city_wrap label,
#company_bill_address_wrap label,
#company_bill_adoszam_wrap label,
#special_accommodations_wrap label { 
	font-size: 12px; 
}

input:required {
  border: 1px solid red;
}