/*FORM CSS */

/* *********** 2 column fluid form styling  ********************/
/* Source: DynamicDrive.com */

input:required, textarea:required {
	background: #fff url(../images/red_asterisk.png) no-repeat 98% center;
}
#contactform{
width: 92%;
font-size: 100%; /* Primary font size of form. Contained elements' */
				/* font size are all relative to this setting */
	margin: 1% 2% 1% 2%;
	border-radius: 10px;
	box-shadow:.2em .2em .5em #999;
	padding: 1em;
	overflow: hidden;
}
#contactform input, #contactform textarea{
width: 85%;
border-radius: 5px;
border: 1px solid gray;
font: normal 1em auto; /* 24px, or 16px x 1.5 */
padding: 0.1416666666666667em; /* 10px, or 24px x 0.4166666666666667 */
box-shadow: 0 0 5px gray inset;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#contactform textarea{
resize:vertical; /* allow vertical resize of textarea */
height: 100px;
}
#contactform input:focus, #contactform textarea:focus, #contactform select:focus{
box-shadow: 0 0 5px #2d90ab inset;
outline-width: 0;
wrap: hard;
}
#contactform input[type="radio"], #contactform input[type="checkbox"]{
padding: 0;
width: auto;
height: auto;
border-radius: 0;
}
#contactform select{
width: 98%;
border-radius: 5px;
border: 1px solid gray;
font: normal 1em auto; /* 24px, or 16px x 1.5 */
padding: 0.1416666666666667em; /* 10px, or 24px x 0.4166666666666667 */
box-shadow: 0 0 5px gray inset;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#contactform .formcolumn{ /* column div inside form */
width: 49%;
float: left;
}
#contactform .formcolumn:first-of-type{
margin-right: 2%; /* 2% margin after first column */
}
#contactform .formcolumn label{
font: bold 0.75em Verdana; /* font size is 12.8px, or 16 x 0.8 */
width: 100%;
text-align: left;
text-transform: uppercase;
display: block;
margin-top: 1em;
margin-bottom: 3px;
}
#contactform .formcolumn fieldset{
font: normal 1em inherit;
width: 100%;
text-align: left;
/*text-transform: uppercase;*/
display: block;
margin-top: 1em;
margin-bottom: 3px;
}
#contactform fieldset{
width: 98%;
border-radius: 5px;
border: 1px solid gray;
box-shadow: 0 0 5px #999;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#contactform legend{
	display: block;
	font: bold 0.75em Verdana;
	color: #8f0222;
	/*float: left;*/
	border: 1px;
}
#contactform .formcolumn label:first-child, #contactform .formcolumn fieldset:first-child{
margin-top: 0; /* first label or fieldset within each column should not no top margin */
}
#contactform fieldset ul{
list-type: none;
margin: 0;
padding: 0;
}
#contactform fieldset ul li{
display: inline-block;
margin-bottom: 5px;
margin-right: 1em;
}
#contactform div.buttons{
clear: both;
text-align: center;
}
#contactform input.button{
margin-top: 1.5EM;
width: 50%;
box-shadow: 0 0 10px gray;
text-transform: uppercase;
cursor: pointer;
min-width: 100px;
max-width: 600px;
color: white;
font-weight: bold;
letter-spacing: 7px;
text-shadow: 0 -2px 1px #8a8a8a;
background: #51bbd2;
  background: -moz-linear-gradient(top, #51bbd2 0%, #2d97af 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #51bbd2), color-stop(100%, #2d97af));
  background: -webkit-linear-gradient(top, #51bbd2 0%, #2d97af 100%);
  background: -o-linear-gradient(top, #51bbd2 0%, #2d97af 100%);
  background: -ms-linear-gradient(top, #51bbd2 0%, #2d97af 100%);
  background: linear-gradient(to bottom, #51bbd2 0%, #2d97af 100%);
}

#contactform input.button:active{
text-shadow: 0 0 1px #8a8a8a;
background: #b3dced; /* Old browsers */
background: -moz-linear-gradient(top,  #b3dced 0%, #51bbd2 50%, #bce0ee 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b3dced), color-stop(50%,#51bbd2), color-stop(100%,#bce0ee)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #b3dced 0%,#51bbd2 50%,#bce0ee 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #b3dced 0%,#51bbd2 50%,#bce0ee 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #b3dced 0%,#51bbd2 50%,#bce0ee 100%); /* IE10+ */
background: linear-gradient(to bottom,  #b3dced 0%,#51bbd2 50%,#bce0ee 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3dced', endColorstr='#bce0ee',GradientType=0 ); /* IE6-8 */
}

/*** Styling for required fields ***/
.requiredNotification { /* indicator at top of form */
	font-size: .8em;
	color: #8f0222;
	margin: 5px 30px 0 0;
	display: inline;
	float: right;
}
/* === Form hints === */
#contactform .form_hint {
	font-size: .75em;
	background: #8f0222;
	border-radius: 3px 3px 3px 3px;
	color: white;
	margin-left:8px;
	padding: 1px 6px;
	z-index: 999; /* hints stay above all other elements */
	position: absolute; /* allows proper formatting if hint is two lines */
	display: none;
}
#contactform .form_hint::before {
	/* left point triangle in escaped unicode points hint to field */
	content: "\25C0";
	color:#8f0222;
	position: absolute;
	top:1px;
	left:-6px;
}
#contactform input:focus + .form_hint {display: inline;}

@media screen and (max-width: 480px){ /* responsive form settings, */
							/* when window width is 480px or less */
	#contactform{
	font-size: 14px; /* decrease form font size */
	}
	#contactform .formcolumn{
	width: 100%;
	float: none;
	}
	#contactform .formcolumn:first-of-type{
	margin-right: 0; /* remove right margin from first form column */
	}
	#contactform .formcolumn:nth-of-type(2){
	padding-top: 2em; /* add padding to top of 2nd form column, */
			/* so there is a gap between the 1st and 2nd column */
	}
	#contactform select{
	width: 98%;
	}
}

