.primary {
	color: #03a9f4;
}

.bg-primary {
	background-color: #03a9f4;
}

.b--primary {
	border-color: #03a9f4;
}

.hover-primary:focus, .hover-primary:hover {
	color: #03a9f4;
}

.hover-bg-primary:focus, .hover-bg-primary:hover {
	background-color: #03a9f4;
}

.secondary {
	color: #41b550;
}

.bg-secondary {
	background-color: #41b550;
}

.b--secondary {
	border-color: #41b550;
}

.hover-secondary:focus, .hover-secondary:hover {
	color: #41b550;
}

.hover-bg-secondary:focus, .hover-bg-secondary:hover {
	background-color: #41b550;
}

p:empty{display:none;}

.loader {
	border: 0px;
	width: 22px;
	height: 22px;
	margin: 0px;
	padding: 0px;
	line-height: 0px;
	vertical-align: bottom;
	display: inline !IMPORTANT;
}

.np-Input,
.np-Select {
	line-height: normal;
}

.np-Input:focus,
.np-Select:focus {
	border-color: rgba(0, 0, 0, .4);
}

.np-Input:required:invalid {
	background-image: url('images/required.png');
	background-position: right center;
	background-repeat: no-repeat;
	padding-right: 1.25rem;
}

.np-Input.np-dirty:invalid {
	background-position: right center;
	background-repeat: no-repeat;
	border-color: #e03f06;
}

.np-Input.np-dirty:valid {
	background-position: right center;
	background-repeat: no-repeat;
	border-color: #41b550;
}

.np-Select {
	-webkit-appearance:none;
       -moz-appearance:none;
	background-image: url('images/down.png');
	background-position: right center;
	background-repeat: no-repeat;
	padding-right: 24px !important;
}

.np-Select:required {
	 background-image: url('images/down-red.png');
}

.np-Select:required:valid {
	background-image: url('images/down-green.png');
	border-color: #41b550;
}

.np-Select.np-dirty:invalid {
	border-color: #e03f06;
}


.np-Select::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="text"].required, input[type="email"].required, input[type="tel"].required, input[type="password"].required {
	-moz-box-sizing: border-box;
	-moz-border-radius: 2px;
	-webkit-box-sizing: border-box;
	-webkit-border-radius: 2px;
	box-sizing: border-box;
	border-radius: 2px;
	background-image: url('images/required.png');
	background-repeat: no-repeat;
	background-position: right center !IMPORTANT;
}

select.required { background-image: none; color: red !IMPORTANT; }

.error_label {
	min-width: 150px;

	background: rgb(163,32,32); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(163,32,32,1) 0%, rgba(214,40,40,1) 8%, rgba(204,38,38,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(163,32,32,1)), color-stop(8%,rgba(214,40,40,1)), color-stop(100%,rgba(204,38,38,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(163,32,32,1) 0%,rgba(214,40,40,1) 8%,rgba(204,38,38,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(163,32,32,1) 0%,rgba(214,40,40,1) 8%,rgba(204,38,38,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(163,32,32,1) 0%,rgba(214,40,40,1) 8%,rgba(204,38,38,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(163,32,32,1) 0%,rgba(214,40,40,1) 8%,rgba(204,38,38,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a32020', endColorstr='#cc2626',GradientType=0 ); /* IE6-9 */

	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
}

.error_label.error_top{
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;

	background: rgb(204,38,38); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(204,38,38,1) 18%, rgba(214,40,40,1) 94%, rgba(163,32,32,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(18%,rgba(204,38,38,1)), color-stop(94%,rgba(214,40,40,1)), color-stop(100%,rgba(163,32,32,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(204,38,38,1) 18%,rgba(214,40,40,1) 94%,rgba(163,32,32,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(204,38,38,1) 18%,rgba(214,40,40,1) 94%,rgba(163,32,32,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(204,38,38,1) 18%,rgba(214,40,40,1) 94%,rgba(163,32,32,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(204,38,38,1) 18%,rgba(214,40,40,1) 94%,rgba(163,32,32,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc2626', endColorstr='#a32020',GradientType=0 ); /* IE6-9 */
}

.error_label div { width: 96%; margin: 2px auto; }
.error_label label
{
	font-size: 8pt;
	color: white;
}

.error { color: #FF0000; }
span.errors { color: #FF0000; }
.success { background-color: #E5FFE8; border: 1px solid #009900; padding: 4px; }
.credit_cards { background-image: url('images/credit_cards.png'); width: 252px; height: 41px; }

.small_action { font-size: 0.8em; color: #0094FF; }

.center-block { display: block; margin-left: auto; margin-right: auto; }
.img-responsive { max-width: 100%; height: auto; display: block; }

/** Credit Card images **/
.cc_Image { background: url('images/cc_icons_32.png'); display: inline-block; width: 51px; height: 32px; }
.cc_VI { background-position: 0px 0px; }
.cc_VI_disabled { background-position: 0px -32px; }
.cc_MC { background-position: -51px 0px; }
.cc_MC_disabled { background-position: -51px -32px; }
.cc_AX { background-position: -102px 0px; }
.cc_AX_disabled { background-position: -102px -32px; }
.cc_DI { background-position: -153px 0px; }
.cc_DI_disabled { background-position: -153px -32px; }

.res_security_image_small { display: none; margin-bottom: 6px; }
.security_image { width: 70px; }

.odd { background-color: transparent; }
.even { background-color: #F0F0F0; }

/** Marks **/
/* input:valid, input:invalid, .valid_mark, .invalid_mark { */
	/* background-repeat: no-repeat; */
	/* background-position: right center; */
/* } */

/* input:required:valid, .valid_mark { */
	/* background-image: url('images/valid.png'); */
/* } */
/* input:invalid, .invalid_mark { */
	/* background-image: url('images/invalid.png'); */
/* } */

.timeout_warning {
	border: 1px solid #FFDD00;
	background-color: rgba(255, 255, 102, 0.75);
	text-align: center;
	font-weight: bold;
	padding: 7px;
	position: fixed;
	bottom: 35px;
	left: 0px;
	right: 0px;
	box-shadow: 0 0 5px #888;
}

.tooltip_item {
		background: url('images/tooltip.png') no-repeat;
		width: 12px;
		height: 12px;
		margin-bottom: -2px !IMPORTANT;
		display: inline-block;
}

.cc_cvv { width: 100px !IMPORTANT; }
.cvv_numbers {
	background-image: url('images/cvv_numbers.jpg');
	width: 350px;
	height: 235px;
	position:absolute;
	z-index: 10000;
	border: 1px solid black;
}

.ui-widget { font-size: 1.0em !IMPORTANT; box-shadow: 0px 0px 10px #888; }
.ui-state-default { padding: 1px; }
.widget_locations { float: right; }
.exporter { cursor: pointer; display: none; }

#modal_message_overlay { background-color: black; }
#modal_message_container { box-sizing: content-box !IMPORTANT; text-align: center; padding: 25px 35px; background-color: white; border: 1px solid darkgray; border-radius: 4px; box-shadow: 0px 0px 50px 12px #F9F9F9 inset; }
#modal_message_data { box-sizing: content-box !IMPORTANT; }

.has_errors { border-color: red !IMPORTANT; }
span.warning_icon { background-image: url('images/warning.png'); display: inline-block; width: 28px; height: 28px; vertical-align: middle; }
.form_errors { font-size: 0.8em; display: none; text-align: center;  margin: 6px auto 0px auto; clear: both;}
.form_errors div { color: red; }
.form_errors div:hover { cursor: pointer; text-decoration: underline; }
.form_errors ul { padding-left: 0px; margin: 0px;}
.form_errors  li{ list-style-type: none !IMPORTANT; margin: 0px; }

.btns { clear: both; }

/* ------------------------------------------ *
 * Customer Reservations CSS				  *
 * ------------------------------------------ */
 #CustomerRegistration .btns { text-align: center; }
.cust_module.registration_marketing { display: none; }

/* ------------------------------------------ *
 * Customer login page CSS                    *
 * ------------------------------------------ */
.cust_login { width: 400px; }

.exp_box {
	position:relative;
	top: -49px;
	left: 695px;
	z-index:10;
}

.exp_header {
	cursor:pointer;
	position: relative;
	z-index: 100;
	width: 259px;
	height: 58px;
}

.exp_hdr_txt {
	padding: 19px 54px;
	overflow: hidden;
	color: #fffdfd;
	font-family: "Arial";
	font-size: 15px;
	font-weight: bold;
	text-shadow: 0 1px 3px rgba(0,0,0,.5);
	text-transform: uppercase;
}

.exp_content {
	position: absolute;
	color:white;
	top:39px;
	left:3px;
	z-index: 90;
}

.Idle{
	background-position: 0 0;
	width: 259px;
	height: 58px;
}

.LoggedInIdle{
	background-position: -295px 0;
	width: 259px;
	height: 53px;
}

.Dropdown{
	background-position: 0 -63px ;
	width: 259px;
	height: 50px;
}

.LoginBG{
	background-position: 0 -114px;
	width: 254px;
	height: 236px;
}

.LoggedInBG{
	background-position: -295px -63px ;
	width: 255px;
	height: 57px;
}


#header_login  form {
	margin:0px;
}

#header_login  form div{
	margin-bottom:0px;
}

#header_login label {
	color: #b4b4b4;
	font-size: 14pt;
	text-transform: uppercase;
	padding-left: 4%;
	padding-bottom:0px;
	margin-bottom: 0px;
	line-height:20px;
}

#header_login .login input,#header_login .password input{
	margin-top: 3px;
	margin-left: 11px;
	width: 91.5%;
	font-size: 12pt;
	padding: 6px;
	background-color: transparent !IMPORTANT;
	border: none;
	box-shadow:none;
}

#header_login .password input {
	margin-bottom:0px;
}

#header_login .login {
	margin-bottom:0em;
	margin-top: 16px;
}

#header_login .password {
	margin-bottom:.3em;
	margin-top: -1px;
}

#header_login .actionLinks,#header_login  .actionButtons {
	margin:0 0 .4em .4em;
}

#header_login .actionLinks a {
	font-size: 8pt;
	padding-left: .5em;
	display: block;
	height:12px;
}

#header_login .actionLinks a { color: #cf3a3d;text-decoration:none; }
#header_login .actionLinks a:hover { color: #cf3a3d;text-decoration:underline; }

#header_login .actionButtons {
	margin-top: 0.9em;
	text-align:center;
}

#header_login .actionButtons button {
	background: url('images/loginsprites.png') 0px -359px;
	width: 121px;
	height: 41px;
	border:none;
	box-shadow:none;
	margin-top:-8px;
}

#header_login .actionButtons button:hover {
	background-position: 0 -404px ;
}

#header_login .actionButtons button:active {
	background-position: -133px -380px;
}

#header_login #working_header_login  {
	padding-left: 15%;
	color: #b4b4b4;
}

[name="header-popover-login"] .errors {
	font-size: 7PT;
	display: block;
	margin-top: -4px;
	color: red;
	text-align: center;
	font-weight:normal;
}

[name="header-popover-login"] .errors span {
	line-height:12px;
}

#header_login .error_label label {
	margin-top:8px;
}

.login_header_login,.password_header_login   {
	margin-top:5px;
}

.loggedIn_actionLinks {
	padding:.4em;
}

.loggedIn_actionLinks a.profile{
	display:inline-block;
	background: url('images/loginsprites.png') -294px -145px;
	width: 121px;
	height: 41px;
	color:rgba(255,255,255,.001);
	float: left;
	margin-top:5px;
}

.loggedIn_actionLinks a.profile:hover {
	background-position: -294px -196px;
}

.loggedIn_actionLinks a.profile:active {
	background-position: -425px -171px;
}

.loggedIn_actionLinks a.logout{
	display:inline-block;
	background: url('images/loginsprites.png') -294px -251px;
	width: 121px;
	height: 41px;
	color:rgba(255,255,255,.001);
	margin-top:5px;
}

.loggedIn_actionLinks a.logout:hover {
	background-position: -294px -306px;
}

.loggedIn_actionLinks a.logout:active {
	background-position: -427px -279px;
}

/* ------------------------------------------ *
 * Customer Registration CSS						  *
 * ------------------------------------------ */
 #personal_RegisterForm h2, #personal_RegisterForm h4 { border-bottom: 1px solid lightgrey; }
.register_cust_module { float: left; min-width: 200px; width: 31%; margin: 1%; padding: 4px; }
.register_cust_module td { padding: 0.25em; }
.np_module, .np_module div, .np_widget, .np_widget div { box-sizing: border-box !IMPORTANT; }
.register_optins { clear: both; }
.register_optins table { margin-left: auto; margin-right: auto; }
.register_optins label, .register_optins input[type=checkbox] { margin: 0px 5px 0px 0px; }
.membership_application { width: 100%; }

/* ------------------------------------------ *
 * Customer Profile CSS						  *
 * ------------------------------------------ */
.cust_module { float: left; min-height: 200px; min-width: 200px; width: 49%; margin: 7px; margin-right: 0px; padding: 4px; box-sizing: border-box !IMPORTANT; }
.cust_module form div { margin-bottom: 0px; }
.cust_module.hide_extra .extra { display: none; }
.cust_module h4 { border-bottom: 1px solid lightgrey; }
.cust_module .title span { font-size: 1.2em; }
.cust_module .title div { float: right; }
.cust_module .data { padding: 4px; }
.cust_module .data table { margin: 0px; }
.cust_module .data table th, .cust_module .data table td { padding: .2em; }
.cust_module .data.scrollable { height: 140px; overflow: auto; }
.cust_module .edit { background-color: #F9F9F9; padding: 4px; }
.cust_module .edit form { margin: 0px; }
.cust_module .edit table { width: 100%; border: 0px; font-size: 0.85em; margin: 0px; }
.cust_module .edit th, .cust_module .edit td { border: 0px; padding: 0.5em; }
.cust_module .edit tr td:first-child { text-align: right; width: 32%; }
.cust_module .credit_card { margin-bottom: 10px; }
.cust_module .credit_card .value .cc_text { padding-left: 4px; margin-top: 4px; display: inline-block; }
.cust_module .vehicle { margin-bottom: 6px; }
.cust_module .vehicle .color { width: 24px; height: 24px; border: 1px solid; margin: 4px 4px 0px 0px;}
.cust_module.profile_receipts { width: 99%; }
.cust_module.profile_invoices { width: 99%; }
.cust_module.profile_reservations { width: 99%; }
.title .small_action a span { font-size: 12pt; }
.profile_login { position: relative; }
.profile_personal  .edit_action { float: right; }
.profile_points { position: absolute; bottom: 0px; left: 0px; right: 0px; width: 100%; text-align: center;font-size: 175%; font-weight: bold; }
.profile .vehicles_list{	overflow: auto; height: 100px; }
.profile_receipts table, .profile_reservations table { width: 100%; }
.profile_receipts td, .profile_reservations td { text-align: center; }
.profile_receipts th, .profile_reservations th { text-align: center; font-weight: bold; }
.content .profile_receipts tr, .content .profile_reservations tr { display: table-row !IMPORTANT; }

/* ------------------------------------------ *
 * Reservation Widget CSS					  *
 * ------------------------------------------ */
.res_dates_widget .res_date { width: 45%; }
.res_dates_widget .res_time { width: 45%; float: right; }
.res_dates_widget .promo_code input { font-weight: bold; color: #2B8200; margin-bottom: 5px; width: 100%;}

/* ------------------------------------------ *
 * Reservation Quotes Widget CSS			  *
 * ------------------------------------------ */
.res_quote {
	border: 1px solid black;
	position: relative;
	border-radius: 2px;
	min-width: 235px;
	width: 30%;
	background-color: #EFEFEF;
}
.res_quote .res_quote_container { width: 96%; margin: 6px auto 2px auto; }
.res_quote.quotes_large { min-height: 300px; }
.res_quote.quotes_small .quote_medium, .res_quote.quotes_small .quote_big { display: none; }
.res_quote.quotes_medium .quote_big { display: none; }
.res_quote.quotes_large.has_image { height: auto; min-height: auto; padding-bottom: 50px; }
.res_quote .res_quote_header { background-color: #00398A; border-bottom: 2px solid grey; }
.res_quote .res_quote_header h4 { margin: 0px; color: white; padding-top: 4px; padding-bottom: 6px; text-indent: 6px; }
.res_quote .res_quote_blackout { width: 96%; margin: 4px auto; }
.res_quote .quote_rate_info { line-height: 150%; }
.res_quote .quote_details { margin-top: 4px; border-top: 2px solid darkgray; border-bottom: 2px solid darkgray; }
.res_quote .quote_details table { margin: 2px; border: 0px; padding: 4px; }
.res_quote .quote_details table td { margin: 0px; border: 0px; padding: 2px; text-align: right; }
.res_quote .quote_details table td:first-child { text-align: left; }
.res_quote .quote_parking_savings { color: darkgreen; }
.res_quote .quote_pricing { margin-top: 4px; }
.res_quote .quote_total { font-size: 2.2em; font-weight: bold; line-height: 1; margin-bottom: 0px; }
.res_quote .quote_summary { width: 125px; float: right; line-height: 100%; }
.res_quote .quote_summary div:after { display: block; clear: both; content: " "; }
.res_quote .quote_summary em { font-style: normal; font-size: 0.8em; clear: both; }
.res_quote .quote_summary .quote_prepay { color: red; }
.res_quote .quote_summary .quote_due_at_lot { color: green; }
.res_quote .quote_summary span { float: right; }
.res_quote .actionButtons { clear: both; position: absolute; bottom: 0px; left: 4px; right: 4px; }
.res_quote .actionButtons button { width: 100%; padding: 6px 0px; margin-bottom: 6px; }
.res_quote .res_quote_selected span { color: white; font-weight: bold; text-shadow: none; }

/* ------------------------------------------ *
 * Reservation Booking Page CSS				  *
 * ------------------------------------------ */
.res_module td { padding: 0.25em; }
#ReservationBook .title { margin-bottom: 10px; }
#ReservationBook h2, #ReservationBook h4 { border-bottom: 1px solid lightgrey; }
#ReservationBook form { margin: 0px; }

#ReservationNavigation, .reservation_process_step { padding: 0px; position: relative; margin: 10px 0px; }
#ReservationNavigation { margin: 0px auto; }
.res_quotes_process #ReservationDetails { display: none !IMPORTANT; }
.res_progress_nav { background-color: #EFEFEF; float: left; padding-bottom: 4px; color: lightgray; position: relative; }
.res_4_step .res_progress_nav { width: 25%; }
.res_5_step .res_progress_nav { width: 20%; }
.res_progress_nav:first-child .res_progress_half_1 { position: relative; margin-left: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.res_progress_nav:first-child .res_progress_half_2 { margin-left: -4px; }
.res_progress_nav > div:first-child { padding: 12px 4px 6px 4px; }
.res_progress_nav.active { background-color: #E1E1E1 !IMPORTANT; }
.res_progress_nav .res_step { font-size: 20pt; padding: 6px; }
.res_progress_nav .res_progress_half { width: 50%; height: 7px; float: left; background-color: rgba(190, 190, 190, 0.4); }
.res_progress_nav.res_in_progress { color: black; background-color: #F6F6F6; }
.res_progress_nav.res_in_progress:hover { cursor: pointer; background-color: #EFEFEF; }
.res_progress_nav.res_in_progress .res_progress_half_1 { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.res_progress_nav.res_in_progress .res_progress_half_1 { background-color: #2B8200; }
.res_progress_nav.res_complete { background-color: #F6F6F6; color: black; }
.res_progress_nav.res_complete:hover { background-color: #EFEFEF; cursor: pointer; }
.res_progress_nav.res_complete .res_progress_half { background-color: #2B8200; }
.res_progress_nav.res_lock .res_progress_half {	background-color: #2B8200; color: lightgray; }
.res_last_step { padding-bottom: 11px !IMPORTANT; }
.res_progress_full { position: absolute; left: 4px; right: 4px; height: 7px; margin-left: -4px; background-color: rgba(190, 190, 190, 0.4); border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.res_lock .res_progress_full { background-color: #2B8200; }

.reservation_process_step { width: 72%; float: left; }

#BookingDatesWidget .actionButtons .button { margin-bottom:5px; }

#ReservationDetails { min-width: 220px; width: 27%; float: left; margin: 10px 0px 10px 8px; }
#ReservationDetails em { padding: 0px; color: #00398A; font-style: normal; font-weight: bold; }
.res_details_container { padding: 6px; background-color: #F6F6F6; border: 1px solid #90B77C; }
.res_details_container > div { padding-bottom: 10px; }
.res_quote_basic_details { width: 100%; }
.res_quote_basic_details .res_quote_row > div { display: inline-block; width: 40%; }
.res_quote_basic_details .res_quote_row h4 { margin-top: 0px; font-size: 14pt; font-weight: bold; }
.res_quote_basic_details .res_quote_row:first-child { margin-bottom: 8px; }
.res_quote_basic_details .res_quote_row span.date { font-weight: bold; }
.res_quote_extended_details { border-top: 1px solid lightgray; }
.res_quote_extended_details > div > span { padding-bottom: 8px; display: inline-block; }
.res_quote_details, .res_quote_extended_details .res_quote_location_notes { vertical-align: top; display: inline-block; }
.res_quote_details { width: 100%; }
.res_quote_details table { width: 100%; border: 0px; margin: 0px; border-bottom: 1px solid gray; padding-bottom: 10px; margin-bottom: 10px; }
.res_quote_details td { border: 0px; padding: 0px; text-align: right; }
.res_quote_details td:first-child { text-align: left; }
.res_quote_details .res_quote_parking_savings span { color: darkgreen; }
.res_quote_details .res_quote_breakdown { width: 130px; line-height: 1; float: right; }
.res_quote_details .res_quote_breakdown em { font-size: 0.8em; font-weight: normal !IMPORTANT; color: black; clear: both; }
.res_quote_details .res_quote_breakdown span { float: right; }
.res_quote_details .res_quote_breakdown .res_quote_prepay { color: red; }
.res_quote_details .res_quote_breakdown .res_quote_due_at_lot { color: darkgreen; }
.res_quote_details .res_quote_total { font-size: 1.7em; font-weight: bold; line-height: 1; padding-top: 4px; }
.res_quote_location_notes p { margin: 0px; font-size: 0.85em; max-height: 150px; overflow: auto; text-align: justify; }
.res_quote_customer_details { text-align: center; border-top: 1px solid lightgray; }
.res_quote_customer_details div { text-align: left; vertical-align: top; margin-bottom: 10px; }
.res_quote_customer_details div span { font-size: 0.85em; }
.res_quote_customer_details .res_quote_personal_details { margin-left: 0px; border-left: 0px; padding-left: 0px; }
.loyalty_upgrade { margin: 15px; 0px; text-align: center; font-weight: bold; }

#ReservationQuotes { width: 100%; }
#ReservationQuotes .res_dates { margin-bottom: 4px; }
#ReservationQuotes .res_dates #BookingDatesWidget { width: 96%; margin: 0px auto; margin-left: 1.5%; background-color: #efefef; border: 1px solid #ccc; padding: 4px; }
#ReservationQuotes .res_dates form { margin: 0px; }
#ReservationQuotes .res_dates label { display: block; }
#ReservationQuotes .res_dates .widget_locations { width: 100%; }
#ReservationQuotes .res_dates .location { float: left; width: 17%; min-width: 140px; margin-right: 12px; }
#ReservationQuotes .res_dates .departure_date { float: left; width: 24%; margin-right: 12px; }
#ReservationQuotes .res_dates .return_date { float: left; width: 24%; margin-right: 12px; }
#ReservationQuotes .res_dates .promo_code { float: left; width: 12%; margin-right: 12px; }
#ReservationQuotes .res_dates .actionButtons { float: left; margin-left: 8px; padding-top: 13px; }
#ReservationQuotes .res_quotes {  }
#ReservationQuotes .res_quotes .res_quote { float: left; margin-right: 1.5%; margin-left: 1.5%; margin-bottom: 10px; }

#ReservationServices .res_service table { background-color: #F6F6F6; }
#ReservationServices .res_service_label { font-size: 18px; font-weight: bold; text-align: center; }
#ReservationServices .res_service_description { overflow:auto; }
#ReservationServices .res_service_price { font-size: 1.8em; font-weight: bold; width: 100px; text-align: center; vertical-align: middle; }
#ReservationServices .res_service_button_wide { width: 105px; vertical-align: middle; text-align: center; }
#ReservationServices .res_service_button_narrow { display: none; }
#ReservationServices .res_service_image_narrow { display: none; }
#ReservationServices .res_service_selected span { color: white; font-weight: bold; font-size: 2em; line-height: 80%; text-shadow: none; }
#ReservationCustomer td:first-child { width: 115px; }
.res_customer_details .res_personal_details { width: 48%; margin-bottom:10px; float: left; }
.res_customer_details > table { clear: both; }
.res_vehicle_details, .res_additional_details { width: 48%; margin-left: 2%; float: left; }
.res_vehicle_details .vehicles_list select { width: 100%; }
.res_receipt_row, .res_newsletter_row{ clear: both; }
.res_buttons_row { border-top: 1px solid lightgray; padding-top: 15px; text-align: center; clear: both; }

.res_review_payment table { width: 100%; }
#ReservationReview .res_review_info { margin-bottom: 20px; }
#ReservationConfirmation .action_buttons { text-align: center; margin-top: 4px; margin-bottom: 4px; }

/* ------------------------------------------ *
 * Reservation Edit Page CSS				  *
 * ------------------------------------------ */
#ReservationEdit .title { margin-bottom: 4px; }
#ReservationEdit h4 { border-bottom: 1px solid lightgrey; }
#ReservationEdit .res_details { width: 242px; float: left; border-right: 4px solid lightgray; }
#ReservationEdit .res_disclaimer { width: 600px; min-height: 75px; max-height: 175px; overflow: auto; }
#ReservationEdit p { margin-top: 0px; }
#ReservationDetailsOriginal { padding: 4px 10px 4px 0px; }
#ReservationDetailsNew { padding: 4px 10px; background-color: #F0F0F0; }
#CancelDialog .button { width: 80px; margin: 10px 10px 0px 10px; }
.res_edit_buttons { text-align: center; margin-top: 10px; margin-bottom: 10px; border-top: 1px solid lightgray; padding-top: 10px; }
.res_edit_status { text-align: center; margin-top: 20px; border-top: 1px solid lightgray; padding-top: 20px; color: red; }
.res_details table { width: 100%; }
.res_details table, .res_details td, .res_edit_section table, .res_edit_section td { border: 0px; padding: 2px; margin: 0px; line-height: 120%; }
.res_details td:first-child, .res_edit_section td:first-child { text-align: left; }
.res_details_savings_text { color: green; }
.res_details_savings_text span { font-size: 0.7em; }
.res_details_prepaid { color: green; }
.res_details_total_due strong { color: red; }
.res_details_due { font-size: 1.4em; font-weight: bold; }
.res_details_service span { font-style: italic; }
.res_details_subtotal hr, .res_details_grand_total hr  { margin: 4px 0px; }
.res_services_list { max-height: 350px; padding: 2px; overflow: auto; }
.res_edit_data .res_edit_service { padding: 2px; }
.res_edit_data .res_edit_service:hover { cursor: pointer; background-color: #E0E0E0; }

.res_edit_details { width: 290px; min-height: 210px; padding-top: 4px; float: left; margin-left: 20px; }
.res_edit_data { min-width: 340px; float: left; padding-top: 4px;  margin-left: 20px; }
.res_edit_data .title { font-weight: bold; }
.res_edit_data table, .res_edit_personal_data td { border: 0px; padding: 4px; }
.res_edit_data .res_personal_details, .res_edit_data .res_personal_vehicle { width: 46%; }
.res_edit_data .res_personal_details { float: left; }
.res_edit_data .res_personal_vehicle { float: right; margin-bottom: 50px; }

.res_edit_personal_details .vehicle_details { margin-top: 10px; }
.res_edit_personal_details .color { border: 1px solid black; width: 16px; height: 16px; margin-right: 4px; }
.res_edit_services_data { width: 340px; }
.res_edit_dates_data { width: 340px; }
.res_edit_dates_data .res_date { width: 60%; float: left;}
.res_edit_dates_data .res_time { width: 39%; float: right; }
.res_edit_dates_data select { width: 100%; }
.res_dates_promo_row input[type=text] { width: 100%; }

.select_quote_shortcode_total{
	font-size:250%;
	font-weight:bold
}

select:disabled {
    background: #f4f4f4;
    color: lightgrey;
    cursor: not-allowed;
}

.np_module table td{	vertical-align: middle !IMPORTANT; }

.pika-single { width: auto !IMPORTANT; z-index: 10005 !IMPORTANT; }
.pika-lendar { width: 240px; float: left; margin-left: 10px; }
.pika-lendar:first-child { margin-left: 0px; }

/** Mobile **/
@media (max-width: 480px) {
	::-webkit-input-placeholder { padding-top: 0px; }
	::-moz-placeholder { padding-top: 0px; } /* firefox 19+ */
	:-ms-input-placeholder { padding-top: 0px; } /* ie */
	input:-moz-placeholder { padding-top: 0px; }
	form table td:first-child { display: none; }

	.cust_module { width: 100%; min-width: 100%; float: left; margin: 0px 0px 10px 0px; padding: 0px; }
	.cust_module table { width: 100%; }
	.cust_module .extra { display: none; }
	.cust_module.profile_receipts { width: 100%; }

	.register_optins td:first-child { display: table-cell; }
	#CustomerRegistration .location td { display: table-cell; }
	.res_quote table td:first-child { display: table-cell; }
	.res_services table td:first-child { display: table-cell; }
	.res_receipt_row td:first-child { display: table-cell; }
	.res_newsletter_row td:first-child { display: table-cell; }
	.btns td:first-child { display: table-cell; text-align: center !IMPORTANT; width: 100% !IMPORTANT; }
	.res_security_image_small { display: block; }

	/*Service Images*/
	#ReservationServices .res_service_image_narrow { display: table-row; }
	#ReservationServices .res_service_image_wide { display: none; }
}

@media (max-width: 768px) {
	html { overflow-x: hidden; }
	.form_errors { width: 100%; }
	.res_quote { width: 100%; float: none; margin: 0px 0px 10px 0px !IMPORTANT; }
	.res_dates { padding-bottom: 4px; }
	.res_step_name { display: none; }
	.res_progress_nav { text-align: center; }
	.res_4_step .res_progress_nav { width: 25%; }
	.res_5_step .res_progress_nav {  width: 20%; }
	.res_review{ min-height: 100px !IMPORTANT; }

	.cust_module { min-height: 1px; width: 100% !IMPORTANT; padding: 5px 5px 20px 5px !IMPORTANT; }
	.register_cust_module { width: 100%; min-width: 100%; min-height: 1px !IMPORTANT; float: left; margin: 0px 0px 10px 0px; padding: 4px; }
	.register_cust_module table { width: 100%; }
	.register_cust_module .extra { display: none; }
	.res_edit_data .res_personal_details, .res_edit_data .res_personal_vehicle { width: 100%; }
	.res_edit_data .res_personal_details { float: none; }

	#BookingDatesWidget { margin-left: 0px !IMPORTANT; }
	#BookingDatesWidget .promo_code { width: 100% !IMPORTANT; box-sizing: border-box; -moz-box-sizing: border-box; }
	#BookingDatesWidget .promo_code input { width: 100% !IMPORTANT; box-sizing: border-box; -moz-box-sizing: border-box; }
	#ReservationQuotes .res_dates .location { width: 99%; min-width: 190px; }
	#ReservationQuotes .res_dates .departure_date { width: 99%; min-width: 190px; }
	#ReservationQuotes .res_dates .return_date { width: 99%; min-width: 190px; }
	#ReservationQuotes .res_dates .actionButtons { float: none; margin: 4px auto; }
	#ReservationCustomer { width: 100%; float: none; }
	#ReservationServices { width: 100%; float: none; }
	#ReservationServices .res_service_button_wide { display: none; }
	#ReservationServices .res_service_button_narrow { display: table-row; }
	#ReservationServices .res_service_button_narrow td { text-align: center; }
	#ReservationServices .res_service_button_narrow button { width: 100%; }
	#ReservationReview { width: 100%; float: none; }
	#ReservationDetails, .res_personal_details, .res_personal_vehicle, .res_additional_details { width: 100%; float: left; margin-left: 0px; }
	#ReservationConfirmation { width: 100%; float: none; }
	#ReservationEdit .res_details { width: 100%; margin: 0px 0px 10px 0px; padding: 0px; border: 0px; }
	#ReservationEdit .res_personal_vehicle { float: none; margin: 10px 0px 0px 0px; }
	#ReservationEdit .res_edit_details, #ReservationEdit .res_edit_data { width: 100%; min-width: 100%; padding: 4px; margin: 10px 0px 0px 0px; }

	.select_quote_shortcode_total{
		font-size:275%;
		font-weight:bold
	}

	.res_customer_details .res_personal_details, .res_vehicle_details, .res_additional_details {
		width: 100%;
		min-width: 100%;
		float: left;
	}

	.res_vehicle_details, .res_additional_details { margin-left: 0px; }
}

@media (max-width: 992px) {
	.extra { display: none; }
	#ReservationEdit .res_disclaimer { width: 100%; margin-left: 0px; }
	#ReservationDetails { width: 100%; }
	.reservation_process_step { width: 100%; }

	.pika-single:not(.is-hidden) {
		left: 0px !IMPORTANT;
		right: 0px !IMPORTANT;
		z-index: 10005 !IMPORTANT;
	}

	.pika-lendar { width: 100%; margin-left: 0px; margin-bottom: 10px; }
	.pika-lender:last-child { margin-bottom: 0px; }

	.pika-single:not(.is-hidden) table { height: 90% !IMPORTANT; }
	.pika-single:not(.is-hidden) .pika-button { padding: 20px 5px !IMPORTANT; border-radius: 0px !IMPORTANT; box-sizing: border-box !IMPORTANT; }
}

@media (min-width: 769px) {
	.profile_cards .cc_Image { background: url('images/cc_icons_24.png'); display: inline-block; width: 38px; height: 24px; }
	.profile_cards .cc_VI { background-position: 0px 0px; }
	.profile_cards .cc_VI_disabled { background-position: 0px -24px; }
	.profile_cards .cc_MC { background-position: -38px 0px; }
	.profile_cards .cc_MC_disabled { background-position: -38px -24px; }
	.profile_cards .cc_AX { background-position: -76px 0px; }
	.profile_cards .cc_AX_disabled { background-position: -76px -24px; }
	.profile_cards .cc_DI { background-position: -114px 0px; }
	.profile_cards .cc_DI_disabled { background-position: -114px -24px; }
	.res_review_payment { width: 70%; }
}

@media (min-width: 769px) and (max-width: 992px) {
	.res_customer_details .res_personal_details, .res_vehicle_details, .res_additional_details {
		width: 100%;
		min-width: 100%;
		float: left;
	}
}

@media (min-width: 991px) {  }


/** New styles **/
*, :before, :after { box-sizing: border-box; }

/** Typography / Colors **/
.np-blue:not(.np-Button):not(.np-bg):not(.np-alert):not(.np-form-control) {
	color: #03A9F4;
}

.np-blue.np-Button, .np-blue.np-bg, .np-blue.np-alert {
	background-color: #03A9F4;
}

.np-blue.np-Button:active, .np-blue.np-Button:hover {
	background-color: #0398db;
}

.np-blue.np-form-control {
	border-color: #0398db !IMPORTANT;
}

.np-green:not(.np-Button):not(.np-bg):not(.np-alert):not(.np-form-control) {
	color: #41B550;
}

.np-bg-green.np-Button, .np-bg-green.np-alert {
	background-color: #41B550;
}

.np-bg-green.np-Button:active, .np-bg-green.np-Button:hover {
	background-color: hsl(128, 47%, 38%);
}

.np-green.np-form-control {
	border-color: #41B550 !IMPORTANT;
}

.np-red:not(.np-Button):not(.np-bg):not(.np-alert):not(.np-form-control) {
	color: #E84E40;
}

.np-bg-red.np-Button, .np-bg-red.np-alert {
	background-color: #E84E40;
}

.np-bg-red.np-Button:active, .np-bg-red.np-Button:hover {
	background-color: hsl(5, 79%, 48%);
}

.np-red.np-form-control {
	border-color: #E84E40 !IMPORTANT;
}

.np-error-label {
	display: inline-block;
	margin: 5px 0px;
}

/** Alerts **/
.np-alert {
	display: block;
	margin: 10px 0px;
	padding: 8px 12px;
	color: #FFF;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 3px;
	font-size: 1.1em;
}

/** Buttons **/
.np-Button {
	display: inline-block;
	margin: 0;
	padding: 1rem .5rem;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	transition: all 60ms ease-in-out;
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
	text-transform: none;
	text-transform: capitalize;
	color: #fff;
	border: 1px solid rgba(0,0,0,.05);
	border-radius: 3px;
	font-size: 1.25rem;
	font-weight: 500;
}

.np-Button--small {
	font-size: .875rem;
	padding: 1rem .25rem;
}

.np-Button.np-Button-block {
	display: block;
	width: 100%;
}

.np-Button:disabled { background-color: grey !IMPORTANT; }
.np-Button:active, .np-Button:focus { text-shadow: 0 1px 2px rgba(0,0,0,.5); box-shadow: inset 0 3px 5px rgba(0,0,0,.125); border-color: rgba(0,0,0,.2); }

.np-loader {
	color: transparent !important;
	pointer-events: none;
	position: relative;
	text-shadow: none !important;
}

.np-loader::after {
	animation: spinAround 500ms infinite linear;
	border: 2px solid hsla(0, 100%, 100%, .9);
	border-radius: 9999px;
	border-right-color: transparent;
	border-top-color: transparent;
	content: "";
	display: block;
	height: 1em;
	width: 1em;
	position: relative;
	position: absolute;
	left: calc(50% - (1em / 2));
	top: calc(50% - (1em / 2));
	position: absolute !important;
}

@keyframes spinAround {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(359deg);
	}
}

/** Custom elements **/
.np-description { color: grey; }

.np-rating { display: inline-block; margin-left: 10px; margin-right: 10px; overflow: hidden; vertical-align: bottom; }
.np-rating input { opacity: 0; position: absolute; }
.np-rating .star { font-family: FontAwesome; font-weight: normal; font-style: normal; display: inline-block; position: relative; float: right; padding-left: 5px; padding-right: 5px; margin-bottom: 0px; }
.np-rating .star:before { content: "\f006"; color: #777; font-size: 1.2em; }
.np-rating .star:hover { cursor: pointer; }
.np-rating .star:hover:before,
.np-rating .star:hover ~ .star:before,
.np-rating:not(:hover) > :checked ~ label:before {
	content: "\f005";
	color: #e3cf7a;
}

/** Tables **/
.np-table { width: 100%; margin-bottom: 15px; }
.np-table th, .np-table td { padding: 8px; }
.np-table.np-table-bordered { border: 1px solid grey; border-collapse: collapse; }
.np-table-bordered th, .np-table-bordered td { border: 1px solid grey; border-collapse: collapse; }
.np-table-striped tbody tr:nth-child(odd) td { background-color: #fafafa; }
.np-table-labels label { width: 100%; }

.np-text-left { text-align: left; }
.np-text-center { text-align: center; }
.np-text-right { text-align: right; }

/** Forms **/
.np-form { margin-left: 15px; margin-right: 15px; }
.np-form-inline .np-control-label, .np-form-inline .np-form-control { display: inline-block; width: initial; }
.np-form-inline .np-control-label { padding: 10px 15px; }
.np-form-group { position: relative; margin-bottom: 15px; }
.np-control-label { display: block; padding: 5px 0px; font-weight: bold; }
.np-control-label.required:after { content: " *"; color: red; }
.np-form-control { width: 100%; height: 34px; padding: 0px 8px; border: 1px solid lightgrey; border-radius: 2px; }
.np-form-control:hover { border-color: #bbb; }
.np-form-control:focus { border-color: #89CFF0; }
.np-form-control.success { border-color: #01DF00; }
.np-form-control.error { border-color: red; }
.np-form-control ~ .np-placeholder { visibility: hidden; color: #89CFF0; font-size: 0.8em; position: absolute; top: 0.4em; transition: all 0.2s ease-in-out; opacity: 0; }
.np-input-group { position: relative; }
.np-input-group > .np-form-control ~ .np-placeholder { left: 0px; }
.np-form-control:hover ~ .np-placeholder, .np-form-control:focus ~ .np-placeholder { visibility: visible; top: -1.1em; opacity: 1; }
.np-input-group > .np-form-control:hover ~ .np-placeholder, .np-input-group > .np-form-control:focus ~ .np-placeholder { top: -1.6em; }
textarea.np-form-control { padding: 6px 8px; min-height: 75px; }

/** Grid layout **/
.np-container { width: 1012px; margin: 15px auto; }
.np-container-full { width: 100%; margin: 15px 0px; }
.np-container:before, .np-container-fluid:before, .clearfix:before, .form-group:before { content: " "; display: table; }
.np-container:after, .np-container-fluid:after, .clearfix:after, .form-group:after { content: " "; display: table; clear: both; }

.np-pull-left { float: left; }
.np-pull-right { float: right; }

.np-block { clear: both; padding: 0px 15px; }
.np-block:before, .np-form-group:before, .clearfix:before { display: table; content: " "; }
.np-block:after, .np-form-group:after, .clearfix:after { display: table; content: " "; clear: both; }

.np-row, .np-form-group { margin-left: -15px; margin-right: -15px; }
.np-no-padding-tb, .np-no-padding { padding-top: 0px; padding-bottom: 0px; }
.np-no-padding-lr, .np-no-padding { padding-left: 0px; padding-right: 0px; }

.np-visible-lg, .np-visible-md, .np-visible-sm { display: none !IMPORTANT; }

[class*='np-sm'], [class*='np-md'], [class*='np-lg'] {
	float: left;
	padding: 0px 15px;
	width: 100%;
}

.np-sm-1 { width: 16.66667%; }
.np-sm-2 { width: 33.33333%; }
.np-sm-3 { width: 50%; }
.np-sm-4 { width: 66.66667%; }
.np-sm-5 { width: 83.33333%; }

@media (max-width: 991px) {
	.np-visible-sm { display: block !IMPORTANT; }
	.np-visible-sm-inline { display: inline !IMPORTANT; }
	.np-visible-sm-inline-block { display: inline-block !IMPORTANT; }
	.np-hidden-sm { display: none !IMPORTANT; }
}

@media (min-width: 992px) {
	.np-md-1 { width: 8.33333%; }
	.np-md-2 { width: 16.66667%; }
	.np-md-3 { width: 25%; }
	.np-md-4 { width: 33.33333%; }
	.np-md-5 { width: 41.66667%; }
	.np-md-6 { width: 50%; }
	.np-md-7 { width: 58.33333%; }
	.np-md-8 { width: 66.66667%; }
	.np-md-9 { width: 75%; }
	.np-md-10 { width: 83.33333%; }
	.np-md-11 { width: 91.66667%; }
	.np-form-inline .np-control-label { text-align: right; }
	.np-hidden-md { display: none !IMPORTANT; }
}

@media (min-width: 992px) and (max-width: 1280px) {
	.np-visible-md { display: block !IMPORTANT; }
	.np-visible-md-inline { display: inline !IMPORTANT; }
	.np-visible-md-inline-block { display: inline-block !IMPORTANT; }
}

@media (min-width: 1280px) {
	.np-lg-1 { width: 8.33333%; }
	.np-lg-2 { width: 16.66667%; }
	.np-lg-3 { width: 25%; }
	.np-lg-4 { width: 33.33333%; }
	.np-lg-5 { width: 41.66667%; }
	.np-lg-6 { width: 50%; }
	.np-lg-7 { width: 58.33333%; }
	.np-lg-8 { width: 66.66667%; }
	.np-lg-9 { width: 75%; }
	.np-lg-10 { width: 83.33333%; }
	.np-lg-11 { width: 91.66667%; }
	.np-visible-lg { display: block !IMPORTANT; }
	.np-visible-lg-inline { display: inline !IMPORTANT; }
	.np-visible-lg-inline-block { display: inline-block !IMPORTANT; }
	.np-hidden-lg { display: none !IMPORTANT; }
}

.np-invisible {
	left: 9999px !important;
	position: absolute !important;
	visibility: hidden !important;
}

[v-cloak] {
	display: none;
}

.simplemodal-container { z-index: 100000 !important; }

#modal_message_container { width: auto !important; }