*,:after,:before {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

#footer_contact_form {
	padding:60px;
	width:100%;
	max-width:800px;
	margin:0 auto;
	background-color:rgba(12,33,55,0.6);
	background:linear-gradient(to bottom,rgba(12,33,55,0.6) 0%,rgba(22,68,115,0.2) 57%);
}

body.mobile #footer_contact_form {
	float:none;
	padding:20px;
	width:100%;
}

.footer_contact_form_heading {
	color:#FFF;
	padding:0 0 10px;
	text-align:center;
	font-size:2em;
	font-weight:700;
}

.footer_contact_form_desc {
	color:#FFF;
	padding:0 50px;
	text-align:center;
	font-size:.8em;
}

.footer_contact_form_desc a {
	color:#BECE43;
}

.footer_contact_form_desc a:hover {
	color:#BECE43!important;
}

/* ---- Form wrapper ---- */
.venue-form {
	position:relative;
	max-width:700px;
	margin:0 auto;
	padding:28px 28px 24px;
	background:#fff;
	border:1px solid #e0e4ea;
	border-radius:14px;
}

.venue-form:before,.venue-form:after {
	content:" ";
	display:table;
}

.venue-form:after {
	clear:both;
}

.venue_cms_form_separator_label {
	font-weight:700;
	border-bottom:#BECE43 solid 2px;
}

/* ---- Layout columns ---- */
.venue-column {
	width:100%;
	padding:0;
	float:none;
}

.venue_cms_form .venue-column:nth-child(1),
.venue_cms_form .venue-column:nth-child(2) {
	width:50%;
	float:left;
	padding:0 6px;
}

.venue-row {
	width:100%;
	padding:5px;
}

.venue_cms_form {
	padding:0;
}

.venue_cms_form_value {
	margin:0 0 4px;
	text-align:left;
	padding:0 6px;
}

.venue_cms_form_label {
	font-size:0.88em;
	font-weight:400;
	color:#164473;
	margin:0 0 2px;
	display:block;
	text-align:left;
}

/* ---- Inputs ---- */
.venue-form input,.venue-form textarea,.venue-form select {
	font-size:0.95em;
	font-family:inherit;
	padding:12px 14px;
	margin:0 0 6px;
	color:#333;
	width:100%;
	background:#fff;
	border:1px solid #d0d4da;
	border-radius:8px;
	transition:border-color 0.2s;
	-webkit-appearance:none;
	appearance:none;
}

.venue-form input[type="checkbox"],.venue-form input[type="radio"] {
	width:auto;
}

.venue-form input[type="text"],.venue-form input[type="email"],.venue-form textarea,.venue-form select {
	border:1px solid #d0d4da;
	background-color:#fff;
}

.venue-form textarea {
	min-height:120px;
	resize:vertical;
}

.venue-form input:focus,.venue-form textarea:focus,.venue-form select:focus {
	outline:none;
	border-color:#BECE43;
}

::placeholder {
	color:#aaa;
	font-style:normal;
	text-transform:none;
	font-size:0.9em;
}

.venue_cms_form_anchor {
	display:none;
}

input[type="submit"] {
	-webkit-appearance:none;
}

/* ---- Submit button ---- */
.venue-submit-wrap {
	text-align:center;
	clear:both;
}

.venue_cms_form_submit {
	text-align:center;
}

.venue-form input[type="submit"],input[type="cancel"],input[type="reset"],input[type="button"],.qq-upload-button {
	display:block;
	width:100%;
	max-width:700px;
	margin:10px auto 0;
	padding:14px 24px;
	background-color:#164473;
	color:#fff;
	font-size:1.05em;
	font-weight:700;
	line-height:1em;
	text-decoration:none;
	text-transform:none;
	letter-spacing:0.5px;
	cursor:pointer;
	border:none;
	border-radius:8px;
	transition:background 0.2s;
	box-shadow:none;
}

.venue-form input[type="submit"]:hover,input[type="cancel"]:hover,input[type="reset"]:hover,input[type="button"]:hover,.qq-upload-button:hover {
	background-color:#BECE43;
	color:#164473;
	border:none;
}

.qq-upload-button {
	padding:5px 10px;
	font-size:1.2em;
}

body.mobile .venue-column {
	width:100%;
	padding:0;
}

/* ---- Validation ---- */
input.invalid,textarea.invalid,select.invalid {
	border-color:#bd0000;
}
div.invalid {
	border:none;
}

.venue_cms_form_required {
	color:#bd0000;
	font-style:italic;
	font-size:.7em;
}

/* ---- Alerts ---- */
.alert_message_container {
	font-size:16px;
	color:#164473;
	background-color:#BECE43;
	border-radius:8px;
	height:auto;
	margin:10px auto;
	max-width:700px;
	clear:both;
}

.alert_error_container {
	font-size:16px;
	color:#FFF;
	background-color:#bd0000;
	border-radius:8px;
	height:auto;
	margin:10px auto;
	max-width:700px;
}

.alert_message,.alert_error {
	padding:12px 30px;
	text-align:center;
}

.alert_message a,.alert_error a {
	text-decoration:underline;
}

.alert_message a:hover,.alert_error a:hover {
	text-decoration:none;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
	.venue-form {
		padding:20px 16px 18px;
	}
	.venue_cms_form .venue-column:nth-child(1),
	.venue_cms_form .venue-column:nth-child(2),
	.venue-column {
		width:100%!important;
		padding:0;
		float:none;
	}
}
