/*please roll this into main.css if this ever makes it to live*/
/*also run though a prefixer!*/

.hide-desktop{
	display: none;
}
.desktop-only{
	display: block;
}

/**page layout**/
.filter-main{
	background-color: #f1f1f2;
}

.orientation-wrap  {
	display: flex;
	flex-wrap:wrap;
}

.orientation-wrap .page-segment {
	flex-basis: 100%;
}

.filter-info{
	background-color: #ffffff;
}

.filter-main--vertical .filter-info{
	flex-basis: 30%;
	background-color: #f1f1f2;
}


.filter-main--vertical #filterControls .l-filter-container{
	width: 280px;
	margin: 0;
	background-color: #ffffff;
}
@media screen and (max-width:930px) {.filter-main--vertical #filterControls .l-filter-container{width: 100%;}}

.filter-main--vertical .filter-body{
	margin-top:53px;
	flex-basis: 70%
}


.filter-main--vertical .cp-room-tile{
	flex-basis: 50%;
	max-width400px;
}

.filter-main--vertical .pageNav{
	min-height: 25px;
	max-width: 805px;
	margin: 0 auto;
	padding: 0
}

.filter-main--vertical .pagination{
	padding: 0;
}
.filter-main--vertical .pagination-page-count, .filter-main--vertical .pagination-pages{
	flex-grow: 1;
}
.filter-main--vertical .pagination-results{
	flex-grow: 20;
    padding-left: 10px;
    border-left: 1px solid #003a57;
}

.filter-main--vertical .pagination-pages{
	text-align: right;
}

.filter-main--vertical .results-grid{
	justify-content: space-between;
	max-width: 830px;
}

/*** Filter Controls *****/

#filterControls{
	max-width: 1200px;
	margin:0 auto;
}

#filterControls .l-filter-container{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#filterControls .l-filter-buttons{
	flex-basis:100%;
	display:flex;
	justify-content:center;
}


.filter-main--vertical  #filterControls .l-filter-buttons{
	order:0;
	justify-content: flex-start;
	background-color: #f1f1f2;

	
}

.filter-group{
	flex-basis:20%;
	flex-grow:1;
	margin:0;
}


.filter-main--vertical .filter-group{
	flex-basis:100%;
	order:1;
}

.filter-group-toggle{
	width:100%;
	padding:20px;
	position: relative;
	margin-bottom:24px;
}

.filter-main--vertical .filter-group-toggle: {
	border-bottom: 1px dotted #003a57;
}

.filter-group-toggle:after{
	font-family: 'icomoon' !important;
	font-weight: bold;
    transition: 0.5s;
    font-size: 1rem;
    background-color: transparent;
    position: absolute;
    content: '\e902';
    right: 20px;
    top: 50%;
    transform: translatey(-50%) rotate(180deg);
}

.is-open .filter-group-toggle:after{
	transform: translatey(-50%) rotate(0deg);
}

.filter-group-toggle-border{
	border: 1px solid #003a57;
	transition:0.3s;
}
.filter-main--vertical .filter-group-toggle-border{
	display: none;
}



.is-open .filter-group-toggle-border{
	height: 1px;
}

.filter-group .filter-group-toggle:focus{
	/*outline:none;
	box-shadow: 0 0 8px 2px rgb(0, 175, 165) inset;*/
}


.filter-group.is-open .filter-group-toggle{
	/*border:0;*/
}

.filter-group-toggle legend{font-family: 'univers_57_condensedregular', Arial, sans-serif; font-size:18px; letter-spacing:0.05em; color: #003a57}

#filterControls fieldset{
	margin: 0 4px;
}

#filterControls .filter-group-field-wrap{
	display: flex;
    flex-direction: column;
	transition:0.5s;
	height:auto;
	max-height:0;
	overflow:hidden;

}

#filterControls .filter-group.is-open .filter-group-field-wrap{
	height: 300px ; /* need this for IE will need to be updated if the amount of content changes  :( */
	max-height:300px;
}

#filterControls label{
	position:relative;
	line-height:30px;
	padding-left:10px;
	text-indent: 30px;
	font-family: 'univers_57_condensedregular', Arial, sans-serif; 
	font-size:14px; 
	letter-spacing:0.05em; 
	color: #7d7d7d;
	visibility:hidden;
	flex-basis:auto;
}

#filterControls .filter-group.is-open label{
	visibility:visible;
}

#filterControls .filter-group.is-open label:focus{ background-color:red}

#filterControls input[type=radio],#filterControls input[type=checkbox]{
	position: absolute;
	opacity:0;
}

#filterControls label:before{
	position:absolute;
	display:block;
	content:' ';
	width: 18px;
	height:18px;
	left:10px;
	border: 1px solid #7d7d7d;
}

#filterControls label.has-focus:before{
	box-shadow: 0 0 1px 1px rgb(0, 175, 165) inset;
}

#filterControls label:after{
	position:absolute;
	display:block;
	content:' ';
	width: 12px;
	height:12px;
	left:14px;
	top:4px;
	background-color:#00a69c;
	transition: 0.3s;
	opacity:0;
}


#filterControls label.is-selected:after{
	opacity:1
}

#filterControls label.disabled{
	    opacity: 0.25;
}

.active-filters{
	width:100%;
	background-color: #f1f1f2;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	padding:10px;
}

.active-filters.hide-desktop{
	display: none;
}

.filter-main--vertical .active-filters{
	min-height:84px;
	justify-content: flex-start;
}

.active-filters .active-filter-button{
	background-color:#ffffff;
	color:#7d7d7d;
	border:1px solid #7d7d7d;
	font-size:14px;
	text-transform: capitalize;
	margin:10px;
	padding: 12px 60px 12px 12px;
	position: relative;
	font-family: 'univers_57_condensedregular', Arial, sans-serif;
}

.filter-main--vertical .active-filters .active-filter-button{

}

.active-filters .active-filter-button:after{
	font-family: icomoon!important;
	position:absolute;
	content:'\e909';
	font-size: 16px;
	top:50%;
	right: 16px;
	transform: translateY(-50%);
}

.l-filter-buttons{
	transition: 0.3s;
	overflow: hidden;
}
.filter-main--vertical .l-filter-buttons{
	max-height: 100px;
}
.l-filter-buttons.is-visible{
	max-height: 100px;
}

.l-filter-buttons .cp-hhv-cta.h-text-button{
	font-family: 'univers_57_condensedregular', Arial, sans-serif; font-size:18px; letter-spacing:0.05em; color:#61b4e4; text-transform: capitalize; opacity: 0; visibility: hidden; transition: 0.3s; padding: 16px 0; text-decoration: underline;
}

.l-filter-buttons.is-visible .cp-hhv-cta.h-text-button{
	opacity: 1; visibility: visible; 
}

/*******Default template overrides*********/
.template-70 #page-intro{ border-bottom:0}
.template-70 #page-intro.bg-light-pattern{background:none}
.template-70 #page-intro .left-column {width:100%}
.template-70  .subpage-section-inner {width: 100%; max-width: 1680px; display: flex; flex-wrap: wrap;}
.template-70  .filter-main--vertical .subpage-section-inner {max-width: 1200px;}
.template-70 #page-intro .breadcrumb {line-height: 70px ; width: 100%;line-height: 70px;max-width: 1200px;margin: 0 auto;}

#results{
	background-color:#f1f1f2;
}
.filter-main--vertical #results{
}


/***Pagination***/
.pagination{display:flex; justify-content:space-between;width:100%; max-width:1220px; padding:0 15px;font-family: 'univers_57_condensedregular', Arial, sans-serif; font-size:18px; letter-spacing:0.05em;color: #003a57; margin:0 auto; flex-wrap: wrap;}
.pagination-pages, .pagination-link{font-family: 'univers_57_condensedregular', Arial, sans-serif; font-size:18px; letter-spacing:0.05em; color:#003a57}



/*****Page Content*****/
.full-width-bg--breadcrumbs{
	background-color: #ffffff;
	height: 70px;
}

.filter-info .filter-page-title {margin:0; text-align:center; font-family: 'univers_57_condensedregular', Arial, sans-serif; font-size:36px; letter-spacing:0.05em; line-height:42px; color: #003a57}
.filter-main--vertical .filter-info  .filter-page-title { text-align:left; max-width: 280px;}
.filter-main--vertical .filter-info  .filter-page-title p {margin-bottom: 0}


.l-tower-info{
	position: fixed;
    width: 100%;
    height: 100%;
    background: red;
    z-index: 101;
    background-color: rgba(0,0,0,0.5);
    left: 0;
    top: 0;
    display: none;
    visibility: hidden;
    justify-content: center;
    align-items: center;
}

.l-tower-info__description{
	opacity: 0;
	transition:0.5s;
	background-color: #ffffff;
	color: #000000;
	padding:16px;
	width:50%;
	min-width:300px;
	position: absolute;
}
.l-tower-info.active .l-tower-info__description.active{
	opacity: 1;
}

.l-tower-info.active{
	display: flex;
    visibility: visible;
}



.results-grid{
	display: flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	width:100%;
	max-width:1220px;
	margin:0 auto;
}
.cp-room-tile{ max-width:420px; flex-basis:33.33%; margin:10px 0;  }
.cp-room-tile__inner-wrapper{margin:0 10px; background-color:#ffffff; height:100%; padding-bottom:70px; position:relative;display:flex; flex-direction:column;} 
.cp-room-tile__inner-wrapper >*{position:relative}
.cp-room-tile__img-wrapper{  width:100%; position: relative; order:0}
.cp-room-tile__img-wrapper .room-slideshow img{width:100%; vertical-align: middle;}
.cp-room-tile__img-overlay {}
.cp-room-tile__360{position:absolute; left:10px; bottom:24px; left:32px; z-index: 100;	background-color: transparent; border: 0;    	cursor: pointer;	width:47px;	height: 30px;	padding: 0	; text-decoration: none;}

.cp-room-tile__content-wrapper{padding:25px; order:1;}

.cp-room-tile__360 span{
		color:#ffffff;
		font-size:32px;
}
.cp-room-tile__header{
	font-family: 'universBold', Arial, sans-serif; 
	color:#003a57;

}


.cp-room-tile__content {
	font-family: 'univers_55regular', Arial, sans-serif;  letter-spacing:0.05em; color:#003a57;
}

.cp-room-tile__content a{
	font-family: 'univers_55regular', Arial, sans-serif;  letter-spacing:0.05em; color:#003a57;
}
.cp-room-tile__controls{
	width: 100%;
    height: 44px;
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 16px;
}

.cp-room-tile__control{
    background-color: #ffffff;
    border: 0;
    cursor: pointer;
    width: 28px;
    height: 52px;
    padding: 6px;
}

.cp-room-tile__control--next{
	transform: rotate(180deg);
}

.cp-room-tile__control svg{
	width:100%;
	height: 100%
}

.cp-room-tile__pager{
	width: 100%	;
	height:30px;
	position: absolute;
	bottom:16px;
	left: 0;
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cp-room-tile__pager button{
	width: 11px;
	height: 11px;
	background-color: #ffffff;
	opacity: 0.5;
	color: transparent;
	margin: 2px	;
	transition: 0.3s;
	border:0;
	padding: 0;
}

.cp-room-tile__pager button.cycle-pager-active{
	opacity: 1;
}

.cp-room-tile__buttons{
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 0;
	position:absolute;
	bottom:20px;
	left:0;
	order:2;
}

.cp-room-tile .button{
    background-color: #F57038;
    border-radius: 0;
    text-transform: uppercase;
    min-width: 150px;
    margin: 0 5px;
    padding: .9em;
    font-family: 'universbold', Arial, sans-serif;
    letter-spacing: .0;
}

.cp-room-tile .button:hover, .cp-room-tile .button:focus {
	opacity: 0.8;
}

.l-filter-bottom{
	display: flex;
    height: 160px;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 1024px){
		.hide-desktop{
		display: block;
	}
	.active-filters.hide-desktop{
		display: flex;
	}
	.desktop-only{
		display: none;
	}
	.active-filters{ justify-content: flex-start;}
	.active-filters .active-filter-button{margin-left: 0;}
	.filter-main--vertical .filter-info  .filter-page-title {
		max-width: none
	}
	.filter-group{
		flex-basis:100%;
	}
	.filter-main--vertical .filter-body{
		flex-basis: 100%;
	}

	.filter-main--vertical .filter-info{
		flex-basis: 100%;
	}
	.filter-info{
		display: flex;
		flex-wrap: wrap;
		background-color: #f1f1f2;
	}
	.filter-page-title{
		flex-basis: 40%;
		background-color: #f1f1f2;
	}
	.filter-page-title p {
		text-align: left;
		max-width: 300px;
		margin-bottom: 0;
	}

	.filter-info .active-filters{
		flex-basis: 60%;
		background-color: #f1f1f2;
		justify-content: flex-start;
	}


	.filter-info .clear-container{
		background-color: #f1f1f2;
		flex-basis: 40%;
	}
	#mobile-pagination{
		flex-basis:60%;
		background-color: #f1f1f2;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	#mobile-pagination .pagination {
		justify-content: flex-end;
	}
		#mobile-pagination .pagination > *{
		padding: 0 8px;
		font-weight: bold
	}

	#mobile-pagination .pagination-page-count {
		border-right: 1px solid #003a57;
	}

	#mobile-pagination .pageNav {
		background-color: #f1f1f2;
	}
		#mobile-pagination .pagination-pages{
		display: none;
	}

	.l-filter-container{
		
	}

	#filterControls{
		background-color: #fff;
		margin:50px 0 0;
	}

	.filter-group.is-open .filter-group-field-wrap{

	/*	border-bottom: 1px dotted #003a57;*/
	}

	.filter-group:not(:nth-child(4)) {
		border-bottom: 1px dotted #003a57;
	}
	.filter-group-toggle-border{
		border: 0;
	}
	 #filterControls .l-filter-buttons{background-color: #f1f1f2;}

	 .cp-room-tile {
	 	flex-basis: 50%;
	 	max-width: none;
	 }

	 .filter-main--vertical #filterControls .l-filter-container{
	 	width: 100%
	 }
}

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

	.filter-page-title{
		flex-basis: 100%;
		order: 0
	}
	.filter-info .active-filters{
		flex-basis: 100%;
		order: 2;
		padding: 0;
	}
	.filter-info .active-filters .active-filter-button {
		margin-left: 0;

	}
	.filter-info .clear-container{
		flex-basis: 100%;
		order: 1;
	}
	#mobile-pagination{
		flex-basis:100%;
		order: 3;
		justify-content: center;
    	margin: 20px 0;
	}
	#mobile-pagination .pagination {
		justify-content: flex-end;
		font-size: 16px;
	}
			 #filterControls{
	 	order:4;
	 }

	#mobile-pagination .pagination-page-count {
		border-right: 1px solid #003a57;
	}
	 .cp-room-tile {
	 	flex-basis: 100%;
	 }
}
@media screen and (max-width: 425px){
	main.filter-main {
	    margin-top: 0;
	}
}

.tower-info-dialog {
  background-color: #ffffff;
  padding:20px;
  position: fixed;
  top: 50%;
  display : none;
  z-index :250;
  	border:none;
	max-width: 800px;
	left: 50%;
	transform: translate(-50%, -50%); 
}

.tower-info-dialog.open {
	display : block;
}


.tower-info-dialog__blackdrop {
	position:fixed;
	width:100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	pointer-events: none;
	display: none;
	z-index : 200;
}
.tower-info-dialog__blackdrop--open{
	display: block;
}




/***** Dialog override s******/
dialog + .backdrop, dialog::backdrop {
	background: rgba(0,0,0,0.6);
}


.tower-info-dialog button{
	background: none;
	border: none;
	position: absolute;
	top:10px;
	right:10px;
}



@media screen and (max-width: 768px){
	dialog,  dialog.fixed{
		max-width: 300px;
	}
}