
fieldset.step {
	clear: left;
	background:rgba(255,255,255,.7);
	padding-top:0;
}

fieldset.step h2{
	padding-top:.7em;
}

fieldset.step legend{
	display:none;
}
fieldset.step label {
	float:left;
	padding-right:16px;
	width:180px;
}
fieldset.step label.inline {
	width:auto;
	float:none;
	display:inline;
}
fieldset.step label.block {
	width:auto;
	display:block;
	float:none;
}
ul.stepy-titles {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

fieldset.step .crew,
fieldset.step .vehicles{
	padding-top:10px;
	margin-top:10px;
	position:relative;
	border-top:1px solid #ccc;
	overflow:hidden;
}

fieldset.step .crew:first-child,
fieldset.step .vehicles:first-child {
	border-top:none;
	padding-top:0px;
	margin-top:0px;
}


fieldset.step .crew:hover .remove,
fieldset.step .vehicles:hover .remove{
	display:block;
}
fieldset.step .remove{
	position:absolute;
	right:0;
	top:5px;
	display:none;
}


fieldset.step .crew label{
	width:100px;
	padding-top:5px;
}

fieldset.step .vehicles label{
	width:120px;
	padding-top:5px;
}

fieldset.step p{
	padding:5px 0;
	margin:0;
	margin-bottom:10px;
}
fieldset.step .vehicles p,
fieldset.step .crew p{
	margin-bottom:.2em;
	width:50%;
	float:left;
}


fieldset.step textarea {
	height:80px;
}

fieldset.step .permit_form-buttons {
	padding-top:30px;
	clear:both;
}

ul.stepy-titles li {
	cursor: pointer;
    color:#aaa;
    counter-increment: step-counter;
}

ul.stepy-titles li:before {
    content: counter(step-counter);
    margin-right: 6px;
    font-size: 80%;
    background-color: rgb(200,200,200);
    color: white;
    font-weight: bold;
    padding: 5px 8px 4px;
    transform: translateY(-1px);
    display: inline-block;
    border-radius: 3px;
    line-height: 1;
}

ul.stepy-titles li.current-step {
	cursor: auto;
	color:#9A1A1D;
}
ul.stepy-titles li.current-step:before {
	background-color:#9A1A1D;
}
a.button-back {
	float: left;
	text-decoration: none;
}

a.button-next {
	float: right;
	text-decoration: none;
}

input[type=text]{
	width:300px;
}


p.registration-details-vehicles,
p.group-members {
	width:48%;
	float:left;
}
p.registration-details-vehicles label{
	width:130px;
	padding-top:5px;
}
p.group-members label {
	width:60px;
	padding-top:5px; 
}
p.registration-details-vehicles input{
	width:150px;
}
p.group-members input {
	width:200px;
}

input.date{
	width:170px;
}



input.invalid, textarea.invalid{ border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
.no-boxshadow input.invalid,
.no-boxshadow textarea.invalid{ background-color: #f0dddd; }



.checkboxs-radios {
	overflow:hidden;
}
p.checkboxs-radios label {
	clear:both;
	float:left;
	display:block;
	min-width:50px;
	padding-right:20px;
	width:auto;
}

p.form_textarea label {
	clear:both;
	display:block;
	width:auto;
	float:none;
}

p.error {
box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000));
border: 1px solid;
border-color: #747474 #5e5e5e #4f4f4f;
color: #fff;
font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif;
padding: 15px 15px 17px;
text-shadow: #000 0 0 1px;
}


/* calendar root element */
#calroot {
	/* place on top of other elements. set a higher value if nessessary */
	z-index:10000;
	margin-top:-1px;
	width:262px;
	padding:2px;
	background-color:#fff;
	font-size:11px;
    border:1px solid #ccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#calroot * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* head. contains title, prev/next month controls and possible month/year selectors */
#calhead {	
	padding:2px 0;
	height:22px;
} 

#caltitle {
	font-size:14px;
	color:#0150D1;	
	float:left;
	text-align:center;
	width:215px;
	line-height:20px;
}

#calnext, #calprev {
	display:block;
	width:20px;
	height:20px;
	background:transparent url(../img/cal/prev.gif) no-repeat scroll center center;
	float:left;
	cursor:pointer;
}

#calnext {
	background-image:url(../img/cal/next.gif);
	float:right;
}

#calprev.caldisabled, #calnext.caldisabled {
	visibility:hidden;	
}

/* year/month selector */
#caltitle select {
	font-size:10px;	
}

/* names of the days */
#caldays {
	height:14px;
	border-bottom:1px solid #ddd;
}

#caldays span {
	display:block;
	float:left;
	width:36px;
	text-align:center;
}

/* container for weeks */
#calweeks {
	background-color:#fff;
	margin-top:4px;
}

/* single week */
.calweek {
	clear:left;
	height:22px;
}

/* single day */
.calweek a {
	display:block;
	float:left;
	width: 35px;
    height: 32px;
    line-height: 32px;
	text-decoration:none;
	font-size:14px;
    margin-left:1px;
    display: inline-block;
	margin-bottom:1px;
	text-align:center;
	color:#444;
	-moz-border-radius:3px;
	-webkit-border-radius:3px; 		
} 

/* different states */
.calweek a:hover, .calfocus {
	background-color:#ddd;
}

/* sunday */
a.calsun {
	color:red;		
}

/* offmonth day */
a.caloff {
	color:#888;		
}

a.caloff:hover {
	background-color:rgb(245, 245, 250);		
}


/* unselecteble day */
a.caldisabled {
	background-color:#efefef !important;
	color:#ccc	!important;
	cursor:default;
}

/* current day */
#calcurrent {
	background-color:#498CE2;
	color:#fff;
}

/* today */
#caltoday {
	background-color:#333;
	color:#fff;
}



#form_loading {
	display:none;
	width:400px;
	border:6px solid #666;
	border:6px solid rgba(82, 82, 82, 0.698);
	background:#666;
	background:rgba(82, 82, 82, 0.698);
	-moz-border-radius:8px;
	-webkit-border-radius:8px;
}
#form_loading p {
	padding:10px;
	margin:0;
	background-color:#fff;
	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px; 
}
#form_loading h2 {
	margin:0;
	margin-bottom:0px;
	color:#fff;
	background:#c5371f url(../img/loader_red.gif) no-repeat 9px 50%;
	padding:5px 10px 5px 35px;
	font-weight:normal;
	font-family:Arial, Helvetica, sans-serif;
	font-size:20px;
	border-bottom:none;
}

select, input, textarea {
    margin-bottom: 0 !important;
}


div.form_error{
    background: #444;
	color: #fff;
	font:inherit;
	padding: 8px 12px;
    padding: 3px 15px 4px 9px;
    line-height: 1.22;
	margin: 3px;
	margin-top:-25px;
	margin-left:-140px;	
}

div.form_error p{
    margin: 0;
	font-size:.9rem;
}

@media (min-width: 768px) {
    #permit_form-titles {
        width: 200px;
        margin-right: 30px;
        float: left;
    }
    #permit_form {
        width: 500px;
        float: left;
    }

    #permit_form legend + h2 {
        margin-top: 0;
        padding-top: 0;
    }

    .form-wrapper {
        padding-top: 20px;
    }
}

h1 {
    margin-top: 20px;
}

.group  {
	margin-bottom: 20px;
}

.group .set {
	padding-top: 15px;
	margin-top: 15px;
	border-top: 1px solid #ddd;
}
.group .set:nth-child(2) {
	border-top: none;
	padding-top: 0; 
	margin-top: 0; 
}