.group {
	display: inline-block;
	zoom: 1; /* ie7 hack for display:inline-block */
	*display: inline;
	margin-right: 40px;
}

section .group:last-of-type {
	margin-right: 0;
}

/* Micro clearfix hack */
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}



.contact-form {
	width: 95%;
	text-align: left;
}


/* Form input box style */
.form-input {
	display: block;
	width:300px;
	height: 16px;
	padding: 5px 10px;
	margin-bottom: 5px;
	font: 12px Arial, Helvetica, Arial, sans-serif;
	color: #333;
	background: #fff;
	border: 1px solid #ccc;
	outline: none;
	-moz-border-radius:    8px;
	-webkit-border-radius: 8px;
	border-radius:         8px;
	-moz-box-shadow:    inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
	-webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
	box-shadow:         inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
	-moz-background-clip:    padding;
	-webkit-background-clip: padding-box;
	background-clip:         padding-box;
	-moz-transition:    all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition:      all 0.4s ease-in-out;
	-ms-transition:     all 0.4s ease-in-out;
	transition:         all 0.4s ease-in-out;
	behavior: url(PIE.htc);
}

.form-input.greyed {
	background: #ddd;
}

textarea.form-input {
	width: 300px;
	height: 200px;
	overflow: auto;
}


/* Focus style */
.form-input:focus {
	border: 1px solid #7fbbf9;
	-moz-box-shadow:    inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
	-webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
	box-shadow:         inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
}

/* Error style */
.form-input:-moz-ui-invalid {
	border: 1px solid #e00;
	-moz-box-shadow:    inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
	-webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
	box-shadow:         inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
}

.form-input.invalid {
	border: 1px solid #e00;
	-moz-box-shadow:    inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
	-webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
	box-shadow:         inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
}

/* Placeholder style */
.nolabel ::-webkit-input-placeholder {
	color: #888;
}

.nolabel :-moz-placeholder {
	color: #888;
}


/* Form submit button */
.form-btn {
	margin-top: 10px;
	padding: 0 15px;
	height: 30px;
	font: bold 12px 'Helvetica Neue', Helvetica, Arial, sans-serif;
	text-align: center;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
	cursor: pointer;
	border: 1px solid #1972c4;
	outline: none;
	position: relative;
	background-color: #1d83e2;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#77b5ee), to(#1972c4)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #77b5ee, #1972c4); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #77b5ee, #1972c4); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #77b5ee, #1972c4); /* IE10 */
	background-image:      -o-linear-gradient(top, #77b5ee, #1972c4); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #77b5ee, #1972c4);
	-pie-background:          linear-gradient(top, #77b5ee, #1972c4); /* IE6-IE9 */
	-moz-border-radius:    16px;
	-webkit-border-radius: 16px;
	border-radius:         16px;
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
	-moz-background-clip:    padding;
	-webkit-background-clip: padding-box;
	background-clip:         padding-box;
	behavior: url(PIE.htc);
}

.form-btn:active {
	border: 1px solid #77b5ee;
	background-color: #1972c4;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#1972c4), to(#77b5ee)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #1972c4, #77b5ee); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #1972c4, #77b5ee); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #1972c4, #77b5ee); /* IE10 */
	background-image:      -o-linear-gradient(top, #1972c4, #77b5ee); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #1972c4, #77b5ee);
	-pie-background:          linear-gradient(top, #1972c4, #77b5ee); /* IE6-IE9 */
	-moz-box-shadow:    inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
	-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
	box-shadow:         inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
}

input[type=submit]::-moz-focus-inner {
	border: 0;
	padding: 0;
}


/* Labels */
label {
	margin:5px 0 2px 0;
	display: block;
	width: 250px;
	color: #444;
	font-weight: bold;
	font-size: 12px;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

label span {
	font-size: 12px;
	font-weight: normal;
	color: #999;
}


/***** Frame style *****/

.contact-form.frame {
	padding: 20px;
	background-color: #dddddd;
}




/***** With Top Bar *****/

.contact-form.tbar {
	padding: 0 20px 20px 20px;
	background-color: #eee;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#d6d6d6)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #f6f6f6, #d6d6d6); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #f6f6f6, #d6d6d6); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #f6f6f6, #d6d6d6); /* IE10 */
	background-image:      -o-linear-gradient(top, #f6f6f6, #d6d6d6); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #f6f6f6, #d6d6d6);
	-pie-background:          linear-gradient(top, #f6f6f6, #d6d6d6); /* IE6-IE9 */
	behavior: URL(PIE.htc);
}

.contact-form.tbar h3 {
	font: normal 18px/1 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #333;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
	padding: 20px;
	margin: 0 -20px 20px -20px;
	background-color: #c9c9c9;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#c9c9c9)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #f6f6f6, #c9c9c9); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #f6f6f6, #c9c9c9); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #f6f6f6, #c9c9c9); /* IE10 */
	background-image:      -o-linear-gradient(top, #f6f6f6, #c9c9c9); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #f6f6f6, #c9c9c9);
	-pie-background:          linear-gradient(top, #f6f6f6, #c9c9c9); /* IE6-IE9 */
	-moz-border-radius:    8px 8px 0 0;
	-webkit-border-radius: 8px 8px 0 0;
	border-radius:         8px 8px 0 0;
	-moz-border-radius:    8px 8px 0 0;
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
	behavior: url(PIE.htc);
}





/***** Message box on top *****/

.msgtop input.form-input {
	width: 250px;
}

.msgtop .form-input {
	border: 1px solid #ccc;
	background-color: #eee;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#c6c6c6)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #f6f6f6, #c6c6c6); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #f6f6f6, #c6c6c6); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #f6f6f6, #c6c6c6); /* IE10 */
	background-image:      -o-linear-gradient(top, #f6f6f6, #c6c6c6); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #f6f6f6, #c6c6c6);
	-pie-background:          linear-gradient(top, #f6f6f6, #c6c6c6); /* IE6-IE9 */
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.5);
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.5);
}

.msgtop textarea {
	height: 150px;
}

.msgtop label {
	padding-left: 25px; 
}

.msgtop.nolabel .form-input {
	padding-left: 45px;
	width: 215px;
}

.msgtop.nolabel textarea.form-input {
	width: 365px;
}

.msgtop.nolabel ::-webkit-input-placeholder {
	color: #666;
}

.msgtop.nolabel :-moz-placeholder {
	color: #666;
}

.msgtop .form-input:focus {
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 5px #7fbbf9;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 5px #7fbbf9;
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 5px #7fbbf9;
}

.msgtop .form-input:-moz-ui-invalid {
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
}

.msgtop.form-input.invalid {
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.9), 0 0 7px #e00;
}

.msgtop.nolabel p {
	position: relative;
}

.msgtop.nolabel p:before, .ie .msgtop.nolabel p .before {
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 100%;
	text-align: center;
	line-height: 44px;
	border: 1px solid #798693;
	border-right: 0;
	background-color: #959faa;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#b1b9c0), to(#798693)); /* Saf4+, Chrome */
	background-image: -webkit-linear-gradient(top, #b1b9c0, #798693); /* Chrome 10+, Saf5.1+, iOS 5+ */
	background-image:    -moz-linear-gradient(top, #b1b9c0, #798693); /* FF3.6 */
	background-image:     -ms-linear-gradient(top, #b1b9c0, #798693); /* IE10 */
	background-image:      -o-linear-gradient(top, #b1b9c0, #798693); /* Opera 11.10+ */
	background-image:         linear-gradient(top, #b1b9c0, #798693);
	-moz-border-radius:    8px 0 0 8px;
	-webkit-border-radius: 8px 0 0 8px;
	border-radius:         8px 0 0 8px;
	-moz-box-shadow:    inset 0 1px 0 rgba(255, 255, 255, 0.5);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
	box-shadow:         inset 0 1px 0 rgba(255, 255, 255, 0.5)
}

.ie .msgtop.nolabel p:before {
	display: none;
}

.ie .msgtop.nolabel p .before {
	z-index: 1;
	-pie-background: linear-gradient(top, #b1b9c0, #798693); /* IE6 -IE9 */
	border-radius: 8px 0 0 8px;
	behavior: url(PIE.htc);
}

.ie .msgtop.nolabel p .before:before {
	position: absolute;
	width: 100%;
	height: 100%;
	text-align: center;
}

.msgtop label.message {
	background: url(pencil.png) 0 center no-repeat;
}

.msgtop.nolabel p.message:before, .ie .msgtop.nolabel p.message .before:before {
	content: url(pencil.png);
	line-height: 162px;
}

.msgtop label.name {
	background: url(user.png) 0 center no-repeat;
}

.msgtop.nolabel p.name:before, .ie .msgtop.nolabel p.name .before:before {
	content: url(user.png);
}

.msgtop label.email {
	background: url(email.png) 0 center no-repeat;
}

.msgtop.nolabel p.email:before, .ie .msgtop.nolabel p.email .before:before {
	content: url(email.png);
}

.msgtop label.subject {
	background: url(document.png) 0 center no-repeat;
}

.msgtop.nolabel p.subject:before, .ie .msgtop.nolabel p.subject .before:before {
	content: url(document.png);
}




/***** Form in a 3d frame *****/

.contact-form.form3d  {
	padding: 20px;
	position: relative;
	background-color: #ddd;
}

.form3d .form-input {
	position: relative;
}




/***** Form as airmail envelope *****/

.contact-form.envelope {
	width: 846px;
	padding: 15px;
	margin: 0 auto;
	position: relative;
	background-color: #f5f5f5;
	background-image: -webkit-gradient(linear, left top, right bottom, 
										   color-stop(5%, transparent), color-stop(5%, #ed5737),
	                                       color-stop(15%, #ed5737), color-stop(15%, transparent),
	                                       color-stop(25%, transparent), color-stop(25%, #2f57b7),
	                                       color-stop(35%, #2f57b7), color-stop(35%, transparent),
	                                       color-stop(45%, transparent), color-stop(45%, #ed5737),
	                                       color-stop(55%, #ed5737), color-stop(55%, transparent),
	                                       color-stop(65%, transparent), color-stop(65%, #2f57b7),
	                                       color-stop(75%, #2f57b7), color-stop(75%, transparent),
	                                       color-stop(85%, transparent), color-stop(85%, #ed5737),
	                                       color-stop(95%, #ed5737), color-stop(95%, transparent));
	background-image: -webkit-repeating-linear-gradient(135deg, #ed5737 0, #ed5737 50px, transparent 50px, transparent 80px, #2f57b7 80px, #2f57b7 130px, transparent 130px, transparent 160px);
	background-image:    -moz-repeating-linear-gradient(135deg, #ed5737 0, #ed5737 50px, transparent 50px, transparent 80px, #2f57b7 80px, #2f57b7 130px, transparent 130px, transparent 160px);
	background-image:     -ms-repeating-linear-gradient(135deg, #ed5737 0, #ed5737 50px, transparent 50px, transparent 80px, #2f57b7 80px, #2f57b7 130px, transparent 130px, transparent 160px);
	background-image:      -o-repeating-linear-gradient(135deg, #ed5737 0, #ed5737 50px, transparent 50px, transparent 80px, #2f57b7 80px, #2f57b7 130px, transparent 130px, transparent 160px);
	background-image:         repeating-linear-gradient(135deg, #ed5737 0, #ed5737 50px, transparent 50px, transparent 80px, #2f57b7 80px, #2f57b7 130px, transparent 130px, transparent 160px);
	-pie-background:          linear-gradient(135deg, 
										   #f5f5f5 5%,  #ed5737 5%,
	                                       #ed5737 15%, #f5f5f5 15%,
	                                       #f5f5f5 25%, #2f57b7 25%,
	                                       #2f57b7 35%, #f5f5f5 35%,
	                                       #f5f5f5 45%, #ed5737 45%,
	                                       #ed5737 55%, #f5f5f5 55%,
	                                       #f5f5f5 65%, #2f57b7 65%,
	                                       #2f57b7 75%, #f5f5f5 75%,
	                                       #f5f5f5 85%, #ed5737 85%,
	                                       #ed5737 95%, #f5f5f5 95%);
	-moz-box-shadow:    0 12px 5px -12px rgba(0, 0, 0, 0.7);
	-webkit-box-shadow: 0 12px 5px -12px rgba(0, 0, 0, 0.7);
	box-shadow:         0 12px 5px -12px rgba(0, 0, 0, 0.7);
	behavior: url(PIE.htc);

}

.ie .contact-form.envelope {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}

.contact-form.envelope:before {
	content: '';
	position: absolute;
	z-index: -1;
	right: 10px;
	bottom: 15px;
	width: 350px;
	height: 10px;
	-moz-box-shadow:    0px 15px 15px rgba(0, 0, 0, 0.9);
	-webkit-box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.9);
	box-shadow:         0px 15px 15px rgba(0, 0, 0, 0.9);
	-moz-transform:    rotate(4deg) skew(4deg);
	-webkit-transform: rotate(4deg) skew(4deg);
	-o-transform:      rotate(4deg) skew(4deg);
	-ms-transform:     rotate(4deg) skew(4deg);
	transform:         rotate(4deg) skew(4deg);
}

.envelope.nolabel {
	margin: 40px auto;
}

.envelope .form-inner {
	overflow: hidden;
	padding: 40px 20px;
	background-color: #f5f5f5;
}

.envelope .column:first-of-type {
	float: left;
	position: relative;
}

.envelope .column:last-of-type {
	float: right;
	margin: 0 0 20px 40px;
}

.envelope .form-input {
	width: 320px;
	border: 5px solid #ebebeb;
	position: relative;
}

.envelope textarea.form-input {
	width: 380px; 
	position: relative;
	margin-bottom: 0;
}

.envelope .form-btn {
	clear: both;
	float: right;
}