/*******************************************************************
	CONTACT FORM
*******************************************************************/

#surveyStart h1{
	margin: 0 0;
	color: #fff;
}

#surveyStart{
	background-color: #6da2c3 !important;
}
/*******************************************************************
	CONTENT
*******************************************************************/

#content {
	padding: 50px 20px;
	background: #fff;
	box-shadow: 0 -2px 0px rgba(0,0,0,0.2);
}

#content a:focus {
	background-color: #dea83f;
	color: #fff;
	text-decoration: none;
	outline: 1px solid #dea83f;
}

#content.nomasthead {
	padding-top: 280px;
}

.area-guide h2:first-child {
	margin-top: 25px;
	font-size: 1.6em;
}

.area-guide h2 {
	font-size: 1.3em;
}

#masthead {
	height: 600px;
}

@media handheld, only screen and (max-width: 1140px) {
	#masthead {
		height: 350px;
		margin-top: 0 !important;
	}

	#content.nomasthead {
		padding-top: 20px;
	}
}

@media handheld, only screen and (max-width: 560px) {
	#masthead {
		height: 200px;
	}
}

.special-list {
	background: rgba(0, 0, 0, 0.25) none repeat scroll 0% 0%;
	padding: 5px 25px;
	border-radius: 10px;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5)
}

.stack ul:first-child {
	margin-top: 0;
}

.content > ul {
	-moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2;
    -webkit-column-gap: 40px; /* Chrome, Safari, Opera */
    -moz-column-gap: 40px; /* Firefox */
    column-gap: 40px;
}

#displayCalendarGrid { display: block; }
#displayCalendarText { display: none; }

@media handheld, only screen and (max-width: 768px) {
	#displayCalendarGrid { display: none; }
	#displayCalendarText { display: block; }
}

.side h2 {
	font-size: 18px;
	margin: 10px 0 5px 0;
	text-align: center;
}

.side #content table {
	width: 100%;
}

.side #content table tr td:last-of-type {
	font-weight: bold;
}

.side em {
	font-size: 12px;
}

.dining-photos {
	text-align: center;
}

.dining-photos a {
	text-decoration: none;
}

.dining-photos img {
	width: 32%;
	border: solid #74a5b8 3px;
	padding: 5px;
}

.dining-photos img:hover {
	border-color: #ed4541;
}

@media handheld, only screen and (max-width: 500px) {
	.dining-photos img {
		width: 49%;
	}
}

@media handheld, only screen and (max-width: 1080px) {
	.side h2 {
		text-align: left;
	}

	.side #content table {
		width: auto;
	}	
}

/********************************************************************
  FLEX CONTENT COLUMNS
*******************************************************************/

.content .flex-section {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
    position: relative;
    overflow: hidden;
}

.content .flex-section .flex-column {
	display: flex;
    flex: 0 1 48%;
    flex-direction: column;
    justify-content: normal;
    height: auto;
}

.content .flex-section .flex-column.narrow {
	flex: 0 1 32%;
}

.content .flex-section .flex-column.wide {
	flex: 0 1 64%;
}

@media handheld, only screen and (max-width: 880px) {
	.content .flex-section .flex-column {
		display: block;
		flex: 0 1 99%;
		margin-top: 0;
	}
}

#content .stack .meeting-spaces table {
	max-width: 310px;
}

.center {
	text-align: center;
}

/********************************************************************
  MENUS
*******************************************************************/

.menus {
	margin: 0 0 40px 0;
}

.menus a:link,
.menus a:visited {
	min-width: 340px;
	width: 100%;
}

/********************************************************************
  HOURS
*******************************************************************/

.hours h3 {
	font-weight: 500;
	margin-bottom: 0;
}

.hours p {
	margin-top: 0;
}

/********************************************************************
  ROOMS
*******************************************************************/

.rooms .photo {
	width: 100%;
	position: relative;
	z-index: 5;
	float: right;
	max-width: 35%;
	margin: 0px 0 20px 20px;
	line-height: 0;
}

.rooms .gallery a.visible {
	display: block;
	width:  auto;
	max-width: none;
	height: auto;
		-webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;
}


.rooms .gallery a.visible:hover {
	filter: brightness(1.2);
}

/*******************************************************************
	POI
*******************************************************************/

#poi {
	margin: 40px 0;
}

/*******************************************************************
	ACCORDIONS
*******************************************************************/

#accordion {
	margin: 20px 0;
}

#accordion > * {
	display: none;
}

#accordion h2 {
	display: block;
	color: #7e7f74;
	cursor: pointer;
	margin: 10px 0;
	padding: 10px;
	font-size: 20px;
}

#accordion h2:hover {
	color: #d96009;
}

#accordion > div {
	display: none;
	margin: 10px auto;
	clear: both;
	overflow: hidden;
}

#accordion > div .side {
	float: right;
	margin: 0 5px 0 45px;
	overflow: visible;
	width: 310px;
}

#accordion h3 {
	margin-top: 30px;
}

#accordion h3:first-child {
	margin-top: 0;
}

@media handheld, only screen and (max-width: 1050px) {
	#accordion h2 {
		max-width: 100%;
	}
}

/*******************************************************************
	SPECIALS
*******************************************************************/

#specials .special {
	overflow: hidden;
	clear: both;
	padding-bottom: 5px;
	margin: 20px 0;
	padding: 20px 25px 15px 25px;
}

#specials .special:nth-child(even) a:link,
#specials .special:nth-child(even) a:visited,
#specials .special:nth-child(even) h2,
#specials .special:nth-child(even) h3 {
	color: #fff;
}

#specials .special:nth-child(even) {

background: #6da2c3;

color: #fff;

border-radius: 10px;
}

#specials .special:first-child {
	margin-top: 50px;
}

#specials .special:last-child {
	border-bottom: none;
	margin-bottom: 50px;
}

#specials h2 {
	margin-top: 0;
}

#specials .photoborder {
	max-width: 33%;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
}

.special-photo {
	float: right;
	margin: 0 0 15px 15px;
}

.special-photo {
	max-width: 25%;
}


/*******************************************************************
	TABLES
*******************************************************************/
/* Tables */
#content table {
	width: 100%;
	background: white;
	margin-bottom: 1.25em;
	border: solid 1px #dddddd;
}
#content table thead,
#content table tfoot {
	background: whitesmoke;
	font-weight: bold;
}
#content table thead tr th,
#content table thead tr td,
#content table tfoot tr th,
#content table tfoot tr td {
	padding: 0.5em 0.625em 0.625em;
	font-size: 0.875em;
	color: #222222;
	text-align: left;
}
#content table tr th,
#content table tr td {
	padding: 0.5625em 0.625em;
	font-size: 0.875em;
	color: #222222;
		color: #222222;
	text-align: left;
}
#content table tr.even, #content table tr.alt, #content table tr:nth-of-type(even) {
	background: #f9f9f9; }
#content table thead tr th,
#content table tfoot tr th,
#content table tbody tr td,
#content table tr td,
#content table tfoot tr td {
	display: table-cell;
	line-height: 1.125em;
}

#content .stack table { width: 100%; }
.st-head-row { padding-top: 1em; text-align: center;}
.st-head-row.st-head-row-main { font-size: 1.5em; text-align: center;; }
.st-key { width: 49%; text-align: right; padding-right: 1%; }
.st-val { width: 49%; padding-left: 1%; }



/* RESPONSIVE EXAMPLE */

.stacktable.large-only { display: table; }
.stacktable.small-only { display: none; }

@media (max-width: 800px) {
  .stacktable.large-only { display: none; }
  .stacktable.small-only { display: table; }
}

/*******************************************************************
	VIDEOS INTERNAL
*******************************************************************/



.videos-internal { 
	margin: 0 auto;
	min-height: 300px;
}

.videos-internal .item {
	position: relative;
	height: 280px;
	margin: 10px;
	width: 280px;
}

.videos-internal .video-content {
	opacity: 1;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	background: rgba(0,0,0,0.5);
	color: #fff;
	-webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;
}

.videos-internal .item:hover .video {
	padding: 20px 10px;
}

.videos-internal h2.name {
	color: #fff;
	margin: 0;
	font: bold 16px 'Open Sans', sans-serif;
	text-transform: uppercase;
}

.videos-internal h3.brand {
	color: #fff;
	margin: 0;
	font: 16px 'Open Sans', sans-serif;
	text-transform: uppercase;
}

.videos-internal a:link, .videos-internal a:visited {
	text-decoration: none;
}

.videos-internal .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
		-webkit-transition: all 0.15s;
	-o-transition: all 0.15s;
	transition: all 0.15s;
}

.videos-internal .location:hover img {
	filter: brightness(110%) contrast(110%);
}

/*******************************************************************
	TESTIMONIALS
*******************************************************************/

#content #testimonials .testimonial-item {
	margin: 20px 0;
	padding: 20px 25px 15px 25px;
}

#content #testimonials .testimonial-item:nth-child(even) a:link,
#content #testimonials .testimonial-item:nth-child(even) a:visited,
#content #testimonials .testimonial-item:nth-child(even) h2,
#content #testimonials .testimonial-item:nth-child(even) h3,
#content #testimonials .testimonial-item:nth-child(even) h4 {
	color: #fff;
}

#content #testimonials .testimonial-item:nth-child(even) {
	background: rgba(0,0,0,0.5);
	color: #fff;
	border-radius: 10px; 
}

#content #testimonials .testimonial-item:first-child {
	margin-top: 50px;
}

#content #testimonials .testimonial-item:last-child {
	border-bottom: none;
}

#content #testimonials .testimonial-item h2 {
	margin-top: 0;
}

.testimonials .quotes {
	display: none;
}

.testimonial-sender {
	text-align: right;
	font: 600 18px 'Open Sans', sans-serif;
	margin: 0 0 10px 0;
}
/*******************************************************************
  GALLERY
*******************************************************************/

.gallery {
	text-align: center;
}

.magnific.gallery:after {
	content: ' ';
	display: inline-block;
	width: 100%;
}

.gallery a {
	display: none;
}

.gallery a.visible {
	max-width: 32%;
	box-shadow: none;
	margin-left:0.5%;
	margin-right:0.5%;
	margin-bottom: 1%;
	display: inline-block;
	/* font-size: 0; */
	overflow: visible;
	color: #fff;
}

#content .gallery a.visible:hover,
#content .gallery a.visible:focus {
	outline: none;
	text-decoration: none;
}

.gallery a.visible:hover img,
.gallery a.visible:focus img {
	background: none;
	outline: 4px solid #dea83f;
}


.gallery a.visible img {
	margin-bottom: -5px;
}

.photoborder .gallery a.visible {
	max-width: none;
}

/*******************************************************************
	FLEX
*******************************************************************/
.flex-video {
	position: relative;
	padding-top: 1.5625em;
	padding-bottom: 67.5%;
	height: 0;
	margin-bottom: 1em;
	overflow: hidden;
}
.flex-video.widescreen {
	padding-bottom: 57.25%;
}
.flex-video.vimeo {
	padding-top: 0;
}
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*******************************************************************
	SPONSORS
*******************************************************************/

.sponsors {
	margin-bottom: 3rem;
}

.sponsors a.sponsors-item {
	display: inline-block;
	margin-bottom: 20px;
}

.sponsors.platinum a.sponsors-item {
	width: 22%;
	margin-right: 2%;
}

.sponsors.gold a.sponsors-item {
	width: 15%;
	margin-right: 2%;
}

.sponsors a.sponsors-item:last-of-type {
	margin-right: 0;
}

#content .sponsors a.sponsors-item:hover,
#content .sponsors a.sponsors-item:focus {
	background-color: transparent;
	outline: 2px solid #c0a511;
	outline-offset: 2px;
}

@media handheld, only screen and (max-width: 768px) {
	.sponsors.platinum a.sponsors-item {
		width: 29%;
		margin-right: 2%;
	}

	.sponsors.gold a.sponsors-item {
		width: 20%;
		margin-right: 2%;
	}
}

@media handheld, only screen and (max-width: 512px) {
	.sponsors.platinum a.sponsors-item {
		width: 42%;
		margin-right: 4%;
	}

	.sponsors.gold a.sponsors-item {
		width: 28%;
		margin-right: 4%;
	}
}

/*******************************************************************
  MEDIA QUERIES
*******************************************************************/

@media handheld, only screen and (max-width: 540px) {

	.gallery a.visible {
		max-width: 47%;
	}
}

/*******************************************************************
  PRINT MEDIA QUERY (PRIMARILY FOR RECIPES PAGES)
*******************************************************************/

@media print {
	header,
	#masthead,
	#content .button,
	footer {
		display: none;
	}

	body,
	#content {
		font-size: 14px;
		line-height: 28px;
	}
	
	#content {
		padding: 0 20px;
	}

	h1 {
		font-size: 24px !important;
	}
	
	h2 {
		font-size: 18px !important;
	}
}





/* 2021 and beyond: */




html.smooth-scroll {
	scroll-behavior: smooth;
	scroll-padding-top: 222px;
}

@media (max-width: 1140px) {
	html.smooth-scroll {
		scroll-padding-top: 0;
	}
}

/*******************************************************************
  Color Variables
*******************************************************************/
:root {
	--primary-color: #DEA83F;
	--secondary-color: #6DA2C3;
	--third-color: #9C9C9C;
}

/*******************************************************************
  Header
*******************************************************************/
.no-masthead #page-header {
	/* box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3); */
}

/*******************************************************************
  Content
*******************************************************************/
#content-wrap {
	
}

.no-masthead #content-wrap {
	margin-top: 280px; /* height of header element */	
}

@media (max-width: 1140px) {
	.no-masthead #content-wrap {
		margin-top: 40px; /* because header is now position: relative;	 */
	}
}

#content-wrap p {
	margin: 0 0 1em 0;
	font-size: 1.1rem;
}

#content-wrap em {
	color: var(--third-color);
	font-style: normal;
}

#content-wrap h1 {
	display: block;
	margin: 0 0 1em 0;
	padding: 0;
}

#content-wrap h2 {
	margin: 0 0 1em 0;
}

#content-wrap h3 {
	margin: 0 0 1em 0;
}

#content-wrap h4 {
	margin: 0;
	color: var(--secondary-color);
	font-size: 1.1rem;
	line-height: 1.75rem;
	font-weight: 600;
}

h3.divide {
	position: relative;
	text-align: center;
}

h3.divide:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 1px;
	width: 100%;
	display: block;
	background: var(--primary-color);
	z-index: -1;
}

h3.divide span {
	background: #fff;
	padding: 0.5em;
	font-weight: bold;
	z-index: 1;
}

#content-wrap p:last-of-type {
	margin: 0;
}

.content-area {
	max-width: 1024px;
	margin: 0 auto;
}

.slightly-wider {
	max-width: 1100px;
}

@media (max-width: 1080px) {
	.content-area {
		padding: 0 1em;
	}
}

.grid-icons {
	display: flex;
	flex-direction: row;
	gap: 0.5em;
}

i.icon {
	font-size: 1.5rem;
	font-style: normal;
}

i.icon:before {
	font-family: 'Icons-Regular';
}

i.icon-bed:before {
	content: '\f236';
}

i.icon-bed-bunk:before {
	content: '\f8f8';
}

i.icon-shower:before {
	content: '\f2cd';
}

i.icon-toilet:before {
	content: '\f7d8';
}

i.icon-cutlery:before {
	content: '\f2e7';
}

i.icon-lamp:before {
	content: '\e015';
}

i.icon-leaf:before {
	content: '\f06c';
}

i.icon-loveseat:before {
	content: '\f4cc';
}

i.icon-drawer:before {
	content: '\e151';
}

i.icon-cabinet:before {
	content: '\f64b';
}

i.icon-fireplace:before {
	content: '\f79a';
}

i.icon-tv:before {
	content: '\f26c';
}

i.icon-hanger:before {
	content: '\e136';
}

i.icon-storage:before {
	content: '\f009';
}

i.icon-oven:before {
	content: '\e01d';
}

i.icon-mug:before {
	content: '\f0f4';
}

i.icon-kitchen:before {
	content: '\e51a';
}

i.icon-utensils:before {
	content: '\e559';
}

i.icon-glass:before {
	content: '\f804';
}

i.icon-eat:before {
	content: '\f2e6';
}

i.icon-rectangle:before {
	content: '\f2fa';
}

i.icon-couch:before {
	content: '\f4b8';
}

i.icon-washer:before {
	content: '\f898';
}

i.icon-dryer:before {
	content: '\f861';
}

i.icon-sink:before {
	content: '\e06d';
}

i.icon-hairdryer:before {
	content: '';
    background-image: url('../images/icon-hairdryer-white.png');
    width: 34px;
    height: 27px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

i.icon-dinner-table:before {
	content: '';
    background-image: url('../images/icon-dinner-table-white.png');
    width: 55px;
    height: 26px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

/*******************************************************************
  Buttons
*******************************************************************/
a.btn:link,
a.btn:visited {
	display: block;
	padding: 1.25em 0.7em;
	max-width: 340px;
	background: var(--primary-color);
	border: 2px solid var(--primary-color);
	color: #fff;
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
}

a.btn:hover,
a.btn:focus {
	background: #fff;
	color: var(--primary-color);
	text-decoration: none;
}

/*******************************************************************
  Grid Gallery
*******************************************************************/
.grid-gallery {

}

.grid-gallery .magnific-gallery {

}

.grid-gallery .gallery {
	display: grid;
	grid-template-columns: 65.5% 15.5% 15.5%;
	grid-template-rows: 337px 157px;
	column-gap: 1em;
	row-gap: 1em;
}

@media (max-width: 1024px) {
	.grid-gallery .gallery {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
	}
}

@media (max-width: 780px) {
	.grid-gallery .gallery {
		grid-template-columns: 1fr;
	}
}

.grid-gallery .gallery a.visible {
	max-width: none;
	margin: 0;
	display: block;
	overflow: visible;
}

.grid-gallery .gallery a:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.grid-gallery .gallery a:nth-child(2) {
	grid-column: 2 / 4;
	grid-row: 1 / 2;
}

.grid-gallery .gallery a:nth-child(3) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.grid-gallery .gallery a:nth-child(4) {
	grid-column: 3 / 4;
	grid-row: 2 / 3;
}

@media (max-width: 1024px) {
	.grid-gallery .gallery a:nth-child(1),
	.grid-gallery .gallery a:nth-child(2),
	.grid-gallery .gallery a:nth-child(3),
	.grid-gallery .gallery a:nth-child(4) {
		grid-column: auto;
		grid-row: auto;
	}
}

.grid-gallery .gallery a.visible img {
	margin: 0;
	object-fit: cover;
	height: 100%
}

@media(max-width: 1024px) {
	.grid-gallery .gallery a.visible img {
		max-height: 340px;
	}
}

/*******************************************************************
  Details
*******************************************************************/
.details {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.details-item {
	flex: 1 0 auto;
	padding: 1em;
	border-right: 2px solid var(--third-color);
}

.details-item:first-of-type {
	padding-left: 0;
}

.details-item:last-of-type {
	border-right: none;
}

@media (max-width: 1024px) {
	.details {
		flex-wrap: wrap;
		row-gap: 1em;
	}

	.details-item {
		flex: 1 0 50%;
		border-right: none;
		padding: 0;
	}
}

@media (max-width: 512px) {
	.details-item {
		flex: 1 0 100%;
	}
}

/*******************************************************************
  Content: Expanded
*******************************************************************/
.content-expanded {
	visibility: visible;
	height: auto;
}

.content-expanded.hide {
	visibility: hidden;
	height: 0;
	transition: height 1s;
}

a.btn-expand:link,
a.btn-expand:visited {
	display: block;
	padding: 0.5em 0.25em;
	max-width: 200px;
	background: #fff;
	border: 2px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
}

a.btn-expand:hover,
a.btn-expand:focus {
	background: var(--primary-color);
	color: #fff;
	text-decoration: none;
}

a.btn-expand:after {
	font-family: 'Icons-Regular';
	margin-left: 0.75em;
}

a.btn-expand:after {
	content: '\f077';
}

a.btn-expand.hide:after {
	content: '\f078';
}

/*******************************************************************
  Icon List
*******************************************************************/
.icon-list {

}

.icon-list ul {
	margin: 0;
	padding: 0;
}

.icon-list ul.one {
	columns: 1;
}

.icon-list ul.two {
	columns: 2;
}

.icon-list ul.three {
	columns: 3;
}

@media (max-width: 780px) {
	.icon-list ul.three {
		columns: 2;
	}
}

@media (max-width: 512px) {
	.icon-list ul.two {
		columns: 1;
	}

	.icon-list ul.three {
		columns: 1;
	}
}

li.icon {
	font-size: 1.1rem;
	list-style: none;
	display: flex;
	align-items: center;
	column-gap: 1em;
	margin: 0 0 1em 0;
}

li.icon:before {
	font-family: 'Icons-Regular';
	font-size: 1.8rem;
	line-height: 36px;
    width: 36px;
    height: 36px;
    display: inline-block;
}

li.icon-smoking:before {
	content: '\f54d';
}

li.icon-tv:before {
	content: '\f401';
}

li.icon-ac:before {
	content: '\f768';
}

li.icon-satellite:before {
	content: '\f7c0';
}

li.icon-washer:before {
	content: '\f898';
}

li.icon-children:before {
	content: '\f77d';
}

li.icon-parking:before {
	content: '\f1b9';
}

li.icon-internet:before {
	content: '\f1eb';
}

li.icon-heater:before {
	content: '\e040';
}

li.icon-pets:before {
	content: '\f6d3';
}

li.icon-cheers:before {
	content: '\f79f';
}

li.icon-private-entry:before {
	content: '\f52b';
}

li.icon-wifi:before {
	content: '\f1eb';
}

li.icon-linens-provided:before {
	content: '\e571';
}

li.icon-towels-provided:before {
	content: '\f498';
}

li.icon-heating:before {
	content: '\e040';
}

li.icon-air-conditioning:before {
	content: '\f768';
}

li.icon-empty:before {
	content: '\f128';
}

li.icon-empty:before {
	content: '\f128';
}

li.icon-gas-stove:before {
	content: '\e4f1';
}

li.icon-microwave:before {
	content: '\e01b';
}

li.icon-refrigerator:before {
	content: '\e026';
}

li.icon-mug:before {
	content: '\f0f4';
}

li.icon-dishwasher:before {
	content: '\f89f';
}

li.icon-trash:before {
	content: '\e126';
}

li.icon-toaster:before {
	content: '\e3e1';
}

li.icon-pots:before {
	content: '\e42c';
}

li.icon-cooking:before {
	content: '\f86b';
}

li.icon-utensils:before {
	content: '\e559';
}

li.icon-eat:before {
	content: '\f2e6';
}

li.icon-oven:before {
	content: '\e01d';
}

li.icon-rug:before {
	content: '\e569';
}

li.icon-family:before {
	content: '\e300';
}

li.icon-mirror:before {
	content: '\f2fb';
}

li.icon-radio:before {
	content: '\f8d8';
}

li.icon-bedding:before {
	content: '\f8f7';
}

li.icon-pillow:before {
	content: '\e525';
}

li.icon-sheets:before {
	content: '\f15b';
}

li.icon-sink:before {
	content: '\e06d';
}

li.icon-vanity:before {
	content: '\f2fc';
}

li.icon-washer:before {
	content: '\f898';
}

li.icon-dryer:before {
	content: '\f861';
}

li.icon-fitness:before {
	content: '\f44b';
}

li.icon-pool:before {
	content: '\f5c4';
}

li.icon-tub:before {
	content: '\f593';
}

li.icon-chef:before {
	content: '\e3d2';
}

li.icon-fire:before {
	content: '\f6ba';
}

li.icon-shower:before {
	content: '\f2cd';
}

li.icon-couch:before {
	content: '\f4b8';
}

li.icon-fireplace:before {
	content: '\f79a';
}

li.icon-hairdryer:before {
	content: '';
    background-image: url('../images/icon-hairdryer-black.png');
    width: 34px;
    height: 27px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

li.icon-ironing-board:before {
	content: '';
    background-image: url('../images/icon-ironing-board-black.png');
    width: 33px;
    height: 32px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
}

li.icon-none:before {
	content: '\f128';
}

/*******************************************************************
  Layout Modifiers
*******************************************************************/

/*********************************
  background
**********************************/
.bg-primary { background: var(--primary-color); }
.bg-secondary { background: var(--secondary-color); }
.bg-white { background: #fff; }

/*********************************
  color
**********************************/
.color-primary * { color: var(--primary-color) !important; }
.color-secondary * { color: var(--secondary-color) !important; }
.color-white * { color: #fff !important; }
.color-black * { color: #000 !important; }

/*********************************
  text-align
**********************************/
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

@media (max-width: 1024px) {
	.text-sml-center { text-align: center; }
	.text-sml-right { text-align: right; }
	.text-sml-left { text-align: left; }
}

/*********************************
  "block align"
**********************************/
.block-center { margin: 0 auto; }
.block-right { margin: 0 0 0 auto; }
.block-left { margin: 0 auto 0 0; }

@media (max-width: 1024px) {
	.block-sml-center { margin: 0 auto; }
	.block-sml-right { margin: 0 0 0 auto; }
	.block-sml-left { margin: 0 auto 0 0; }
}

/*********************************
  border
**********************************/
.bt-2-grey { border-top: 2px solid #d8d8d8; }
.br-2-grey { border-right: 2px solid #d8d8d8; }

/*********************************
  margin-block
**********************************/
.mblock-5 { margin-block: 5em; }
.mblock-4 { margin-block: 4em; }
.mblock-3 { margin-block: 3em; }
.mblock-2 { margin-block: 2em; }
.mblock-1 { margin-block: 1em; }
.mblock-0 { margin-block: 0em; }

@media (max-width: 1024px) {
  .mblock-sml-5 { margin-block: 5em; }
  .mblock-sml-4 { margin-block: 4em; }
  .mblock-sml-3 { margin-block: 3em; }
  .mblock-sml-2 { margin-block: 2em; }
  .mblock-sml-1 { margin-block: 1em; }
  .mblock-sml-0 { margin-block: 0em; }
}

/*********************************
  margin-top
**********************************/
.mt-5 { margin-top: 5em; }
.mt-4 { margin-top: 4em; }
.mt-3 { margin-top: 3em; }
.mt-2 { margin-top: 2em; }
.mt-1 { margin-top: 1em; }
.mt-0 { margin-top: 0em; }

@media (max-width: 1024px) {
  .mt-sml-5 { margin-top: 5em; }
  .mt-sml-4 { margin-top: 4em; }
  .mt-sml-3 { margin-top: 3em; }
  .mt-sml-2 { margin-top: 2em; }
  .mt-sml-1 { margin-top: 1em; }
  .mt-sml-0 { margin-top: 0em; }
}

/*********************************
  margin-bottom
**********************************/
.mb-5 { margin-bottom: 5em; }
.mb-4 { margin-bottom: 4em; }
.mb-3 { margin-bottom: 3em; }
.mb-2 { margin-bottom: 2em; }
.mb-1 { margin-bottom: 1em; }
.mb-0 { margin-bottom: 0em; }

@media (max-width: 1024px) {
  .mb-sml-5 { margin-bottom: 5em; }
  .mb-sml-4 { margin-bottom: 4em; }
  .mb-sml-3 { margin-bottom: 3em; }
  .mb-sml-2 { margin-bottom: 2em; }
  .mb-sml-1 { margin-bottom: 1em; }
  .mb-sml-0 { margin-bottom: 0em; }
}

/*********************************
  padding
**********************************/
.p-5 { padding: 5em; }
.p-4 { padding: 4em; }
.p-3 { padding: 3em; }
.p-2 { padding: 2em; }
.p-1 { padding: 1em; }
.p-0 { padding: 0em; }

@media (max-width: 1024px) {
  .p-sml-5 { padding: 5em; }
  .p-sml-4 { padding: 4em; }
  .p-sml-3 { padding: 3em; }
  .p-sml-2 { padding: 2em; }
  .p-sml-1 { padding: 1em; }
  .p-sml-0 { padding: 0em; }
}

/*********************************
  padding-block
**********************************/
.pblock-5 { padding-block: 5em; }
.pblock-4 { padding-block: 4em; }
.pblock-3 { padding-block: 3em; }
.pblock-2 { padding-block: 2em; }
.pblock-1 { padding-block: 1em; }
.pblock-0 { padding-block: 0em; }

@media (max-width: 1024px) {
  .pblock-sml-5 { padding-block: 5em; }
  .pblock-sml-4 { padding-block: 4em; }
  .pblock-sml-3 { padding-block: 3em; }
  .pblock-sml-2 { padding-block: 2em; }
  .pblock-sml-1 { padding-block: 1em; }
  .pblock-sml-0 { padding-block: 0em; }
}

/*********************************
  padding-top
**********************************/
.pt-5 { padding-top: 5em; }
.pt-4 { padding-top: 4em; }
.pt-3 { padding-top: 3em; }
.pt-2 { padding-top: 2em; }
.pt-1 { padding-top: 1em; }
.pt-0 { padding-top: 0em; }

@media (max-width: 1024px) {
  .pt-sml-5 { padding-top: 5em; }
  .pt-sml-4 { padding-top: 4em; }
  .pt-sml-3 { padding-top: 3em; }
  .pt-sml-2 { padding-top: 2em; }
  .pt-sml-1 { padding-top: 1em; }
  .pt-sml-0 { padding-top: 0em; }
}

/*********************************
  padding-bottom
**********************************/
.pb-5 { padding-bottom: 5em; }
.pb-4 { padding-bottom: 4em; }
.pb-3 { padding-bottom: 3em; }
.pb-2 { padding-bottom: 2em; }
.pb-1 { padding-bottom: 1em; }
.pb-0 { padding-bottom: 0em; }

@media (max-width: 1024px) {
  .pb-sml-5 { padding-bottom: 5em; }
  .pb-sml-4 { padding-bottom: 4em; }
  .pb-sml-3 { padding-bottom: 3em; }
  .pb-sml-2 { padding-bottom: 2em; }
  .pb-sml-1 { padding-bottom: 1em; }
  .pb-sml-0 { padding-bottom: 0em; }
}

/*********************************
  padding-left
**********************************/
.pl-5 { padding-left: 5em; }
.pl-4 { padding-left: 4em; }
.pl-3 { padding-left: 3em; }
.pl-2 { padding-left: 2em; }
.pl-1 { padding-left: 1em; }
.pl-0 { padding-left: 0em; }

@media (max-width: 1024px) {
  .pl-sml-5 { padding-left: 5em; }
  .pl-sml-4 { padding-left: 4em; }
  .pl-sml-3 { padding-left: 3em; }
  .pl-sml-2 { padding-left: 2em; }
  .pl-sml-1 { padding-left: 1em; }
  .pl-sml-0 { padding-left: 0em; }
}

/*********************************
  grid
**********************************/
.grid { display: grid; }

/*********************************
  grid-template-columns
**********************************/
.gtc-6 { grid-template-columns: repeat(6, 1fr); }
.gtc-5 { grid-template-columns: repeat(5, 1fr); }
.gtc-4 { grid-template-columns: repeat(4, 1fr); }
.gtc-3 { grid-template-columns: repeat(3, 1fr); }
.gtc-2 { grid-template-columns: repeat(2, 1fr); }
.gtc-1 { grid-template-columns: repeat(1, 1fr); }
.gtc-33-66 { grid-template-columns: 1fr 2fr; }

@media (max-width: 1024px) {
  .gtc-sml-6 { grid-template-columns: repeat(6, 1fr); }
  .gtc-sml-5 { grid-template-columns: repeat(5, 1fr); }
  .gtc-sml-4 { grid-template-columns: repeat(4, 1fr); }
  .gtc-sml-3 { grid-template-columns: repeat(3, 1fr); }
  .gtc-sml-2 { grid-template-columns: repeat(2, 1fr); }
  .gtc-sml-1 { grid-template-columns: repeat(1, 1fr); }
}

@media (max-width: 512px) {
  .gtc-mob-6 { grid-template-columns: repeat(6, 1fr); }
  .gtc-mob-5 { grid-template-columns: repeat(5, 1fr); }
  .gtc-mob-4 { grid-template-columns: repeat(4, 1fr); }
  .gtc-mob-3 { grid-template-columns: repeat(3, 1fr); }
  .gtc-mob-2 { grid-template-columns: repeat(2, 1fr); }
  .gtc-mob-1 { grid-template-columns: repeat(1, 1fr); }
}

/*********************************
  gap
**********************************/
.g-5 { gap: 5em; }
.g-4 { gap: 4em; }
.g-3 { gap: 3em; }
.g-2 { gap: 2em; }
.g-1 { gap: 1em; }
.g-0 { gap: 0em; }

@media (max-width: 1024px) {
  .g-sml-5 { gap: 5em; }
  .g-sml-4 { gap: 4em; }
  .g-sml-3 { gap: 3em; }
  .g-sml-2 { gap: 2em; }
  .g-sml-1 { gap: 1em; }
  .g-sml-0 { gap: 0em; }
}

/*********************************
  column-gap
**********************************/
.cg-5 { column-gap: 5em; }
.cg-4 { column-gap: 4em; }
.cg-3 { column-gap: 3em; }
.cg-2 { column-gap: 2em; }
.cg-1 { column-gap: 1em; }
.cg-0 { column-gap: 0em; }

@media (max-width: 1024px) {
  .cg-sml-5 { column-gap: 5em; }
  .cg-sml-4 { column-gap: 4em; }
  .cg-sml-3 { column-gap: 3em; }
  .cg-sml-2 { column-gap: 2em; }
  .cg-sml-1 { column-gap: 1em; }
  .cg-sml-0 { column-gap: 0em; }
}

/*********************************
  flex
**********************************/
.flex { display: flex; }

.fd-r { flex-direction: row; }
.fd-c { flex-direction: column; }

.jc-sb { justify-content: space-between; }

.flex-1-0-auto { flex: 1 0 auto; }

@media (max-width: 1024px) {
  .flex-1-0-auto { flex: 1 0 auto; }
}




/*********************************
  harbor house banner
**********************************/
.harbor-house-banner {
	position: fixed;
	top: 0;
	width: 100%;
	padding: 0;
	background: #dea83f;
	z-index: 100000;
}

.harbor-house-banner p {
	margin: 0 1em;
	color: #fff;
	text-align: right;
	font-size: 1rem;
	line-height: 2rem;
}

@media (max-width: 1140px) {
	.harbor-house-banner {
		display: none;
	}
}




/*
Custom Landing Page layout by AW
Last modified: 2023-04-06
*/

/* **************************************************
   Landing Page Body
***************************************************** */

.landing-page {

}

/* **************************************************
   Landing Page Masthead
***************************************************** */

/* masthead transparent black overlay */
.landing-page #masthead:before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1000;
}

/* centered content overlaying masthead */
.landing-page #masthead .masthead__content {
	position: absolute;
	inset: 0 50% auto auto;
	transform: translateX(50%);
	width: 100%;
	height: 100%;
	z-index: 1001;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* h1 text */
.landing-page #masthead .masthead__content h1 {
	color: #fff;
	display: block;
	margin: 0 auto;
	margin-bottom: 0.3em;
	padding-bottom: 0;
	text-align: center;
	font-size: 3.5rem;
	font-weight: 700;
}

@media (max-width: 768px) {
	.landing-page #masthead .masthead__content h1 {
		font-size: 1.5rem;
	}
}

/* p text */
.landing-page #masthead .masthead__content p {
	color: #fff;
	display: block;
	margin-inline: auto;
	text-align: center;
	font-size: 2rem;
	text-transform: uppercase;
}

@media (max-width: 768px) {
	.landing-page #masthead .masthead__content p {
		font-size: 1.2rem;
	}
}

/* **************************************************
   Landing Page Content
***************************************************** */

/* content container */
.landing-page .landing-page__content {
	padding: 4.5em 1em;
}

/* landing page content */
.landing-page .content__landing {
	width: min(100%, 1140px);
	margin-inline: auto;
}

/* landing page content -- centered */
.landing-page .content__landing.content__landing--center {
	text-align: center;
}

/* landing page content -- h2 with underline */
.landing-page .content__landing.content__landing--h2-underline h2 {
	border-bottom: 1px solid #313036;
	display: inline-block;
	margin-bottom: 1em;
	margin-inline: auto;
    padding-bottom: 0.75em;
    padding-inline: 1em;
}

/* **************************************************
   Landing Page Buttons
***************************************************** */

.landing-page a:link.button,
.landing-page a:visited.button,
.landing-page strong em a:link,
.landing-page strong em a:visited,
.landing-page em strong a:link,
.landing-page em strong a:visited {
	padding: 0.7em clamp(1em, 5vw, 3em);
}

.landing-page a.button:hover,
.landing-page a.button:focus,
.landing-page strong em a:hover,
.landing-page strong em a:focus,
.landing-page em strong a:hover,
.landing-page em strong a:focus {
	
}

/* **************************************************
   Landing Page Zigzag
***************************************************** */

/* zigzag container */
.landing-page .zigzag {
	display: flex;
	flex-direction: column;
	background-color: #74a5b8;
}

/* zigzag item */
.landing-page .zigzag__item {
	display: flex;
}

/* stack zigzag content and image on smaller viewports */
@media (max-width: 1024px) {
	.landing-page .zigzag__item {
		flex-direction: column;
	}
}

/* zigzag content and image*/
.landing-page .zigzag__content,
.landing-page .zigzag__image {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 50%;
}

/* zigzag content */
.landing-page .zigzag__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}

/* zigzag content child div (for vertically centering) */
.landing-page .zigzag__content > div {
	padding-inline: clamp(1em, 8vw, 6.5em);
	padding-block: clamp(1em, 8vw, 4em);
}

/* set all text to white */
.landing-page .zigzag__content h2,
.landing-page .zigzag__content h3,
.landing-page .zigzag__content h4,
.landing-page .zigzag__content p,
.landing-page .zigzag__content ul {
	color: #fff;
}

/* zigzag h2 */
.landing-page .zigzag__content h2 {
	margin-bottom: 1em;
}

/* zigzag image container */
.landing-page .zigzag__image {
	
}

/* zigzag image */
.landing-page .zigzag__image img {
	display: block;
	width: 100%;
    height: 100%;
    object-fit: cover;
}

/* reversed zigzag items */
.landing-page .zigzag__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

/* stack reversed zigzag content and image on smaller viewports */
@media (max-width: 1024px) {
	.landing-page .zigzag__item:nth-of-type(even) {
		flex-direction: column;
	}
}

/* zigzag buttons */
.landing-page .zigzag__content a:link.button,
.landing-page .zigzag__content a:visited.button,
.landing-page .zigzag__content strong em a:link,
.landing-page .zigzag__content strong em a:visited,
.landing-page .zigzag__content em strong a:link,
.landing-page .zigzag__content em strong a:visited {
	background-color: #fff;
	color: #74a5b8;
}

.landing-page .zigzag__content a.button:hover,
.landing-page .zigzag__content a.button:focus,
.landing-page .zigzag__content strong em a:hover,
.landing-page .zigzag__content strong em a:focus,
.landing-page .zigzag__content em strong a:hover,
.landing-page .zigzag__content em strong a:focus {
	background-color: #000;
	color: #fff;
}




/* **************************************************
   Landing Page Cards
***************************************************** */

/* card container */
.landing-page .cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1em, 5vw, 5em);
	width: min(1360px, 100%);
	margin-inline: auto;
}

/* stack cards on smaller viewports */
@media (max-width: 1024px) {
	.landing-page .cards {
		grid-template-columns: 1fr;
		width: min(390px, 100%);
	}
}

/* card item */
.landing-page .card__item {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

/* card image order */
.landing-page .card__item .card__image {
	order: 0;
}

/* card content order */
.landing-page .card__item .card__content {
	order: 1;
}

/* card content order */
.landing-page .card__item .card__button {
	order: 2;
}

/* card button */
.landing-page .card__item .card__button {
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

/* card image */
.landing-page .card__item .card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* card buttons */
.landing-page .card__content a:link.button,
.landing-page .card__content a:visited.button,
.landing-page .card__content strong em a:link,
.landing-page .card__content strong em a:visited,
.landing-page .card__content em strong a:link,
.landing-page .card__content em strong a:visited {
	width: 100%;;
}

/* **************************************************
   Landing Page Area Section
***************************************************** */

/* area container */
.area {
	display: grid;
	place-items: center;
}

/* area content and area image */
.area__content,
.area__image {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

/* area content */
.area__content {
	width: min(960px, 100%);
	padding-inline: 1em;
	text-align: center;
	color: #fff;
}

/* area content headings */
.area__content h1,
.area__content h2,
.area__content h3 {
	color: #fff;
	font-size: 2.8rem;
}

/* area content headings on smaller viewports */
@media (max-width: 768px) {
	.area__content h1,
	.area__content h2,
	.area__content h3 {
		font-size: 1.5rem;
	}
}

/* area headline */
.area__headline {
	margin-bottom: 2em;
}

/* area headline underline */
.area__headline:after {
	content: '';
	display: block;
	width: min(295px, 100%);
	height: 2px;
	background-color: rgb(255 255 255 / 30%);
	margin-inline: auto;
	margin-top: 2em;
}

/* area headline text */
.area__headline p {
	font-size: 2rem;
    text-transform: uppercase;
}

/* area headline text on smaller viewports */
@media (max-width: 768px) {
	.area__headline p {
		font-size: 1.2rem;
	}
}

/* area text */
.area__text {
	
}

/* area image container */
.area__image {
	width: 100%;
	z-index: -1;
	position: relative;
}

/* area image */
.area__image img {
	width: 100%;
	height: 610px;
	object-fit: cover;
	display: block;
}

.area__image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}