﻿/* ============================================================================================== */
/*  NEW PLYMOUTH AIRPORT 2020
/* ==============================================================================================

1. BASE
2. LAYOUT
3. COMPONENTS
4. 3RD PARTY
5. STATE & UTILITIES
*/

/* --------------------------------------------------------------------- */
/* 1. BASE
/* --------------------------------------------------------------------- */

html {
	font-size: 62.5%;
}

body {
	position: relative;
	left: 0;
	right: auto;
	background: #FFF;
	background-image: linear-gradient(to top, rgba(30,55,153,0.33) 0%,rgba(44,62,80,0.66) 100%), linear-gradient(to right, rgba(30,55,153,0.66) 0%,rgba(183,21,64,0.66) 100%);
	color: #2C3E50;
	font: 400 1.6rem/1.5 'Open Sans', Helvetica, Arial, sans-serif;
}

	@media (min-width: 1200px) {
		body {
			font-size: 1.6rem;
		}
	}

/* Heading */

h1, .h1 {
	margin-bottom: 2rem;
	font-size: 4rem;
	line-height: 4.4rem;
}

	@media (min-width: 1200px) {
		h1, .h1 {
			font-size: 4.4rem;
			line-height: 4.8rem;
		}
	}

h2, .h2,
.rte-area h1, .rte-area .h1 {
	margin-bottom: 2rem;
	font-size: 3.2rem;
	line-height: 4.1rem;
}

	@media (min-width: 1200px) {
		h2, .h2,
		.rte-area h1, .rte-area .h1 {
			font-size: 3.6rem;
			line-height: 4.5rem;
		}
	}

h3, .h3 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	line-height: 3.1rem;
}

	@media (min-width: 1200px) {
		h3, .h3 {
			font-size: 2.8rem;
			line-height: 3.5rem;
		}
	}

h4, .h4 {
	margin-bottom: 1.5rem;
	font-size: 2rem;
	line-height: 2.5rem;
}

	@media (min-width: 1200px) {
		h4, .h4 {			
			font-size: 1.6rem;
			line-height: 2.1rem;
		}
	}

h5, .h5 {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

	@media (min-width: 1200px) {
		h5, .h5 {			
			font-size: 1.2rem;
			line-height: 2rem;
		}
	}

h6, .h6 {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	line-height: 2.4rem;
}

	@media (min-width: 1200px) {
		h6, .h6 {			
			font-size: 1rem;
			line-height: 2rem;
		}
	}

/* Text */

p {
	margin-bottom: 2rem;
}

a {
	color: #1E3799;
	text-decoration: underline;
}

	a:hover {
		text-decoration: none;
	}

strong {
	font-weight: 700;
}

small {
	font-size: 1.4rem;
	line-height: 2.4rem;
}

	@media (min-width: 1200px) {
		 small {
			font-size: 1rem;
			line-height: 2rem;
		}
	}

/* List */

ul, ol {
	padding-left: 15px;
	margin-bottom: 20px;
}

	@media (min-width: 1200px) {
		ul, ol {
			padding-left: 22px;
		}
	}

/* Form */

label {
	display: block;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	padding: 0 10px;
	max-width: 100%;
	width: 100%;
	height: 40px;
	border: 1px solid #DDD;
	border-radius: 4px;
	font-size: 1.6rem;
	line-height: 40px;
}

textarea {
	padding: 10px;
	max-width: 100%;
	width: 100%;
	height: 140px;
	border: 1px solid #DDD;
	border-radius: 4px;
	font-size: 1.6rem;
}


/* Table */

table {
	width: 100%;
	color: #0C2461;
	font-size: 1.4rem;
}

	@media (min-width: 1200px) {
		table {
			font-size: 1.8rem;
		}
	}
	
	th, td {
		padding: 10px 0;		
	}

	th {
		text-align: left;
		text-transform: uppercase;
		font-weight: 700;
	}	
	


/* --------------------------------------------------------------------- */
/* 2. LAYOUT
/* --------------------------------------------------------------------- */

/* Base
/* ---------------------------------------- */

#l-header {
	position: relative;
	background-color: #FFF;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
	z-index: 2;
}		

#l-content {
	position: relative;
	z-index: 1;
	padding-bottom: 2.5rem;
	background-color: #FFF;
	min-height: 500px;
}

#l-home-banner-slider-area {
	position: relative;
	z-index: 1;	
}

#l-home-page-components-area {
	position: relative;
	z-index: 2;
	top: calc(-92px + 7rem);
}

	@media (min-width: 768px) {
		#l-home-page-components-area {
			top: calc(-98px + 7rem);
		}
	}

	@media (min-width: 1200px) {
		#l-home-page-components-area {
			top: calc(-140px + 7rem);
		}
	}

	#l-home-page-components-area .row {
		justify-content: center;
	}

#l-home-featured-area {
	position: relative;
	z-index: 2;	
}


.l-main-content {
	margin: 50px 0;
}

#l-footer {
	padding: 30px 0;
	color: #FFF;
	font-size: 1.4rem;
}	

	@media (min-width: 1200px) {
		#l-footer {
			padding: 90px 0 60px 0;			
			font-size: 1.6rem;
		}
	}

	#l-footer a {
		color: #FFF;
		text-decoration: none;
	}

		#l-footer a:hover {
			text-decoration: underline;
		}

.legal-line {
	margin: 0;	
}

.author {
	margin: 0;
}

	.author--label {
		display: inline-block;
		margin-right: 10px;
	}

	.author--logo {
		display: inline-block;
		width:  68px;
	}

		.author--logo img {
			width: 100%;
		}


/* Common
/* ---------------------------------------- */

.container {
}

	@media (min-width: 1200px) {
		.container {
			max-width: 1440px;
		}
	}


/* Footer
/* ---------------------------------------- */

.l-footer--bottom-area {
	padding-top: 30px;
	text-align: center;
}

	@media (min-width: 992px) {
		.l-footer--bottom-area {
			padding-top: 30px;
			border-top: 1px solid #FFF;
		}
	}

	@media (min-width: 1200px) {
		.l-footer--bottom-area {
			padding-top: 40px;			
		}
	}

.l-footer--top-area {
}

	@media (min-width: 992px) {
		.l-footer--top-area {
			padding-bottom: 25px;
		}
	}

	@media (min-width: 1200px) {
		.l-footer--top-area {
			padding-bottom: 35px;
		}
	}

.l-footer--legal {
	margin-bottom: 2rem;
	order: 2;
}

	@media (min-width: 992px) {
		.l-footer--legal {
			order: 1;
			margin-bottom: 0;
			padding-left: 0;
			text-align: left;
		}
	}

	@media (min-width: 1200px) {
		.l-footer--legal {			
			padding-left: 15px;			
		}
	}

.l-footer--contact {
	order: 1;
	margin-bottom: 30px;
	text-align: center;
}

	@media (min-width: 992px) {
		.l-footer--contact {
			order: 2;
			margin-bottom: 0;
		}
	}

.l-footer--author {	
	order: 3;
}

	@media (min-width: 992px) {
		.l-footer--author {
			padding-right: 0;
			text-align: right;
		}
	}

	@media (min-width: 1200px) {
		.l-footer--author {
			padding-right: 15px;			
		}
	}


/* Logo
/* ---------------------------------------- */

/* Base */

.logo {
	display: block;
	margin: 15px 0;
	width: 170px;
	height: 71px;
}

	@media (min-width: 992px) {
		.logo {
			margin: 15px auto;
		}
	}

	@media (min-width: 1200px) {
		.logo {
			margin: 15px 0;
		}
	}

	.logo img,
	.logo picture {
		width: 100%;
	}

	@media (min-width: 768px) {
		.logo {
			width: 322px;
			height: 76px;
		}
	}


/* Footer */

.logo-m-footer {
	margin: 0 auto 30px;	
	height: 41px;
}

	@media (min-width: 768px) {
		.logo-m-footer {
			height: 76px;
		}
	}

	@media (min-width: 1200px) {
		.logo-m-footer {
			margin: 0;
		}
	}



/* Clear Fix
/*--------------------------------------*/

#l-content:after,
.carousel:after,
.carousel-inner:after,
.rte-area:after,
.profile-block:after,
.u-clearfix:after {
	display: block;
	clear: both;
	height: 0;
	content: "";
	visibility: hidden
}


/* Vertical Spacing
/*--------------------------------------*/

.l-v-spacing-lv-0 {
	margin-bottom: 0rem;
}

.l-v-spacing-lv-1 {
	margin-bottom: 0.5rem;
}

.l-v-spacing-lv-2 {
	margin-bottom: 1rem;
}

.l-v-spacing-lv-3 {
	margin-bottom: 1.5rem;
}

.l-v-spacing-lv-4 {
	margin-bottom: 2rem;
}

.l-v-spacing-lv-5 {
	margin-bottom: 2.5rem;
}

.l-v-spacing-lv-6 {
	margin-bottom: 3rem;
}

.l-v-spacing-lv-7 {
	margin-bottom: 3.5rem;
}

.l-v-spacing-lv-8 {
	margin-bottom: 4rem;
}

.l-v-spacing-lv-9 {
	margin-bottom: 4.5rem;
}

.l-v-spacing-lv-10 {
	margin-bottom: 5rem;
}


/* --------------------------------------------------------------------- */
/* 3. COMPONENTS
/* --------------------------------------------------------------------- */


/* Banner
/* ---------------------------------------- */

.banner {
	background-color: #BCCED1;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}	
		
	.banner--text {
		position: relative;
		height: 250px;
	}

		@media (min-width: 576px) {
			.banner--text {
				height: 515px;
			}
		}	

		@media (min-width: 768px) {
			.banner--text {
				height: 590px;
			}
		}	

	.banner--hd {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
		max-width: 100%;
		color: #FFF;
		font-size: 5rem;
		line-height: 1.2;
		text-shadow: 0px 0px 10px rgba(0, 0 , 0, 0.8);
	}

		@media (min-width: 768px) {
			.banner--hd {
				font-size: 6rem;
			}
		}

		@media (min-width: 992px) {
			.banner--hd {
				font-size: 8rem;
			}
		}		


/* Banner - Map
/* ---------------------------------------- */

.banner-m-map {
	position: relative;
}

	.banner-m-map {
		height: 250px;
	}

	@media (min-width: 576px) {
		.banner-m-map {
			height: 515px;
		}
	}

	@media (min-width: 768px) {
		.banner-m-map {
			height: 590px;
		}
	}

	.banner-m-map--container {
		position: relative;
		height: 0;
	}

	.banner-m-map--map-frame {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 250px;
	}

		@media (min-width: 576px) {
			.banner-m-map--map-frame {
				height: 515px;
			}
		}

		@media (min-width: 768px) {
			.banner-m-map--map-frame {
				height: 590px;
			}
		}

	.banner-m-map .banner--hd {
		position: absolute;
		top: 105px;
		left: 0;
		z-index: 2;
		margin-bottom: 0;
		transform: none;
	}

		@media (min-width: 576px) {
			.banner-m-map .banner--hd {
				top: 245px;
			}
		}

		@media (min-width: 768px) {
			.banner-m-map .banner--hd {
				top: 270px;
			}
		}

		@media (min-width: 992px) {
			.banner-m-map .banner--hd {
				left: 15px;
			}
		}

		@media (min-width: 1200px) {
			.banner-m-map .banner--hd {
				top: 280px;				
			}
		}


/* Button
/* ---------------------------------------- */

.btn {
	display: inline-block;
	height: 38px;
	padding: 0 15px;
	background-color: #BCCED1;
	border: 1px solid #BCCED1;
	border-radius: 0;
	color: #2C3E50 !important;
	overflow: hidden;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 36px;
	text-decoration: none;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

	.btn:hover {
		background-color: #2C3E50;
		border-color: #2C3E50;
		color: #FFF !important;
		text-decoration: none !important;
	}

	.btn-primary {
		background-color: #1E3799;
		border-color: #1E3799;
		color: #FFF !important;
	}

		.btn-primary:hover {
			background-color: #0C2461;
			border-color: #0C2461;
		}

	.btn-secondary {
		background-color: #FFF;
		border-color: #1E3799;
		color: #1E3799 !important;
	}

		.btn-secondary:hover {
			background-color: #BCCED1;
			border-color: #BCCED1;
			color: #1E3799 !important;
		}


/* Button - Back to Top
/* ---------------------------------------- */

.btn-m-back-to-top {
	position: fixed;
	z-index: 10;
	bottom: 15px;
	right: 15px;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}


/* Button - Icon
/* ---------------------------------------- */

/* Base */

.btn-icon {
	display: inline-block;
	padding: 0;
	border: 0;
	background: transparent;
	border-color: #f0eae4;
	color: #f0eae4;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

	.btn-icon:hover {
		text-decoration: none;
	}


/* Menu */

.btn-icon-m-menu {
	position: relative;
	width: 35px;
	height: 20px;
}

	.btn-icon-m-menu--bar,
	.btn-icon-m-menu--bar:after,
	.btn-icon-m-menu--bar:before {
		position: absolute;
		top: 0;
		left: 0;						
		display: inline-block;
		width: 100%;
		height: 3px;
		background-color: #0C2461;
		border-radius: 1px;
		content: " ";
		cursor: pointer;
		transition: all .25s ease-in-out;
	}

		.btn-icon-m-menu--bar:after {
			top: 8px;
		}

		.btn-icon-m-menu--bar:before {
			top: 16px;
		}

		.btn-icon-m-menu:hover .btn-icon-m-menu--bar,
		.btn-icon-m-menu:hover .btn-icon-m-menu--bar:after,
		.btn-icon-m-menu:hover .btn-icon-m-menu--bar:before {
			background-color: #B71540;
		}


/* Form Elements
/*--------------------------------------*/

/* Error */

.error {
	color: #B71540;
}

	.form-group .error {
		margin-bottom: 0;
		margin-top: 3px;
	}

	input.error,
	textarea.error {
		border: 1px solid #B71540;
	}


/* Form Area */

.form-area {
	padding: 60px 0;
	background-color: #BCCED1;
}

	.form-area label {
		font-size: 1.6rem;
	}

	.form-area .form-group {
		margin-bottom: 3rem;
	}

	.form-area .g-recaptcha {
		margin-top: 3rem;
	}


/* Gallery
/*--------------------------------------*/

.gallery {
}

	.gallery--thumbnail {
		display: block;
		margin-bottom: 30px;
		background-color: #BCCED1;
		text-align: center;
		overflow: hidden;
	}

		.gallery--thumbnail:hover {
			opacity: 0.7;
		}

		.gallery--thumbnail img {
			width: auto;
			max-width: 100%;
		}

			@media (min-width: 576px) {
				.gallery--thumbnail img {
					height: 160px;
				}
			}

			@media (min-width: 768px) {
				.gallery--thumbnail img {
					height: 220px;
				}
			}

			@media (min-width: 992px) {
				.gallery--thumbnail img {
					height: 193px;
				}
			}

			@media (min-width: 1200px) {
				.gallery--thumbnail img {
					height: 220px;
					max-width: none;
				}
			}

        .gallery--thumbnail-m-full-width {
        }

            @media (min-width: 576px) {
                .gallery--thumbnail-m-full-width {
                    height: 160px;
                }
            }

            @media (min-width: 768px) {
                .gallery--thumbnail-m-full-width {
                    height: 220px;
                }
            }

            @media (min-width: 992px) {
                .gallery--thumbnail-m-full-width {
                    height: 193px;
                }
            }

            @media (min-width: 1200px) {
                .gallery--thumbnail-m-full-width {
                    height: 220px;
                }
            }

            .gallery--thumbnail-m-full-width img {
                width: 100%;
                height: auto;
            }


/* List - Inline
/*--------------------------------------*/

.list-inline {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0;
}

	.list-inline li,
	.list-inline--item {
		margin-right: 5px;
	}

		.list-inline li + li:before,
		.list-inline--item + .list-inline--item:before {
			content: "|";
			display: inline-block;
			margin-right: 5px;
			position: relative;
			top: -1px;
		}

	.list-inline-m-centered {
		justify-content: center;
	}

/* File Download List */

.file-download-list {
	list-style: none;
}

.file-download-list li:not(:last-child) {
	margin-bottom: 2rem;
}

/* Navigation
/* ---------------------------------------- */
.main-nav {
	position: relative;
}
	
	.main-nav .container {
		position: relative;
	}

	.main-nav .btn-icon-m-menu {
		position: absolute;
		top: -60px;
		right: 15px;
		z-index: 10;
	}

		@media (min-width: 992px) {
			.main-nav .btn-icon-m-menu {
				display: none;
			}
		}

.main-nav--menu {
	max-height: 0;
	overflow: hidden;
	transition: max-height .25s ease-in-out;
}

	@media (min-width: 992px) {
		.main-nav--menu {			
			max-height: none;
			overflow: visible;
		}
	}	
	
	.main-nav--menu > ul {
		display: block;
		margin: 0;
		padding: 15px 0 25px;
		border-top: 2px solid #2C3E50;
		list-style-type: none;
	}

		@media (min-width: 992px) {
			.main-nav--menu > ul {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				padding: 15px 0;
				border: 0;
				width: 100%;
			}
		}

		@media (min-width: 1200px) {
			.main-nav--menu > ul {
				padding: 45px 0 15px;
			}
		}
			
		.main-nav--menu > ul > li {
		}

			@media (min-width: 992px) {
				.main-nav--menu > ul > li {
					position: relative;
					flex-grow: 0;
					flex-shrink: 0;
					flex-basis: auto;
				}
			}			

	.main-nav--menu a {
		display: inline-block;
		color: #0C2461;
		font-size: 1.4rem;
		font-weight: 300;
		text-decoration: none;
		text-transform: uppercase;		
	}

		.main-nav--menu a .fas {
			margin: 0 0 0 10px;
			padding: 0;
			border: 0;
			background: none;
			color: #2C3E50;
			opacity: 0.65;
			transition: transform .25s ease-in-out;
		}

			@media (min-width: 992px) {
				.main-nav--menu a .fas {
					display: none;
				}
			}

		@media (min-width: 992px) {
			.main-nav--menu a {
				font-size: 1.6rem;
			}
		}		

		.main-nav--menu a:hover {
			color: #B71540;
			text-decoration: none;
		}

.main-nav--child {
	padding-left: 20px;
	list-style-type: none;
	max-height: 0;
	overflow: hidden;
	transition: max-height .25s ease-in-out;
}

	@media (min-width: 992px) {
		.main-nav--child {
			display: block;
			position: absolute;
			top: 40px;
			left: -20px;
			z-index: 10;
			padding-left: 0;
			width: 250px;			
			background-color: #FFF;
			box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3);
		}
	}

	@media (min-width: 1200px) {
		.main-nav--child {			
			top: 62px;
		}
	}

	.main-nav--menu > ul > li:last-child .main-nav--child {
	}

		@media (min-width: 992px) {
			.main-nav--menu > ul > li:last-child .main-nav--child {
				left: auto;
				right: -20px;				
			}
		}

	.main-nav--child a {
		color: #1E3799;
	}

		@media (min-width: 992px) {
			.main-nav--child a {
				display: block;
				padding: 7px 25px;
				line-height: 1.3;
			}
		}

		.main-nav--child li:first-child a {
		}

			@media (min-width: 992px) {
				.main-nav--child li:first-child a {
					padding-top: 17px;
				}
			}

		.main-nav--child li:last-child a {
		}

			@media (min-width: 992px) {
				.main-nav--child li:last-child a {
					padding-bottom: 17px;
				}
			}


.s-main-nav-menu-active {
	color: #B71540 !important;
}

.s-main-nav-displayed {
}

	.s-main-nav-displayed .btn-icon-m-menu--bar {
		height: 0;
	}

	.s-main-nav-displayed .btn-icon-m-menu--bar:after {				
        transform: translateY(1px) translateY(0) rotate(-45deg);
	}

	.s-main-nav-displayed .btn-icon-m-menu--bar:before {				
        transform: translateY(-7px) translateY(0) rotate(45deg);
	}

	.s-main-nav-displayed .main-nav--menu {
		max-height: 3000px;
	}

.s-main-nav-child-menu-displayed {
}

	.s-main-nav-child-menu-displayed .fa-angle-right {
		transform: rotate(90deg);
	}

	.s-main-nav-child-menu-displayed .main-nav--child {
		max-height: 1000px;
	}


/* Navigation - Footer
/* ---------------------------------------- */

.footer-nav {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

	@media (min-width: 1200px) {
		.footer-nav {
			margin-top: 43px;
			text-align: right;
		}
	}

	.footer-nav li {
		display: inline;
	}

	.footer-nav a {
		margin: 5px 15px;
		display: inline-block;		
		font-weight: 300;
		text-transform: uppercase;
	}

		@media (min-width: 992px) {
			.footer-nav a {
				margin: 0 0 0 15px;
			}
		}


/* Navigation - Skip to Content
/* ---------------------------------------- */

#nav-skip-to-content {
	position: absolute;
	top: -1000px;
	left: -1000px;
	height: 1px;
	width: 1px;
	text-align: left;
	overflow: hidden;
}


/* Parking Calculator
/* ---------------------------------------- */

.parking-calculator-area {
	padding: 60px 0;
	background-image: linear-gradient(to top, rgba(30,55,153,0.33) 0%,rgba(44,62,80,0.66) 100%), linear-gradient(to right, rgba(30,55,153,0.66) 0%,rgba(183,21,64,0.66) 100%);
	color: #FFF;
}

.parking-calculator {
}

	.parking-calculator .row {
		width: 100%;
	}

	.parking-calculator--btn-container {
		margin-top: 1.5rem;
		margin-bottom: 3rem;
	}

		@media (min-width: 768px) {
			.parking-calculator--btn-container {
				margin-top: 0;
				margin-bottom: 1.5rem;
			}
		}

	.parking-calculator--value-container {
	}

		@media (min-width: 768px) {
			.parking-calculator--value-container {
				margin-top: 1.5rem;				
			}
		}

		@media (min-width: 992px) {
			.parking-calculator--value-container {
				margin-top: 0;
			}
		}

	.parking-calculator--fee {
		margin-bottom: 0;
		font-size: 5rem;
		font-weight: 600;
	}

		@media (min-width: 992px) {
			.parking-calculator--fee {
				font-size: 7rem;
				line-height: 100%;
			}
		}		


/* Pod
/* ---------------------------------------- */

.pod {	
	text-align: center;
}	

	.pod--image {
		margin-bottom: 40px;		
	}

		.pod--image p {
			margin-bottom: 0;
		}

		.pod--image img {
			height: 120px;
		}
	
	.pod--hd {
		margin-bottom: 2rem;
		color: #0C2461;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;		
	}

		@media (min-width: 1200px) {
			.pod--hd {
				font-size: 2.4rem;
			}
		}

	.pod--blurb {
		margin-bottom: 2rem;
	}

	.pod--cta {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

		.pod--cta .btn {
			margin: 0 10px 15px;
		}


/* Profile Block
/* ---------------------------------------- */

/* Standard */
.profile-block {
	margin-bottom: 4rem;
}

	.profile-block--image {
		margin-bottom: 2rem;
	}

		@media (min-width: 576px) {
			.profile-block--image {
				float: left;				
				width: 180px;
			}
		}

		@media (min-width: 1200px) {
			.profile-block--image {				
				width: 260px;
			}
		}

		.profile-block--image img {
			width: 100%;
		}

	.profile-block--text {
	}

		@media (min-width: 576px) {
			.profile-block--text {
				margin-left: calc(180px + 2rem);
			}
		}

		@media (min-width: 1200px) {
			.profile-block--text {
				margin-left: calc(260px + 2rem);				
			}
		}

	.profile-block--hd {
		color: #0C2461;
		font-size: 1.8rem;
		font-weight: 600;
		text-transform: uppercase;
		line-height: 1.3;
	}

		@media (min-width: 1200px) {
			.profile-block--hd {
				font-size: 2.2rem;
			}
		}

	.profile-block--meta {
		display: block;
		font-weight: 400;
		text-transform: none;
	}

	.profile-block--blurb {
		font-size: 1.4rem;
	}

		@media (min-width: 1200px) {
			.profile-block--blurb {
				font-size: 1.6rem;
			}
		}

/* No Image */

.profile-block-m-no-image {
}

	.profile-block-m-no-image .profile-block--text {
		margin-left: 0;
	}


/* Rich Text Editor Area
/* ---------------------------------------- */

.rte-area {
}


/* Tabs
/* ---------------------------------------- */

.tabs {
	position: relative;	
}

	.tabs .container {
		position: relative;
		display: flex;
		flex-wrap: wrap;
	}

	.tabs--nav-input {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		opacity: 0;
	}

		.tabs--nav-input:checked + .tabs--nav-label,
		.tabs--nav-label:hover {
			background-color: rgba(12, 36, 97, 0.75);
		}

			.tabs--nav-input:checked + .tabs--nav-label + .tabs--panel {
				display: block;
			}

			.tabs--nav-input:checked + .tabs--nav-label .tabs--nav-label--svg-icon-path,
			.tabs--nav-label:hover .tabs--nav-label--svg-icon-path {
				fill: #FFF;
			}

			.tabs--nav-input:checked + .tabs--nav-label .tabs--nav-label--text,
			.tabs--nav-label:hover .tabs--nav-label--text {
				color: #FFF;
			}

	.tabs--nav-label {
		display: inline-block;
		margin: 0;
		padding: 10px;
		background-color: rgba(255, 255, 255, 0.75);
		font-size: 1rem;
		font-weight: 400;
		text-align: center;
		cursor: pointer;
	}

		@media (min-width: 768px) {
			.tabs--nav-label {
				font-size: 1.4rem;
			}
		}

		@media (min-width: 1200px) {
			.tabs--nav-label {
				padding: 20px;
				font-size: 2rem;
			}
		}

		.tabs--nav-label ~ .tabs--nav-label {
			margin-left: 0;
		}

			@media (min-width: 576px) {
				.tabs--nav-label ~ .tabs--nav-label {
					margin-left: 15px;
				}
			}

			.tabs--nav-label--svg-icon {
				max-width: 50px;
			}

				@media (min-width: 768px) {
					.tabs--nav-label {
						max-width: none;
					}
				}

			.tabs--nav-label--svg-icon-path {				
				fill: #0C2461;
				opacity: 0.75;
			}

			.tabs--nav-label--text {
				display: block;
				margin-top: 7px;
				text-align: center;
				text-transform: uppercase;
			}

				@media (min-width: 1200px) {
					.tabs--nav-label--text {
						margin-top: 20px;
					}
				}

.tabs--panel {
	display: none;
	padding: 30px 15px;
	flex-basis: 100%;
	background-image: linear-gradient(to top, rgba(30,55,153,0.33) 0%,rgba(44,62,80,0.66) 100%), linear-gradient(to right, rgba(30,55,153,0.66) 0%,rgba(183,21,64,0.66) 100%);
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
	order: 99; /* NOTE: For positioning the panel at the last position */
}

		@media (min-width: 768px) {
			.tabs--panel {
				padding: 30px;
			}
		}

		@media (min-width: 1200px) {
			.tabs--panel {
				padding: 75px;
			}
		}

		.tabs--panel--cta {
			text-align: right;
		}

			.tabs--panel--cta a {
				font-size: 1.6rem;
			}


/* Tabs - Home Featured
/* ---------------------------------------- */

.tabs-m-home-featured {
	position: relative;
	top: -92px;
}

	@media (min-width: 768px) {
		.tabs-m-home-featured {
			top: -98px;
		}
	}

	@media (min-width: 1200px) {
		.tabs-m-home-featured {
			top: -140px;
		}
	}

	.tabs-m-home-featured .error {
		margin-bottom: 0;
		color: #FFF;
	}

	.tabs-m-home-featured .pod {
		margin-top: 3rem;
		margin-bottom: 3rem;
	}

		.tabs-m-home-featured .pod--image {
			margin-bottom: 2.5rem;
		}

	.tabs-m-home-featured .parking-calculator-heading {
		display: none;
	}

	.tabs-m-home-featured .parking-calculator-area {
		padding: 0;
		background-image: none;		
	}

	.tabs-m-home-featured .table-m-flight-schedule {
		max-width: none;
	}

	.tabs-m-home-featured a,
	.tabs-m-home-featured .table,
	.tabs-m-home-featured .pod--hd {
		color: #FFF;
	}

		.tabs-m-home-featured .table tr,
		.tabs-m-home-featured .table tbody,
		.tabs-m-home-featured .table thead th {
			border-color: #FFF;
		}

	.tabs-m-home-featured .tabs--nav-label {
		width: 25%;
	}

		@media (min-width: 576px) {
			.tabs-m-home-featured .tabs--nav-label {
				width: calc((100% - 45px) / 4);
			}
		}



/* Table
/* ---------------------------------------- */

/* Base */

.table {
	color: #0C2461;
}
	
	.table thead {
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;		
		position: absolute;
		width: 1px;
	}

		@media (min-width: 768px) {
			.table thead {
				clip: auto;
				height: auto;
				margin: 0;
				overflow: auto;
				position: static;
				width: auto;
			}
		}
				
		.table thead th {			
			border-top: 0;
			border-bottom: 1px solid #0C2461;
			vertical-align: middle;
		}

			.table thead th:first-child {
				padding-left: 0;
			}

			.table thead th:last-child {
				padding-right: 0;
			}

	.table tr {
		display: block;
		border-bottom: 1px solid #2C3E50;
		clear: both;
	}

		@media (min-width: 768px) {
			.table tr {
				display: table-row;
				border-bottom: 0;
			}
		}

		.table tbody {
			display: block;
			border-top: 1px solid #2C3E50;
			margin-top: 1.5rem;
		}

			@media (min-width: 768px) {
				.table tbody {
					display: table-row-group;
					border-top: 0;
				}
			}

	.table td {
		position: relative;
		display: block;		
		border: 0;
		padding: 10px 0;
		text-align: right;
		vertical-align: middle;
	}

		@media (min-width: 576px) {
			.table td {				
				padding-left: 235px;
			}
		}

		@media (min-width: 768px) {
			.table td {
				position: static;
				padding: 10px;
				display: table-cell;
				width: auto;				
				text-align: left;
			}
		}

		.table td:before {
			position: absolute;
			top: 10px;
			left: 0;
			overflow: hidden;
			width: 135px;
			font-weight: 700;			
			text-align: left;
			text-overflow: ellipsis;
			white-space: nowrap;
			content: attr(data-label);
		}

			@media (min-width: 576px) {
				.table td:before {
					width: 235px;					
				}
			}

			@media (min-width: 768px) {
				.table td:before {
					width: auto;
					content: "";
				}
			}

		.table td:first-child {
			padding-top: 15px;
		}

			@media (min-width: 768px) {
				.table td:first-child {
					padding-left: 0;
				}
			}

			.table td:first-child:before {
				padding-top: 5px;
			}

		.table td:last-child {			
			padding-bottom: 15px;
		}

			@media (min-width: 768px) {
				.table td:last-child {					
					padding-right: 0;
				}
			}

	td.table--loading-indicator-col {
		text-align: center;
		padding-top: 50px !important;
		padding-bottom: 50px !important;
		padding-left: 0;
	}


/* Flight Schedule */

.table-m-flight-schedule {
	text-transform: uppercase;
}

	@media (min-width: 1200px) {
		.table-m-flight-schedule {
			max-width: 80%;
		}
	}

		@media (min-width: 768px) {
			.table-m-flight-schedule tbody tr:first-child td {
				padding-top: 20px;
			}
		}

	.table-m-flight-schedule img {
		height: 30px;
	}


/* Text and Image
/* ---------------------------------------- */

.text-and-image {	
}

	.text-and-image--img {
		margin-bottom: 3rem;
	}

		.text-and-image--img img {
			display: block;
			width: 100%;
		}

	.text-and-image--text {		
	}

	.text-and-image--hd {
		font-size: 3.9rem;
	}

		@media (min-width: 1200px) {
			.text-and-image--hd {
				font-size: 4.3rem;
			}
		}


/* Text and Image - Reverse
/* ---------------------------------------- */

.text-and-image-m-reverse {
}

	.text-and-image-m-reverse .text-and-image--img {
	}

		@media (min-width: 768px) {
			.text-and-image-m-reverse .text-and-image--img {
				order: 2;
			}
		}

	.text-and-image-m-reverse .text-and-image--text {
	}

		@media (min-width: 768px) {
			.text-and-image-m-reverse .text-and-image--text {
				order: 1;
			}
		}


/* Text and Image - Service
/* ---------------------------------------- */

.text-and-image-m-service {
}


	.text-and-image-m-service .text-and-image--img {
		text-align: center;
	}

		@media (min-width: 768px) {
			.text-and-image-m-service .text-and-image--img {
				position: relative;
				margin-bottom: 0;
			}
		}

	.text-and-image-m-service .text-and-image--img img {
		max-width: 290px;
		display: inline-block;
	}

		@media (min-width: 768px) {
			.text-and-image-m-service .text-and-image--img img {
				position: absolute;
				top: 50%;
				left: 50%;
				width: auto;
				max-height: 100%;
				max-width: 80%;
				transform: translate(-50%, -50%);
			}
		}


/* --------------------------------------------------------------------- */
/* 4. 3RD PARTY
/* --------------------------------------------------------------------- */

/* Bootstrap - Carousel
/* ---------------------------------------- */

.carousel {
	height: 250px;
	background-color: #BCCED1;
}

	@media (min-width: 576px) {
		.carousel {
			height: 515px;
		}
	}

	@media (min-width: 768px) {
		.carousel {
			height: 590px;
		}
	}

.carousel-item .banner {
	height: 250px;
}

	@media (min-width: 576px) {
		.carousel-item .banner {
			height: 515px;
		}
	}

	@media (min-width: 768px) {
		.carousel-item .banner {
			height: 590px;
		}
	}

.carousel-control-prev-icon,
.carousel-control-next-icon {
}

	@media (min-width: 576px) {
		.carousel-control-prev-icon,
		.carousel-control-next-icon {
			width: 40px;
			height: 40px;
			background-size: 40px 40px;
		}
	}


/* Ekko Light Box
/* ---------------------------------------- */

.ekko-lightbox {
}

	.ekko-lightbox .modal-dialog {
		margin-top: 5rem;
	}

	.ekko-lightbox .modal-header {
		position: relative;
		padding-bottom: 0;
		height: auto;
		overflow: visible;
		border-bottom: 0;
	}

		.ekko-lightbox .modal-header .close {
			position: absolute;
			top: -50px;
			right: 0;
			color: #FFF;
			opacity: 1;
			font-size: 5rem;
		}

	.ekko-lightbox .modal-title {
		font-size: 2rem;
		font-weight: 600;
	}

	.ekko-lightbox .modal-footer {
		display: block;
		justify-content: flex-start;
		padding-top: 0;
		border-top: 0;
		border-bottom: 15px solid #FFF;
		max-height: 300px; /* NOTE: for preventing the content of dialog box becomes too high on mobile which may disturb the calculation of lightbox's dimension */
		overflow-y: auto;
	}

		@media (min-width: 768px) {
			.ekko-lightbox .modal-footer {
				display: flex;
				max-height: none;
				border-bottom: 0;
			}
		}

	.ekko-lightbox-container {
		overflow: hidden;
	}

	.ekko-lightbox-nav-overlay a {
		text-decoration: none;
		text-shadow: 0px 0px 5px rgba(0,0,0,0.5);
		opacity: 1;
	}

		.ekko-lightbox-nav-overlay a:hover {
			text-decoration: none;
		}

		.ekko-lightbox-nav-overlay a span {
			padding: 0 15px;
		}


/* Jquery UI - Date Picker
/*--------------------------------------*/

.ui-datepicker {
	box-sizing: border-box;
	display: none;
	padding: 10px;
	background-color: #FFF;
	box-shadow: 0 0 10px 0 rgba(44, 43, 43, 0.5);
	width: 290px;
}

.ui-datepicker-header {
	position: relative;
	height: 37px;
	margin-bottom: 10px;
	text-align: center;
}

.ui-datepicker-title {
	margin-top: 5px;
	display: inline-block;
	width: calc(100% - 100px);
}

	.ui-datepicker-title select {
		font-size: 1.4rem;
	}

	.ui-datepicker-title select + select {
		margin-left: 10px;
	}

table.ui-datepicker-calendar {
	width: 100%;
	font-size: 1.4rem;
}

.ui-datepicker-calendar td,
.ui-datepicker-calendar th {
	padding: 1px 0;
	color: #2c2b2b;
	text-align: right;	
}

	.ui-datepicker-calendar th span {
		display: block;
		padding: 7px;
	}

	.ui-datepicker-calendar td a,
	.ui-datepicker-calendar td span {
		display: block;
		width: 37px;
		height: 37px;
		border-radius: 50%;
		color: #2c2b2b;
		text-align: center;
		line-height: 37px;
		text-decoration: none;
	}

		.ui-datepicker-calendar td.ui-datepicker-unselectable span {
			color: #b4b4b4;
		}

		.ui-datepicker-calendar td a:hover,
		.ui-datepicker-calendar td a.ui-state-highlight:hover {
			background-color: #BCCED1;			
		}

		.ui-datepicker-calendar td a.ui-state-active {
			background-color: #0C2461 !important;
			color: #FFF !important;
		}

		.ui-datepicker-calendar td a.ui-state-highlight {
			background-color: #f0f0f0;
		}

.ui-datepicker-prev,
.ui-datepicker-next {
	position: absolute;
	top: 12px;
	display: block;
	cursor: pointer;
	text-decoration: none;
}

.ui-datepicker-prev {		
	left: 13px;	
}

.ui-datepicker-next {				
	right: 26px;
}

	.ui-datepicker-prev .ui-icon,
	.ui-datepicker-next .ui-icon {
		display: inline-block;
		position: absolute;
		width: 13px;
		height: 13px;
		background: transparent;
		text-indent: -9999px;
		border-top: 2px solid #2c2b2b;
		border-left: 2px solid #2c2b2b;
		color: transparent;
		top: 50%;
		left: 50%;
	}

		.ui-datepicker-prev .ui-icon:before,
		.ui-datepicker-next .ui-icon:before {
			display: block;
			height: 200%;
			width: 200%;
			margin-left: -50%;
			margin-top: -50%;
			content: "";
			transform: rotate(45deg);
		}
		
		.ui-datepicker-prev .ui-icon {
			transform: rotate(-45deg);
		}

	.ui-datepicker-next .ui-icon {
		transform: rotate(135deg);
	}

.ui-state-disabled {
	cursor: default;
}

	.ui-state-disabled .ui-icon,
	.ui-state-disabled .ui-icon {
		border-color: #b4b4b4;
	}


/* Jquery UI - Time Picker
/*--------------------------------------*/

.ui-timepicker {
	box-sizing: border-box;	
	padding: 10px;
	background-color: #FFF;
	box-shadow: 0 0 10px 0 rgba(44, 43, 43, 0.5);	
}
	
	.ui-timepicker td {
		padding: 2px;
	}

		@media (min-width: 576px) {
			.ui-timepicker td {
				padding: 5px;
			}
		}

		.ui-timepicker td a {
			display: block;
			width: 37px;
			height: 37px;
			border-radius: 50%;
			text-align: center;
			line-height: 37px;
			cursor: pointer;
		}

			.ui-timepicker td a:hover,
			.ui-timepicker td a.ui-state-highlight:hover {
				background-color: #BCCED1;
			}

			.ui-timepicker td a.ui-state-active {
				background-color: #0C2461 !important;
				color: #FFF !important;
			}

	td.ui-timepicker-hours {
		display: block;
		padding: 5px;
		margin-bottom: 15px;		
	}

		@media (min-width: 576px) {
			td.ui-timepicker-hours {
				display: table-cell;
				margin-bottom: 0;
				padding-right: 15px;
			}
		}

		.ui-timepicker-hours th {
			padding: 5px;
		}

	td.ui-timepicker-minutes {
		display: block;
		padding: 5px;
		text-align: center;
	}

		@media (min-width: 576px) {			
			td.ui-timepicker-minutes {
				display: table-cell;
			}
		}		

		td.ui-timepicker-minutes a {
			display: inline-block;
		}

	.ui-timepicker-title {
		text-align: left;
		margin-bottom: 5px;
	}	



/* Recaptcha
/* ---------------------------------------- */

.g-recaptcha > div {
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}


/* Virtual Tour
/* ---------------------------------------- */

.virtual-tour {
}

	.virtual-tour--placeholder {
		min-height: 200px;
		background-color: #000;
		background-image: url('img/virtual-tour-placeholder.jpg');
		background-size: cover;
		color: #fff;		
	}

		@media (min-width: 768px) {
			.virtual-tour--placeholder {
				display: none;
			}
		}

		.virtual-tour--placeholder--overlay {
			display: block;			
			padding: 1.5rem;
			width: 100%;
			height: 100%;			
			min-height: 200px;
			background: rgba(0, 0 , 0 , 0.7);			
		}

		.virtual-tour--placeholder a {
			color: #FFF;			
		}

.virtual-tour--iframe-container {
	position: relative;
	display: none;
	padding-bottom: 56.25%;
	padding-top: 25px;
	height: 0;
}

	@media (min-width: 768px) {
		.virtual-tour--iframe-container {
			display: block;
		}
	}

	.virtual-tour--iframe-container iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 0;
	}


/* Weather Widget
/* ---------------------------------------- */

.weather-widget-area {
	padding-top: 7px;
}

	@media (min-width: 768px) {
		.weather-widget-area {
			padding-top: 0;
		}
	}

	.weather-widget-area .container {
		position: relative;
	}		

	.weather-widget {
	}

		@media (min-width: 768px) {
			.weather-widget {
				position: absolute;
				top: 30px;
				right: 15px;
				z-index: 10;
				display: inline-block;
				width: 320px;
				box-shadow: 0 0 10px 0 rgba(44, 43, 43, 0.5);
			}
		}


/* --------------------------------------------------------------------- */
/* 5. STATE & UTILITIES
/* --------------------------------------------------------------------- */

.s-hidden {
	display: none;
}

.no-banner-spacing {
    height: 5rem;
    background-color: #fff;
}

.covid-19-notice {
    background-color: rgba(255, 253, 207, 0.6);
}