/*
Theme Name: Eparking Surveys - netPark Child Theme
Theme URI: https://www.netpark.us
Template: netParkTheme-Main
Author: the netPark Team
Author URI: https://www.netpark.us/
Description: Default theme provided by netPark. Provides a simple way to create layouts within WordPress using shortcodes and other tweaks.
Version: 1.0
Tags: responsive-layout, custom-header, custom-menu, custom-colors, custom-background, featured-images, microformats, post-formats
Text Domain: netparktheme
*/


/* Fonts
   ========================================================================== */

/* Base
   ========================================================================== */
html {
	font-size: 16px;
	height: 100%;
}

body {
	color: #3d3d3d;
	font-family: roboto, -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
	font-size: 1em;
	line-height: 1.5;
	min-height: 100%;
	position: relative;
	padding-bottom: 354px;
	background-color: #f4f4f4
}

@media (min-width: 768px) {
	body {
		padding-bottom: 256px;
	}
}

@media (min-width: 1025px) {
	body {
		padding-bottom: 386px;
	}
}

h1, h2, h3, h4, h5, h6 {
	font-family: roboto, -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
	font-weight: 600;
	letter-spacing: .05rem;
	margin-bottom: .625rem;
	margin-top: 0;
}

p {
	margin-bottom: 1rem;
}

a {
	color: hsl(218, 73%, 36%);
}

a:focus,
a:hover {
	color: hsl(218, 73%, 16%);
	text-decoration: none;
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
textarea,
select {
	align-items: center;
	background-color: #fff;
	border: none;
	border: 1px solid #e8e8e8;
	border-radius: 4px;
	color: hsl(0, 0%, 34%);
	display: flex;
	font-size: 1rem;
	font-weight: 400;
	height: 2.5rem;
	line-height: 1;
	padding: 0 1rem;
	width: 100%;
}

textarea {
	height: auto;
	line-height: 1.5;
	padding: .5rem .75rem;
}

input[type="text"].required,
input[type="email"].required,
input[type="tel"].required,
input[type="password"].required {
}

label {
	color: rgba(0, 0, 0, .7);
	font-size: .875rem;
	font-weight: 600;
	margin-bottom: 0;
	letter-spacing: .05em;
	text-transform: uppercase;
	width: 100%;
}

.greeting a,
.np-Button,
.btn,
.button,
.res_service_select,
#registerAccount,
button.np-RecurringModule-save {
	align-items: center;
	background-color: #3f992b;
	border: none;
	border-radius: 100px 100px 100px 100px;
	color: #efefef;
	display: inline-flex;
	font-size: .875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: .05em;
	line-height: 1;
	height: 2.5rem;
	padding: 0 1.5rem;
	text-align: center;
	text-transform: uppercase;
}

.greeting a:hover,
.np-Button:hover,
.btn:hover,
.btn:focus,
.button:hover,
.button:focus,
.res_service_select:hover,
.np-cruise-select__button:hover,
.np-cruise-select__button:focus,
#registerAccount:hover
button.np-RecurringModule-save:hover,
button.np-RecurringModule-save:focus {
	background-color: hsl(109, 66%, 38%);
	color: #efefef;
}

.np-Button--lg,
.btn-lg,
.button-lg {
	font-size: 1rem;
	font-weight: 400;
	justify-content: center;
	letter-spacing: .05em;
	line-height: 1;
	height: 3rem;
	padding: 0 1.5rem;
	text-align: center;
	text-transform: uppercase;
}

.np-Button--xl,
.btn-xl,
.button-lg {
	font-size: 1.25rem;
	font-weight: 400;
	justify-content: center;
	letter-spacing: .05em;
	line-height: 1;
	height: 3.25rem;
	padding: 0 1.5rem;
	text-align: center;
	text-transform: uppercase;
}

.greeting .login-widget__logout a {
	background-color: #fb121a;
}

.greeting .login-widget__logout a:hover {
	background-color: hsl(358, 87%, 43%);
}

.widgets_on_page > ul {
	margin-bottom: 0;
}

/* Header
   ========================================================================== */
.np-header__menu-bar .np-header__container {
	height: 90px;
	position: relative;
}

.np-header__logo {
	left: 0;
	position: absolute;
	top: -20px;
}

.np-header__top-bar {
	color: hsl(221, 79%, 95%, .6);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.np-header__top-bar a {
	color: hsl(221, 79%, 95%, .9);
}

.np-header__top-bar a:hover {
	color: hsl(221, 79%, 95%, 1);
}

@media screen and (min-width: 84em) {
	.home .np-hero {
		padding-bottom: 8rem;
	}
}

@media (min-width: 30rem) {
	.np-hero {
		background-position: center top;
	}
}

@media (min-width: 768px) {
	.elementor-nav-menu li.dn-ns {
		display: none;
	}
}

/* Footer */
.np-footer__menu li:after {
	content: '|';
	padding-left: .5rem;
	padding-right: .5rem;
}

.np-footer__menu li:last-child:after {
	content: '';
	padding-left: .5rem;
	padding-right: .5rem;
}

.site-content {
	/* position: relative; */
}


/* Footer
   ========================================================================== */

@media (min-width: 60em) {
}


/* Footer Navigation */

.footer-nav {
	list-style-type: none;
	margin: 0 0 1rem 0;
	padding: 0;
}

.footer-nav li {
	float: left;
	margin-right: .25rem;
}

.footer-nav li:after {
	content: '|';
	padding-left: .25rem;
}

.footer-nav li:last-of-type:after {
	content: '';
}

.footer-nav li a,
.footer-nav li a:hover {
	color: #fff;
	text-decoration: underline;
}


/* Powered By netPark Logo */

.powered {
	display: none;
	margin-top: 1rem;
	text-align: center;
}

.featured-image {
	background-color: #333333;
	background-image: url("data:image/svg+xml,%3Csvg width='44' height='12' viewBox='0 0 44 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 12v-2L0 0v10l4 2h16zm18 0l4-2V0L22 10v2h16zM20 0v8L4 0h16zm18 0L22 8V0h16z' fill='%2#fb121a' fill-opacity='0.2' fill-rule='evenodd'/%3E%3C/svg%3E");
}


.np-home-directions__locations address,
.np-home-directions__locations p {
	margin-bottom: 2rem;
}

@media(min-width: 30em) {
	.np-directions__locations {
		top: 50%;
		transform: translateY(-50%);
	}
}


@media(min-width: 60em) {
	.np-parking-self-valet .np-container,
	.np-directions__locations,
	.np-home-directions__locations,
	.np-home__extras {
		top: 50%;
		transform: translateY(-50%);
	}

	.np-home-directions__locations p {
		display: none;
	}

	.np-directions .aspect-ratio {
		padding-bottom: 40%;
	}
}

.np-rewards__ftp {
	margin-left: auto;
	margin-right: auto;
	max-width: 60em;
}

@media(min-width: 80em) {
	.np-rewards__ftp .np-container {
		top: 50%;
		transform: translateY(-50%);
	}
	.np-rewards__ftp {
		display: flex;
		max-width: 100%;
	}

	.np-rewards__ftp .np-container {
		position: absolute;
	}

	.np-rewards__ftp .np-container > div {
		float: right;
		margin-bottom: 0;
		margin-top: 0;
		padding-left: 2em;
	}

	.np-rewards__ftp-image,
	.np-rewards__ftp .np-container > div {
		width: 50%
	}

	.np-home-directions__locations p {
		display: block;
	}
}

@media(min-width: 1500px) {
	.np-home-directions__locations address,
	.np-home-directions__locations p {
		margin-bottom: 2rem;
	}
}

@media(min-width: 88em) {
	.np-texting__numbers {
		display: flex;
	}

	.np-texting__numbers div {
		width: 50%;
	}

	.np-texting__numbers div:first-child {
		border-width: 1px;
		border-right-style: solid;
	}
}

/* Customer Pages
   ========================================================================== */


/* Login Page */
.login_page {
	margin: 0 auto;
}

.login_page form {
	display: flex;
	flex-direction: column;
}

.login_page .login,
.login_page .password,
.login_page .actionLinks,
.login_page .actionButtons {
	margin-bottom: 1rem;
	width: 100%;
}

.login_page .actionLinks {
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.25;
	margin-bottom: 0;
	margin-top: 1rem;
	order: 4;
}

.login_page .actionLinks br {
	line-height: 1.5rem;
}

.login_page .actionButtons button {
	width: 100%;
}


/* Register Page */
.np_module table td:first-child {
	font-size: .875rem;
	font-weight: 600;
}

#personal_RegisterForm h4 {
	border: none;
}

.register_optins {
	display: none !important;
	margin-bottom: 1rem;
}

.register_optins label {
	white-space: normal;
}

.cvv_numbers {
	right: 0;
}

/* Recurring Page */
.np-RecurringModule label {
	color: hsl(0, 0%, 44%);
	font-size: .875rem;
	font-weight: 600;
}

.np-RecurringModule .mb2 {
	margin-bottom: 1rem;
}

.np-RecurringModule-parkingZones h1 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: .75rem;
}

.np-RecurringModule-actions {
	margin-bottom: 0 !important;
}

/* Profile Page */
.res_profile > h2 {
	font-size: 1.25rem;
	margin-bottom: .5rem;
	margin-top: -1rem;
	padding: 0 .75rem;
	text-transform: uppercase;
	width: 100%;
}

.res_profile > hr {
	margin: 0 .75rem !important;
	padding: 0 .75rem;
	width: 100%;
}

.res_profile {
	display: flex;
	flex-wrap: wrap;
	margin-left: -.75rem;
	margin-right: -.75rem;
	width: calc(100% + 1.5rem);
}

#CustomerProfile .cust_module h4 {
	border: none;
	margin-bottom: .25rem;
}

#CustomerProfile .cust_module h4 small {
	color: #999;
	font-size: .75rem;
}

#CustomerProfile .cust_module {
	margin: 0;
	padding: .75rem !important;
	width: 100%;
}

@media (min-width: 44em) {
	#CustomerProfile .cust_module {
		width: 50%;
	}
}

.cust_module .data table {
	width: 100%;
}

#CustomerProfile .cust_module .data {
	background: #fff;
	border: 1px solid hsl(0, 0%, 84%);
	border-radius: .125rem;
	clear: both;
	color: #333;
	min-height: 10rem;
	padding: 1rem;
}

#CustomerProfile .cust_module.reservations_list,
#CustomerProfile .cust_module.receipts_list,
#CustomerProfile .cust_module.invoices_list,
#CustomerProfile .cust_module.profile-parking-pass-list {
	width: 100% !important;
}

/* .cust_module.reservations_list, */
/* .cust_module.receipts_list, */
.cust_module.profile-parking-pass-list {
	display: none !important;
}

#CustomerProfile .cust_module .vehicles_list {
	/* height: auto; */
	/* max-height: 300px; */
	/* padding: 0 .25rem; */
}

#CustomerProfile .register_cust_module .cc_cvv {
	display: inline-flex;
	width: auto;
}

#CustomerProfile .cust_module .data.scrollable {
	height: auto;
	max-height: 300px;
}

#CustomerProfile .add_vehicle {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

#CustomerProfile .add_vehicle > span {
	color: hsla(0, 0%, 0%, .6);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .05rem;
	text-transform: uppercase;
}

#CustomerProfile .cust_module .profile_points {
	color: #2b2e99;
	font-size: 1.25rem;
	font-weight: 600;
	margin-top: 1rem;
	position: static;
}


/* Reservation Pages
   ========================================================================== */
/* Progress Bar */
#ReservationBook #ReservationNavigation {
	border: none;
	border-radius: 4rem;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08);
	background-color: hsl(238, 41%, 23%);
	padding-left: 2rem;
	padding-right: 2rem;
	display: flex;
	margin-bottom: 2rem !important;
}

#ReservationBook .res_4_step,
#ReservationBook .res_5_step {
	border-radius: 0;
	overflow: hidden;
}

#ReservationBook .res_progress_nav {
	background-color: hsl(238, 41%, 23%);
	color: hsl(0, 0%, 81%);
	padding-bottom: 1rem;
	padding-top: 1rem;
}

#ReservationBook .res_progress_nav.res_complete {
	background-color: hsl(238, 41%, 23%);
	color: #f4f4f4;
}
.res_progress_nav.active,
#ReservationBook .res_progress_nav.res_in_progress {
	background-color: hsl(238, 41%, 23%) !important;
	color: #fff;
}

#ReservationBook .res_last_step {
	padding-bottom: 1rem !important;
}

#ReservationBook .res_progress_nav.res_complete .res_progress_half,
#ReservationBook .res_progress_nav.res_in_progress .res_progress_half_1,
#ReservationBook .res_progress_nav.res_lock .res_progress_half,
#ReservationBook .res_lock .res_progress_full {
	background-color: #fb121a;
}

/* Reservation Widget */
#ReservationBook #ReservationQuotes {
	margin: 0;
	margin-bottom: 2rem;
}

#ReservationBook #ReservationQuotes .res_dates {
	margin-bottom: 1rem;
	overflow: hidden;
}

#ReservationBook #ReservationQuotes .res_dates #BookingDatesWidget {
	background-color: transparent;
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

#ReservationBook .res_module .title {
	display: none;
}

#ReservationBook .res_dates form {
	background-color: transparent;
	border: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0;
	margin-left: -.5rem;
	margin-right: -.5rem;
	padding: 1rem 0;
}

#ReservationBook input:not([type=submit][type=button]),
#ReservationBook select {
	background-color: #f4f4f4;
}

#ReservationBook input:not([type=submit][type=button]):focus,
#ReservationBook select:focus,
#ReservationBook input:not([type=submit][type=button]):hover,
#ReservationBook select:hover {
	background-color: #fff;
}

#ReservationBook .res_dates_widget .promo_code input {
	color: #333;
}

#ReservationBook #ReservationQuotes .res_dates .departure_date,
#ReservationBook #ReservationQuotes .res_dates .return_date,
#ReservationBook #ReservationQuotes .res_dates .promo_code,
#ReservationBook #ReservationQuotes .res_dates .actionButtons,
#ReservationBook #ReservationQutoes .form-errors {
	display: flex;
	flex-wrap: wrap;
	float: none;
	margin: 0;
	max-width: 18rem;
	padding: .5rem;
	width: 100%;
}

#ReservationBook .res_dates label {
	font-size: .875rem;
	font-weight: 400;
	margin-bottom: 0;
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
	width: 100%;
}

#ReservationBook .res_dates_widget .res_date,
#ReservationBook .res_dates_widget .res_time,
#ReservationBook .res_dates_widget .promo_code input {
	flex: 1;
	float: none;
	font-weight: normal;
	margin-bottom: .5rem;
	margin-right: .25rem;
	min-width: 8rem;
	width: 100%;
}

#points_BookingQuotesWidget {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

#points_BookingQuotesWidget label {
	width: 100%;
}

#points_BookingQuotesWidget select,
#points_BookingQuotesWidget input {
	flex: 1 1 auto;
	max-width: 12rem;
}

/* Reservation Quote Button */
#ReservationBook #ReservationQuotes .res_dates .actionButtons {
	align-self: flex-end;
	flex: 1 0 auto;
	margin-bottom: 0;
	margin-left: 0;
	width: 100%;
}

@media (min-width: 30em) {
	#ReservationBook #ReservationQuotes .res_dates .actionButtons {
		width: auto;
	}
}

#ReservationBook #BookingDatesWidget .actionButtons .button {
	margin-bottom: .5rem;
	width: 100%;
}


/* Quotes List */
#ReservationBook #BookingQuotesWidget {
	overflow: hidden;
}

#ReservationBook .quotes_list {
	color: #333;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-left: -.5rem;
	margin-right: -.5rem;
}


/* Quote */
#ReservationBook .res_quote {
	border: none;
	flex-direction: column;
	width: auto;
}

#ReservationBook .res_quote table {
	width: 100%;
}

#ReservationBook .res_quote .quote_total {
	font-size: 2rem;
}

#ReservationBook .res_quote .res_quote_container {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	margin: 0 auto;
}

#ReservationBook .res_quote .quote_parking_savings {
	color: #6bc74e;
}

#ReservationBook #ReservationQuotes .res_quotes .res_quote {
	background-color: hsl(238, 41%, 23%);
	border-radius: 1rem;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08);
	color: #fff;
	float: none;
	margin: .5rem !important;
	width: 18rem;
	overflow: hidden;
}

@media(min-width: 30em) {
	#ReservationBook #ReservationQuotes .res_quotes .res_quote {
		width: 22rem;
	}
}

#ReservationBook .res_quote[style*='display: block'] {
	display: flex !important;
}

#ReservationBook .res_quote .quote_details {
	border-width: 1px;
	border-color: hsl(0, 0%, 100%, .3);
}

#ReservationBook .res_quote .res_quote_header h4 {
	padding: 1rem;
	padding-bottom: .5rem;
	text-align: left;
	text-indent: 0;
}

#ReservationBook #ReservationNavigation {
	margin-bottom: 1.5rem;
}

#ReservationBook #ReservationBook h4 {
	border: none;
}

#ReservationBook .res_quote .res_quote_header {
	background-color: hsl(238, 41%, 23%);
	border: none;
	text-transform: uppercase;
}

#ReservationBook .res_quote .res_quote_header .quote_title {
	border: none;
	color: hsl(358, 97%, 63%);
	font-weight: 700;
	text-align: center;
}


#ReservationBook .res_quote .quote_summary .quote_prepay {
    color: #6bc74e;
}

#ReservationBook .res_quote .quote_summary .quote_due_at_lot {
    color: hsl(0, 0%, 100%, .8);
}

#ReservationBook .res_quote .quote_pricing {
	flex: 1 0 auto;
}

#ReservationBook .res_quote .actionButtons {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	justify-content: flex-end;
	margin: 2rem 0 1rem;
	position: static;
}

#ReservationBook .res_quote .actionButtons button {
	color: #fff;
	margin: 0;
	padding: 0;
}

#ReservationBook .res_quote .res_quote_selected {
	opacity: .8;
}

#ReservationBook .res_quote.quotes_large {
	min-height: 330px;
}

#ReservationBook .reservation_process_step {
	border-radius: 0;
	color: #333;
	padding: 0;
}

#ReservationBook .quotes_list form {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	padding: .5rem 1rem;
}


/* Services */
#ReservationServices .res_service table {
	background-color: transparent;
}


/* Reservation Details */

#ReservationDetails {
	background-color: #f4f4f4;
	border-radius: 0;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.10);
	color: #333;
	float: right;
	padding: 1rem;
}

#ReservationDetails em {
	color: #fb121a;
}

#ReservationBook .res_details_container {
	background-color: transparent;
	border: none;
	padding: 0;
}


/* Reservation Edit Page */
#ReservationEdit .save_button {
	margin-bottom: .5rem;
}

.elementor-page .cancel_modal {
	background-color: #f4f4f4;
	color: #333;
	padding: 1rem;
	text-align: center;
}


/* Components
   ========================================================================== */

/* Hamburger menu icon */

.hamburger {
    height: 22px;
    position: relative;
    width: 30px;
}

.hamburger .line {
	background-color: #fb121a;
    border-radius: .25rem;
    height: 4px;
    left: 0;
	pointer-events: none;
	position: absolute;
    transition: all .15s;
    width: 30px;
}

.hamburger:hover .line {
	background-color: hsl(218, 73%, 16%);
}

.hamburger .line.line-1 {
    top: 0;
}

.hamburger .line.line-2 {
    top: 50%;
	transform: translateY(-50%);
}

.hamburger .line.line-3 {
    bottom: 0;
}

.hamburger.active .line-1 {
    transform: translateY(9px) translateX(0) rotate(45deg);
}

.hamburger.active .line-2 {
    opacity: 0;
}

.hamburger.active .line-3 {
    transform: translateY(-9px) translateX(0) rotate(-45deg);
}

/* Datepicker */

.pika-single {
	border: 0;
	border-radius: .25rem;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.10);
	font-family: -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
	margin-top: -1.75rem;
	padding: 0;
}

.pika-lendar {
	min-width: 18rem;
	width: auto;
}

.pika-title {
	background-color: #fb121a;
	padding-top: .25rem;
	border-top-left-radius: .25rem;
	border-top-right-radius: .25rem;
	color: #fff;
}

.pika-single .pika-prev,
.pika-single .is-rtl .pika-next {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAQAAACGG/bgAAAAQ0lEQVR4Ae3KIQ4AIBTD0N0/IeHGI3UIRA3ut/Zl+ltXc5++htVAmIAwAWECwgSEKbgthEoIlRAqIVRCqINQB9nDgQd7ktwFo6UpWQAAAABJRU5ErkJggg==') !important;
}

.pika-single .pika-next,
.pika-single .is-rtl .pika-prev {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAQAAACGG/bgAAAAP0lEQVQ4y+3TMQoAMAgEwfwfAvvjTZ1uGzuvHhBPPGczEG+FRqqRaqQaqUaqkX6QBmmjacvQ6qEVTjsh+xizebvlaWptGXZAAAAAAElFTkSuQmCC') !important;
}

.pika-label {
	background-color: #fb121a;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.pika-select:focus {
	top: 1.5em !important;
	height: 0;
}

.pika-select option {
	color: rgba(0, 0, 0, .9);
}

.pika-select option:disabled {
	color: rgba(0, 0, 0, .4);
}

.pika-table {
	border-collapse: separate;
	border-spacing: .125rem;
	padding: .5rem;
}

.pika-table th {
	color: rgba(0, 0, 0, .6);
	font-size: .875rem;
	font-weight: 600;
	text-transform: uppercase;
}

.pika-table th abbr {
	text-decoration: none;
}

.pika-button {
	background-color: #fff;
	border: 0;
	box-shadow: none;
	font-family: -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
	font-size: .875rem;
	height: 2rem;
	margin: .25rem auto;
	text-align: center;
	width: 2rem;
}

.pika-button,
.pika-button:hover {
	border-radius: 9999px !important;
}

.pika-button:hover,
.is-selected .pika-button:hover {
	background-color: hsl(345, 86%, 41%);
}

.is-today .pika-button {
	color: #2b2e99;
}

.is-selected .pika-button {
	background-color: #2b2e99;
	box-shadow: none;
	color: #f4f4f4;
}

.is-disabled .pika-button {
	color: rgba(0, 0, 0, .8);
}



/* Remove wp-admin bar on mobile */

@media (max-width: 782px) {
	html[lang='en-US'] {
		margin-top: 0 !important;
	}
	#wpadminbar {
		display: none !important;
	}
}

.header-login {
}

.header-login a {
	color: rgba(255, 255, 255, .7);
}

.header-login a:hover {
	color: rgba(255, 255, 255, .9);
}

.reservation-date-selector {
	background-color: rgba(255, 255, 255, .8);
	box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);
	color: #333;
	padding: 1.5rem;
	width: 100%;
}

.reservation-date-selector .widget-title {
	font-family: bebas-neue, montserrat, -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu, roboto, noto, 'segoe ui', arial, sans-serif;
	margin-bottom: .5rem;
	margin-top: 0;
}

.reservation-date-selector input,
.reservation-date-selector select {
	background-color: rgba(255, 255, 255, .6);
	border-bottom: 1px solid #fb121a;
	color: #333;
}

.reservation-date-selector input:focus,
.reservation-date-selector select:focus {
	background-color: rgba(255, 255, 255, .9);
	color: #333;
}

.reservation-date-selector .promo_code input {
	color: rgba(0, 0, 0, .7);
}

.reservation-date-selector .actionButtons button {
	width: 100%;
}

.widgets_on_page > ul {
	padding-left: 0;
}

.footer {
	background-color: #333333;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='105' viewBox='0 0 80 105'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='death-star' fill='%2#fb121a' fill-opacity='0.10'%3E%3Cpath d='M20 10a5 5 0 0 1 10 0v50a5 5 0 0 1-10 0V10zm15 35a5 5 0 0 1 10 0v50a5 5 0 0 1-10 0V45zM20 75a5 5 0 0 1 10 0v20a5 5 0 0 1-10 0V75zm30-65a5 5 0 0 1 10 0v50a5 5 0 0 1-10 0V10zm0 65a5 5 0 0 1 10 0v20a5 5 0 0 1-10 0V75zM35 10a5 5 0 0 1 10 0v20a5 5 0 0 1-10 0V10zM5 45a5 5 0 0 1 10 0v50a5 5 0 0 1-10 0V45zm0-35a5 5 0 0 1 10 0v20a5 5 0 0 1-10 0V10zm60 35a5 5 0 0 1 10 0v50a5 5 0 0 1-10 0V45zm0-35a5 5 0 0 1 10 0v20a5 5 0 0 1-10 0V10z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.elementor-page #modal_message_container {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

h1 small {
	opacity: .9;
	text-shadow: none;
}

.site-footer {
	align-items: center;
	bottom: 0;
	display: flex;
	height: 50px;
	left: 0;
	justify-content: center;
	position: absolute;
	right: 0;
}

.np-footer {
	color: #8d9095;
}

.np-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 76rem;
	padding-left: 1rem;
	padding-right: 1rem;
	width: 100%;
}

.np-wrap {
	max-width: 80rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	margin: 0 auto;
}

@media (min-width: 1380px) {
	.np-container {
		max-width: 84rem;
	}
}

/* Header */
.np-header {
	margin-top: 0;
}

@media (min-width: 1380px) {
	.np-header {
		margin-bottom: 0;
	}
}

.np-header__navigation {
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
}

.np-template--default {
	padding-top: 1.875rem;
}

/* Reservation Widgets */
.np-home__reservation {
	max-width: 24rem;
}

#HomeReservation form {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (min-width: 84em) {
	.np-home__reservation {
		margin: 0 auto;
		max-width: 84rem;
		transition: all .3s ease-in-out;
		width: 100%;
	}

	.np-home__reservation__placeholder {
		max-width: 100%;
		width: 100%;
	}

	.home .np-home__reservation__placeholder {
		margin-bottom: 8rem;
	}

	.bind-reservation .np-home__reservation__placeholder {
		height: 112px;
	}

	.bind-reservation .np-home__reservation {
		background-color: #000;
		height: 108px;
		left: 0;
		max-width: 100%;
		position: fixed;
		right: 0;
		top: 112px;
		width: 100%;
		z-index: 2;
	}

	.admin-bar.bind-reservation .np-home__reservation {
		top: 144px;
	}

	.bind-reservation .np-home__reservation .np-container {
		padding-bottom: .25rem;
		padding-top: .25rem;
	}

	.bind-reservation #HomeReservation label {
		font-size: 1rem;
	}

	#HomeReservation form {
		align-items: flex-end;
		flex-direction: row;
		justify-content: center;
	}
}

#HomeReservation .location,
#HomeReservation .departure_date,
#HomeReservation .return_date,
#HomeReservation .promo_code,
#HomeReservation .actionButtons {
	flex: 1 1 auto;
	padding: .5rem;
}

#HomeReservation input,
#HomeReservation select {
	background-color: rgba(255, 255, 255, .9);
	border-color: rgba(0, 0, 0, .2);
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08);
	color: #54595f;
	font-weight: 500;
	margin: 0;
	height: 60px;
	padding-left: 2rem;
	padding-right: 2rem;
}

#HomeReservation input:focus,
#HomeReservation select:focus,
#HomeReservation input:hover,
#HomeReservation select:hover {
	background-color: #fff;
}

@media (min-width: 60em) {
	#HomeReservation input,
	#HomeReservation select {
		font-size: 1.25rem;
	}
}


#HomeReservation .location {
	min-width: 14.5rem;
}

#HomeReservation .departure_date,
#HomeReservation .return_date {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
}

@media (min-width: 30em) {
	#HomeReservation .departure_date,
	#HomeReservation .return_date {
		flex-direction: row;
		justify-content: space-around;
		min-width: 18rem;
		width: 100%;
	}
}

#HomeReservation .departure_date input,
#HomeReservation .departure_date select,
#HomeReservation .return_date input,
#HomeReservation .return_date select {
	flex: 0 1 auto;
	margin: 0;
	margin-bottom: .5rem;
	min-width: 8rem;
	width: 100%;
}

@media (min-width: 30em) {
	#HomeReservation .departure_date input,
	#HomeReservation .departure_date select,
	#HomeReservation .return_date input,
	#HomeReservation .return_date select {
		flex: 0 1 auto;
		margin: 0;
		max-width: 10rem;
		min-width: 8rem;
		width: calc(50% - .5rem);
	}
}

@media (min-width: 60em) {
	#HomeReservation .departure_date input,
	#HomeReservation .departure_date select,
	#HomeReservation .return_date input,
	#HomeReservation .return_date select {
		max-width: unset;
	}
}

#HomeReservation .promo_code {
	min-width: 10rem;
}

#HomeReservation .actionButtons {
	min-width: 11rem;
}

#HomeReservation button {
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08);
	height: 60px;
	width: 100%;
}

#HomeReservation .promo_code input::placeholder {
	opacity: 0;
}

#HomeReservation label {
	color: #333;
	display: block;
	font-weight: 500;
	margin-bottom: .75rem;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	width: 100%;
}

@media (min-width: 768px) {
	#HomeReservation label {
		color: #f4f4f4;
		text-shadow: 2px 2px 1px rgba(0, 0, 0, .8);
	}
}

@media (min-width: 60em) {
	#HomeReservation label {
		font-size: 1.25rem;
	}
}

@media (min-width: 72em) {
	.np-how-it-works-step {
		width: 25%;
	}
}

/* Utilities
   ========================================================================== */

/* Primary: #fb121a */
.primary,
.hover-primary:focus,
.hover-primary:hover {
	color: #fb121a;
}

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

.b--primary {
	border-color: #fb121a;
}

/* Red: #fb121a */
.red,
.hover-red:focus,
.hover-red:hover {
	color: #fb121a;
}

.bg-red,
.hover-bg-red:focus,
.hover-bg-red:hover {
	background-color: #fb121a;
}

.b--red {
	border-color: #fb121a;
}

/* Yellow: #f6bf02 */
.yellow,
.hover-yellow:focus,
.hover-yellow:hover {
	color: #f6bf02;
}

.bg-yellow,
.hover-bg-yellow:focus,
.hover-bg-yellow:hover {
	background-color: #f6bf02;
}

.b--yellow {
	border-color: #f6bf02;
}

/* Blue: #2b2e99 */
.blue,
.hover-blue:focus,
.hover-blue:hover {
	color: #2b2e99;
}

.bg-blue,
.hover-bg-blue:focus,
.hover-bg-blue:hover {
	background-color: #2b2e99;
}

.b--blue {
	border-color: hsl(238, 56%, 88%);
}

/* Secondary: #2b2e99 */
.secondary,
.hover-secondary:focus,
.hover-secondary:hover {
	color: #2b2e99;
}

.bg-secondary,
.hover-bg-secondary:focus,
.hover-bg-secondary:hover {
	background-color: #2b2e99;
}

.b--secondary {
	border-color: #2b2e99;
}

/* Green: #3f992b */
.green,
.hover-green:focus,
.hover-green:hover {
	color: #3f992b;
}

.bg-green,
.hover-bg-green:focus,
.hover-bg-green:hover {
	background-color: #3f992b;
}

.b--green {
	border-color: #3f992b;
}

.mw8 {
	max-width: 76rem;
}

.text-shadow {
	text-shadow: 0 .075em .075em rgba(0, 0, 0, .8);
}

.tracked {
	letter-spacing: .05em;
}

.shadow-1 {
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.10);
}

.shadow-md {
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.08);
}

.shadow-lg {
	box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);
}
