/* ---------- FONTS ---------- */
input[type="color"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="email"],
input[type="file"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
textarea,
select,
input[type="submit"],
input[type="button"],
input[type="reset"],
button,
.btn {
	font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

/* ---------- FORM ELEMENTS ---------- */
::-webkit-input-placeholder	{ 
	color: #AAA;
}
input[type="text"]:-moz-placeholder, 
input[type="email"]:-moz-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="url"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
textarea:-moz-placeholder { 
	color: #AAA; 
}
fieldset {
	border-bottom: 1px dotted #CCC;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
label {
	display: inline-block;
	margin: 5px 0;
}
label[for] {
	cursor: pointer;
}
input[type="color"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="email"],
input[type="file"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
textarea {
	background: #FFF;
	border: 1px solid #CCC;
	color: #111;
	display: block;
	font-size: 1em; /* too many possible contexts for em to work well */
	height: 38px;
	line-height: 38px;
	margin-bottom: 15px;
	max-width: 100%;
	min-width: 100%;
	padding: 0 5px;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	/* -moz-box-shadow: inset rgba(219,219,219,0.7) 0px 1px 6px;
	-o-box-shadow: inset rgba(219,219,219,0.7) 0px 1px 6px;
	-webkit-box-shadow: inset rgba(219,219,219,0.7) 0px 1px 6px;
	box-shadow: inset rgba(219,219,219,0.7) 0px 1px 6px; */
}
input[type="color"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="date"]:disabled,
input[type="email"]:disabled,
input[type="file"]:disabled,
input[type="month"]:disabled,
input[type="number"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="tel"]:disabled,
input[type="text"]:disabled,
input[type="time"]:disabled,
input[type="url"]:disabled,
input[type="week"]:disabled,
textarea:disabled {
	background: #FFF; /* light grey */
	border: 1px solid #EEE;
	cursor: default;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}
input[type="color"].error,
input[type="datetime"].error,
input[type="datetime-local"].error,
input[type="date"].error,
input[type="email"].error,
input[type="file"].error,
input[type="month"].error,
input[type="number"].error,
input[type="password"].error,
input[type="search"].error,
input[type="tel"].error,
input[type="text"].error,
input[type="time"].error,
input[type="url"].error,
input[type="week"].error,
textarea.error,
select.error {
	border-color: #CC374B; /* red */
}
input[type="color"].short,
input[type="datetime"].short,
input[type="datetime-local"].short,
input[type="date"].short,
input[type="email"].short,
input[type="file"].short,
input[type="month"].short,
input[type="number"].short,
input[type="password"].short,
input[type="search"].short,
input[type="tel"].short,
input[type="text"].short,
input[type="time"].short,
input[type="url"].short,
input[type="week"].short,
textarea.error {
	min-width: 50px;
	max-width: 100px;
}
input[type="color"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="file"]:focus,
input[type="month"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="week"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #5CA9E4; /* brightish blue */
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2) inset;
	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2) inset;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2) inset;
}
select {
	background-image: -moz-linear-gradient(0% 100% 90deg,#E0E0E0, #FFFFFF);
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFFFFF), to(#E0E0E0));
	background-color: #EEE;
	border: 1px solid #CCC;
	color: #111;
	display: block;
 	font-size: 1em; /* too many possible contexts for em to work well */
	height: 38px;
	margin-bottom: 15px;
	padding: 2px;
	max-width: 100%;
	min-width: 50%;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
}
label select {
	height: inherit;
}
textarea {
	height: 100px;
	line-height: 22px;
	padding-top: 5px;
	padding-bottom: 5px;
}
li input[type="color"],
li input[type="datetime"],
li input[type="datetime-local"],
li input[type="date"],
li input[type="email"],
li input[type="file"],
li input[type="month"],
li input[type="number"],
li input[type="password"],
li input[type="search"],
li input[type="tel"],
li input[type="text"],
li input[type="time"],
li input[type="url"],
li input[type="week"],
li textarea,
li select,
p input[type="color"],
p input[type="datetime"],
p input[type="datetime-local"],
p input[type="date"],
p input[type="email"],
p input[type="file"],
p input[type="month"],
p input[type="number"],
p input[type="password"],
p input[type="search"],
p input[type="tel"],
p input[type="text"],
p input[type="time"],
p input[type="url"],
p input[type="week"],
p textarea,
p select {
	margin-bottom: 0;
}

/* ---------- RADIO BUTTONS AND CHECKBOXES ---------- */
input[type="checkbox"],
input[type="radio"] {
	cursor: pointer;
	display: inline;
	line-height: 1.5em;
	margin: -5px 0.5em 5px 0;
	outline: none;
	padding: 0px;
	position: relative;
	bottom: 0;
}

/* input[type="hidden"] selectors have been included because ASP.NET 
	automatically generates these for checkboxes sometimes. */
input[type="radio"] + label,
input[type="checkbox"] + label,
input[type="radio"] + input[type="hidden"] + label,
input[type="checkbox"] + input[type="hidden"] + label {
	display: inline-block;
	margin-right: 1em; /* for cases like: input label input label */
	vertical-align: middle;
}
input[type="checkbox"] {
	/* -moz-transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	transition-duration: 0.5s; */
	cursor: pointer;
}
input[type="checkbox"][disabled],
input[type="checkbox"][disabled]:checked {
	cursor: default;
}

/* ---------- BUTTONS ---------- */
input[type="submit"],
input[type="button"],
input[type="reset"],
button,
.btn {
	background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: -ms-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
    background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
	background-color: #4CBD31; /* CCT green */
	color: #FFF;
	display: inline-block;
	font-size: 1.125em; /* too many possible contexts for em to work well */
	font-weight: 400;
	height: 38px;
	line-height: 38px;
	margin: 0;
	overflow: hidden;
	padding: 1px 30px 0 30px; /* top padding for norwester's weird baseline */
	position: relative;
	text-align: center;
	/* text-transform: uppercase; */
	vertical-align: middle;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	-moz-transition: color 0.15s linear;
	-ms-transition: color 0.15s linear;
	-o-transition: color 0.15s linear;
	-webkit-transition: color 0.15s linear;
	transition: color 0.15s linear;
	-webkit-font-smoothing: antialiased;
}
button::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner {
  /* Fix Firefox's submit buttons such that they are inline with the other browsers.
		Do not combine this rule with other declarations, as some browsers really 
		don't like the "::" part.*/
  margin: 0px;
  padding: 0px;
  border: 0px none;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  overflow: hidden;
}
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
a:focus {
  outline: none;
}
a.btn:link,
a.btn:visited {
	color: #FFF;
	text-decoration: none;
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
button:hover,
.btn:hover,
a.btn:hover,
a.btn:active {
	cursor: pointer;
	text-decoration: none;
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
button:disabled,
.btn:disabled,
a.btn:disabled,
a.btn:disabled,
input[type="submit"].disabled,
input[type="button"].disabled,
input[type="reset"].disabled,
button.disabled,
.btn.disabled,
a.btn.disabled,
a.btn.disabled {
	background-image: none;
	background-color: #AAA; /* light grey */
	cursor: default;
}
/*
.mini {
	font-size: 13px;
	height: 22px;
	line-height: 22px;
	padding: 0 15px;
}
*/

/* ---------- SPECIFIC CASES ---------- */
footer input[type="text"],
footer input[type="email"],
footer input[type="submit"],
footer input[type="text"]:focus,
footer input[type="email"]:focus {
	border: none;
	-webkit-appearance: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: 0 none;
	box-shadow: none;
}
footer input[type="text"],
footer input[type="email"] {
	background: #444;
	color: #FFF;
	display: inline-block;
	margin: 0;
	min-width: 0;
	padding: 0 5px;
}
footer input[type="email"],
footer input[type="email"]:focus {
	margin-bottom: 1px;
	width: 100%;
}
footer input[type="text"],
footer input[type="text"]:focus {
	border-right: 1px solid #333;
	width: 50%;
}
footer input[type="submit"] {
	padding: 1px 5px 0 5px; /* top padding for norwester's weird baseline */
	vertical-align: top;
	width: 50%;
}
span.error {
	color: #BD319E; /* purple */
	display: block;
	font-size: 1em; /* 16 */
	line-height: 1.5em; /* x(height) / y(size) */
	margin: -10px 0 15px 0;
}