.noscriptAlert {
	border: 2px solid red; background: yellow; padding: 5px; text-align: center;
}

.formContainer, .formGroup, .formLabel { border-width: 0px; }
.formContainer {
	border-style: solid; border-color: gray;
	border-width: 1px;
	padding: 15px 10px;
	width: 300px; /* by default, contact form is 300px wide, with labels and fields appearing "stacked" (labels above fields) */
	margin: 10px auto 20px; /* top  right&left  bottom */
	margin-bottom: 20px;
	text-align: center;
	box-shadow: 1px 1px 7px #aaa;
	background-color: #FFFBF7;
}
.formGroup { /* a formGroup is the combination of the label (within a span) and the input field */
	margin-bottom: 5px;
	padding: 0px;
	border-style: solid; border-color: orange;
	text-align: left;
}
.formLabel {
	display: inline-block; /* inline-block allows the label span's width to be respected */
	white-space: nowrap; /* basicaly makes the span a nobr */
	width: 190px;
	border-style: solid; border-color: cyan;
	text-align: left; /* by default, labels are left aligned (for "stacked" format) */
	vertical-align: top;
	line-height: 1.3em;
	padding: 1px;
}

input[type=text], textarea, select {
	width: 278px;
	padding: 1px;
	margin: 0px;
	border-width: 1px;
}
input[type=text] {
	line-height: 1.3em;
	xborder: 1px solid red;
	xborder-width: 1px;
	border-radius: 4px;	
	xbackground-color: #FFFBF7;
}
textarea {
	height: 45px; /* one line = 25px, two line = 45px, three line (orig) = 60px; */
	resize: vertical;
	border-radius: 4px;
}
input[type=button], input[type=submit], input[type=reset] {
	background-color: darkorange;
	border: 1px solid orangered;
	color: white;
	padding: 10px 20px;
	text-decoration: none;
	margin: 14px auto 0px auto;
	cursor: pointer;
	box-shadow: 1px 1px 7px #aaa;
}
	input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover {
		background-color: orangered;
		border: 1px solid darkorange;
	}

.bigClickablePhoneNumber {
	font-size: 3.1rem;
	text-align: center;
	font-weight: bold;
}
.charsRemaining {
	font-size: 80%;
	font-style: italic;
	color: #FF5A00; /* a bright orange */
}
.errorMsg {
	color: red;
	background-color: #FDFF55; /* A bright but slightly muted yellow */
	margin: 10px 0px 5px; /* margin/padding shorthand: top right/left bottom */
	padding: 8px 14px;
	border: 1px solid red;
	border-radius: 8px;
	box-shadow: 2px 2px 6px 0px gray;
}

@media screen and (min-width: 570px) {
	.formContainer {
		width: 500px; /* when screen width is over 570, contact form is 500px wide, with labels and fields appearing side-by-side */
		padding: 20px 10px;
	}
	.formLabel {
		text-align: right; /* when screen width is over 570, labels are right aligned (for side-by-side format) */
	}
}

@media screen and (min-width: 800px) {
	.bigClickablePhoneNumber a[href^="tel:"] {
		text-decoration: none; /* Removes underline of phone number link if on desktop */
	}
}