.form-group {
    margin-bottom: 2em;
}
input,
textarea,
.form-control,
.fi-select,
.fi-file {
    border: 2px solid #cfd1d5;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    color: #636466;
    font-size: 14px;
    height: auto;
    padding: 16px;
}

input[type="submit"],
input[type="reset"],
button {
    background-color: #fff;
    border-color: #2ecc71;
    border-style: solid;
    color: #2ecc71;
    padding: 23px;
    -webkit-transition: background-color 300ms ease-in, color 300ms ease-in;
    -moz-transition: background-color 300ms ease-in, color 300ms ease-in;
    -ms-transition: background-color 300ms ease-in, color 300ms ease-in;
    -o-transition: background-color 300ms ease-in, color 300ms ease-in;
    transition: background-color 300ms ease-in, color 300ms ease-in;
}

form input[type="submit"],
form input[type="reset"],
form button {
    min-width: 200px;
}

input[type="submit"]:hover,
input[type="submit"].hover,
input[type="submit"]:active,
input[type="submit"].active,
input[type="reset"]:hover,
input[type="reset"].hover,
input[type="reset"]:active,
input[type="reset"].active,
button:hover,
button.hover,
button:active,
button.active {
    background-color: #2ecc71;
    color: #fff;
}

/************************************************
$ FormIt Select & File
************************************************/
.fi-select,
.fi-file {
    border-radius: 0;
}

.fi-file span,
.fi-select span {
    height: auto;
    line-height: inherit;
    padding: 0;
}

/* it would be nice to style to a 100% height and have the width match said height */
.fi-select select {
    height: 100%;
}

.fi-file .fi-file-button,
.fi-select .fi-select-arrow-wrap {
    border-radius: 0;
    height: 54px;
}

.fi-select .fi-select-arrow-wrap {
    width: 54px;
}

.fi-select .fi-select-arrow {
    border-left-width: 7px;
    border-right-width: 7px;
    border-top-width: 12px;
    left: 50%;
    margin-top: -6px;
    margin-left: -7px;
    top: 50%;
}

.fi-file .fi-file-button .fi-file-button-inner {
    font-size: 14px;
    padding: 16px;
}
.fi-select select, .ninja-forms-form-wrap .fi-select select {
	width: 100%;
	height: 66px;	
}


/************************************************
$ FormIt Radio & Checkbox
************************************************/
.fi-radio,
.fi-checkbox {
    background-color: #fff;
    border-color: #2ecc71;
    border-width: 2px;
    height: 20px;
    width: 20px;
}
.fi-checkbox {
    border-radius: 0;
}

.fi-radio .fi-check {
    background-color: #2ecc71;
    height: 8px;
    margin-top: -4px;
    margin-left: -4px;
    position: absolute;
    width: 8px;
}
.fi-checkbox .fi-check {
    background-color: transparent;
    color: #2ecc71;
    line-height: 1;
}

::-webkit-input-placeholder {
    color: #a4a6a9;
}

:-moz-placeholder { /* Firefox 18- */
    color: #a4a6a9;
}

::-moz-placeholder {  /* Firefox 19+ */
    color: #a4a6a9;
}

:-ms-input-placeholder {
    color: #a4a6a9;
}

/**** PLACEHOLDER TEXT (Source: http://css-tricks.com/snippets/css/style-placeholder-text/) *****/
/*****NOTE: These do not work when combined into one - TTenoever *****/

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #a4a6a9;
	font-family: 'ProximaNovaBold';
	font-size: 14px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

input:-moz-placeholder,
textarea:-moz-placeholder { /* Firefox 18- */
	color: #a4a6a9;
	font-family: 'ProximaNovaBold';
	font-size: 14px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

input::-moz-placeholder,
textarea::-moz-placeholder {  /* Firefox 19+ */
	color: #a4a6a9;
	font-family: 'ProximaNovaBold';
	font-size: 14px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #a4a6a9;
	font-family: 'ProximaNovaBold';
	font-size: 14px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/************************************************
$ Trouble Ticket Portal
************************************************/
body.trouble-ticket-portal .field-wrap {
	margin-bottom: 25px
}

body.trouble-ticket-portal .button {
	width: 200px;	
}

body.trouble-ticket-portal input {
	width: 300px;	
}

/************************************************
$ Trouble Ticket Forms
************************************************/
body.support .ninja-forms-field,
body.trouble-ticket-portal .ninja-forms-field{
	width: 100%;	
}

body.support .field-wrap,
body.trouble-ticket-portal .field-wrap{
	margin-bottom: 20px;	
}

body.support .textarea-wrap,
body.trouble-ticket-portal .textarea-wrap{
	height: 200px;
	margin-bottom: 0px;
}

body.support .button,
body.trouble-ticket-portal .button{
	width: 200px;	
}

.bvalidator_bootstraprc_errmsg {
	background: none;
	border: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #e25438;
	font-size: 24px;
	padding-left: 0;
	width: auto;
}
.bvalidator_bootstraprc_errmsg {
	background-color: #333;
	font-size: 10px;
	border: 1px solid #999;
	color: #FFF;
	display: none;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius-bottomleft: 0;
	-moz-border-radius-topleft: 0;
	-webkit-border-bottom-left-radius: 0;
	-webkit-border-top-left-radius: 0;
	-moz-box-shadow: 0 0 6px #ddd;
	-webkit-box-shadow: 0 0 6px #ddd;
	white-space: nowrap;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-left: 5px;
	font-family: Arial, Helvetica, sans-serif;
	-moz-opacity: .90;
	filter: alpha(opacity=90);
	opacity: .90;
}

/************************************************
$ Request A Quote Form
************************************************/
body.request-a-quote .ninja-forms-field {
	width: 100%;	
}

body.request-a-quote .field-wrap {
	margin-bottom: 20px;	
}

body.request-a-quote .textarea-wrap {
	height: 200px;
	margin-bottom: 0px;
}

body.request-a-quote .button {
	width: 200px;	
}

/************************************************
$ Billing Forms
************************************************/

body.billing-login input {
	width: 300px;	
}

body.billing-login .button {
	width: 200px;
}

/************************************************
$ Contact Us Ninja Forms
************************************************/

.ninja-forms-response-msg {
   color: #ffffff;
   font-size: 21px;
   font-family: 'ProximaNovaBold';
   letter-spacing: 0.005em;
   line-height: 1;
   padding: 28px 30px;
   margin-bottom: 20px;
   border: 1px solid transparent;
   /* Border Radius */
   -moz-border-radius: 0;
   -webkit-border-radius: 0;
   border-radius: 0;
}

.ninja-forms-field-error {
    color: #ffffff;
    font-size: 16px;
    font-style: italic;
    letter-spacing: 0.005em;
   line-height: 1;
   padding: 10px;
   background-color: #c23e3e;
   border-color: #faebcc;
   margin-bottom: 20px;
   /* Border Radius */
   -moz-border-radius: 0;
   -webkit-border-radius: 0;
   border-radius: 0;
}

.ninja-forms-error-msg {
   background-color: #c23e3e;
   border-color: #faebcc;
   font-family: "futura-pt", sans-serif;
    font-size: 15px;
   font-style: normal;
   font-weight: 700;
   letter-spacing: 0.140em;
   text-transform: uppercase;
}

.ninja-forms-field-error p {
    margin: 0px;
}

.ninja-forms-response-msg p {
   margin: 0px;
}

.ninja-forms-field {
   margin-bottom: 10px !important;
}

.ninja-forms-success-msg {
   background-color: #2eac82;
    border-color: #d6e9c6;
}

.ninja-forms-required-items {
	margin-left: 15px;
	padding-bottom: 20px;	
}


/*#ninja_forms_form_1_response_msg,
#ninja_forms_form_2_response_msg,
#ninja_forms_form_3_response_msg {
	display: none;	
}*/

.ninja-forms-response-msg {
	display: none;	
}

.ninja-forms-error-msg,
.ninja-forms-success-msg {
	display: block;	
}

.ninja-forms-success-msg {
background-color: #2ecc71;

}

body.billing-login .ninja-forms-field-error {
	width: 300px	
}


/* Large desktop */
@media (min-width: 1200px) {

}

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 991px) {

}

/* Landscape phone to portrait tablet */
@media (max-width: 767px) {

    form input[type="submit"],
    form input[type="reset"],
    form button {
        width: 100%;
    }
}

/* Landscape phones and down */
@media (max-width: 480px) {

}
