
/* alert box */

.alert-wrap { background-color:var(--cms-navy-600); }
.alert-wrap, a.alert-link, a.alert-link:hover { color:var(--cms-chalk); }
.alert-hold { display: table; width: 100%; }
.alert-prefix { display:table-cell; vertical-align: top; width:32px; padding-top:20px; padding-right: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 { 
  font-size: 20px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 0.100rem;
  padding-bottom:20px;
}

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

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

.alert-dismiss { 
  font-size:20px;
  line-height:20px; 
  padding-bottom:20px;
}

#dismiss-alert { color:var(--cms-chalk); text-decoration:none; }



/* indy intro */

.indy-intro { position:relative; overflow:hidden; }

.indy-intro-video { 
  position:relative;
  background-color:var(--cms-navy-600); 
  height:500px; 
}

.indy-intro-video .op-hero-block { height:500px; min-height:500px; }

.indy-intro-video-cover { 
  position:absolute;
  top:0;
  width:100%;
  height:500px;
  background-color:rgba(17,22,38,0.25);
}

.indy-intro-logo {
  position:absolute;
  top:500px;
  left:50%;
  width:600px;
  height:300px;
  margin-left:-300px;
  margin-top:-150px;
  background-image:url('https://ctycms.com/in-indianapolis/header-video-logo-full-2x1.svg');
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
}

.indy-intro-headline {
  position:absolute;
  top:0;
  width:100%;
  height:500px;
  display: flex;
  align-items: center; /* center vertically */
  justify-content: center; /* center horizontally */
  padding:30px;
}
.indy-intro-headline h1 { text-align:center; margin:0; max-width:900px; }

.indy-intro-value {
  position:relative;
  padding:90px 30px 40px 0;
}
.indy-intro-value h2 {
  color:var(--cms-gold);
  margin:0;
}


@media all and (min-width: 768px) {
  .indy-intro-video { height:600px; }
  .indy-intro-video .op-hero-block { height:600px; min-height:600px; }
  .indy-intro-video-cover { height:600px; }
  .indy-intro-headline { height:600px; }
  .indy-intro-logo { 
    top:600px; 
    width:900px;
    height:450px;
    margin-left:-450px;
    margin-top:-225px;
  }
  .indy-intro-value { 
    padding:120px 60px 40px 0;
  }
}



@media all and (min-width: 1200px) {
  .indy-intro-video { height:600px; }
  .indy-intro-video .op-hero-block { height:600px; min-height:600px; }
  .indy-intro-video-cover { height:600px; }
  .indy-intro-headline { height:600px; }
  .indy-intro-logo { 
    top:600px; 
    width:1440px;
    height:720px;
    margin-left:-720px;
    margin-top:-360px;
  }
  .indy-intro-value { 
    min-height:450px;
    padding:200px 30px 40px 0;
  }
}


@media all and (min-width: 1440px) {
  .indy-intro-video { height:700px; }
  .indy-intro-video .op-hero-block { height:700px; min-height:700px; }
  .indy-intro-video-cover { height:700px; }
  .indy-intro-headline { height:700px; }
  .indy-intro-logo { 
    top:700px; 
    width:1800px;
    height:900px;
    margin-left:-900px;
    margin-top:-450px;
  }
  .indy-intro-value { 
    min-height:450px;
    padding:240px 30px 40px 0;
  }
}


/* indy home header */

.indy-hh { position:relative; }

.indy-hh-video { background-color:var(--cms-navy-600); height:500px; }
.indy-hh-video .op-hero-block { height:500px; min-height:500px; }

.indy-hh-headline { 
  position:absolute;
  top:0px;
  width:100%;
  height:600px; 
  display: flex;
  align-items: center; /* center vertically */
  justify-content: center; /* center horizontally */
  padding:30px;
}
.indy-hh-headline h1 { text-align:center; margin:0; max-width:900px; }

.indy-hh-value { 
  height:auto;
  padding-top:60px;
}
.indy-hh-value h2 { text-align:left; margin:0; max-width:900px; color:var(--cms-gold); }

.indy-hh-logo { 
  position:absolute;
  top:350px;
  width:100%;
  aspect-ratio:1440/1092;
  background-image:url('https://ctycms.com/in-indianapolis/header-video-logo.svg');
  background-size:contain;
}


@media all and (min-width: 768px) {
  .indy-hh-video { height:600px; }
  .indy-hh-video .op-hero-block { height:600px; min-height:600px; }

  .indy-hh-value { 
    padding-top:0;
  }
  .indy-hh-logo {
    display:none;
  }
}



/* indy home stats */

.indy-home-stats { 
  padding-top:2rem; 
  padding-bottom:2rem; 
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.indy-home-stats h2 {
  color:var(--cms-gold);
  font-size:2.25rem;
  width:100%;
  max-width:999px;
  margin:0;
}
.indy-home-stats hr {
  margin-top:2rem;
  margin-bottom:2rem;
}

.oly-stat-cards-bg {
  position:relative;
}

.oly-stat-cards-bg .row { position:relative; }

.oly-stat-cards-bg::before {
  content:'';
  position:absolute;
  top:40px;
  bottom:-30px;
  right:24px;
  /*left:-999px;*/
  width:3000px;
  height:auto;
  border-radius: 0 90px 90px 0;
  background-color:var(--cms-navy-600);
}
@media screen and (min-width: 1200px) {
  .oly-stat-cards-bg::before {
    right:-36px;
  }
}

.indy-home-stat-num0 {
  background-color:var(--cms-gold);
  color:var(--cms-navy);
  border-width:0!important;
  .oly-stat-card-b-md {
    color:var(--cms-navy);
  }
}

.indy-home-stat-num1 {
  background-color:var(--cms-blue);
  color:var(--cms-chalk);
  border-width:0!important;
  .oly-stat-card-b-md {
    color:var(--cms-chalk);
  }
}

.indy-home-stat-num2 {
  background-color:var(--cms-chalk);
  color:var(--cms-navy);
  border-width:0!important;
  .oly-stat-card-b-md {
    color:var(--cms-navy);
  }
}

/* indy stat featured */

.oly-stat-card-large {
  border-width:0!important;
  padding-left:0!important;
  padding-top:0!important;
  padding-bottom:60px!important;
  

  .oly-stat-card-a-lg { 
    font-size:110px;
    line-height:1.2;
    font-weight:700; 
  }
  .oly-stat-card-a-lg i {
    font-size:50px;
    font-style:normal;
    color:var(--cms-blue);
  }
}


/* indy page title */

.indy-title { 
  background-color:var(--cms-blue); 
  padding:1rem 1rem 1rem 0; 
  border-bottom-right-radius:60px; 
  position:relative; 
  width:100%; 
  max-width:1100px;
}
.indy-title::before {
  content:'';
  position:absolute;
  top:0px;
  bottom:0px;
  left:-999px;
  width:1000px;
  height:auto;
  background-color:var(--cms-blue);
}
.indy-title h1 { margin:0; }



/* indy callout-link */

.indy-callout { 
  background-color:var(--cms-navy-600); 
  padding:1rem 1rem 1rem 0; 
  border-radius:0 60px 60px 0; 
  position:relative; 
  width:100%; 
  max-width:1300px;
}
.indy-callout::before {
  content:'';
  position:absolute;
  top:0px;
  bottom:0px;
  left:-999px;
  width:1000px;
  height:auto;
  background-color:var(--cms-navy-600);
}

.indy-callout-box { 
  display:table; 
  width:100%;
  padding:10px 0;
}
.indy-callout-icon { 
  display:table-cell;
  vertical-align:top;
  width:70px;
}
.indy-callout-content { 
  display:table-cell;
  vertical-align:top;
  width:auto;
}

.indy-callout-icon {
  color:var(--cms-blue);
  font-size:40px;
  line-height:1;
}

.indy-callout-headline {
  color: var(--cms-gold);
  font-size: 0.8rem;
  line-height: 1.33;
  letter-spacing: 0.050rem;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
}

.indy-callout-content .btn-naked { margin:0; padding:0 }


/* indy next meeting */

.indy-next-meeting { 
  background-color:var(--cms-navy-600); 
  padding:1rem 1rem 1rem 0; 
  border-radius:0 60px 60px 0; 
  position:relative; 
  width:100%; 
  max-width:1300px;
}
.indy-next-meeting::before {
  content:'';
  position:absolute;
  top:0px;
  bottom:0px;
  left:-999px;
  width:1000px;
  height:auto;
  background-color:var(--cms-navy-600);
}


.indy-next-meeting-box { 
  display:table; 
  width:100%;
  padding:10px 0;
}
.indy-next-meeting-icon { 
  display:table-cell;
  vertical-align:top;
  width:70px;
}
.indy-next-meeting-content { 
  display:table-cell;
  vertical-align:top;
  width:auto;
}

.indy-next-meeting-icon {
  color:var(--cms-blue);
  font-size:40px;
  line-height:1;
}

.indy-next-meeting-headline {
  color: var(--cms-gold);
  font-size: 0.8rem;
  line-height: 1.33;
  letter-spacing: 0.050rem;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom:0.5rem;
}

.indy-next-meeting-content p { margin-bottom:0.5rem; }
.indy-next-meeting-content .btn-naked { margin:0; padding:0 }








/* members */

.magic-columns {
  column-count: 1;
  column-gap: 3rem;
  column-fill: balance; /* the default, shown for clarity */
}
@media (min-width: 768px)  { .magic-columns { column-count: 2; } } /* md = tablet */
@media (min-width: 992px)  { .magic-columns { column-count: 3; } } /* lg = desktop */

.magic-columns {

  h3 {
    font-size: 0.8rem;
    line-height:1.25;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.050rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    color: var(--cms-gold);
  }

  ul {
    margin-top: 1rem;
    margin-bottom: 1rem;
    list-style:none;
    padding:0;
  }

  li {
    margin:0;
    padding:0;
    font-size:0.8rem;
    line-height:1.25;
    margin-bottom:0.5rem;
  }

}


/* banner */

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




/* detail header */

.detail-header { width:100%; background:var(--cms-navy-600); border-bottom: 0; }
.detail-header h1 { font-size: 3.0rem; margin:0; }

p.header-groups { margin:1rem 0; } 
a.btn-header-groups { background-color:inherit; 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:var(--cty-alink); border:2px solid var(--cty-alink); text-decoration:none; }
a.btn-header-groups:hover { color:var(--cty-ahover); border-color:var(--cty-ahover); text-decoration:none; }





/* css for modal backdrop */

.modal-backdrop { background-color: rgb(16, 31, 171); }
.modal-backdrop.show { opacity:0.75; }

#myModal .modal-body h1 { margin-top:1rem; }
#citylightModal .modal-body h1 { margin-top:1rem; }



/* basic lightbox */

.lightbox-wrap { margin-top:1.5rem; }
.lightbox-squares { width:100%; padding-bottom:100%; background-color:var( --cty-bg-card); background-position:center center; background-size:cover; }



/* solr search */

.site-search-nav { display:table; margin:24px 0px; }
.site-search-nav-control { display:table-cell; vertical-align:middle; padding-right:16px; border:0px solid #eee; }
.site-search-nav-counter { display:table-cell; font-style:italic; padding-right:16px; border:0px solid #eee; }

ul.site-search { margin:10px 0px; padding:0; list-style-type:none; }
ul.site-search li { margin-bottom:16px; }
ul.site-search li span.solr_type { display:block; text-transform:uppercase; font-size:12px; line-height:18px; font-weight:700; letter-spacing:0.100rem; }
ul.site-search li a { font-size:20px; line-height:30px; }
ul.site-search li span.solr_highlight { display:block; font-size:15px; line-height:22px; }
ul.site-search li span.solr_highlight em { font-style:normal; font-weight:700; }


/* cafe-weather */

.cafe-weather { width:100%; max-width:300px; border:1px solid#666; border-radius:1rem; padding:1rem 2rem; margin:1.5rem 0; }
.cafe-weather-today { text-align:center; color:inherit; font-weight: 500; font-size:1rem; line-height:1.1; letter-spacing:0.050rem; text-transform:uppercase; }
.cafe-weather-divider { width:100%; height:2px; opacity:0.25; background-color:#aaa; margin:0.5rem 0; }
.cafe-weather-current { text-align:center; color:inherit; font-weight: 400; font-size:1rem; line-height:1.1; }
.cafe-weather-future { text-align:center; color:inherit; font-weight: 400; font-size:1.5rem; line-height:1.1; }



/* image roll */

.image-roll-hold { background-color:#eee; }

.imagerollSwiper .swiper-wrapper { width:100%; height:500px; position:relative; }

.imagerollSwiper .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.imagerollSwiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.imagerollSwiper .swiper-navigation {
  position: absolute;
  z-index: 999;
  bottom: 30px;
  right: 30px;
  background-color: black;
  border-radius: 30px;
  width: 96px;
  height: 48px;
}

.swiper-roll-prev, .swiper-roll-next { display:block; width:48px; height:48px; font-size:24px; line-height:48px; text-align:center; float:left; color:var(--cms-chalk); opacity:0.85; }

.swiper-roll-prev:hover { opacity:1; }
.swiper-roll-next:hover { opacity:1; }



/* sharing-box */

.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:var(--cms-chalk); background-color:var(--cty-alink); border:none; transition: all 0.15s linear 0s;}
.sharing-square a:hover { color:var(--cms-chalk); background-color:var(--cty-ahover); }
.share-cta { font-size:14px; line-height:16px; letter-spacing:0.100rem; font-weight:700; text-transform:uppercase; }
@media all and (min-width: 9999999px) {
	.sharing-box { display:block; margin-top:0px; }
	.sharing-label { display:block; }
	.sharing-icons { display:block; }
	.sharing-square { display:block; margin:20px 10px; }
}



/* 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; }


/* indy connect */

.indy-connect {
  display: flex;
  width: 100%;
  min-height: 400px;
  height: auto;
  margin:2rem 0;
}

.indy-connect-left,
.indy-connect-right {
  flex: 1 1 0;   /* equal share of whatever space the center leaves */
  min-width: 0;
  background-size: 376px 380px;
  background-repeat:repeat-x;
}

.indy-connect-left {
  background-image:url('https://ctycms.com/in-indianapolis/indy-connect-left.svg');
  background-position:center right;
}

.indy-connect-right {
  background-image:url('https://ctycms.com/in-indianapolis/indy-connect-right.svg');
  background-position:center left;
}

.indy-connect-content {
  flex: 0 0 300px;   /* never grows or shrinks */
  width: 400px;
  padding:0 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;   /* vertical centering */
  align-items: center;       /* horizontal centering */
  text-align: center;
}

.indy-connect-headline {
  font-size:1.7rem;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-0.050rem;
}
.indy-connect-link { margin-top:1rem; }

@media all and (min-width: 768px) {
  .indy-connect-content {
    flex: 0 0 500px;   
    width:500px;
    padding:0 50px;
  }
}



/* indy-icon-links */

.indy-icon-links { width:100%; text-align:center; }

.indy-icon-link { display:inline-block; vertical-align: top; border:none; text-align:center; }
.indy-icon-link a { display:block; width:140px; padding:10px 20px 30px 10px; text-decoration:none; }
.indy-icon-link a:hover { text-decoration:none; }
.indy-icon-link-icon { display:block; text-align:center; font-size:48px; line-height:1.5; color:var(--cms-gold); }
.indy-icon-link-label { display:block; text-align:center; font-size:14px; line-height:1.25; font-weight:500; color:var(--cms-chalk); }


/* stat cards (override defaults) */

.oly-stat-cards { margin:0; clear:both; }
.oly-stat-card { 
  width:100%; 
  height:100%; 
  padding:1rem 1.5rem; 
  text-align:left;
  border:1px solid var(--cms-blue); 
  border-radius:0 90px 90px 0;
}
.oly-stat-card-a { display:block; min-height:70px; }
.oly-stat-card-b { display:block; }
.oly-stat-card-a-lg { 
  font-size:50px;
  line-height:1.2;
  font-weight:700; 
}
.oly-stat-card-b-md { 
  color:var(--cms-gold);
  font-weight:500;
  font-size:0.8rem;
  line-height:1.2;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:0.025rem;
}
.oly-stat-card-b-sm { 
  color:var(--cms-gold);
  font-size:0.7rem;
  line-height:1.2;
  font-style:italic; 
}


/* indy stat card with image */

.indy-sci { 
  position:relative; 
  border-radius:4px;
  overflow:hidden;
  width:100%; 
  height:100%; 
}

.indy-sci-image { 
  position:absolute;
  top:0;
  width:100%; 
  height:100%; 
  background-size:cover; 
  background-position:center center; 
  opacity:0.2;
  filter: blur(1px);
}

.indy-sci-content {
  position:relative;
  top:0;
  background-color:rgb(38,63,141,0.5);
  width:100%; 
  height:100%;
  padding:1rem; 
  padding-bottom:90px;
}

.indy-sci-content-head {
  color:var(--cms-gold);
  font-weight:500;
  font-size:0.8rem;
  line-height:1.2;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:0.025rem;
}
.indy-sci-content-sub {
  color:var(--cms-gold);
  font-size:0.7rem;
  line-height:1.2;
  font-style:italic;
}

.indy-sci-content-value { 
  position:absolute; 
  bottom:0;
  left:0;
  padding:1rem;
  font-size:50px;
  line-height:1.2;
  font-weight:700;
}


/* indy stat circle */

.indy-stat-circle { width:100%;  max-width:250px; margin:0 auto; }

.indy-stat-circle-headline { text-align:center; color:var(--cms-gold); font-size:0.8rem; line-height:1.2; text-transform:uppercase; text-wrap:balance; 
margin:1rem 0;
font-weight:500;
}
.pie-chart { width:100%; aspect-ratio:1/1; position:relative; border-radius:50%; overflow:hidden; }
.pie-chart-bg { width:100%; aspect-ratio:1/1; position:absolute; top:0; left:0; background-color:var(--cms-navy); }
.pie-chart-conic { width:100%; aspect-ratio:1/1; position:absolute; top:0; left:0; }
.pie-chart-content { width:100%; aspect-ratio:1/1; position:absolute; top:0; left:0; 
  display:flex;
  align-items:center;
  justify-content: center;
}

.pie-chart-bullseye { 
  background-color:var(--cms-navy-600); 
  color:var(--cms-chalk); 
  border-radius:50%;
  width:120px;
  height:120px;
  text-align:center;
  font-size:32px;
  line-height:120px;
  font-weight:700;
}



/* data dashboard */

.indy-data-dashboard {
  background-color:var(--cms-navy-600);
  color:var(--cms-chalk);

  h1 { font-size: 3rem; margin-bottom:0 }

  h2 { color:var(--cms-gold); margin-top:4rem; }
  h3 { color:var(--cms-gold); }
  p.intro {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 700;
    margin-top: 0px;
    margin-bottom: 1rem;
    max-width:960px;
    text-wrap:balance;
  }
  small {  color:var(--cms-gold); }

}



