@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);

html,
body {
  	height: 100vh;
	width:100vw;
	padding:0;
	margin:0;
	overflow: hidden;
	position: fixed;
}

body {
  	font-size: 16px;
  	font-family: 'Montserrat', sans-serif;
	background-color: #F5F5F5;
}

img {
	width:100%;
	outline: none;
	border:none;
}

h1 {
	font-family: 'Montserrat', sans-serif;
	font-size: 5vw;
	font-weight: 400;
}

h2 {
	font-weight: bold;
	font-size: 28px;
}

a {
	border:none;
	outline:0;
}

.nav-click {
	cursor: pointer;
}

.bg-image { 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.touch-slides, .home-slide, .neighbourhood-slide, .floorplans-slide, .interiors-slide, .gallery-slide {
  	height:100vh;
	width: 100vw;
	position:relative;
}

.touch-slides {
	z-index: 998;
}

.home-slide {	
	background-image:url(../img/touch/home/jw_bg.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
	text-align: center;
	color:#fff;
}

section {
	width:100vw;
	height:100vh;
}

.home-top-box {
	position: absolute;
    bottom: 50vh;
    left: 50px;
    right: 50px;
}

.home-logo {
	width:45%;
	padding-bottom: 5vh;
	margin:0 auto;
}

.journey-div {
	padding-top:50px;
}

.arrow-down {
	width:50px;
	margin:0 auto;
	cursor: pointer;
}

.home-nav-wrap {
	position: absolute;
    bottom: 9vh;
    left: 11vw;
    right: 11vw;
    text-align: center;
}

.home-disclaimer-wrap {
	position: absolute;
    bottom: 3vh;
    text-align: center;
    color: #fff;
    font-size: 1vw;
    width: 75vw;
    left: 50%;
    transform: translateX(-50%);
}

.div-table {
	display: table;
	width:100%;
	position: relative;
}

.div-table-row {
	display:table-row;
}

.div-table-cell {
	display: table-cell;
	text-align: center;
	position: relative;	
}

.home-nav-button-l {
	padding-right:15px;
	padding-bottom:30px;
	width:50%;
}

.home-nav-button-r {
	padding-left:15px;
	padding-bottom:30px;
	width:50%;
}


.home-nav-box {
	background-color:#E13237;
	position: relative;
	padding:25px;
}

.home-nav-wrap a, .home-nav-wrap a:active, .home-nav-wrap a:focus, .home-nav-wrap a:visited, .home-nav-wrap a:hover {
	color:#fff;
	text-decoration: none;
}

#nav-wrap {
	width:50vw;
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	z-index: 999;
	text-transform: uppercase;
	left:-100%;
	transition: all 1s ease;
	font-size:12px;
}

#nav-wrap.show {
	left:calc(50px - 50vw);
}

#nav-wrap.pop {
	left:0;
}

#menu-button {
	width: 50px;
    height: 200px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: #E13237;
    vertical-align: middle;
    padding-right: 25px;
    cursor: pointer;
    background-image: url(../img/touch/buttons/arrow_right.svg);
    background-repeat: no-repeat;
    background-position: 18px;
    background-size: 40px;
    text-align: center;
}

#menu-button.active {
	background-image: url(../img/touch/buttons/arrow_left.svg);
	background-position: 15px;
}

.nav-button-wrap {
	width:calc(100% - 50px);
	position: relative;
}

.nav-button {
	width:50%;
	height:calc(25vw - 25px);
	background-color:#E13237;
	color:#fff;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	transition: all 1s ease;
	cursor: pointer;
}

.nav-button:hover, .nav-button.active {
	background-color:#953031;
	font-weight: bold;
	/*text-decoration: underline;*/
}

.header-logo {
	width:45%;	
	margin:0 auto;
	padding-top:75px;
}

.transition-div {
	height:100vh;
	width:100vw;
	position: relative;
	/*z-index: 997;*/
	opacity: 1;
	transition: all 1.5s ease;
	background-color: #F5F5F5;
	top:0;
	text-align: center;
}

.transition-div.show {
	opacity: 1;
	z-index: 1002;
}

.transition_bg {
	position: absolute;
    width: 100%;
    top: 50vh;
    left: 0;
    transform: translateY(-50%);
}

.transition_bg .transition-header {
	position: absolute;
	top:12%;
	left:50%;
	transform:translateX(-50%);
	color:#fff;
	font-size: 24px;
	letter-spacing: 2px;
}

.transition_bg .logo {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.map-wrap {
	position:relative;
	margin:0 auto;	
	width:calc(100% - 200px);	
	padding:0;
}

.map-table {
	/*position:relative;
	width:75vw;
	max-width:1100px;
	margin-top:15vh;
	padding:0;*/
	padding-top:100px;
	padding-bottom:200px;
}

.map-div-cell1 {
	width:calc(100% - 250px);
	vertical-align: top;
}

.map-div-cell2 {
	width:250px;
	vertical-align: middle;
	padding:0;
}

#map-box {
	position:relative;
	height:calc(100vh - 492px);
	width:100%;
	border:none;	
	top:0;
	color:#000;
}

#map-legends-wrap {
	position:relative;
	width:100%;
	margin:auto;
	margin-right:0;
}

ol.numbered-list {
/*  counter-reset: li;
  list-style-type: none;*/
/*  font-size: 14px;*/
  line-height: 18px;
  padding-left: 35px;
  margin-top:0;
}
ol.numbered-list li {
    position: relative;   
    padding: 5px 0 5px 15px;
	text-align: left;
}
ol.numbered-list li:before {
/*      content: counter(li);
      counter-increment: li;*/
      height: 20px;
      width: 20px;
      border-radius: 50%;
      color: #000;
      text-align: center;
      position: absolute;      
      left: 0;
      top: 4px;
}

/*ul#shopping-list.numbered-list li:before {
	background-color:#ec268f;
}

ul#dining-list.numbered-list li:before {
	background-color:#52658c;
}

ul#school-list.numbered-list li:before {
	background-color:#6e4d8b;
}

ul#entertainment-list.numbered-list li:before {
	background-color:#00a859;
}

ul#recreation-list.numbered-list li:before {
	background-color:#f58634;
}

ul#pets-list.numbered-list li:before {
	background-color:#0098da;
}*/

.clickable {
    cursor: pointer;
}

.showall {
/*  background-color: #777;*/
  color: #000;
  cursor: pointer;
  padding: 0;
  padding-bottom:20px;
  padding-bottom: 10px;
  margin-left: 30px;
  margin-bottom: 20px;
  width: 100%;
  border-bottom: 1px solid #000;
  text-align: left;
  outline: none;
/*  font-size: 0.9em;*/
  text-transform:uppercase;
  font-weight:bold;
}

.collapsible {
/*  background-color: #777;*/
  color: #000;
  cursor: pointer;
  padding: 0;
  padding-bottom:20px;
  padding-bottom: 10px;
  margin-left: 30px;
  margin-bottom: 20px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
/*  font-size: 0.9em;*/
  text-transform:uppercase;
  font-weight:bold;
}

.active, .collapsible:hover {
/*  background-color: #555;*/
}

.collapsible:before {
  content: '\002B';
  /*color: black;*/
  font-weight: bold;
  float: right;
  /*margin-right: 10px;*/
  height:20px;
}

.collapsible.active:before {
  content: "\2212";
}

.content {
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
/*  background-color: #f1f1f1;*/
}

.collapsible.shopping {
	color:#ec268f;
	border-bottom: 1px solid #ec268f;
}

.collapsible.dining {
	color:#52658c;
	border-bottom: 1px solid #52658c;
}

.collapsible.school {
	color:#6e4d8b;
	border-bottom: 1px solid #6e4d8b;
}

.collapsible.entertainment {
	color:#00a859;
	border-bottom: 1px solid #00a859;
}

.collapsible.recreation {
	color:#f58634;
	border-bottom: 1px solid #f58634;
}

.collapsible.pets {
	color:#0098da;
	border-bottom: 1px solid #0098da;
}

#map-legends-wrap div.panel {
    padding: 0 18px;
    background-color:transparent;
    max-height: 0;
	border:none;
    overflow: hidden;
    transition: 0.4s ease-in-out;
    opacity: 0;
    margin-bottom:10px;
	text-align: left;
	box-shadow: none;
}

#map-legends-wrap div.panel.show {
    opacity: 1;
    max-height: 1000px; /* Whatever you like, as long as its more than the height of the content (on all screen sizes) */
}

#map-legends-wrap div.panel.transit {
    display:none;
}

.floorplans-svg-wrap {
	position: relative;
	padding:50px;
	padding-left:25px;
    padding-top: 7vh;
}

/* SiteMap SVG css begins */
svg {
    overflow: hidden;
    vertical-align: middle;
}

.cls-11 {
	fill: #e13237;
	opacity:0;
	cursor: pointer;
	z-index: 999;
}

.cls-11:hover {
	opacity: 1;
}

.sitemap-n {
	position: absolute;
	z-index: 10;
}
/* SiteMap SVG css ends */

.floorplans-note {
	position: relative;
	text-align: right;
	padding-right:10vw;
	padding-bottom:50px;
}

.upper_colorbox {
	background-color:#e3f4fc;
	width:50px;
	height:50px;
	display:inline-block;
	border: 1px solid black;
}

.ground_colorbox {
	background-color:#4cd4ec;
	width:50px;
	height:50px;
	display:inline-block;
	border: 1px solid black;
}

.level-title-l, .level-title-r {
	display:inline-block;
	font-weight:bold;
	padding: 15px;
    height: 50px;
    vertical-align: top;
	font-size: 20px;
}

.level-title-l {
	padding-right:50px;
}

.floorplans-buttons-wrap {
	position: relative;
	padding-left:100px;
	padding-right:100px;
	/*width:calc(100vw - 200px);*/
	margin:0 auto;
	height:50vh;
}

.floorplan-button {
	width:50%;
	text-align: left;
	cursor: pointer;
	/*dding-bottom:25px;*/
}

.floorplan-button p {
	line-height:20px;
}

.floorplan-button-title {
	font-size: 30px;
	font-weight: bold;
	color:#953031;
}

.floorplan-button-spacer {
	width:50%;
	height:25px;
}

.floorplan-modal {
	position: absolute;	
	width:calc(100vw - 100px);
	/*height:calc(100vh - 200px);*/
	background-color:#fff;
	margin: 100px 50px;	
	opacity: 0;		
	transition: all 1.5s ease;
	z-index: 1001;
	top:0;
	left:100vw;
}

.floorplan-modal.show {
	opacity: 1;
	left:0;
}

.floorplan-modal-closebtn {
	position: absolute;
	top:50%;
	right:-50px;
	width:50px;
	height:50px;
	cursor: pointer;
	transform: translateY(-50%);
	background-image:url(../img/touch/buttons/close.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
}

.floorplans-slide {
	position: relative;
	height:100%;
	width: 100%;
}

.floorplan-slide-box {
	position: relative;
	height:calc(100vh - 200px);
	width: 100%;
}

.button-wrap {
	position: absolute;
	top:50%;
	right:0;
	transform: translateY(-50%);
}

.browse-btn {
	width:50px;
	height:50px;
	cursor: pointer;	
	background-image:url(../img/touch/buttons/browse.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	display: inline-block;
}

.browse-name {
	display:inline-block;
	font-weight:bold;
	padding: 15px;    
	padding-bottom:0;
    vertical-align: top;
	font-size: 20px;
	cursor: pointer;
	color:#E13237
}

img.header {
	padding-bottom:50px;
}

.dullhouse-box {
	position: relative;
	width:100%;
	height:calc((85vh - 250px) / 5);
}

.dullhouse-title {
	color: #E13237;
    width: auto;
    font-weight: bold;
    padding: 15px;
    padding-right: 50px;
    background-image: url(../img/touch/buttons/arrow_right_red.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 40px;
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
	cursor: pointer;
}

.dullhouse-title.active {
	background-image:none;
}

.dullhouse-box img {
	width:auto;
	height:75%;
	opacity:0.5;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	cursor: pointer;
	transition: all 1.5s ease;
}

.dullhouse-box img.show {
	opacity: 1;
	height:150%;
	z-index: -1;
}

.overlay-modal {
	position: absolute;	
	width:100vw;
	height:100vh;
	background-color:#000;
	opacity: 0;		
	transition: all 1.5s ease;
	/*z-index: 997;*/
	top:0;
}

.overlay-modal.show {
	opacity: 0.75;
	z-index: 1000;
}

.interior-kitchen-wrap {
	position: relative;
    margin-top: 150px;
}

.interior-pic-wrap {
	position: relative;	
	width:100%;	    
}

.interior-pic-wrap .amenities {
	width: 28vw;
    top: calc(28vw - 50px);
}

.interior-pic-wrap .bathroom, .interior-pic-wrap .amenities {
	left:calc(50% - 25px);
	position: absolute;
	transform: translateX(-100%);	
}

.interior-pic-wrap .bathroom {	
	width:35vw;
	top: -25px;
}

.interior-pic-wrap .dining {
	left:50%;
	top:calc(50% + 25px);
	position: absolute;
	width:35vw;
}

.features-wrap {
	position: absolute;
    height: 100vh;
    width: calc(100vw - 100px);
    top: 0;
    left: 100vw;
	transition: all 1.5s ease;
}

.features-wrap.show {
	left:100px;
}


.features-topspace {
	position: relative;
	height:227px;
}

.features-list {
	background-color: #fff;
	position:relative;
	/*height: calc(100vh - 327px);*/
}

.features-col1 {
	display:inline-block;
	padding:50px;
	padding-right:25px;
	padding-bottom: 20px;
	text-align: left;
	width:50%;
	font-size:14px;
	vertical-align: top;
}

.features-col2 {
	display:inline-block;
	padding:50px;
	padding-left:25px;
	padding-bottom: 20px;
	text-align: left;
	width:50%;
	font-size:14px;
	vertical-align: top;
}

.features-col1 h1, .features-col2 h1 {
	color:#E13237;
	font-size:16px;
	font-weight: bold;
	margin-top: 0;
	text-transform: uppercase;
}

.features-col1 ul li, .features-col2 ul li {
    margin-bottom: 5px;
}

#features-button {
	width: 50px;
    height: 200px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    color: #fff;
    position: absolute;
    top: 50%;
    left: -50px;
    transform: translateY(-50%);
    background-color: #953031;
    vertical-align: middle;
    padding-right: 10px;
    cursor: pointer;
    background-image: url(../img/touch/buttons/arrow_left.svg);
    background-repeat: no-repeat;
    background-position: -7px;
    background-size: 40px;
    text-align: center;
	font-size: 12px;
}

#features-button.active {
	background-image: url(../img/touch/buttons/arrow_right.svg);
	background-position: -10px;
}

.interior-kitchen-wrap .options-wrapping {
	position: absolute;
	top:45%;
	transform: translateY(-50%);
}

.bathroom .options-wrapping, .amenities .options-wrapping, .bathroom-white .options-wrapping, .bathroom-forest .options-wrapping {
	position: absolute;
	top:25px;
	left:0;	
}

.dining .options-wrapping, .dining-wood .options-wrapping, .dining-forest .options-wrapping {
	position: absolute;
	top:25px;
	right:0;	
}

.material-name {
	background-color: #fff;
    padding: 5px 10px;

    color: #666;
    display: inline-block;
    font-size: 14px;
	min-width:64px;
}

.alt-color {
	background-color: #666;
    color: #fff;
    padding: 5px;
    padding-right: 25px;
	padding-left:10px;
    background-image: url(../img/touch/buttons/arrow_right.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 28px;
    text-align: center;
    display: inline-block;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
}

.feature-circle {
	width: 15px;
	height: 15px;
	border-radius: 50%;	
	color: #fff;
	line-height: 15px;
	text-align: center;
	/*background: #E13237;
	border:2px solid #fff;*/
	position:absolute;
	cursor: pointer;
	background-image: url(../img/touch/interiors/red_dot.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 55%;
    padding: 15px;
    transform: translate(-7.5px, -7.5px);
}

.feature-circle + .tooltip > .tooltip-inner {background-color: #E13237;}
.feature-circle + .tooltip > .tooltip-arrow { border-bottom-color:#E13237; }

.zoom-circle {
	width: 25px;
	height: 25px;
	border-radius: 50%;	
	color: #fff;
	line-height: 25px;
	text-align: center;
	position:absolute;
	cursor: pointer;
	background-image: url(../img/touch/interiors/zoom_in.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.zoom-img {
	cursor: pointer;
}

.bathroom .zoom-circle {
	bottom:10px;
	left:10px;
}

.dining .zoom-circle {
	bottom:10px;
	left:10px;
}

.amenities .zoom-circle {
	bottom:10px;
	left:10px;
}

.interiors-modal {
	position: absolute;	
	width:calc(100vw - 100px);	
	/*background-color:#fff;*/
	margin: 100px 50px;	
	opacity: 0;		
	transition: all 1.5s ease;
	z-index: 1001;
	top:50%;
	left:100vw;
	transform: translateY(-50%);
}

.interiors-modal.show {
	opacity: 1;
	left:0;
}

.interiors-modal-closebtn {
	position: absolute;
	top:50%;
	right:-50px;
	width:50px;
	height:50px;
	cursor: pointer;
	transform: translateY(-50%);
	background-image:url(../img/touch/buttons/close.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
}

.interiors-arrow-nav {
	position: absolute;
	left:50%;
	bottom:-60px;
	transform: translateX(-50%);	
}

.interiors-arrow-nav .prev {
	display: inline-block;
	width:40px;
	height:40px;
	margin-right:50px;
	background-image:url(../img/touch/buttons/arrow_left.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	cursor: pointer;
}

.interiors-arrow-nav .next {
	display: inline-block;
	width:40px;
	height:40px;
	margin-left:50px;
	background-image:url(../img/touch/buttons/arrow_right.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	cursor: pointer;
}

.interiors-slide {
	position: relative;	
	width: 100%;
	vertical-align: middle;
}

.interiors-slide-box {
	position: relative;	
	width: 100%;
	vertical-align: middle;
}

.interiors-slide-box img {
	margin: 0 auto;
}

.interiors-slide-box img.portrait {
	max-height: 1200px;
	width:auto;
}

.gallery-container { 
	position: relative;
    margin: 0 50px;
    width: calc(100% - 100px);
    margin-top: 50px;
    height: calc(100vh - 227px);
    overflow: hidden;
}

.gallery-wrap {
	/*position: absolute;
	top:0;*/
}

.gallery-wrap .col1 {
	display:inline-block;
	width:calc(50% - 7px);
	margin-right:7px;
	vertical-align: top;
}

.gallery-wrap .col2 {
	display:inline-block;
	width:calc(50% - 7px);
	margin-left:7px;
	vertical-align: top;
}

.gallery-wrap img.bottom-margin {
	margin-bottom:14px;
}

.gallery-img {
	cursor: pointer;
}

.gallery-modal {
	position: absolute;	
	width:calc(100vw - 100px);	
	/*background-color:#fff;*/
	margin: 100px 50px;	
	opacity: 0;		
	transition: all 1.5s ease;
	z-index: 1001;
	top:50%;
	left:100vw;
	transform: translateY(-50%);
}

.gallery-modal.show {
	opacity: 1;
	left:0;
}

.gallery-modal-closebtn {
	position: absolute;
	top:50%;
	right:-50px;
	width:50px;
	height:50px;
	cursor: pointer;
	transform: translateY(-50%);
	background-image:url(../img/touch/buttons/close.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
}

.gallery-arrow-nav {
	position: absolute;
	left:50%;
	bottom:-60px;
	transform: translateX(-50%);	
}

.gallery-arrow-nav .prev {
	display: inline-block;
	width:40px;
	height:40px;
	margin-right:50px;
	background-image:url(../img/touch/buttons/arrow_left.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	cursor: pointer;
}

.gallery-arrow-nav .next {
	display: inline-block;
	width:40px;
	height:40px;
	margin-left:50px;
	background-image:url(../img/touch/buttons/arrow_right.svg);
	background-repeat:no-repeat;
	background-size:100%;
	background-position:center;
	cursor: pointer;
}

.gallery-slide {
	position: relative;	
	width: 100%;
	vertical-align: middle;
}

.gallery-slide-box {
	position: relative;	
	width: 100%;
	vertical-align: middle;
}

.gallery-slide-box img {
	margin:0 auto;
}

.gallery-slide-box img.portrait {
	max-height: 1200px;
	width:auto;
}

.slick-vertical .slick-slide {
	border:none;
}