:root {
    --primary-color: #1E4286;
    --primary-text-color: #818285;
}

body {
	font-family: Arial, sans-serif;
	-webkit-font-smoothing: subpixel-antialiased;
	margin: 0;
	padding: 0;
	color: #030303;
	font-size: 20px;
	text-align: center;
}

::-webkit-scrollbar {
	display: none;
  }

*:focus {
    outline: none;
   }

.mobile {
    display: none;
}

.desktop {
    display: block;
}

#centerLine {
	position: fixed;
	z-index: 100;
	left: calc(50% - 1px);
}

.alignLeft {
	text-align: left;
}

.row {
	float: left;
	width: 100%;
	/* padding: 90px 0 90px 0; */
}

.full {
	float: left;
	width: 100%;
}

h3, h3 strong {
    font-weight: 500;
    font-size: 20px;
}

figure {
	margin: 0;
	padding: 0;
}

figure img {
	width: 100%;
	height: auto;
}

input, textarea {
	-webkit-appearance: none;
	border: 1px solid #aaa;
}

.notch {
	background: white;
	float: left;
	padding: 30px 5%;
	position: relative;
	top: -130px;
	margin-bottom: -130px;
	width: auto;
	text-align: left;
} 

.handbook .notch {
	top: -180px;
	margin-bottom: -180px;
}

.heading {
	padding: 90px 0 90px 0;
}

.white {
	background: #fff;
}

.white p{
	color: #082F57;
}

body.loading #spinner {
	display: block;
}

body.loading #content, body.loading header, body.loading footer  {
	opacity: 0.1;
}


#spinner {
	position: fixed;
	top: 35%;
	margin: 0 auto;
	left: calc(50% - 60px);
/*	display: inline-block;*/
	z-index: 999999;
	display: none;
	/* display: none; */
}

@keyframes spinner {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

.spin .spinCircle{
	animation: spinner;
	animation-duration: 1s;
	animation-iteration-count: infinite;
}

.caret_r {
	display: inline-block;
	height: 100%;
}

.caretInner {
	display: flex;
	align-items: center;
	height: 100%;
}

.caret_r.w g path {
	stroke: #fff;
}


#page {
	opacity: 0;
	-webkit-transition: opacity 0.24s ease;
    -moz-transition:    opacity 0.24s ease;
    -o-transition:      opacity 0.24s ease;
    -ms-transition:     opacity 0.24s ease;
    transition:         opacity 0.24s ease;
}

#page.on {
	opacity: 1;
}

section, header, footer {
	float: left;
	width: 100%;
	text-align: center;	
}


.column {
	width: 100%;
	max-width: 1640px;
	margin: 0 auto;
	padding: 0;
	display: inline-block;
	text-align: center;
}

.columnInner {
	width: 90%;
	padding: 0 5%;
	/* float: left; */
	text-align: left;
	display: inline-block;
}

.col50 {
	width: 50%;
	float: left;
}

.textRow {
	float: left;
	margin: 100px 0;
	width: 100%;
}

.textRowContact {
	float: left;
	margin: 100px 0 0 0;
	width: 100%;
}

img.width, img.responsive {
    width: 100%;
    height: auto;
	float: left;
}


a {
	color: #030303;
	text-decoration: none;
	transition: all 0.3s ease;
}

a:focus, a.underline:focus, a.underline:visited:focus {
	transform: scale(1.02);
}

a.underline:focus {
	text-decoration: none;
}

#top {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	text-align: right;
	background: #fff;
	padding: 25px 0 25px 0;
	z-index: 4;
	height: 60px;
	-webkit-transition: opacity 0.24s ease;
    -moz-transition:    opacity 0.24s ease;
    -o-transition:      opacity 0.24s ease;
    -ms-transition:     opacity 0.24s ease;
    transition:         opacity 0.24s ease;
	display: flex;
	align-items: center;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}

#topMenu {
	position: relative;
	float: left;
	width: 100%;
	display: flex;
	justify-content: center;
	z-index: 3;
}

#topMenu .column, #topMenu .columnInner {
	display: flex;
	align-items: center;
}

.topRow {
	z-index: 3;
	position: relative;
	text-align: center;
}

.menuWrap.active #top.active  {
	box-shadow: none;
	background: none;
}

#pageLabel {
	width: 100%;
	margin: 0 auto;
	position: fixed;
	text-align: center;
	left: 0;
	top: 30px;
	font-family: "Roboto", sans-serif;
	display: inline-block;
	color: #9C9C9C;
}

#top .btn {
	font-size: 15px;
	position: relative;
	cursor: pointer;
	z-index: 2;
	-webkit-transition: opacity 0.4s ease;
}

.active #i18nform {
	display: block;
}

#menuBtn {
	/* width: 220px; */
	position: fixed;
	right: 20px;
	margin: 0;
	font-size: 17px;
	color: #6F6F6F;
	float: right;
	z-index: 5;
	cursor: pointer;
	display: none;
	
}

#menuBtn svg {
	width: 32px;
	height: 32px;
}

#menuBtn path {
	-webkit-transition: all 0.2s ease;
    -moz-transition:    all 0.2s ease;
    -o-transition:      all 0.2s ease;
    -ms-transition:     all 0.2s ease;
    transition:         all 0.2s ease;
}

#menuBtn svg, #menuBtn div {
	float: left;
	margin: 0;
}

#menuBtn div {
	float: left;
	margin: 3px 0 0 10px;
	padding: 0;
	font-weight: 500;
	font-size: 20px;
	color: #6F6F6F;
}


#icons {
	width: 200px;
	right: 7%;
	text-align: right;
}

#icons img {
	padding-left: 10px;
}


#menu {
	width: 100%;
	top: 66px;
	overflow: hidden;
	position: fixed;
	z-index: -4;
	background: #fff;
	height: 0;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
	display: none;
	box-shadow: 0 6px 6px rgba(0, 0, 0, 0.16);
}

ul.menu {
	/* display: flex;
	align-items: center; */
	width: 100%;
}

ul.menu, ul.menu li {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
	padding-inline-start: 0px;
	float: left;
	text-transform: uppercase;
}

ul.menu li {
	display: flex;
	align-items: center;
}

ul.menu li a img{
	float: left;
}

ul.menu li {
	padding: 0 0 0 30px;
}

.col50 ul {
	width: calc(100% - 14px);
	margin-left: 14px;
}

#mainNav {
	/* float: right;
	width: 80%; */
	display: flex;
	justify-content: flex-end;
}

ul#mainNav.menu li#logoRow {
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#top.active #menu {
	opacity: 1;
	height: calc(100vh - 10px);
}

#top.active .top {
	/* height: auto; */
}	

#top.active .menuBox  {
	opacity: 1;
	position: fixed;
}

#menu li {
	display: block;
	font-weight: 400;
	z-index: 2;
	width: 100%;
	position: relative;
	margin: 5px 0 20px 0;
	font-size: 20px;
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
    -moz-transition:    all 0.4s ease;
    -o-transition:      all 0.4s ease;
    -ms-transition:     all 0.4s ease;
    transition:         all 0.4s ease;
}

::-webkit-input-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::-moz-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::-ms-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::placeholder {
	color: #aaa;
	white-space:pre-line; 
}

ol {
	padding-left: 20px;
}

ol li {
	padding-left: 10px; 
	margin-left: 0;
}

.table table {
	float: left;
	width: 100%;
  }
  

/* Slider */

.slides.slick-slider {
    top: 0;
    z-index: 1;
    width: 100%;
	float: left;
    padding: 0;
}

.slides {
	opacity: 0;
}

body.loaded .slides {
	opacity: 1;
}

.slick-track {
	float: left;
}

footer {
	width: 100%;
	float:left; 
	z-index: 0;
	position: relative;
	padding: 75px 0 75px 0;
	background: #1E4286;
	color: #fff;
	-webkit-font-smoothing: subpixel-antialiased;
	margin: 100px 0 0 0;
}
footer p, footer a, footer a:visited, footer .scrollTo {
	color: #fff;
	float: left;
	margin: 0 20px 0 0;
	border-bottom: 1px solid transparent;
	font-size: 16px;
}

footer .menu a:hover, footer .menu li:hover .scrollTo {
	border-bottom: 1px solid #fff;
}

footer .menu  {
	padding: 0 0 75px 0;
	margin: 0 0 60px 0;
	float: left;
	width: 100%;
	text-align: left;
	border-bottom: 1px solid white;
}

footer .menu li {
	display: inline-block;
	margin-right: 40px;
	cursor: pointer;
	padding: 0;
	color: #fff;
}

.right {
	right: 0;
	float: right;	
}

.top {
	top: 0;
}

img.half {
	width: 50%;
	height: auto;	
}


#logo {
	float: left;
}

.logoInner {
	width: 100%;
	float: left;
}

#logo img{
	width: 100%;
	height: auto;
	float: left;
}


.btn {
	border-radius: 20px;
	border: 1px solid #082F57;
	padding: 5px 10px;
	cursor: pointer;
}

.btn.off {
	opacity: 0.3;
	cursor: auto;
}

.slide {
	width: 100%;
	height: auto;
	float: left;
}

.slide img  {
	width: 100%;
	height: auto;
	float: left;
}

.off {
	opacity: 0;
}


/* Page Rows */

.swiper {
	z-index: 0;
}

.intro, .pageRow {
	z-index: 1;
	position: relative;
}

#map { position:relative; top:0; bottom:0; width:100%; height: 500px; }

.mapContainer {
	width: 100%;
	float: left;
}

.stackPlan, .availabilityTable {
	padding: 50px 0 100px 0;
}

.availabilityTable .button {
	margin-top: 50px;
}

#Floors rect, #Floors polygon {
	opacity: 0;
	transition: all 0.3s ease;
}

#Floors rect.ready, #Floors polygon.ready {
	opacity: 0.5;
	transition: opacity 0.3s ease;
}

#Floors rect.ready.on, #Floors polygon.ready.on {
	opacity: 0.85;
}

.tableHeader {
	float: left;
	width: calc(100% - 30px);
	padding: 0 15px;
	border-bottom: 1px solid #818285;
}

.tableHeader .tableCol {
	display: flex;
	align-items: flex-end;
	height: 30px;
	padding-bottom: 10px;
}
.tableCol {
	float: left;
	width: 23%;
	text-align: left;
	/* pointer-events: none; */
}

.tableCol2 {
	width: 15%;
	display: flex;
	justify-content: flex-end;
}

.tableCol2 a {
	justify-content: flex-end;
}

.tableRow {
	float: left;
	width: calc(100% - 30px);
	padding: 15px;
	border-bottom: 1px solid #818285;
	cursor: pointer;
}

.tableRow p {
	font-size: 16px;
	pointer-events: none;
}

.tableRow:hover {
	background: rgba(236, 236, 237, 0.30);
	transition: all 0.3s ease;
}

.gallery {
	padding: 100px 0 100px 0;
	float: left;
	width: 100%;
}

.gallery h3 {
	padding-bottom: 30px;
}

.gridImage {
	float: left; 
	width: 23.875%;
	padding: 0 1.5% 1.5% 0;
	cursor: pointer;
}

.gridImage.fourth {
	padding: 0 0 1.5% 0;
}

.gridImage img {
	width: 100%;
	height: auto;
	float: left;
	pointer-events: none;
}

.lightbox {
	position: fixed;
	width: 100%;
	background: rgba(0,0,0,0.85);
	opacity: 0;
	height: 0;
	transition: opacity 0.3s ease;
	overflow: hidden;
	z-index: -1;
}

.lightbox.on {
	opacity: 1;
	height: 100vh;
	z-index: 10;
}

.bigImage {
	opacity: 0;
	height: 100vh;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.swiperLightbox .swiper-slide img {
	max-height: 80vh;
	width: auto;
	height: 100%;
	padding-top: 10vh;
}

.swiperLightbox .swiper-slide p {
	padding: 20px 0 0 0;
	color: #fff;
	-webkit-font-smoothing: subpixel-antialiased;
}

#closeBtn, #closeBtn1, #closeBtn2, #closeBtn3 {
	position: fixed;
	right: 40px;
	top: 40px;
	cursor: pointer;
	z-index: 3;
}

.button-prev {
	position: fixed;
	top: calc(50% - 10px);
	left: 50px;
	cursor: pointer;
	z-index: 3;
}

.button-next {
	position: fixed;
	top: calc(50% - 10px);
	right: 50px;
	cursor: pointer;
	z-index: 3;
}


.menuBlock {
	float: left;
	width: 49.25%;
	padding: 0 1.5% 1.5% 0;
}

.menuBlock.second {
	padding: 0 0 1.5% 0;
}

.imageScale img {
	width: 100%;
	height: auto;
	float: left;
}

.menuBlockOverlay {
	margin: 0 0 -165px 50px;
	position: relative;
	bottom: 165px;
	height: 109px;
	width: calc(100% - 100px);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	cursor: pointer;
	z-index: 2;
	float: left;
}

.menuBlockOverlay h3 {
	line-height: 100%;
	padding: 0 0 0 0;
	margin: 0;
	width: 309px;
}

.arrowBtn {
	height: 40px;
	width: 40px;
	position: relative;
	top: -10px;
}


.imageScale {
	width: 100%;
	height: 100%;
	float: left;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.imageScale img {
	transition: all 0.3s ease-in-out;
}

.imageScale:hover img, .menuBlock:hover .imageScale img {
	transform: scale(1.5);
	
}

.footerLogos {
	float: right;
	position: relative;
	top: 5px;
}

.footerLogos img {
	width: 180px;
	height: auto;
	padding: 0 0 0 20px;
}

.termsRow {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.lightboxImage {
	cursor: pointer;
}


#contact {
	padding-top: 100px;
}


.pageRow2 {
	padding: 0 0 100px 0;
}

.pageRow2 .column {
	height: 100%;	
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.rowImage {
	float: left;
	width: 90%;
}

.rowImage img {
	width: 100%;
	height: auto;
}

.pageRow2 .textCol.col50 {
	width: 45%;
	padding-right: 5%;
}

.pageRow2.even .textCol {
	float: left;
}

.pageRow2.even .textCol.col50 {
	width: 45%;
	padding-right: 0;
	padding-left: 5%;
}

.pageRow2.even .column {
	flex-direction: row-reverse;
}

.pageRow2.even .imageCol, .pageRow2.even .rowImage {
	float: right;
}

.pageRow2.even .textCol {
	/* justify-self: flex-start; */
}

.even .rowText {
	float: left;
}


.pageRow2 h2 {
	width: 100%;
}

.textCol {
	float: left;
	height: 100%;
}

.amenitiesLogo {
	width: 27%;
	margin: 6px 6% 0 0;
	float: left;
}

.amenitiesLogo img {
	width: 100%;
	height: auto;
}


.newsItem {
	float: left;
	width: 48%;
	min-height: 915px;
	margin: 50px 2% 50px 0;
}

.newsItem.even {
	float: left;
	width: 48%;
	margin: 50px 0 50px 2%;
}

.newsImage img{
	float: left;
	width: 100%;
	height: auto;
}

.date {
	padding: 30px 0 30px 0;
	float: left;
	width: 100%;
}

.newsItem h2 p {
	margin-bottom: 30px;
}

/* Handbook */


.handbook#intro {
	z-index: 3;
	position: relative;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}


.searchOuter {
	width: 100%;
	float: left;
}

#searchBar {
	float: left;
	width: calc(100% - 250px);
	color: #0a0a0a;
	left: 0;
	height: 60px;
	padding: 100px 0 50px 0;
	box-shadow: none;
	-webkit-transition: opacity 0.4s ease;
    -moz-transition:    opacity 0.4s ease;
    -o-transition:      opacity 0.4s ease;
    -ms-transition:     opacity 0.4s ease;
	transition:         opacity 0.4s ease;
	opacity: 1;
	z-index: 3;
	position: relative;
	text-align: right;
}

.searchOuter .button {
	float: right;
	margin-top: 100px;
}

.autocomplete {
	border: 1px solid #818285;
	padding: 20px;
	width: calc(100%-40px);
	display: flex;

}

#searchBar input {
	margin: 0;
	padding: 0;
	font-size: 20px;
	border: none;
	background: none;
	-webkit-appearance: none;
	width: calc(100% - 30px);
	resize: none;
}

#searchBtn {
	position: relative;
	/* top: -67px; */
}


::-webkit-input-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::-moz-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::-ms-placeholder {
	color: #aaa;
	white-space:pre-line; 
}

::placeholder {
	color: #aaa;
	white-space:pre-line; 
}

.resourceRow {
	padding: 50px 0 50px 0;
}

.resourceRow .button {
	margin-top: 8px;
}

.sectionPage {
	margin-top: 100px;
}

.sectionPage .intro .button2 {
	margin-top: 10px;
	position: fixed;
	top: 100px;
	z-index: 4;
}

.backToIndex {
	position: relative;
	/* top: 4px; */
	left: -18px;
}


.sectionPage .intro {
	z-index: 3;
}

.sectionPage .searchOuter {
	padding-top: 70px;
}

.subsection, .sectionHeadingRow {
	margin-bottom: 100px;
	float: left;
	width: 100%;
}

#searchResults {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	
}
#searchResults.on {
	background: #fff;
	padding: 20px 20px 5px 20px;
	border-right: 1px solid #818285;
	border-bottom: 1px solid #818285;
	border-left: 1px solid #818285;
}
.searchResult {
	width: 100%;
	text-align: left;
	margin: 0 0 15px 0;
	font-size: 20px;
}

.resultSection {
	width: 100%;
	text-align: left;
	float: left;
	line-height: 120%;
	font-size: 16px;
}


.section h1 p, .sectionRow h2 p {
    width: calc(100% - 50px);
	float: left;
}

.rightArrow {
	float: right;
}

.footnote {
	margin-top: 70px;
	float: left;
	width: 100%;
}

.section .footnote {
	border-top: 1px solid #818285;
	padding-top: 50px;
	margin-top: 0;
}

.formRow {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 26px 0 26px 0;
}

.formRow img {
	float: right;
}

#neighborhood .textRow {
    margin: 100px 0 50px 0;
}

/* ADA Tweaks */

a:focus {
	color: var(--primary-color);
}

#top a:hover, ul.menu li.on a, #top li .scrollTo:hover, #top a:focus {
    color: var(--primary-color); 
    cursor: pointer;
    border-bottom: 1px solid var(--primary-color);
}

a#logo:hover {
	border: none;
}

#mainNav a {
	border-bottom: 1px solid transparent;
}

#mainNav a:focus {
	border-bottom: 1px solid var(--primary-color);
}

.swiper-button-disabled {
	opacity: 0.2;
}


a.underline,  a.underline:visited {
	text-decoration: underline;
	color: var(--primary-color);
}

a.skip-main {
	left:-999px;
	position:absolute;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
	z-index:-999;
  }
a.skip-main:focus, a.skip-main:active {
	color: #fff;
	background-color:#000;
	left: auto;
	top: auto;
	width: 30%;
	height: auto;
	overflow:auto;
	margin: 10px 35%;
	padding:5px;
	border-radius: 15px;
	border:4px solid yellow;
	text-align:center;
	font-size:1.2em;
	z-index:999;
  }



@media only screen and (max-width: 1024px) {

	.textRow {
		margin: 0;
	}

	.col50 {
		width: 100%;
		margin: 0 0 22px 0;
	}

	.stackPlan, .terms .bar  {
		display: none;
	}

	footer .menu li, .terms p, .terms a {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.termsRow {
		flex-direction: column;
	}

	.footerLogos, .terms {
		width: 100%;
		float: left;
	}

	.footerLogos {
		display: flex;
		justify-content: space-between;
	}

	.pageRow2 {
		padding: 45px 0 45px 0;
	}
	.pageRow2 .col50 {
		width: 50%;
	}

	.newsItem {
		min-height: 550px;
	}

	footer .menu {
		width: 100%;
	}
	
	footer .menu li {
		width: 100%;
		padding: 0;
	}


	.footerLogos img {
		padding: 0 20px 0 0;
		width: 80%;
		max-width: 180px;
	}
}