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

#footer_contact_form {
	float:right;
	padding:10px;
	width:50%;
	margin: 20px;
	background-color: #075691;
	border-radius: 10px;
}

#footer_flag_container {
	float:right;
	padding:10px;
	width:40%;
	max-width: 300px;
	margin: 20px;
	background-color: #075691;
	border-radius: 10px;
}

body.mobile #footer_flag_container {
	float: none;
	margin: 0 auto;
	width: auto;
}


.venue_cms_form {
	/*background-color: rgb(223, 223, 223);*/
	color: #242424;
	margin: 0;padding: 20px;border-radius: 15px;font-size: 16px
}

body.mobile #footer_contact_form {
	float:none;
	padding:20px;
	background-color: #075691;
	width:100%;
	margin: 0;
}

.footer_contact_form_heading {
	color: white;
	text-align: center;
	font-size: 1.5em;
	font-family: serif;
}

.venue-form {
	position:relative;
	padding: 25px;
	border-radius: 15px;
	font-size: 16px
}

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

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

.venue-column-auto-width {
	width:auto;
	padding:0px 5px;
	float:left;
}

.venue-column {
	width:50%;
	padding:0px 5px;
	float:left;
}

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

div.venue_cms_form_separator_label {
	padding:10px;
	font-size:2em;
	font-weight: bold;
	text-align: center;
}

.venue-form label {
	display:block;
	padding:5px 5px 0px 0;
	font-size:1em;
	font-weight: bold;
    text-align: left;
    white-space: nowrap;
}

.venue-form label.stay_centered {
	text-align: center;
}

body.mobile .venue-form label.stay_centered {
	text-align: center;
}

#venue_quote_form_parameters .venue-form label.stay_centered {
	text-align: left !important
}

@media screen and (max-width: 1078px) {

.venue-form label {
	font-size:.6em;
}

}

.venue-form input {
	font-size:18px;
	padding:4px 4px;
	margin: 5px 0;
	color:#242424;
	width:100%;
    background:#fff;
}

.venue-form textarea {
	font-size:18px;
	padding:4px 4px;
	margin: 5px 0;
	color:#242424;
	width:100%;
    background:#fff;
    border: #488AB0 solid thin;
}

.venue-form select {
	font-size:18px;
	padding:4px 4px;
	margin: 5px 0;
	color:#242424;
	width:100%;
	height:31px;
    line-height:33px;
    background:#fff;
    border: #488AB0 solid thin;
}

@media screen and (max-width: 1300px) {
	.venue-form input, .venue-form textarea, .venue-form select {
		font-size:14px; 
	}

	.venue-form select {
		height: 27px; 
	}
}

@media screen and (max-width: 1078px) {
	.venue-form input, .venue-form textarea, .venue-form select {
		padding:2px 2px;
		font-size:12px; 
	}

	.venue-form select {
		height: 21px; 
	}
}

.venue-form select#County {
	width: auto !important;
}

#venue_quote_form_parameters .venue-form select#County {
	width: 100% !important;
}

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

.venue-form input,.venue-form textarea {
	border: #488AB0 solid thin;
}

.venue-form textarea {
	min-height:90px;
}

.venue-form input:focus,.venue-form textarea:focus,.venue-form label:active + input,.venue-form label:active + textarea {
	outline:auto;
}

.venue-form select:focus {
	outline:auto;
}

/* iOS forces rounded corners and glare on inputs */
input[type="submit"] {
	-webkit-appearance: none;
}

::-webkit-input-placeholder {
	color:#bbb;
	font-style:italic;
	text-transform: uppercase;
	font-size: 1em;
}

::-moz-placeholder {
	color:#bbb;
	font-style:italic;
	text-transform: uppercase;
	font-size: 1em;
}

::-ms-input-placeholder {
	color:#bbb;
	font-style:italic;
	text-transform: uppercase;
	font-size: 1em;
}

#header_zip_field::-webkit-input-placeholder {
	color:#DA3426;
	font-weight: bold
}

#header_zip_field::-moz-placeholder {
	color:#DA3426;
	font-weight: bold
}

#header_zip_field::-ms-input-placeholder {
	color:#DA3426;
	font-weight: bold
}

.venue-submit-wrap {
	text-align:center;
	clear:both;
}

input[type="submit"],input[type="cancel"],input[type="reset"],input[type="button"], .qq-upload-button {
	background-color:#193768;
	color:#FFF;
	font-size:18px;
	line-height: 22px;
	font-weight:500;
	overflow:hidden;
	padding:10px 20px;
	text-transform:uppercase;
	text-decoration:none;
	cursor:pointer;
	letter-spacing:1px;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-o-transition:all .3s ease;
	white-space:normal;
	border:#193768 solid thin;
	border-radius:10px;
	width:auto;
}

input[type="submit"]:hover,input[type="cancel"]:hover,input[type="reset"]:hover,input[type="button"]:hover, .qq-upload-button:hover {
	background-color:#F5F5F5;
	color:#193768;
	text-decoration:none;
	border:#193768 solid thin; 
	transition: background-color .7s;
}

input[type="submit"].submit_small {
	padding: 5px 20px !important;
	line-height: 14px !important;
	font-size: 14px !important;
	margin:5px 10px !important;
	white-space: normal !important
}

input[type="submit"].gray {
	background-color:gray;
	border: gray solid thin;
}

input[type="submit"].gray:hover {
	background-color:#FFF;
	color: gray;
	border: gray solid thin;
}

input[type="submit"].lt_blue {
	background-color:#329ae7;
}

input[type="submit"].lt_blue:hover {
	background-color:#FFF;
}

input[type="submit"].green {
	background-color:green;
}

input[type="submit"].green:hover {
	background-color:#FFF;
	color: green;
	border: green solid thin;
}


button {
	width:auto;
	cursor:pointer;
	display:inline-block;
	padding: 5px 20px;
	margin: 0 5px 0;
	font-size:.8em;
	background-color:#193768;
	color:#FFF;
	border-top: #193768 solid thin;
	border-left: #193768 solid thin;
	border-right: #193768 solid thin;
	border-bottom: none;
	border-radius: 10px 10px 0px 0px;
}

button:hover {
	background-color:#FFF;
	color:#193768;
	text-decoration:none;
	transition: background-color .7s;
}

.arrow {
	position:absolute;
	margin-top: -38px;
	margin-left: -70px;
	width: 80px;
	height: 85px;
	background-image: url('../images/Arrow_orange.png');
	background-repeat: no-repeat;
	background-size: contain;
}

input[type="submit"].red_button {
	background-color:red;
	transition: background-color .2s;
}

input[type="submit"].red_button:hover {
	background-color:white;
	color:red;
}

input[type="submit"].orange_button {
	background-color:#DA3426;
	transition: background-color .2s;
}

input[type="submit"].orange_button:hover {
	background-color:white;
	color:#DA3426;
}


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

@media screen and (max-width: 70em) {
	.venue-column {
		width:50%;
	}
}

@media screen and (max-width: 48em) {
	.venue-column {
		width:100%;
		padding:0px;
	}
}

input.invalid,  textarea.invalid, div.invalid {
	border-color: red;
}

div.invalid {
	border-radius: 5px;
	border: red solid 3px;
	padding: 10px;
}


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

.alert_message_container {
    font-size: 16px;
    border-radius: 5px;
    background:rgba(102, 204, 65, .25);
    border: 1px rgba(102, 204, 65, 1) solid;
    height: auto;
    margin: 10px;
    clear: both;
	animation: background-fade 5s forwards;
}

div.alert_message_container.content_sidebar_fix, div.alert_error_container.content_sidebar_fix {
    margin-right: 320px
}

.alert_error_container {
    font-size: 16px;
    color: #C00;
    background-color: #FFCECE;
    border-radius: 5px;
    border: 1px #F4B0B0 solid;
    height: auto;
    margin: 20px 40px;
	clear: both
}

.alert_message, .alert_error {
    padding: 7px 10px
}

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

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

@keyframes background-fade {
	0% {
		background:rgba(102, 204, 65, 1);
	}
	100% {
		background:rgba(102, 204, 65, .25);
	}
}