

/* directory nav */

.directory-sub-nav { 
  width:100%; 
  text-align: 
  center; padding:20px 24px; 
}
.directory-sub-nav a { 
  white-space: nowrap; 
  font-family:'Steelfish'; 
  letter-spacing:0.5px; 
  font-weight:400; 
  text-transform:uppercase; 
  font-size:25px; 
  line-height:42px; 
  margin:0 8px; 
  color: var(--cms-black); 
  transition: color .3s; 
  text-decoration:none;
}
.directory-sub-nav a.selected { color:var(--cms-camel); }
.directory-sub-nav a:hover { color:var(--cms-camel); }

@media all and (min-width: 768px) {
	.directory-sub-nav { padding:30px 24px; }
	.directory-sub-nav a { font-size:40px; line-height:64px; margin:0 16px; }
}



/* lsa cards */

.lsa { width:100%; height:100%; padding:0; }
.lsa a { display:block; width:100%; height:100%; background-color:white; text-decoration:none; }

.lsa-image { position:relative; width:100%; padding-bottom:84%; overflow:hidden; background-color:#fafafa; }
.lsa-image-image { position:absolute; width:100%; height:100%; background-position:center center; background-size:cover; transition: all .4s ease-in-out;}
.lsa-image-cover { position:absolute; width:100%; height:100%; }

.lsa-label { position:relative; width:100%; padding:20px 20px; }
.lsa-label-marker { text-align:center;}
.lsa-label-marker img { width:24px; height:auto; margin:0 auto; }
.lsa-label-hood { text-align:center; font-family:'Steelfish'; font-weight:400; text-transform:uppercase; font-size:21px; line-height:24px; letter-spacing:1px; margin:12px 0px;}
.lsa-label-address { text-align:center; font-family:'Steelfish'; font-weight:400; text-transform:uppercase; font-size:21px; line-height:24px; letter-spacing:1px; margin:12px 0px;}
.lsa-label-head { text-align:center; font-weight:700; text-transform:uppercase; letter-spacing:0.050rem; font-size:27px; line-height:29px; margin:30px 0px;}
.lsa-label-subtext { text-align:center; font-weight:400; margin:-20px 0px -10px 0; font-size:15px; line-height:1.5; }
.lsa-label-subhead { text-align:center; font-weight:700; text-transform:uppercase; font-size:14px; line-height:16px; margin:6px 0px;}
.lsa a:hover .lsa-image-image { transform: scale(1.05);}

.lsa-label-marker-svg { text-align:center; }
.svg-marker-24 { display:inline-block; width:24px; height:32px; }
.svg-marker-gray { fill:#444444; }
.svg-marker-red { fill:#EB5654; }
.svg-marker-gold { fill:#f8a03e; }
.svg-marker-green { fill:#758f5e; }
.svg-marker-blue { fill:#50949d; }
.svg-marker-navy { fill:#133b4a; }




/* directory all */

.directory-outer { width:100%; }
.directory-outer { margin:3px; background-color:white; }

#letterindexplace { width:100%; }
#letterindex {
  padding: 0;
  margin: 0;
  list-style: none;
  float: left;
}
#letterindex li {
  list-style-type: none;
  float: left;
  display: block;
  background-color: #fff;
  border:1px solid #fafafa;
  padding: 10px;
  margin: 0px;
  cursor: pointer;
  font-weight: 700;
  letter-spacing:0.050rem;
  color:var(--cms-camel);
}

#letterindex li:hover { color:var(--cms-camel) }

.lsa-line { display:block; border-top:1px solid #fafafa; padding:10px 0px; }
.lsa-line-name { display:block; padding:0px 10px; color:var(--cms-camel); font-weight:500; font-size:18px; line-height:24px; }
.lsa-line-address { display:block; padding:0px 10px; color:var(--cms-black); font-weight:400; font-size:15px; line-height:24px; }
@media all and (min-width: 768px) {
	.lsa-line { display:table; width:100%; border:none; padding:0px; }
	.lsa-line-name { display:table-cell; width:50%; vertical-align:top; border-top:1px solid #eee; padding:12px 20px; }
	.lsa-line-address { display:table-cell; width:50%; vertical-align:top; border-top:1px solid #eee; padding:12px 20px; }
}



/* point-section */

#point-section #clmap { width:100%; height:80vh; min-height:200px; max-height:800px; background-color:#E6E4E0; border-top:1px solid #eee; border-bottom:1px solid #eee; }


.point-section-results { margin:30px 0px; }

.pst { margin-bottom:24px; }
.pst-topline { border-top:1px solid #eee; padding-top:8px; }
.pst a { display:block; }

.pst a .pst-image { position:relative; width:100%; padding-bottom:66.66%; background-color:#eee; margin-bottom:12px; }
.pst a .pst-image-bg { position:absolute; top:0; width:100%; height:100%; background-position:center center; background-size:cover; }
.pst a .pst-image-cover { position:absolute; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0.1); transition: all .5s;}
.pst a:hover .pst-image-cover { background-color:rgba(0,0,0,0.5);  }


/* point section sticky */

.sticky-wrap { background-color:#fafafa; }
.sticky-hold { display:block; }
.sticky-content { width:100%; background-color:white; padding:40px; min-height:100px; }
.sticky-map { width:100%; height:90vh; min-height:420px; background-color:#E8E0D8; }
#stickymap { width:100%; height:90vh; background-color:#E8E0D8; }
@media all and (min-width: 768px) {
	.sticky-hold { display:flex; width:100%; max-width:1600px; margin:0 auto; min-height:100vh; }
	.sticky-content { width:40%; height:auto; }
	.sticky-map { width:60%; height:auto; }
	#stickymap { width:100%; height:100vh; top:0px; position: sticky; position: -webkit-sticky; /* need for safari */ }
}


/* point section stacky */

.stacky-wrap { width:100%; }
.stacky-hold { display:block; }
.stacky-content { width:100%; padding:24px; min-height:100px; }
.stacky-map { width:100%; height:70vh; min-height:420px; background-color:#E8E0D8; }
#stackymap { width:100%; height:70vh; background-color:#E8E0D8; }
@media all and (min-width: 992px) {
	.stacky-hold { display:flex; flex-direction:row; width:100%; max-width:1600px; margin:0 auto; height:900px; }
  .stacky-hold { overflow:hidden; }
	.stacky-content { width:40%; padding:16px; height:auto; overflow-y: scroll; }
	.stacky-map { width:60%; height:900px; }
	#stackymap { width:100%; height:900px; top:0px; }
}
@media all and (min-width: 1200px) {
	.stacky-wrap { padding:24px 24px 24px 8px; }
	.stacky-content { width:600px; }
	.stacky-map { width:calc(100% - 600px); }
}

.stackycard { 
  position:relative; 
  display:flex; 
  width:100%; 
  overflow:hidden; 
  margin-top:1rem; 
  background-color:white; 
  color:black; 
  border:0;
}
.stackycard-content { width:calc(100% - 160px); min-height:160px; padding:1rem; display:flex; flex-direction: column; justify-content: center; }
.stackycard-image { width:160px; height:inherit; background:var(--bg-charcoal); }

.stackycard-map-link { position:absolute; top:0px; right:0px; background:var(--bg-charcoal); height:auto; }
.stackycard-map-link button { float:right; }
@media all and (min-width: 1500px) {
	.stackycard-content { width:calc(100% - 220px); min-height:180px; padding:1.5rem; }
	.stackycard-image { width:220px; }
  .stacky-content { width:700px; }
	.stacky-map { width:calc(100% - 700px); }
}

.stackycard-image a { display:block; width:100%; height:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; }

.stackycard-subhead { font-size:0.6rem; line-height:1.2; 
	text-transform:uppercase; letter-spacing:0.050rem; margin-bottom:0.5rem; text-wrap:balance; }
.stackycard-headline { font-size:1.2rem; line-height:1.2; margin-bottom:0.5rem; text-wrap:balance; }
.stackycard-text { font-size:0.8rem; line-height:1.3; margin-bottom:0.5rem; text-wrap:balance; }

@media all and (min-width: 1200px) {
  .stackycard-subhead { font-size:0.8rem; }
  .stackycard-headline { font-size:1.6rem; }
  .stackycard-text { font-size:0.9rem;  }
  .stackycard-subhead { width:calc(100% - 60px); }
}

.btn-map-it { 
  display:inline-block;
  background-color:var(--cty-alink); 
  border:0px solid var(--cty-alink);  
  color:white; 
  font-size:13px; line-height:30px; font-weight:600; text-transform:uppercase; letter-spacing:0.010rem; 
  border-radius:0px; 
  border:0; 
  margin: 0; 
  padding: 0 10px; 
  transition:var(--cty-transition-hover);  
  text-decoration:none; 
}
.btn-map-it:hover {  
  background-color:var(--cty-ahover); 
  border-color:var(--cty-ahover); 
  color:white; 
  text-decoration:none; 
}



/* point-detail */

#point-detail #clmap { width:100%; height:50vh; min-height:150px; max-height:500px; background-color:#fff; }

.point-social-icons { margin:24px 0; text-align:left;}
.point-social-icons a { display:inline-block; width:30px; height:30px; font-size:15px; line-height:30px; border-radius:50%; text-align:center; margin:0 12px 0 0; }
.point-social-icons a { text-decoration:none; color:white; background-color:var(--cms-camel); border:none; transition: all 0.15s linear 0s;}
.point-social-icons a:hover { color:white; background-color:var(--cms-camel); }


/* find the nearest */

.ftn { text-align:left; }
.ftn ul { margin:0; padding:0; }
.ftn li { list-style-type: none; padding:0.5rem 0; margin:0; border-bottom: 1px solid #eee6e8; }
.ftn li a { color:var(--cms-camel); }
.ftn li:last-child { border-bottom:0; }
.ftnname { display:block; font-size:0.9rem; }
.ftnaddress { font-size:0.8rem; color:inherit; }
.ftndistance { font-size:0.8rem; color:inherit; }


/* event-detail */

ul.datelist { list-style-type: none; padding-left:0; margin-left:0; }
ul.datelist li { margin-bottom:6px; }
ul.datelist li .dldate { color:inherit; }
ul.datelist li .dltime { color:#666; }




/* meeting calendar */

:root {
	--cty-meetingsbg-100: #fafafa; /* blank dates */
	--cty-meetingsbg-200: #f4f4f4;
	--cty-meetingsbg-300: #eaeaea;
}

.bcal { margin-top:2rem; }
.bcal-header { width:100%; background-color:var(--cty-meetingsbg-300); padding: 0.5rem; border:1px solid white; font-size:1.1rem; font-weight:700; }
.bcal-header-prev { display:inline-block; padding: 0.5rem; }
.bcal-header-current { display:inline-block; padding: 0.5rem; }
.bcal-header-next { display:inline-block; padding: 0.5rem; }
.bcal-row { width:100%; }
.bcal-cell { width:100%; background-color:var(--cty-meetingsbg-200); border:1px solid white; font-size:16px; }
.bcal-cell span { display:block; padding:6px 12px; background-color:var(--cty-meetingsbg-300); font-weight:700; }
.bcal-cell ul { padding:6px 12px; margin:0; }
.bcal-cell ul li { padding:0; margin:0 0 8px 16px; }
.bcal-cell-blank { display:none; background-color: var(--cty-meetingsbg-100); }
.bcal-cell-empty { display:none; }
@media all and (min-width: 992px) {
  .bcal-cell-blank { display:table-cell; }
  .bcal-cell-empty { display:table-cell; }
  .bcal-header { text-align:center; border-bottom:2px; }
  .bcal-row { display:table; width:100%; }
  .bcal-cell { display:table-cell; width:14.3%; height:100px; vertical-align:top; }
  .bcal-cell ul li { font-size:15px;}
}




/* History Tour */


#history-point-section #clmap {
  width: 100%;
  height: 60vh;
  min-height: 100px;
  max-height: 600px;
  background-color: #E6E4E0;
}

.wtt-cell { width:100%; height:100%; background-color:#939393; }
.wtt a { width:100%; display:block; height:100%; background-color:#939393; text-decoration:none;  }
.wtt-image { position:relative; width:100%; padding-bottom:84%; overflow:hidden;}
.wtt-image-image { position:absolute; width:100%; height:100%; background-position:center center; background-size:cover; transition: all .4s ease-in-out;}
.wtt-image-cover { position:absolute; width:100%; height:100%; }
.wtt-label { position:relative; width:100%; padding:0px 24px 20px 24px; }

.wtt-label-digit { text-align:center; margin-top:-45px; }
.wtt-label-digit > span { display:inline-block; background-color:var(--cms-camel); width:90px; height:90px; border-radius: 50%; border:6px solid #fff; font-size:36px; line-height:80px; color:#fff; text-align:center; transition: all .3s ease-in-out;}

.wtt-label-head { text-align:center; font-weight:700; font-size:27px; line-height:29px; color: #fff; margin:30px 0px 15px 0px;}
.wtt-label-subhead { text-align:center; font-weight:400; font-size:21px; line-height:27px; color: #fff; margin:6px 0px;}
.wtt a:hover .wtt-image-image { transform: scale(1.05);}
.wtt a:hover .wtt-label-digit > span { background-color:var(--cms-camel);}

.tour-tools-wrap { background-color:#B66E4F; padding:12px 24px; text-align:center;}



/* Guide Map */

/* NOTE: We use the browser's smooth scroll behavior only if the user has indicated no motion preferences */

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

.storymap-container {
  margin: 0px auto;
  width: 100%;
  max-width:1400px;
  box-shadow: 0px 0px 8px 0px rgba(158,158,188,0.15);
}

.storymap-hold {
	border: 2px solid #fff;
	background-color: #ffffff;
}
.storymap-map {
	width: 100%;
	height: 500px;
}
.storymap-content {
	width: 100%;
	min-height: 100px;
	padding: 24px;
}
#perfect-day-map {
	width: 100%;
	height: 500px;
	background-color: #e8e0d8;
}
@media all and (min-width: 998px) {
	.storymap-hold {
		display: flex;
		/* flex-direction: row-reverse; */
		width: 100%;
		height: 904px;
	}
	.storymap-map {
		width: 55%;
		height: auto;
	}
	.storymap-content {
		width: 45%;
		height: auto;
		padding: 40px;
    overflow-y: scroll;
	}
	#perfect-day-map {
		width: 100%;
		height: 900px;
		top: 0px;
		position: sticky;
		position: -webkit-sticky; /* need for safari */
	}
}

/* table styles */

.perfecttable {
	margin: 0px 0 20px 0px;
}
.perfecttable tr {
	/* NOTE: Scroll-margin-top applies a slight vertical offset to the cards when clicking on a map icon to set the side postion */
	scroll-margin-top: 50px;
	vertical-align: top;
	z-index: 1;
}

.perfecttable td { padding-bottom:50px; }

.perfect-card { width:100%; }
.perfect-card-image { position:relative; padding-top:15px;}
.perfect-card-image-image { width:100%; padding-bottom:66%; background-size:cover; background-position:center center; }
.perfect-card-caption { font-size:14px; line-height:1.5; margin-top:6px; font-style:italic; color:var(--cms-black); }
.perfect-card-image-num { position:absolute; top:0px; left:24px; width:30px; height:30px; background-color:var(--cms-black); color:white; border-radius:15px; 
  text-align:center; font-size:16px; line-height:30px; font-weight:700; }
.perfect-card-content { padding-top:20px; }
.perfect-card-content-title { font-family:'Steelfish'; font-weight:400; color:var(--cms-black); font-size: 1.4rem; text-transform:uppercase; margin-top:1.35rem; margin-bottom: 0.5rem;
 font-size:32px; line-height:1.25; text-wrap:balance; }
.perfect-card-content-facts { font-weight: 600;}
.perfect-card-content-body p { margin-top:1rem; font-size:16px; }