* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	scrollbar-width: thin; /* firefox scrollbar */
	scrollbar-color: #cab888 var(--secondary, #0e2745); /* firefox scrollbar */
}
/* chrome, edge, safari scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { box-shadow: inset 0 0 5px #cab888; }
::-webkit-scrollbar-thumb { background: var(--primary, #1b3557); }
:root {
	--primary: #2b6478;  /* navy blue */
	--secondary: #0e2745; /* dark blue */
	--accent: #cab888; /* gold */
	--pale: #edece9;
} 
body {
	margin: 0;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-size: 1em;
	font-optical-sizing: auto;
	color: var(--primary, #2b6478);
	font-weight: 300;
	line-height: 1.4;
}
h1,h2,h3,h4,h5,h6  { 
	text-transform: uppercase;
	margin-bottom:1rem;
	font-family: "Playfair Display", serif;
	font-optical-sizing: auto;
}
.logo { 
	font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-size: 1.4em;
    line-height: 0.9;
}
.logo span { 
	font-size: 1.6em; 
}
footer .logo { 
	line-height: 1.5;
}
.pinyon {
  font-family: "Pinyon Script", cursive;
  text-transform: unset;
  font-weight: 400;
  font-style: normal;
}
p { margin-bottom:1rem}
ul { padding-left: 1em; }
nav ul, .pgNavW ul { padding-left: 0; }
nav ul li { list-style: none; text-transform: uppercase}
.bulletList { list-style-type: disc;}
a { 
	color: var(--primary,#2b6478); 
	text-decoration: none;
}
img { 
	vertical-align: middle; 
	width: 100%;
	height: auto;
	object-fit: cover;
}
.container {
	padding-left: 5rem;
	padding-right: 5rem;
	width: 100%;
	margin: auto;
}
.contMax { 
	max-width: 1200px;
	margin: auto;
}
.padtop { padding-top: 2rem; }
.padbot { padding-bottom: 2rem; }
.smpadtop {padding-top: 1em;}
.smpadbot {padding-bottom: 1em;} 
#scrollTo {
	scroll-margin-top: 215px;
}
.sand {background: #fff3e3;}
.flex { display: flex; }
.sb { justify-content: space-between; }
.aic { align-items: center; }
.gap5 { gap: .5em; }
.gap1 { gap: 1em; }
.twoCol {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
}
.btn {
	font-family: "Playfair Display", serif;
	text-transform: uppercase;
	padding: .75em 1em;
	border-radius: 5px;
	text-align: center;
	align-items: center;
	line-height: 1.1;
	position: relative;
	transition: .3s ease-in-out;
	border: 2px solid;
	overflow: hidden;
	z-index: 1;
}
.btn.btnCta { 
	color: #0e2745;
    font-weight: 700;
	background: var(--accent,#ae985a); 
	border-color: var(--accent,#ae985a);
}
.btn.btnCta:hover {
	color: var(--accent,#ae985a);
	background-color: #ffffff;
	transition: .3s ease-in-out;
}
.btn.btnCta::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 100%;
	background-color: #ffffff;
	transition: width .3s ease-in-out;
	z-index: -1;
}
.btn.btnCta:hover::after{
	width: 100%;
}
.colorHover:hover {
	color: var(--accent,#ae985a);
}
.lineHover,
.currentPg {
	position: relative;
	display: block;
}
.lineHover::after,
.currentPg::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background-color: var(--accent,#ae985a);
	transition: width .3s ease-in-out;
}
.lineHover:hover::after,
.currentPg::after {
	width: 100%;
}
.header { 
	text-transform: uppercase; 
	font-weight: 500;
	font-family: "Playfair Display", serif;
	font-size: 1.2rem;
}
nav {
	color: #ffffff; 
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5; 
}
nav a { color: #ffffff; }
nav .close { display: none; }
nav .top {
	background-color: var(--secondary,#0e2745);
	padding: .5rem 2rem;
	font-size: 1.2rem;
}
nav .mid { 
	display: flex;
	justify-content: center;
	align-items: center;
}
nav .btm {
	display: grid;
	grid-template-columns: 30% 50% 20%;
	background-color: var(--primary,#2b6478);
	border-bottom: 4px solid var(--accent, #bcac81); 
	padding: .5rem 2rem;
	font-size: 1.2rem;
}
nav .btnRow {
	justify-content: flex-end;
}
.social {
	border-radius: 50%;
	border: 2px solid var(--accent,#bcac81);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .35em;
}
.social.fb::before,
.social.tw::before,
.social.ig::before,
.menuIcon::before,
nav .close::before,
nav .logo::before,
footer .logo::before,
footer .top::before,
.goL::before,
.goR::before,
.factBox .icon::before,
.quoteIcon::before,
.moonIcon::before {
	content: '';
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
}
.social.fb::before,
.social.tw::before,
.social.ig::before {
	width: 20px;
	height: 20px;
}
.social.fb::before { background-image: url(../images/facebook.svg); } 
.social.ig::before { background-image: url(../images/instagram.svg); }
nav .logo,
footer .logo {
	width: 100%;
	 
} 
footer { 
	color: #ffffff; 
	text-align: center;
	font-family: "Playfair Display", serif;	 
}
footer a { color: #ffffff; }
footer .top {
	background-color: var(--primary, #2b6478);
	border-top: 5px solid var(--accent,#bcac81);
	padding: 2rem;
	position: relative;
	overflow: hidden;
}
footer .top::before {
	background-image: url(../images/riverwater.svg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-size: cover;
	opacity: 50%;
}
footer .top .content {
	z-index: 1;
	position: relative;
}
footer .btm {
	background-color: var(--secondary, #0e2745);
	text-transform: uppercase;
	padding: 1rem 2rem;
	justify-content: center;
} 
footer p {
	margin: 0 0 .35em 0;
}
footer .mobShow { display: none; }
.pgNav {
	width: fit-content;
	max-width: 100%;
	position: relative;
}
.pgNav .scroll {
	overflow-x: auto;
	max-width: 100%;
	scrollbar-width: none;
	-ms-overflow-style: none;
	text-wrap: nowrap;
}
.pgNav ul {
	width: fit-content;
}
/* .pgNav .scroll.stretch {
	max-width: unset;
	width: 150%;
} */
.pgNav .controls { 
	display: none; 
}
.pgNav .controls.show { 
	display: flex; 
	background-color: #ffffff;
	padding-left: .5em;
}
.banner {
	position: relative;
	height: 100vh;
	overflow: hidden;
	background-color: aliceblue;
}
.topImg {
	position: absolute;
	width: 100vw;
	height: 100%;
}
.topImg.animate {
	-webkit-animation: b .8s ease-out both;
	animation: b .8s ease-out both;
}
.topImg img { 
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-height: 100vh;
	position: absolute;
	object-fit: cover;
}
.topImg img.slide {
	position: relative;
}
.plainbanner {
    min-height: 8em;
    padding: 11em 0 4em 0;
}
.navy {
    background-color:#0e2745;
	color:#ffffff;
}
.banner 
.topImg.animate img {
	opacity: 0;
	top: -1vmax;
	right: -1vmax;
	bottom: -1vmax;
	left: -1vmax;
}
.banner .hdr {
	position: absolute;
	bottom: 1rem;
	color: #ffffff;
	font-family: "Playfair Display", serif;
	overflow: hidden;
	text-wrap: wrap;
}
.banner .hdr h1 { font-size: 1.5rem; line-height: 1; }
.banner .hdr h2 { font-size: 4rem; line-height: 1; }
.banner .slideCtrls {
	position: absolute;
	bottom: 1em;
	left: 50%;
	transform: translateX(-50%);
}
.banner .carousel .slide img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.banner .carousel .slideCont {
	width: 100%;
	position: unset;
}
.banner .carousel .slide {
	min-width: 100%;
	height: 100%;
	position: relative;
	flex-shrink: 0;
}
.carousel.page,
.banner .carousel,
.carousel.gallery {
	position: relative;
	width: 100%;
	height: 100%;
}
.carousel.gallery { height: fit-content; }
.banner .carousel .slideCont,
.carousel.page .slideCont,
.carousel.gallery .slideCont { /* carouselslide */
	display: flex;
	overflow: auto;
	scrollbar-width: none;
	height: 100%;
	scroll-behavior: smooth;
	position: relative;
}
.carousel.page .slideCont.centerCaro {
	justify-content: center;
}
.carousel.gallery .slideCont {
	display: grid;
	grid-auto-columns: 100%;
	grid-auto-flow: column;
	height: fit-content;
}
.carousel.page .slide {
	max-width: 364px;
}
.carousel.gallery .slide {
	position: relative;
}
.carousel.page .slide a {
	background-color: var(--primary, #2b6478);
	padding: 1rem;
	border-radius: 10px;
	display: block;
	margin: 0 1rem;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.carousel.page .imgCont {
	width:300px; 
    height: 230px;
	overflow: hidden;
}
.carousel.page .slide img {
	transition: 2s ease-in-out;
	border-radius: 5px 5px 0 0 ;
}
.carousel.gallery img {
	border-radius: 10px;
}
.carousel.page .slide:hover img {
	transform: scale(1.2);
	transition: 2s ease-in-out;
}
.carousel.page h3 {
	color: #ffffff;
	text-align: center;
	font-weight: 300;
	padding-top: 1rem;
	margin: 0 auto;
	width: fit-content;
	position: relative;
}
.carousel.gallery h3 {
	position: absolute;
	left: 1em;
	bottom: .5em;
	margin: 0;
}
.carousel.page h3::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background-color: var(--accent, #bcac81);
	transition: width .3s ease-in-out;
}
.carousel.page .slide:hover h3::after {
	width: 100%;
}
.carousel.page p {
	margin-top: .75rem;
}
.carousel.page .btm {
	align-items: flex-end;
}
.carousel.page .btn {
	padding: .5rem 2rem;
	height: fit-content;
}
.carousel.page .moonIcon::before {
	background-image: url(../img/Icons_Moon_gold.svg);
	width: 55px;
	height: 55px;
}
.goL, .goR {
	border-radius: 50%;
	background-color: #d5e7feb0;
	height: fit-content;
	border: none;
	z-index: 1;
	cursor: pointer;
}
.carousel.gallery .goL,
.carousel.gallery .goR {
	background-color: #fdfdfdb0;
}
.carousel.page .goL,
.carousel.page .goR,
.carousel.gallery .goL,
.carousel.gallery .goR {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.goL:hover, .goR:hover { background-color: #ffffff; }
.goL.disabled, .goR.disabled { visibility: hidden; }
.goL { left: .5em; }
.goR { right: .5em; }
.goL::before,
.goR::before {
	background-image: url(../images/arrow-left-short.svg);
	width: 30px;
	height: 30px;
	padding: .5em;
}
.pgNav .navBtn::before {
	width: 20px;
	height: 20px;
}
.goR::before {
	transform: rotate(180deg);
}
.factBox {
	background-color: var(--pale,#edece9);
	border-radius: 10px;
	padding: 1.5rem;
}
.factBox .icon::before {
	width: 50px;
	height: 50px;
}
.factBox .icon.none::before {
	width: 0;
	height: 0;
} 
.quoteIcon::before {
	background-image: url(../img/quote.svg);
	width: 30px;
	height: 30px;
}
.int{
    font-weight: 700;
    font-size: 1.2em;
    text-align: right;
}

 .table {
       font-size: .9em;
       overflow-x: auto;
    }
    
   .table>tbody>tr>td, .table>tfoot>tr>td {
   vertical-align: middle; 
    padding: 0.2em 1em 0.2em  0;
   }

.map  {
    width: 100%;
    max-width: 845px;
    margin: 0 auto;
}

/* ----- MEDIA QUERIES ----- */
@media screen and (max-width: 1300px) {
	.container {
		padding-left: 3rem;
		padding-right: 3rem;
	} 
	nav .btm { font-size: 1.1rem; }
	.banner .hdr { bottom: 3.5rem; }
}
@media screen and (max-width: 1150px) {
	nav .btm { font-size: 1rem; }	 
}
/* mobile */
@media screen and (max-width: 1060px) {
	nav .close { display: block; }
	nav .btm .mid {
		display: none;
	}
	nav .btm .mid.show {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		height: 100vh;
		background-color: var(--primary,#2b6478);
		padding: 2rem;
		min-width: 55%;
		border-bottom: 5px solid var(--accent,#bcac81);
		z-index: 2;
		background-color: #2b647882;
		backdrop-filter: blur(43px);
	}
	nav .btm .mid.show ul {
		flex-direction: column;
		font-size: 1.5rem;
	}
	nav .close::before {
		background-image: url(../images/x-circle.svg);
		width: 30px;
		height: 30px;
		float: right;
	}
	.menuIcon {
		height: fit-content;
		float: left;
		margin-right: 1em;
	}
	.menuIcon::before {
		background-image: url(../images/list.svg);
		width: 3rem;
		height: 3rem;
	}
	nav .btm {
		grid-template-columns: 1fr 1fr;
	}
	nav .mid {
		gap: 1em;
	}
	nav .logo {
		justify-content: flex-start;
	}
}
@media screen and (max-width: 1000px) {
	.factBox { flex-direction: column; }
	.factBox .icon { margin: 0 auto; }
}
@media screen and (max-width: 900px) {
	.smpadtop { padding-top: 1.3em; }
  .smpadbot { padding-top: 1.5em; }
	.banner { height: 75vh; }
}
@media screen and (max-width: 850px) {
	.twoCol { grid-template-columns: 1fr; }
	.factBox { flex-direction: row; }
	.factBox .icon { margin: unset; } 
}
@media screen and (max-width: 665px) {
	.btn.btnCta { padding: .75em; }
}
@media screen and (max-width: 650px) {
	nav .btm {
		grid-template-columns: 1fr;
	}
	nav .btnRow {
		justify-content: center;
	}
	nav .logo {
		width: fit-content;
	}
	.menuIcon { order: 2; }
	nav .btm .mid.show {
		width: 95%;
	}
	nav .btnRow { margin: .25em 0; }
	nav .btn.btnCta { padding: .5em .9em; }
	footer .mobShow { display: block; }
}
@media screen and (max-width: 600px) {
	.container { 
		padding-left: 2rem;
		padding-right: 2rem;
	}
}
@media screen and (max-width: 500px) {
	footer .logo::before {
		width: 14rem;
		height: 5rem;
	}
	footer p { font-size: .9em; }
	.banner .hdr h1 { font-size: 2.5rem; }
	.banner .hdr h2 { font-size: 1.5rem; }
	.carousel .slideCont {
		/* width: 363px; */
		width: 100%;
		margin: 0 auto;
	}
	.factBox { flex-direction: column; }
	.factBox .icon { margin: 0 auto; } 
	.carousel.gallery h3 { font-size: 1em; }
}
@media screen and (max-width: 450px) {
	nav .top,
	nav .btm { padding: .5rem 1rem; }
	.social.fb::before,
	.social.tw::before,
	.social.ig::before {
		width: 15px;
		height: 15px;
	}
	footer .top { padding: 1rem; }
	footer .btm { padding: .5rem 1rem; }
	.carousel.page .imgCont { width: 250px; }
}
@media screen and (max-width: 400px) {
	.carousel.page .btn { padding: .5rem .9rem; }
}
@media screen and (max-width: 375px) {
	.carousel.page .imgCont { width: 225px; }
}
@media screen and (max-width: 350px) {
	nav .btn {
		font-size: .9em;
		padding: .5em .75em;
	} 
	nav .top { font-size: 1rem; }
	.carousel.page .imgCont { width: 190px; }
}