body,html {
  height:100%;
  font-family: 'Roboto', sans-serif;
  background-color:#222222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

#page-wrap {
  position:relative;
  width:100%;
  background-color:#ffffff;
  color:#111111;
  border-top:4px solid #333e48;
}

#page-header { }

#page-content { }


/* alert box */

.alert-wrap { background-color:#cc3300; color:#fff; }
.alert-hold { display: table; width: 100%; }
.alert-prefix { display:table-cell; vertical-align: top; width:90px; padding-top:20px; }
.alert-content { display:table-cell; vertical-align: top; width:auto; padding-top:20px; }
.alert-dismiss { display:table-cell; vertical-align: top; width:32px; padding-top:20px; text-align:right; }

.alert-prefix { 
  color: #fff;
  font-size: 20px;
  line-height: 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.100rem;
  padding-bottom:20px;
}

.alert-content { 
  color: #fff;
  font-size: 13px;
  line-height: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.100rem;
}

.alert-message { padding-bottom:20px; }
a.alert-link { color:#fff; text-decoration:underline; }
a.alert-link:hover { color:#fff; text-decoration:underline; }

.alert-dismiss { 
  color:#fff;
  font-size:20px;
  line-height:20px; 
  font-weight: 700;
  padding-bottom:20px;
}

#dismiss-alert { color:#fff; text-decoration:none; }


/* global typography */

h1 { font-size: 2.5rem; font-weight:700; color:#323f48; margin-top:0px; margin-bottom: 1rem; }
h2 { font-size: 1.3rem; font-weight:700; color:#162f49; margin-top:1rem; margin-bottom: 1rem; }
h2.on-detail { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; margin-top:1.5rem; margin-bottom: 1rem; font-weight:700; color:#333e48; text-transform:uppercase; letter-spacing:0.010rem; }
h3 { font-size: 1.2rem; font-weight:700; color:#162f49; }
h4 { color:#162f49; }
h5 { color:#162f49; } 
h6 { color:#162f49; }

p, li { font-size:17px; line-height:1.5; }

p.intro,p.lead { font-weight:400; font-size:20px; line-height:1.5; }

hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top-color: currentcolor; border-top-style: none; border-top-width: 0px; border-top: 1px solid rgba(0,0,0,.1); }

a { color:#1976D2; text-decoration:none; }
a:hover { color:#2196F3; text-decoration:none; }

a div.lnk-primary { color:#1976D2; font-weight:700; font-size:20px; line-height:1.3; }
a div.lnk-secondary { color:#444; font-weight:400; font-size:15px; line-height:1.4; margin-top:3px; }
a div.lnk-secondary span { color:#aaa; }
a:hover div.lnk-primary { color:#2196F3; }
a:hover div.lnk-secondary { color:#222; }

ul { margin-left: 0; padding-left: 16px; }
li { margin-bottom:3px; }
@media all and (min-width: 768px) { ul { margin-left: 0; padding-left: 32px; } }


label { color: #323f48; }

.form-boxed { margin:2rem 0; padding:20px 16px 8px 16px; background-color:#f3f8ff; border: 1px solid #ced4da; }
@media all and (min-width: 768px) { .form-boxed { padding-left:24px; padding-right:24px; } }



/* buttons */

.btn-brand { font-family: 'Roboto Condensed', sans-serif; background-color:#1976D2; border:1px solid #1976D2; color:#fff; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:0.010rem;
  margin:8px 4px 8px 0px; padding: .375rem .75rem; transition: all 0.15s linear 0s; }
.btn-brand:hover { background-color:#2196F3; border-color:#2196F3; color:#fff; }
.btn-brand.add-arrow::after { color:#ffffff; }

.btn-outline-brand { background-color:#fff; border:1px solid #1976D2; color:#1976D2; font-size:14px; font-weight:400; text-transform:uppercase; letter-spacing:0.100rem; 
 margin:4px 2px 4px 0px; padding: .375rem .75rem; transition: all 0.15s linear 0s; }
.btn-outline-brand:hover { background-color:#2196F3; border-color:#2196F3; color:#fff; }

.btn-brand-pill { background-color:#1976D2; border:1px solid #1976D2;  color:#fff; font-size:12px; font-weight:400; text-transform:uppercase; letter-spacing:0.100rem; border-radius:20px; 
  margin:4px 2px 4px 0px; padding: .275rem 1rem; transition: all 0.15s linear 0s; }
.btn-brand-pill:hover {  background-color:#2196F3; border-color:#2196F3; color:#fff; }

.btn-outline-brand-pill { background-color:#fff; border:1px solid #1976D2; color:#1976D2; font-size:12px; font-weight:400; text-transform:uppercase; letter-spacing:0.100rem; border-radius:20px; 
  margin:4px 2px 4px 0px; padding: .275rem 1rem; transition: all 0.15s linear 0s; }
.btn-outline-brand-pill:hover { background-color:#2196F3; border-color:#2196F3; color:#fff; }

.btn-naked { color:#1976D2; text-transform:uppercase; letter-spacing:0.050rem; margin:4px 2px 4px 0px; padding: .375rem 0rem; transition: all 0.15s linear 0s; }
.btn-naked:hover { color:#2196F3; }

.btn-brand-white { font-family: 'Roboto Condensed', sans-serif; background-color:#ffffff; border:1px solid #ffffff; color:#333e48; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:0.010rem;
  margin:4px 2px 4px 0px; padding: .375rem .75rem; transition: all 0.15s linear 0s; }
.btn-brand-white:hover { background-color:#fff; border-color:#fff; color:#1976D2; }
.btn-brand-white.add-arrow::after { color:#1976D2; }

.add-arrow::after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  content: "\f178";
  padding-left:8px;
}
.add-angle::after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  content: "\203a";
  padding-left:8px;
}


/* sponsor logos */

.sponsor-logos { margin:24px 0px; text-align:center;}
.sponsor-logos p { display:inline-block; max-width:120px; margin:6px 6px; border:4px solid #eee; padding-bottom:100%; }
.sponsor-logos p a { display:block; border:2px solid #fff;  transition: all 400ms ease;  }
.sponsor-logos p a:hover { border:2px solid #ddd; }
.sponsor-logos p img { max-width:120px; border:16px solid #fff; width:100%!important; height:auto!important; }
@media all and (min-width: 768px) {
	.sponsor-logos p { max-width:160px; margin:14px 12px; }
	.sponsor-logos p img { max-width:160px; }
}

/* current members */

ul.member-logos { margin:24px 0px; text-align:left; padding:0; }
ul.member-logos li { display:inline-block; width:100%; max-width:160px; background-color:#fff; margin:0px 24px 24px 0; padding:0; border:4px solid #eee; }
ul.member-logos li a, ul.member-logos li b { display:block; width:auto; padding:16px; border:2px solid #fff; background-color:#ffffff; transition: all 400ms ease; }
ul.member-logos li a:hover { border:2px solid #ddd; }
ul.member-logos li div { display:block; width:100%; padding-bottom:80%; background-size:contain; background-repeat: no-repeat; background-position:center center; }
@media all and (min-width: 768px) {
	ul.member-logos li { max-width:240px; margin:0px 24px 24px 0; }
  ul.member-logos li a, ul.member-logos li b { padding:24px; }
}

ul.member-bullets { }

/* footer */

.footer-subscribe { 
  background: rgb(1,114,180);
  xxx-background: linear-gradient(111deg, #306096 0%, #333e48 50%, #1F4E7F 100%);
  background: linear-gradient(111deg, #316196 0%, #6bc4ea 50%, #909e9e 100%); /* Main Blue, Light Blue, and the Grey */
  padding:30px;
}

.footer-subscribe-text { font-weight:700; font-size:24px; line-height:30px; letter-spacing:0.005rem; color:#fff; margin-bottom:1rem; }
@media screen and (min-width: 992px) {
  .footer-subscribe-text { margin:0 30px 0 0; line-height:40px; }
}

.footer-wrap { background-color:#306096; background-color:#323f48; padding:40px 0px 30px 0px; }
.footer-logo-hold { margin-bottom:30px; }
.footer-logo-logo { width:200px; margin:0 auto; }
.footer-logo-text { width:100%; color:#fff; text-align:center; font-family: 'Roboto Condensed', sans-serif; font-size:16px; line-height:19px; padding-top:20px; }
.footer-logo-text a { color:#fff; }
@media screen and (min-width: 1200px) {
  .footer-wrap { padding:50px 0px; }
  .footer-logo-hold { display:table; width:100%; margin-bottom:0px; }
  .footer-logo-logo { display:table-cell; width:240px; margin:0; vertical-align:bottom; }
  .footer-logo-text { display:table-cell; width:auto; text-align:left; padding-left:30px; vertical-align:bottom; padding-top:0px; }
}

.footer-social { margin:0; }
.footer-social a { display:inline-block; width:36px; height:36px; font-size:16px; line-height:36px; border-radius:50%; text-align:center; margin:0 8px; }
.footer-social a { text-decoration:none; color:#333e48; background-color:#fff; border:none; transition: all 0.15s linear 0s; }
.footer-social a:hover { color:#1976D2; background-color:#eeeeee; }
@media screen and (min-width: 1200px) { 
  .footer-social { margin:0; }
  .footer-social a { margin:0 20px 0 0; } 
}

.footer-legal-wrap { background-color:#1f4e7f; background-color:#2a373f; padding:24px 0px; }
.footer-legal-wrap p { color:#fff; margin:0; font-size:15px; line-height:1.5; }
.footer-legal-wrap a { color:#fff; text-decoration:underline; display:inline-block; padding:0 16px; transition: all 0.15s linear 0s; }
.footer-legal-wrap a:hover { color:#eee; text-decoration:underline; }
p.footer-legal-pt1 { display:block; margin-bottom:12px; }
p.footer-legal-pt2 { display:block; } 
@media screen and (min-width: 560px) {
  .footer-legal-wrap a { padding:0 0 0 24px; }
  p.footer-legal-pt1 { display:inline-block; margin-bottom:0px; }
  p.footer-legal-pt2 { display:inline-block; }
}





	
	
/* banner */

.no-banner { width:100%; border-top:1px solid #eee; }
.banner-b { width:100%; height:320px; background-color:#eee; background-position:center center; background-size:cover;}
@media all and (min-width: 992px) {
  .banner-b { height:420px; }
}


/* detail header */

.full-color { width:100%; background:#f3f8ff; }
.detail-header { width:100%; background:#f3f8ff; border:0; }
.detail-header h1 { font-size: 3.0rem; margin:0; }

p.header-groups { margin:1rem 0; } 
a.btn-header-groups { background-color:#fff; padding:4px 8px; margin:3px 1px; border-radius:4px; transition: all 0.15s linear 0s;  }
a.btn-header-groups { font-size:13px; line-height:15px; letter-spacing:0.050rem; font-weight:700; text-transform:uppercase; color:#1976D2; border:2px solid #1976D2; }
a.btn-header-groups:hover { color:#2196F3; border-color:#2196F3; }


/* sidenav drawer */

.sidenav-container { max-width:1200px; margin:auto; } /* match container-fluid width */
.sidenav-row { display:block; width:100%; }
.sidenav-col-nav { display:block; width:100%; padding:0; }
.sidenav-col-content { display:block; width:100%; padding-right:24px; padding-left:24px; }
@media screen and (min-width: 992px) {
	.sidenav-row { display: flex; flex-direction: row-reverse; width:100%; }
	.sidenav-col-nav { display:block; width:25%; padding:60px 24px 60px 40px; }
	.sidenav-col-content { display:block; width:75%; padding-right:40px; }
}

.d-sidenav { width:100%; }

.d-sidenav-section { display:table; width:100%; background-color:#333e48; }
.d-sidenav-section-label { display:table-cell; background-color:#333e48; text-align:left; width:auto; padding:10px 12px 10px 24px; vertical-align:top; font-size:16px; line-height:24px; }
.d-sidenav-section-toggle { display:table-cell; background-color:#333e48; text-align:right; width:64px; padding:10px 24px 10px 12px; vertical-align:top; cursor:pointer; color:#fff; font-size:20px; line-height:24px; }
.d-sidenav-section-label a { color:#fff; font-weight:700; font-family: 'Roboto Condensed', sans-serif; text-transform:uppercase; letter-spacing:0.010rem; text-decoration:none; }
.d-sidenav-section-label a:hover { color:#eee; text-decoration:none;  }
#d-sidenav-drawer { display:none; }
@media all and (min-width: 992px) {
	.d-sidenav-section-label { display:block; width:100%;}
	.d-sidenav-section-toggle { display:none;  }
	#d-sidenav-drawer { display:block!important; }
}

.d-sidenav ul { padding:0; margin:0; }
.d-sidenav > ul { border:0; } 
.d-sidenav li { padding:0; margin:0; list-style:none; }

.d-sidenav li .li-flex { display:flex; }

.d-sidenav > ul > li { border-bottom:1px solid #ffffff; background-color:#f3f8ff; }
.d-sidenav > ul > li:last-child { border-bottom:none; }

.d-sidenav li ul { padding-bottom:16px; }
.d-sidenav li ul li { padding:4px 0px; }

.d-sidenav li a {
  display:table;
  width:100%; 
  text-decoration:none;
}

.d-sidenav li.d-open { background-color:#f7fcff; }

.d-sidenav li a div.sn-indicator { display:table-cell; width:36px; text-align:left; padding:14px 0px 14px 20px; font-weight:400; font-size:14px; line-height:24px; vertical-align:top; color:#f3f8ff; }
.d-sidenav li a div.sn-label { display:table-cell; width:auto; text-align:left; padding:14px 20px 14px 0px; font-weight:400; font-family: 'Roboto Condensed', sans-serif; font-size:15px; line-height:24px; vertical-align:top; color:#333e48; }
.d-sidenav li a div.sn-label-nested { display:table-cell; width:100%; text-align:left; padding:4px 20px 4px 50px; font-weight:400; font-family: 'Roboto Condensed', sans-serif; font-size:13px; line-height:24px; vertical-align:top; color:#333e48; }
.d-sidenav li a:hover div { color:#306096; }

.d-sidenav li.d-open a div.sn-indicator { color:#162f49; }
.d-sidenav li.d-selected div.sn-indicator { color:#162f49!important; }
.d-sidenav li.d-selected div.sn-label { color:#162f49; }

.d-sidenav li.d-sub-selected div.sn-label-nested { color:#162f49!important; }




/* home page topango carousel */

.topango-wrap { padding:0; margin:0; }
.topango-slide { width:100%; height:auto; }
.topango-relative { position:relative; width:100%; height:auto; }
.topango-image { display:block; z-index:10; position:relative; background-size: cover; background-position: center center; }
.topango-cover { display:block; z-index:11; position:absolute; top:0px; background-color:rgba(0,0,0,0.15); }
.topango-text { display:block; z-index:12; position:absolute; top:0px;}
.topango-x { display:table; }
.topango-y { display:table-cell; vertical-align:middle; text-align:center;}

.topango-image, .topango-cover, .topango-text,.topango-x, .topango-y { width:100%; height:400px; }
@media all and (min-width: 768px) { .topango-image, .topango-cover, .topango-text,.topango-x, .topango-y { height:600px; }}
@media all and (min-width: 992px) { .topango-image, .topango-cover, .topango-text,.topango-x, .topango-y { height:700px; }}

.topango-y { text-align:center; padding:0 60px; }
.topango-headline { color:#fff; font-weight:700; font-size:28px; line-height:36px; margin:40px 0 10px 0; text-shadow: 1px 1px 1px #333; }
.topango-link { padding-top:20px; }
@media all and (min-width: 768px) {
	.topango-y { text-align:center; padding:0 15%; }
	.topango-headline { color:#fff; font-weight:700; font-size:58px; line-height:58px; margin:50px 0 20px 0; max-width:600px; }
}
@media all and (min-width: 992px) {
	.topango-y { text-align:left; padding:0 15%; }
	.topango-headline { color:#fff; font-weight:700; font-size:68px; line-height:68px; margin:50px 0 20px 0; }
}

.cycle-pager { display:none; }
.cycle-next { position: absolute; z-index: 300; right:5%; top: 50%; margin-top:-42px; width: 44px; height: 84px; display: block; cursor: pointer; }
.cycle-prev { position: absolute; z-index: 301; left: 5%; top: 50%; margin-top:-42px; width: 44px; height: 84px; display: block; cursor: pointer; }
@media all and (max-width: 767px) {
	.cycle-next, .cycle-prev { width:22px; height:42px; background-size:cover; margin-top:-21px; }
}


/* home page video */

.hero-video-wrap {
  position: relative;
  width:100%; height:56vh; min-height:400px; max-height:800px;
  top: 0;
  overflow:hidden;
  background:#444;
}

#hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  -ms-transform: translate(-50%, -50%) scale(1.01);
  -moz-transform: translate(-50%, -50%) scale(1.01);
  -webkit-transform: translate(-50%, -50%) scale(1.01);
  transform: translate(-50%, -50%) scale(1.01);	
}
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

.hero-video-darken {  position: absolute;z-index: 101; display:table; width:100%; height:100%; background: linear-gradient(180deg, rgba(2,0,36,0.55) 0%, rgba(1,157,198,0) 75%, rgba(0,212,255,0) 100%); }
.hero-video-content { display:table-cell; width:100%; height:100%; text-align:center; vertical-align:middle; background-color:rgba(35,40,48,0.5); padding:90px 24px;}
.hero-video-content-wrap { max-width:560px; margin: auto;}
.hero-video-content-wrap h1 { color:#fff; font-size:22px; line-height:34px; text-shadow: 1px 1px 2px #132C50;}
.hero-video-content-wrap p { color:#fff; margin:16px 0 0 0; }
@media all and (min-width: 768px) {
	.hero-video-content-wrap h1 { font-size:32px; line-height:46px;  }
}



/* home features */

.home-features { margin:40px 0 20px 0; }
.home-feature { margin-bottom:30px; }
.home-feature a { display:block; width:100%; overflow:hidden; }
.home-feature-image { position:relative; width:100%; overflow:hidden; border-radius:6px; background-color:#000; }
.home-feature-image-image { width:100%; padding-bottom:100%; background-position:center center; background-size:cover; }
.home-feature-image-image-cover { position:absolute; top:0; width:100%; height:100%; background-color:rgba(52,96,148,0.1); -webkit-transition: all 650ms ease-out;
  -moz-transition: all 650ms ease-out;
  -o-transition: all 650ms ease-out;
  transition: all 650ms ease-out;
 }
.home-feature-image-headline { position:absolute; bottom:20px; left:20px; right:20px; font-family: 'Roboto Condensed', sans-serif; font-weight:700; font-size:36px; line-height:1; color:#fff; text-shadow:1px 1px 3px #081a25; }
.home-feature-content { padding:16px 8px; }
.home-feature-text { color:#111; font-weight:400; font-size:16px; line-height:1.5; }
.home-feature-cta { margin-top:8px; }
.home-feature:hover .home-feature-cta .btn-naked { color:#ca3a95; }
.home-feature:hover .home-feature-image-image-cover { background-color:rgba(52,96,148,0.3); }

/* generic nav card */

.indynav-card-gallery { margin:40px 0 20px 0; }
.indynav-card { margin-bottom:24px; }
.indynav-card a { position:relative; display:block; width:100%; height:100%; background-color:#333; border-radius:6px; overflow:hidden; }
.indynav-card-image { width:100%; padding-bottom:100%; background-position:center center; background-size:cover; }
.indynav-card-cover { position:absolute; top:0; width:100%; height:100%; background-color:rgba(52,96,148,0.1); }
.indynav-card-content { position:absolute; bottom:20px; left:20px; right:20px; font-family: 'Roboto Condensed', sans-serif; font-weight:700; font-size:36px; line-height:1; color:#fff; text-shadow:1px 1px 3px #081a25;  }
.indynav-card-content-headline { padding:16px 16px 16px 8px; }

.indynav-card-transition { -webkit-transition: all 650ms ease-out;
  -moz-transition: all 650ms ease-out;
  -o-transition: all 650ms ease-out;
  transition: all 650ms ease-out;
}
.indynav-card a:hover .indynav-card-cover { background-color:rgba(52,96,148,0.3); }
.indynav-card a:hover .indynav-card-content-headline { padding:16px 8px 16px 16px; }


/* home social intro */


.social-intro { }

.home-cta-table { display:block; width:100%; text-align:center; margin:30px auto; }
.home-cta-cell { display:block; width:100%; text-align:center; }
.home-subscribe { margin-top:36px; color:#162f49; font-weight: 500; font-size:20px; line-height:36px; padding:16px 0px; }
@media all and (min-width: 768px) {
	.home-cta-table { display:table; width:auto; }
	.home-cta-cell { display:table-cell;  width:auto; text-align:center; vertical-align:middle; }
	.home-subscribe { margin-top:0px; padding:0px 24px 0px 0px;  }
}	

.home-social { display:inline; }
.home-social a { display:inline-block; width:36px; height:36px; font-size:18px; line-height:36px; border-radius:50%; text-align:center; margin:0px 12px 0 0; }
.home-social a.nav-social-fb { background-color:#3b5998; color:#fff; }
.home-social a.nav-social-tw { background-color:#1da1f2; color:#fff; }
.home-social a.nav-social-in { background-color:#c13584; color:#fff; }
.home-social a.nav-social-yt { background-color:#ff0000; color:#fff; }
.home-social a { text-decoration:none; border:0; transition: all 0.15s linear 0s;}
.home-social a:hover {  }
.home-hashtag { display:inline; color:#464646; font-size:16px; line-height:36px; font-weight: 400; }


/* citylight social grid */

.citylight-social-grid { width:100%; border-left:0px solid #fff; border-bottom:0px solid #fff; background-color:#333; }

.citylight-social-square {
  display:block;
  background-size:cover;
  background-position:center center;	
  float:left;
  position: relative;
  margin:0px;
  overflow:hidden;
  border-right:0px solid #fff;
  border-top:0px solid #fff;
}

.citylight-social-square { width: 50%; padding-bottom : 50%; }
@media all and (min-width: 768px) { .citylight-social-square { width: 33.33%; padding-bottom : 33.33%; } .citylight-social-square-6 { display:block; }}
@media all and (min-width: 992px) { .citylight-social-square { width: 20%; padding-bottom : 20%; } .citylight-social-square-6 { display:none; } }

.citylight-social-square-cover { position:absolute; width:100%; height:100%; background-color:rgba(0,0,0,0.05); transition: all 0.15s linear 0s; }
.citylight-social-square:hover .citylight-social-square-cover { background-color:rgba(0,0,0,0.35); }
.citylight-social-square-icon { position:absolute; bottom:8%; left:8%; color:#fff; font-size:22px; line-height:22px; }
@media all and (min-width: 768px) { 
   .citylight-social-square-icon { bottom:16%; left:16%; font-size:28px; line-height:28px; }
}


/* basic lightbox */

.lightbox-wrap { margin-top:30px; }
.lightbox-squares { width:100%; padding-bottom:100%; background-color:#eee; background-position:center center; background-size:cover; margin-bottom:30px; }


/* basic snake */

.snake-wrap { width:100%; background-color:#fafafa; }
.snake-container { width:100%; max-width:1200px; background-color:#fff; margin:0 auto; }
.snake-row { display:block; }
.snake-image { display: block; width:100%; padding-bottom: 90%; background-size:cover; background-position:center center; }
.snake-content { display: block; background-color:#fff; padding:30px; }
@media all and (min-width: 576px) {
	.snake-image { padding-bottom: 50%; }
}
@media all and (min-width: 768px) {
	.snake-row { display:flex; }
	.snake-row-alternate { flex-direction: row-reverse; }
	.snake-image { width:50%; padding:0; }
	.snake-content { width:50%; padding:60px; }
}
@media all and (min-width: 992px) {
	.snake-content { padding:90px; }
}


/* basic staff */

.basic-staff { margin:24px 0; }
.staff-card { margin-bottom:30px; }
.staff-picture-hold { max-width: 220px; margin: 36px auto 22px auto; }
.staff-picture { width:100%; padding-bottom:100%; background-position:center center; background-size:cover; border-radius:50%; }
.staff-name { text-align: center; font-weight: 300; font-size: 22px; line-height: 1.3; margin-bottom: 4px; }
.staff-title { text-align: center; font-weight: 600; font-size: 16px; line-height: 1.3; margin-bottom: 8px; }
.staff-email { text-align: center; font-weight: 500; font-size: 15px; line-height: 1.3; margin-bottom: 8px; }
.staff-phone { text-align: center; font-weight: 500; font-size: 15px; line-height: 1.3; margin-bottom: 4px; }


/* Job Listings */

.boxed { border:2px solid #ddd; padding:0px; max-width:900px; background:#fafafa; margin:30px 0px; border-top:none; }

dl { display:block; margin:0; }
dt { display:block; cursor:pointer; padding:20px 24px; font-size:20px; line-height:20px; margin-top:1px; border-top:2px solid #ddd; text-align:left; }

dt span { float:right; width:40px; text-align:center;}
dd { display:block; padding:10px 24px; text-align:left; margin:0;}
dt.is-closed {  }
dt.is-closed span.dtup { display:none; }
dt.is-closed span.dtdown { display:inline-block; }
dt.is-open { }
dt.is-open span.dtup {display:inline-block; }
dt.is-open span.dtdown { display:none; }


/* Basic Landing Page */

.nav-video-wrap {
  position: relative;
  width:100%; height:56vh; min-height:400px; max-height:800px;
  top: 0;
  overflow:hidden;
  background:#444;
}
.nav-video-wrap{ min-height:200px; max-height:400px; }
@media all and (min-width: 992px) {
  .nav-video-wrap { min-height:300px; max-height:600px; }
}
#nav-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  -ms-transform: translate(-50%, -50%) scale(1.01);
  -moz-transform: translate(-50%, -50%) scale(1.01);
  -webkit-transform: translate(-50%, -50%) scale(1.01);
  transform: translate(-50%, -50%) scale(1.01);	
}
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }







/* mapbox styles */

.smarker {  width: 24px; height: 36px; cursor: pointer; }
.smarker-bg { position:absolute; width:24px; height:36px; fill:#122C50; }
.smarker-i { position:absolute; width:24px; height:36px; text-align:center; font-size:11px; line-height:24px; color:#fff; }

.mapboxgl-map { font-family:inherit; }
.mapboxgl-ctrl-attrib.mapboxgl-compact { min-height:24px; } /* bug fix */

.mapboxgl-popup { width: 200px; padding-bottom: 30px; } /* adjust padding bottom to height of marker */
.mapboxgl-popup-content { text-align: center; padding:30px 20px; box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.4); }
.mapboxgl-popup-content p.mapbox-pop-name { margin:4px 0px; color: #132C50; font-weight:700; font-size:16px; line-height:20px; }
.mapboxgl-popup-content p.mapbox-pop-address { margin:4px 0px; font-size:12px; line-height:20px; color:#666; }
.mapboxgl-popup-content p.mapbox-pop-link { margin:4px 0px; font-size:14px; line-height:20px; }


/* point-section */

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

.section-filters { text-align:center; margin:30px 0px; }
.section-filters .section-filters-title { text-align:center; color:#222; font-size:14px; line-height:16px; letter-spacing:0.100rem; font-weight:700; text-transform:uppercase; margin:0 0 6px 0;}
.section-filters ul { list-style:none; margin:0; padding:0 ;}
.section-filters li { display:inline; margin:0; padding:0; }
.section-filters a {
font-weight:400;
font-family: 'Roboto Condensed', sans-serif;
text-decoration: none;
line-height: 12px;
font-size: 12px;
text-align: center;
display:inline-block;
color:#122C50;;
background-color:#ffffff;
letter-spacing:  0.050rem;
border:1px solid #122C50;
border-radius:2px;
padding:6px 10px;
white-space: nowrap;
margin:4px 3px;
text-transform:uppercase;
}
.section-filters a:hover { background-color:#122C50; border-color:#122C50; color:#fff; text-decoration: none; }
.section-filters a.selected { background-color:#122C50; border-color:#122C50; color:#fff; }

.section-filters-left { text-align:left; }
.section-filters-left .section-filters-title { text-align:left; }

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

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

.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);  }

.member-key { font-size:18px; line-height:18px; font-weight:600; margin:16px 0; }
.member-key img { margin-right:2px; display:inline-block; width:20px; height:auto; vertical-align:top; padding-top:0px; }
.pst-member { margin-right:4px; display:inline-block; width:20px; height:auto; vertical-align:top; padding-top:3px; }


/* point section sticky */

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



/* point-detail */

.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:#fff; background-color:#1976D2; border:none; transition: all 0.15s linear 0s;}
.point-social-icons a:hover { color:#fff; background-color:#2196F3; }

#point-detail { margin-left:-24px; margin-right:-24px; border-top:1px solid #E6E4E0; border-bottom:1px solid #E6E4E0;}
#point-detail #clmap { width:100%; height:50vh; min-height:150px; max-height:500px; background-color:#E6E4E0; border-top:2px solid #fff; border-bottom:2px solid #fff; }
@media all and (min-width: 992px) {
	#point-detail #clmap { border:2px solid #fff; }
	#point-detail { margin-left:0px; margin-right:0px; border: 1px solid #E6E4E0; }
}

.ftn-label { font-size: 1.1rem; font-weight:500; color:#162f49; }

.ftn { text-align:left; }
.ftn ul { margin:10px 0px 20px 0px; padding:0; }
.ftn li { list-style-type: none; padding:10px 0px; margin:0; border-bottom:1px solid #eee6e8; line-height:1.25;}
.ftn li:last-child { border-bottom:0;}
.ftnname { display:block; font-weight: 500; font-size:100%;}
.ftnaddress { font-size:80%; font-weight: 400; color:#000; }
.ftndistance { font-size:80%; font-weight: 400; color:#666;}




/* bbq-events-calendar */

.bbq-control-wrap { margin-bottom:30px; }

.bbq-cal-header { display:table; width:100%; margin:0; padding:0; background-color:#f3f8ff; font-size:16px; line-height:1.5; font-weight:700; padding:12px 0px; }
.bbq-cal-header-left { display:table-cell; width:40px; vertical-align:middle; text-align:center; }
.bbq-cal-header-middle { display:table-cell; width:auto; vertical-align:middle; text-align:center; text-transform:uppercase; }
.bbq-cal-header-right { display:table-cell; width:40px; vertical-align:middle; text-align:center; }

#bbq-calendar table { width:100%; background-color:#fff; margin:0; padding:0; }   
#bbq-calendar th { /* days of the week */
  border-top:1px #ffffff solid; 
  background-color:#f3f8ff;
  color:#aaa; /* color of days of the week */
  font-size:10px;
  line-height:26px;
  text-align:center;
  }
#bbq-calendar td {
  border-top:1px #ffffff solid;
  background-color:#f3f8ff;
  color:#162f49; /* color of inactive dates */
  font-size:14px;
  line-height:36px;
  text-align:center;
  }
#bbq-calendar a { display:block; text-decoration:none; }
#bbq-calendar a.ontoday { font-weight:700; }
#bbq-calendar td.highlight a { background-color:#D4E3F7; color:#162f49; }
#bbq-calendar td.highlight a:hover { text-decoration:none; background-color:#c5d5ea; }

.bbq-p { text-align:center; font-size:12px; line-height:36px;  }

#bbq-categories ul { list-style:none; padding:0; margin:0; width:100%; }

#bbq-categories ul li { padding:0; margin:0; border-bottom:1px solid #ffffff; }
#bbq-categories ul li:last-child { border-bottom:0px; }
#bbq-categories a { display:block; background-color:#f3f8ff; padding:0 24px; font-size:14px; line-height:36px; text-align:center; }
#bbq-categories a.highlight { background-color:#D4E3F7; color:#162f49; }
#bbq-categories a:hover { text-decoration:none; background-color:#c5d5ea; }


h1.bbq-headline {  }

.bbq-results-header { display:table; width:100%; margin:0; padding:0; background-color:#f3f8ff; font-size:16px; line-height:1.5; font-weight:700; padding:12px 0px; }
.bbq-results-header-left { display:table-cell; width:40px; vertical-align:middle; text-align:center;  }
.bbq-results-header-middle { display:table-cell; width:auto; vertical-align:middle; text-align:center; text-transform:none; }
.bbq-results-header-right { display:table-cell; width:40px; vertical-align:middle; text-align:center; }

.bbq-results-list { width:100%;}

.bbq-row { display:block; width:100%; border-top:1px solid #e7e7e7; padding:20px 0px; }
.bbq-row-homepage { border-top:0px; padding:12px 0px; }
.bbq-row-date { display:block; width:100%; text-align:center; }
.bbq-row-list { display:block; width:100%; text-align:center; }

@media all and (min-width: 768px) {
	.bbq-row { display:table; }
	.bbq-row-date { display:table-cell; vertical-align:top; width:70px; text-align:center; padding-right:30px; }
	.bbq-row-list { display:table-cell; vertical-align:top; width:auto; text-align:left; }
}

.bbqdate { width:70px; margin:0 auto 24px auto; padding:0; }
@media all and (min-width: 768px) { .bbqdate { margin:0; }}
.bbqdate-month { text-align:center; color:#fff; background-color:#306096; font-size:12px; line-height:21px; border-radius:4px 4px 0px 0px; margin-top:5px;}
.bbqdate-day { text-align:center; color:#162f49; background-color:#d4e3f7; font-size:30px; line-height:50px; border-radius:0px 0px 4px 4px; font-weight:400; }
.bbqdate-tip { text-align:center; color:#162f49; background-color:inherit; font-size:12px; line-height:16px; margin-top:5px; }
.bbqdate-ongoing { text-align:center; color:#fff; background-color:#306096; font-size:12px; line-height:21px; border-radius:4px; margin-top:6px;}

.bbq-row-list ul { margin:0; padding:0; list-style:none; }
.bbq-row-list li { margin:0; padding:0; list-style:none; padding-bottom:16px;}
.bbq-row-list a { }
.bbq-row-list a:hover { text-decoration:none; }


/* circle city summer */

.bbqgriddle { background-color:#f3f8ff; height:100%; overflow:hidden; position:relative; transition: all 0.15s linear 0s; }
.bbqgriddle:hover { background-color:#c5d5ea; }
.bbqgriddle a { display:block; height:100%; } 
.bbqgriddle-image { width:100%; padding-bottom:80%; background-position:center center; background-size:cover; }
.bbqgriddle-content { padding:28px 24px 20px 24px; }
.bbqgriddle-date { position:absolute; top:10px; left:10px; }

.bbqgriddle a div.lnk-primary { color:#306096 }
.bbqgriddle a div.lnk-secondary {  }
.bbqgriddle a div.lnk-secondary span {  }
.bbqgriddle a:hover div.lnk-primary { }
.bbqgriddle a:hover div.lnk-secondary {  }

.gbbqdate { width:70px; margin:0 auto 24px auto; padding:8px 0; background-color:#306096; }
@media all and (min-width: 768px) { .gbbqdate { margin:0; }}

.gbbqdate-month { text-align:center; color:#fff; font-size:10px; line-height:1.2; font-weight: 600; text-transform:uppercase;}
.gbbqdate-day { text-align:center; color:#fff; font-size:24px; line-height:1.2; font-weight: 700; letter-spacing:0.100rem; }
.gbbqdate-tip { text-align:center; color:#fff; font-size:10px; line-height:1.2; font-weight: 600; }
.gbbqdate-ongoing { text-align:center; color:#fff; font-size:10px; line-height:1.2; font-weight: 600; }



/* event-detail */

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



/* Post Section */

.post-card-gallery { margin:48px 0px 24px 0px; }
.post-card { margin-bottom:30px; }
.post-card a { display:block; width:100%; border:1px solid #ddd; }

.post-card-image {  }
.post-card-image-image { width:100%; padding-bottom:52%; background-color:#eee; background-size:cover; background-position: center center; }
.post-card-image-cover { position:absolute; top:0px; width:100%; height:100%; background-color:rgba(255,255,255,0.25); }
.post-card-image-tag { position:absolute; top:0px; right:0px; width:auto; height:auto; background-color:rgba(0,0,0,0.5); font-size:12px; line-height:12px; color:#fff; padding:10px; }

.post-card-content { background-color:#fafafa; padding:20px; text-align:left; }
.post-card-content-tags { font-family: proxima-nova-condensed, sans-serif; font-weight:700; text-transform:uppercase; color:#1976D2; font-size:15px; line-height:1.5; margin-bottom:8px; }
.post-card-content-headline { color:#222; font-weight:500; font-size:22px; line-height:1.5; margin-bottom:8px; }
.post-card-content-body { color:#222; font-weight:400; font-size:16px; line-height:1.5; margin-bottom:8px; }
.post-card-content-more { color:#1976D2; font-size: 13px; font-weight: 700; letter-spacing: 0.0500rem; text-transform: uppercase; }

.post-card-transition {  -webkit-transition: all 250ms ease-out;
  -moz-transition: all 250ms ease-out;
  -o-transition: all 250ms ease-out;
  transition: all 250ms ease-out;
}

.post-card a:hover .post-card-image-cover { background-color:rgba(255,255,255,0.0); }
.post-card a:hover .post-card-content { background-color:#eaeaea; } 
.post-card a:hover .post-card-content-headline { color:#000; }
.post-card a:hover .post-card-content-body { color:#222; }
.post-card a:hover .post-card-content-more { color:#2196F3; }


/* Post Detail */

.sharing-box { display:table; margin:10px auto; }
.sharing-label { display:table-cell; text-align:center; padding:10px; }
.sharing-icons { display:table-cell; text-align:center; }
.sharing-square { display:inline-block; text-align:center; margin:10px; }
.sharing-square a { display:inline-block; width:40px; height:40px; font-size:18px; line-height:38px; text-align:center;  }
.sharing-square a { text-decoration:none; color:#fff; background-color:#1976D2; border:none; transition: all 0.15s linear 0s;}
.sharing-square a:hover { color:#fff; background-color:#2196F3; }
.share-cta { font-size:14px; line-height:16px; letter-spacing:0.100rem; font-weight:700; text-transform:uppercase; }
@media all and (min-width: 992px) {
	.sharing-box { display:block; margin-top:1px; }
	.sharing-label { display:block; }
	.sharing-icons { display:block; }
	.sharing-square { display:block; margin:20px 10px; }
}


/* desktop nav */
@media all and (min-width: 992px) {
  
  .header-wrap { background-color:#ffffff; }

  .nav-relative { position:relative; width:100%; height:140px; }
  .nav-hold { }
  .nav-logo { position:absolute; top:25px; left:0px; width:200px; height:80px; }
  .nav-toggle { display:none; }

  /* primary-nav */

  #nav-drawer { display:block!important; } /* slidetoggle fix */

  #primary-nav { position:absolute; top:70px; right:0px; width:auto; height:40px; }

  #primary-nav .subnav-toggle { display:none; }

  #primary-nav ul { padding: 0; margin: 0; list-style: none; display:block; text-align:right; }

  #primary-nav li { padding: 0; margin: 0; display:inline-block; }

  #primary-nav a {
    display: inline-block;
    width: auto;
    padding:6px 12px;
    margin:0px 2px 0px 0px;
    background-color:#fff;
    font-size:20px;
    line-height:24px;
    color:#122C50;
    font-weight:700;
    letter-spacing:0.050rem;
    text-decoration:none;
    text-align:center;
    text-transform:uppercase;
    }

  #primary-nav li:hover a { background-color:#f3f8ff; }

  #primary-nav li a:hover { color:#2196F3; }


  /* drop down lists */

  #primary-nav li ul { 
    position: absolute;
    width: 200px;
    height:auto;
    padding:20px 0px;
    background-color:#f3f8ff;
    display:none;
  }

  #primary-nav li:hover > ul {  display:block !important; left: auto; z-index:9999; } 

  @media all and (min-width: 992px) {
  	#primary-nav li:last-child:hover > ul { right:2px; } 
  }

  #primary-nav ul li ul li { width:200px; }

  #primary-nav li ul li a { 
    display:block;
    width:100%;
    padding:6px 24px;
    margin:0;
    background-color:#f3f8ff;
    font-size:16px;
    line-height:24px;
    color:#122C50;
    font-weight:500;
    letter-spacing:0;
    text-decoration:none;
    text-align:left;
    text-transform:none;
  }


  /* secondary nav */

  #secondary-nav { position:absolute; top:16px; right:0px; width:auto; height:24px; display:table;  }

  #secondary-nav .nav-utility { display:table-cell; vertical-align:top; text-align:right;}

  #secondary-nav .nav-search { display:table-cell; vertical-align:top; text-align:right; width:224px; }

  .nav-social { display:inline-block; text-align:center; height:24px; padding-right:24px; }
  .nav-social a { display:inline-block; width:22px; height:22px; font-size:10px; line-height:22px; border-radius:50%; text-align:center; margin:1px 8px 0 0; }
  .nav-social a { text-decoration:none; color:#fff; background-color:#122C50; border:0; transition: all 0.15s linear 0s;}
  .nav-social a:hover { color:#fff; background-color:#2196F3; }

  .nav-links { display:inline-block; }

  .nav-links a {
    display: inline-block;
    width: auto;
    margin-right:8px;
    font-size:14px;
    line-height:24px;
    color:#122C50;
    text-decoration:none;
  }

  .nav-links a:hover { color:#2196F3; }
   
  #site-search {
    display:table;
    width:200px;
    float:right;	
    padding:0px 4px;
    margin:0;
    border:none;
    border-bottom:1px solid #222;
    text-align:left;
    }

  #site-search input[type="text"]{
    display:table-cell;	
    font-size:13px;
    line-height:24px;
    color:#222;
    background:transparent;
    border:none;
    padding:0;
    margin:0;
    width:90%;
    height:24px; /* ie11*/
    text-align:left;  
    vertical-align:middle;
  }

  #site-search button {
    display:table-cell;
    font-size:13px;
    line-height:24px;
    color:#222;
    background:transparent;
    border:none;
    margin:0;
    padding:0;
    width:10%;
    text-align:right;
    vertical-align:middle;
  }

  #site-search ::-webkit-input-placeholder { color:#444; opacity: 0.8;}
  #site-search :-moz-placeholder { color:#444; opacity: 0.8; }
  #site-search ::-moz-placeholder { color:#444; opacity: 0.8; }
  #site-search :-ms-input-placeholder { color:#444; opacity: 0.8; } 
  
}


/* mobile nav */
@media all and (max-width: 991px) {

  .header-wrap { background-color:#ffffff; padding:20px 0; }

  .nav-relative { }
  .nav-hold { width:100%; height:40px; }
  .nav-logo { float:left; width:100px; height:40px; }
  .nav-toggle a { float:right; font-size:18px; line-height:40px; color:#222; }
  .nav-toggle a:hover { color:#000; }


  /* primary-nav */

  #nav-drawer { display:none }

  #primary-nav { padding-top:30px;}

  #primary-nav ul { margin:0; padding:0; }  

  #primary-nav ul li { list-style: none; margin:0; padding:0; }

  #primary-nav ul li div.menu-set { display:table; border-top:1px solid #666; width:100%; }

  #primary-nav ul li div.menu-set a {
    display:table-cell;
    width:90%;
    text-align:left;
    vertical-align:top;
    padding:8px 4px;
    color: #444;
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    text-transform:uppercase;
  }

  #primary-nav ul  li div.menu-set a.subnav-toggle {
    width:10%;
    text-align:right;
  }

  #primary-nav ul li div.menu-set a:hover { color:#000; }

  #primary-nav ul ul { display:none; margin:0; padding:0px 0px 16px 0px; }

  #primary-nav ul li ul li a {
    display: block;
    padding:8px 4px 8px 24px;
    font-size:16px;
    line-height:1.5;
    font-weight:400;
    text-transform:none;
    color: #444;
  }

  #primary-nav ul li ul li a:hover { color:#000; }


  /* secondary nav */

  #secondary-nav { padding:12px 4px 6px 4px; }

  .nav-utility { }

  .nav-links { }

  .nav-links a {
    display: block;
    padding:6px 0px;
    font-size:15px;
    line-height:1.5;
    color:#444;
  }

  .nav-links a:hover { color:#000; }

  .nav-social { display:none; }

  .nav-search { }

  #site-search {
    display:table;
    width:100%;	
    padding:8px 16px;
    margin:20px 0 0 0;
    border:2px solid #222;
    border-radius:3px;
    text-align:left;
    }

  #site-search input[type="text"]{
    display:table-cell;	
    font-size:16px;
    line-height:1.5;
    color:#222;
    background:transparent;
    border:none;
    padding:0;
    margin:0;
    width:90%;
    text-align:left;  
    vertical-align:middle;
  }

  #site-search button {
    display:table-cell;
    font-size:16px;
    line-height:1.5;
    color:#222;
    background:transparent;
    border:none;
    margin:0;
    padding:0;
    width:10%;
    text-align:right;
    vertical-align:middle;
  }

  #site-search ::-webkit-input-placeholder { color:#444; opacity: 0.8;}
  #site-search :-moz-placeholder { color:#444; opacity: 0.8; }
  #site-search ::-moz-placeholder { color:#444; opacity: 0.8; }
  #site-search :-ms-input-placeholder { color:#444; opacity: 0.8; }
}
