
/* from blocks.css */

.op-cards { margin:1.5rem 0; }

.op-card { background-color:transparent; color:inherit; width:100%; height:100%; 
border:2px solid var(--cms-blue);
border-radius:1rem;
padding:0.5rem;

}
.op-card a { display:block; width:100%; height:100%; text-decoration:none; color:inherit; }
.op-card a:hover { color:inherit; text-decoration:none; }

.op-card-image { display:block; border-radius:0.5rem; overflow:hidden; }
.op-card-image-img { width:100%; background-position:center center; background-size:cover; }

.op-card-content { padding:1rem; }

.op-subhead { font-weight:700; font-size:0.9rem; line-height:1.2; text-transform:uppercase; margin-bottom:0.5rem; text-wrap:balance; }
.op-headline { font-weight:700; font-size:1.2rem; line-height:1.2; text-transform:uppercase; letter-spacing:0.050rem; margin-bottom:0.5rem; text-wrap:balance; }
.op-text { font-size:1rem; margin-bottom:0.5rem; line-height:1.2; text-wrap:balance; }

.op-cta { font-weight:700; font-size:0.9rem; line-height:1.2; margin-top:1rem; text-wrap:balance; }



/* shared image stuff 

.oly-cover { background-position:center center; background-size:cover; }
.oly-2x1 { width:100%; padding-bottom:50%; }
*/


/* oly card style 

.oc { background-color:var(--cty-bg-card); height:100%; }
.oc a { display:block; height:100%; text-decoration:none; color:inherit; }
.oc a:hover { color:inherit; text-decoration:none; }
.oc-image { display:block; }
.oc-image-img { display:block; background-color:#eee; background-size:cover; background-position:center center; }
.oc-content { padding:1.5rem; }

.oc-subhead { font-weight:700; font-size:0.9rem; text-transform:uppercase; margin-bottom:0.5rem; }
.oc-headline { font-weight:700; font-size:1.1rem; margin-bottom:0.5rem; }
.oc-text { font-size:1rem; margin-bottom:0.5rem; }
.oc-html a { display:inline; height:auto; }
.oc-cta { display:inline-block; font-size:0.9rem; text-transform:uppercase; background-color:black; color:white; padding:0.25rem 0.75rem; margin-top:1rem; }
.oc-cta a { color:white; text-decoration:none; }
.oc-cta a:hover { color:white; text-decoration:none; }
.oc-cta span::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"; /* arrow */ /*
  content: "\203a"; /* angle */ /*
  padding-left: 8px;
}
*/

/* example of over-riding OLY style */

.oc-cta { background-color:var(--cty-alink); color:white; padding:0.25rem 0.75rem; margin-top:1rem; }
.oc-cta:hover { background-color:var(--cty-ahover); }
.oc-cta a { color:white; text-decoration:none; }
.oc-cta a:hover { background-color:var(--cty-ahover);  color:white; text-decoration:none; }



/* image support */

.image-cover { background-position:center center; background-size:cover; }
.image-square { width:100%; padding-bottom:100%; background-position:center center; background-size:cover; }
.image-2x1 { width:100%; padding-bottom:50%; background-position:center center; background-size:cover; }
.image-3x2 { width:100%; padding-bottom:66%; background-position:center center; background-size:cover; }
.image-5x4 { width:100%; padding-bottom:80%; background-position:center center; background-size:cover; }
.image-4x5 { width:100%; padding-bottom:120%; background-position:center center; background-size:cover; }


/* events cards */

a.evcard { display:block; width:100%; height:100%; background-color:var(--cms-blue); color:var(--cms-cream); text-decoration:none; position:relative; 
border-radius:0.5rem; overflow:hidden;
}

.evcard-image { position:relative; width:100%; }
.evcard-image-image { width:100%; background-position:center center; background-size:cover; }
.evcard-image-cover { position:absolute; top:0px; width:100%; height:100%; background-color:rgba(0,0,0,0); transition: all 250ms ease-out; }

.evcard-content { padding:1.5rem;}
.evcard-content-subhead { font-weight:400; font-size:0.7rem; margin-bottom:0.5rem; text-transform:uppercase; letter-spacing:0.050rem; text-wrap:balance;  }
.evcard-content-headline { font-weight:600; font-size:1.2rem; line-height:1.3; margin-bottom:0.5rem; text-wrap:balance;  }

.evcard-content-time { font-weight:400; font-size:0.8rem; margin-bottom:0.5rem; padding-left:26px; position:relative; text-wrap:balance; }
.evcard-content-venue { font-weight:400; font-size:0.8rem; margin-bottom:0.5rem; padding-left:26px; position:relative; text-wrap:balance; }
.evcard-content-time span, .evcard-content-venue span { display:inline-block; text-align:center; width:20px; position:absolute; top:0px; left:0px; }

.evcard-content-text { font-weight:400; font-size:0.8rem; margin-bottom:0.5rem; }
.evcard-content-text span { opacity:0.5; }



.evcard-date-box { position:absolute; top:0.75rem; right:0; background-color:var(--cms-blue); color:var(--cms-cream);
  display: flex;
  width:80px; height:80px; 
  flex-direction: column;  /* Stack the text vertically */
  justify-content: center;  /* Center the content vertically */
  align-items: center;  /* Center the content horizontally */
  text-align: center;  /* align the text inside each child div */
  border-radius:0.5rem 0 0 0.5rem;
}

.evcard-date-dow { font-size:12px; line-height:14px; font-weight:600; }
.evcard-date-day { font-size:22px; line-height:28px; font-weight:600; letter-spacing:0.050rem; }
.evcard-date-month { font-size:12px; line-height:14px; font-weight:600; text-transform:uppercase; letter-spacing:0.050rem; }

.evcard-date-range { font-size:12px; line-height:16px; font-weight:600; text-transform:uppercase; letter-spacing:0.050rem; }
.evcard-date-range span { font-size:16px; line-height:18px; font-weight:700; }
.evcard-date-through { font-size:10px; line-height:16px; font-weight:700; text-transform:uppercase; letter-spacing:0.050rem; }

a.evcard:hover { color:var(--cms-white); text-decoration:none; }
a.evcard:hover .evcard-content-headline { color:var(--cms-white); }
a.evcard:hover .evcard-image-cover { background-color:rgba(0,0,0,0.15); }



/* special cards */

.special-cards { margin:1.5rem 0; }
.special-card { background-color:var(--cty-bg-card); height:auto; }
.special-card-image { display:block; }
.special-card-image-img { display:block; background-color:#eee; background-size:cover; background-position:center center; }
.special-card-content { padding:1.5rem; }
.special-card-headline { font-weight:700; font-size:1.2rem; margin-bottom:1rem; }
.special-card-text { font-size:0.85rem;  margin-bottom:1rem; }
.special-card-limits { font-size:0.85rem;  margin-bottom:1rem; }
.special-card-link { font-weight:700; margin-top:1rem; }
.special-card-venue * { font-size:0.9rem; }
.special-card-venue .awesome-box { display:table; width:100%; }
.special-card-venue .awesome-box-icon { display:table-cell; width:24px; vertical-align:top; text-align:left; }
.special-card-venue .awesome-box-link { display:table-cell; width:auto; vertical-align:top; text-align:left; }




/* post cards */

.post-crds { margin:1.5rem 0; }
.post-crd { background-color:var(--cty-bg-card); color:var(--cty-fg-card); height:100%; }
.post-crd a { display:block; height:100%; text-decoration:none; color:inherit; }
.post-crd a:hover { color:inherit; text-decoration:none; }
.post-crd-image { display:block; }
.post-crd-image-img { display:block; background-size:cover; background-position:center center; }
.post-crd-content { padding:1.5rem; }

.post-crd-subhead { font-weight:400; font-size:0.8rem; margin-bottom:0.5rem; text-transform:uppercase; }
.post-crd-headline { font-weight:700; margin-bottom:0.5rem; }
.post-crd-text { font-size:1rem; }




/* place cards */

.pcrds { margin:1.5rem 0; }
.pcrd { background-color:var(--cms-cream); color:var(--cms-blue); height:100%; border-radius:0.5rem;  } 
.pcrd a { display:block; position:relative; height:100%; text-decoration:none; color:inherit; }
.pcrd a:hover { color:inherit; text-decoration:none; }
.pcrd-image { display:block; }
.pcrd-image-img { display:block; background-size:cover; background-position:center center; }
.pcrd-content { padding:1.5rem; }

.pcrd-needle { 
  position:absolute; 
  top:24px; 
  right:24px; 
 }
.pcrd-number { 
  display:block;
  background-color:var(--cty-map-marker-bg); /* match mapbox marker */
  color:var(--cty-map-marker-fg); /* mapbox marker */
  border-radius:50%;
  text-align:center;
  width:40px;
  height:40px;
  font-size:1rem;
  line-height:40px;
  font-weight:700;
}

.pcrd-headline { font-size:1rem; font-weight:700; margin-bottom:0.1rem; }
.pcrd-text { font-size:0.8rem; }





/* visit planner card */

.vcards { margin:1.5rem 0; }
.vcard { background-color:var(--cty-bg-card); height:100%; position:relative; border:2px solid #fafafa; } 
.vcard a { display:block; height:100%; text-decoration:none; color:inherit; }
.vcard a:hover { color:inherit; text-decoration:none; }
.vcard-image { display:block; }
.vcard-image-img { display:block; background-color:#eee; background-size:cover; background-position:center center; }
.vcard-content { padding:1.5rem; }

.vcard-headline { font-size:1rem; font-weight:700; margin-bottom:0.1rem; }
.vcard-text { font-size:0.8rem; }

.vcard-favorite { position:absolute; top:0px; right:0px; width:50px; height:50px; }
.vcard-favorite a { display:block; width:50px; height:50px; text-align:center; cursor:pointer; background-color:black; color:white; font-size:24px; line-height:50px; }
.vcard-favorite a:hover { background-color:#666; color:white; }
.vcard-favorite-icon { display:inline; }
.vcard-favorite-icon-selected { display:none; }

.vcard-selected { border-color:black; }
.vcard-selected .vcard-favorite-icon { display:none; }
.vcard-selected .vcard-favorite-icon-selected { display:inline; }


/* simple slider */

.cafe-swiper-hold { position:relative; }

.cafe-swiper-next, .cafe-swiper-prev {
  display: flex;
  position: absolute;
  top: var(--swiper-navigation-top-offset,40%);
  width: 48px;
  height: 48px;
  margin-top: -24px;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background-color: var(--cty-alink);
  font-size:30px;
  color: #fff;
  border-radius:24px;
}
.cafe-swiper-prev { left:-22px; }
.cafe-swiper-next { right:-22px; }


/* simple slider carousel */

.cafe-carousel-card { position:relative; }

.cafe-carousel-next, .cafe-carousel-prev {
  display: flex;
  position: absolute;
  top: var(--swiper-navigation-top-offset,50%);
  width: 48px;
  height: 48px;
  margin-top: -24px;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background-color: var(--cty-alink);
  font-size:30px;
  color: #fff;
  border-radius:24px;
}
.cafe-carousel-prev { left:-22px; }
.cafe-carousel-next { right:-22px; }

.carousel-card { display:block; background-color:var(--cty-bg-card); }
.carousel-card-image { display:block; }
.carousel-card-image-img { display:block; width:100%; padding-bottom:80%; background-size:cover; background-position:center center; }
.carousel-card-content { padding:1rem; }
.carousel-card-content-cell { text-align:left; }

@media all and (min-width: 992px) {
  .carousel-card { display:flex; flex-direction: row-reverse; }
  .carousel-card-image { width:50%; height:auto; }
  .carousel-card-image-img { width:100%; height:100%; padding:0; }
  .carousel-card-content { width:50%; min-height:500px; padding:0; display: flex; align-items: center; }
  .carousel-card-content-cell { padding:0 2rem; }
}
@media all and (min-width: 992px) {
  .carousel-card-content-cell { padding:0 4rem; }
}

.carousel-card-headline { font-weight:700; font-size:1.1rem; margin-bottom:0.5rem; }
.carousel-card-text { font-size:1rem; }
.carousel-card-link { margin-top:0.5rem; }




/* hero slider */

.hero-swiper-hold { width:100%; position:relative; }
.hero-swiper-height { height:75vh; max-height:600px; min-height:100px; }
.hero-swiper-image-bg { width:100%; background-color:#eee; background-size:cover; background-position:center center;}

.hero-swiper-next, .hero-swiper-prev {
  display: flex;
  position: absolute;
  top: 50%;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background-color: var(--cty-alink);
  font-size:30px;
  color: #fff;
  border-radius:24px;
}
.hero-swiper-prev { left:12px; }
.hero-swiper-next { right:12px; }
@media all and (min-width: 992px) {
  .hero-swiper-prev { left:5%; }
  .hero-swiper-next { right:5%; }
}

.hero-swiper-cover { 
  width:100%; height:100%; padding:24px 72px;
  background: rgb(48,93,200);
  background: linear-gradient(60deg, rgba(48,93,200,0.5) 0%, rgba(227,18,175,0.5) 100%); 
}
.hero-swiper-flex {
  width:100%; height:100%;
  display: flex; align-items: center; justify-content: center;
}
.hero-swiper-content { width:100%; max-width:600px; text-align:center; color:white; }
.hero-swiper-content-headline { font-size:1.25rem; font-weight:700; margin-bottom:0.5rem; }
.hero-swiper-content-text { font-size:1rem; font-weight:400; }
.home-swiper-content-link { margin-top:0.5rem; }


/* artcar */

.artcar-swiper-hold { width:100%; max-width:1500px; margin:1rem auto; position:relative; }

.artcar-swiper-next, .artcar-swiper-prev {
  position: absolute;
  top: 200px; /* half desktop image height */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  border-radius:50%;
  font-size: 16px;
  color: var(--cms-blue);
  background-color: var(--cms-teal-light);
  z-index: 10;
  cursor: pointer;
}
.artcar-swiper-prev { left:4px; }
.artcar-swiper-next { right:4px; }

.artcrd { width:100%; }
.artcrd-image { display:block; }
.artcrd-image-img { display:block; width:100%; height:380px; background-color:#eee; background-size:cover; background-position:center center; 
  border-radius:0.5rem; overflow:hidden;
}

.artcrd-content-hold { width:100%; padding:0 12px; }
.artcrd-content { display:none; padding:1rem; background-color:var(--cms-cream); 
  border: 1px solid var(--cms-cream-dark);
  border-radius:0.5rem;
  margin-top:-16px;
}

.artcrd .evcard-date-box { background-color:var(--cms-cream); color:var(--cms-blue); }

.artcrd-subhead { font-weight:400; font-size:0.7rem; margin-bottom:0.15rem; text-transform:uppercase; letter-spacing:0.050rem; text-wrap:balance; }
.artcrd-headline { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.8rem; line-height:1.16; font-weight:400; margin-top:0; margin-bottom:0.65rem; text-wrap:balance; }

.artcrd-content-time { font-weight:400; font-size:0.85rem; margin-bottom:0.25rem; padding-left:26px; position:relative; text-wrap:balance; }
.artcrd-content-venue { font-weight:400; font-size:0.85rem; margin-bottom:0.25rem; padding-left:26px; position:relative; text-wrap:balance; }
.artcrd-content-time span, .artcrd-content-venue span { display:inline-block; text-align:center; width:20px; position:absolute; top:0px; left:0px; }

.artcrd-linklabel a { font-weight:600; font-size:0.95rem; line-height:1.2; text-decoration:none; margin-top:0.5rem; }
.artcrd-linklabel a:hover { text-decoration:none; }

.artcar-swiper-hold .swiper-slide { transition: opacity 0.35s linear 0s; }
.artcar-swiper-hold .swiper-slide-active .artcrd-content { display:block; }
.artcar-swiper-hold .swiper-slide-prev .artcrd-image-img { height:340px; margin-top:20px; opacity:0.5; }
.artcar-swiper-hold .swiper-slide-next .artcrd-image-img { height:340px; margin-top:20px; opacity:0.5; }
.artcar-swiper-hold .swiper-slide-prev .evcard-date-box { display:none; }

@media all and (min-width: 992px) {
  .artcar-swiper-next, .artcar-swiper-prev { top:300px; /* half desktop image height */ }
  .artcar-swiper-next { right: 8.25%; }
  .artcar-swiper-prev { left: 8.25%; } 
  .artcrd-image-img { height:600px; }
  .artcar-swiper-hold .swiper-slide-prev .artcrd-image-img { height:560px; margin-top:20px; }
  .artcar-swiper-hold .swiper-slide-next .artcrd-image-img { height:560px; margin-top:20px; }
  .artcrd-content-hold { width:100%; padding:0 40px; }
  .artcrd-content { margin-top:-40px; padding:1rem 1.5rem;}
}



/* visit planner card */

.vcards { margin:1.5rem 0; }
.vcard { background-color:var(--cty-bg-card); height:100%; position:relative; border:2px solid #fafafa; } 
.vcard a { display:block; height:100%; text-decoration:none; color:inherit; }
.vcard a:hover { color:inherit; text-decoration:none; }
.vcard-image { display:block; }
.vcard-image-img { display:block; background-color:#eee; background-size:cover; background-position:center center; }
.vcard-content { padding:1.5rem; }

.vcard-headline { font-size:1rem; font-weight:700; margin-bottom:0.1rem; }
.vcard-text { font-size:0.8rem; }

.vcard-favorite { position:absolute; top:0px; right:0px; width:50px; height:50px; }
.vcard-favorite a { display:block; width:50px; height:50px; text-align:center; cursor:pointer; background-color:black; color:white; font-size:24px; line-height:50px; }
.vcard-favorite a:hover { background-color:#666; color:white; }
.vcard-favorite-icon { display:inline; }
.vcard-favorite-icon-selected { display:none; }

.vcard-selected { border-color:black; }
.vcard-selected .vcard-favorite-icon { display:none; }
.vcard-selected .vcard-favorite-icon-selected { display:inline; }


/* DFWI Domino Slider */

.dfwi-domino-row { display:block; width:100%; margin:0 auto; } /* apply max-width here as needed */
.dfwi-domino-image { display:block; }
.dfwi-domino-image-img { display:block; width:100%; padding-bottom:80%; background-size:cover; background-position:center center; }
.dfwi-domino-content { display:block; padding:1.5rem; }

.dfwi-domino-flex {
  display: flex;
  align-items: center; /* center vertically */
  justify-content: center; /* center horizontally */
}
.dfwi-domino-flex > div { width:100%; }

@media all and (min-width: 768px) {
	.dfwi-domino-row { display:flex; }
	.dfwi-domino-row-reverse { flex-direction: row-reverse; }
	.dfwi-domino-image  { width:50%; padding:0; }
  .dfwi-domino-image-img { width:100%; height:100%; padding:0; }
	.dfwi-domino-content { width:50%; padding:2rem; }
  .dfwi-domino-flex { min-height: 400px; }
}
@media all and (min-width: 992px) {
	.dfwi-domino-content { padding:2.5rem; }
}
@media all and (min-width: 1200px) {
	.dfwi-domino-content { padding:3rem;; }
}

.dfwi-domino-subhead { font-weight:600; font-size:0.9rem; text-transform:uppercase; margin-bottom:0.75rem; letter-spacing:0.050rem; text-wrap:balance; }
.dfwi-domino-headline { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.8rem; line-height:1.16; font-weight:400; 
  margin-bottom:0.75rem; text-wrap:balance; }
.dfwi-domino-text { font-size:0.9rem; margin-bottom:0.5rem; text-wrap:balance; }
.dfwi-domino-cta { font-weight:700; font-size:0.9rem; margin-top:1rem; text-wrap:balance; }

.dfwi-domino-cta {
  .btn-outline-brand-pill { 
    background-color:inherit; 
    border:1px solid var(--cms-teal-light); 
    color:var(--cms-teal-light); 
    font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
    border-radius:20px; 
    margin: 4px 2px 4px 0px; 
    padding: .275rem 1rem; 
    transition:var(--cty-transition-hover);  
    text-decoration:none; 
  }
  .btn-outline-brand-pill:hover { 
    background-color:inherit; 
    border-color:var(--cms-teal-light); 
    color:white; 
    text-decoration:none; 
  }
}

.oly-swiper-container { margin:1.5rem 0; position:relative; }

.oly-swiper-button-next, .oly-swiper-button-prev {
  display: flex;
  position: absolute;
  z-index: 10;
  top:25%;
  left:-24px;
  border: 0;
  color: var(--cms-blue);
  background-color: var(--cms-teal-light);
  padding: 0 !important;
  font-size: 16px;
  line-height: 48px;
  height: 48px;
  width: 48px;
  margin-top: -24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 250ms ease;
  }
  .oly-swiper-button-next {
    left:auto; right:-24px;
  }
  @media all and (min-width: 768px) {
.oly-swiper-button-next, .oly-swiper-button-prev { top:50%; }
  }


/* dfwi diamond box cards */

.dfwi-diamond-box-cards { 
  .box-card { 
   height:100%;
   min-height: 500px;
   background-color:#2f3130; 
   color:white;
   border-radius:0.5rem;
   overflow:hidden;
  }

  .box-card a { display:block; height:100%; min-height: inherit; text-decoration:none; color:inherit; }

  .box-card:hover a { text-decoration:none; color:inherit; min-height: inherit; }

  .box-card-flex {
    position: relative;
    min-height: inherit;
    height:100%;
    display: flex;
    align-items: end; /* center vertically */
    justify-content: start; /* center horizontally */
    overflow: hidden;
    text-decoration:none;
  }

  .box-card-image { 
    position: absolute;
    width: 100%; 
    height:100%; 
    background-size: cover; 
    background-position: center center;
    z-index:1;
  }

  .box-card a .box-card-image {  transition: all 300ms linear 0s; }
  .box-card a:hover .box-card-image { transform: scale(1.025); }

    
  .box-card-cover {
    position: absolute;
    width: 100%; 
    height:100%; 
    background-color:rgba(0,32,91,0.25);
    z-index:3;
    background-image:url('https://ctycms.com/tx-fort-worth/box-diamonds-overlay.svg');
    background-size:contain;
    background-position: top center;
    background-repeat: no-repeat;
    opacity:0.5;
  }

  .box-card-content {
    position: relative;
    text-align: center;
    padding: 1rem 1.5rem 0.75rem 1rem;
    max-width: 992px;
    z-index:4;
    opacity:0.9;
  }

  .op-cta { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.6rem; line-height:1.25; font-weight:400; 
  margin-bottom:0.75rem; text-wrap:balance; text-align:left; }

  .box-card:hover a .box-card-content { opacity:1; }
}




/* dfwi special box cards */

.dfwi-special-box-cards { 
  .box-card { 
   height:100%;
   min-height: 400px;
   background-color:#2f3130; 
   color:white;
   border-radius:0.5rem;
   overflow:hidden;
  }

  .box-card a { display:block; height:100%; min-height: inherit; text-decoration:none; color:inherit; }

  .box-card:hover a { text-decoration:none; color:inherit; min-height: inherit; }

  .box-card-flex {
    position: relative;
    min-height: inherit;
    height:100%;
    display: flex;
    align-items: end; /* center vertically */
    justify-content: start; /* center horizontally */
    overflow: hidden;
    text-decoration:none;
  }

  .box-card-image { 
    position: absolute;
    width: 100%; 
    height:100%; 
    background-size: cover; 
    background-position: center center;
    z-index:1;
  }
    
  .box-card-cover {
    position: absolute;
    width: 100%; 
    height:100%; 
    background-color:rgba(0,32,91,0.25);
    z-index:3;
  }

  .box-card-content {
    position: relative;
    text-align: center;
    padding: 1rem 1.5rem 0.75rem 1rem;
    max-width: 992px;
    z-index:4;
    opacity:0.9;
  }

  .op-cta { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.6rem; line-height:1.25; font-weight:400; 
  margin-bottom:0.75rem; text-wrap:balance; text-align:left; }

  .box-card:hover a .box-card-content { opacity:1; }
}




/* dfwi special box cards */

.large-box-cards { 
  .box-card { 
   height:100%;
   min-height: 460px;
   background-color:#2f3130; 
   color:white;
   border-radius:0.5rem;
   overflow:hidden;
  }

  .box-card a { display:block; height:100%; min-height: inherit; text-decoration:none; color:inherit; }

  .box-card:hover a { text-decoration:none; color:inherit; min-height: inherit; }

  .box-card-flex {
    position: relative;
    min-height: inherit;
    height:100%;
    display: flex;
    align-items: end; /* center vertically */
    justify-content: start; /* center horizontally */
    overflow: hidden;
    text-decoration:none;
  }

  .box-card-image { 
    position: absolute;
    width: 100%; 
    height:100%; 
    background-size: cover; 
    background-position: center center;
    z-index:1;
  }
    
  .box-card-cover {
    position: absolute;
    width: 100%; 
    height:100%; 
    background-color:rgba(0,32,91,0.25);
    z-index:3;
  }

  .box-card-content {
    position: relative;
    text-align: center;
    padding: 1rem 1.5rem 0.75rem 1rem;
    max-width: 992px;
    z-index:4;
    opacity:0.9;
  }

  .op-cta { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.6rem; line-height:1.25; font-weight:400; 
  margin-bottom:0.75rem; text-wrap:balance; text-align:left; }

  .box-card:hover a .box-card-content { opacity:1; }
}





/* staff card */

.staff-card { background-color:var(--cms-blue); color:white; text-align:left; width:100%; height:100%; 
  border-radius:0.5rem; overflow:hidden; padding:0; 
}
.staff-card-image { display:block; width:100%; }
.staff-card-image-img { display:block; width:100%; padding-bottom: 150%; background-size:cover; background-position:center center; }
.staff-card-content { padding:1rem; }

.staff-icon { display:inline-block; text-align:center; width:30px; padding-right:6px; }
.staff-card-headline-classic { font-weight:600; font-size:1.1rem; line-height:1.3; margin-bottom:0.25rem; text-wrap:balance; }
.staff-card-headline { font-weight:600; text-transform:uppercase; letter-spacing:0.050rem; font-size:1rem; line-height:1.3; margin-bottom:0.25rem; text-wrap:balance; }
.staff-card-title { font-weight:400; font-size:0.8rem; line-height:1.3;  text-wrap:balance; }

.staff-card-phone { font-weight:550; font-size:0.66rem; line-height:1.3; margin-top:0.3rem; }
.staff-card-email { font-weight:550; font-size:0.66rem; line-height:1.3; margin-top:0.3rem; }

.staff-card-phone a, .staff-card-email a { text-decoration:none; }
.staff-card-phone a:hover, .staff-card-email a:hover { text-decoration:none; }

.staff-card-links { margin:0.5rem 0 0.75rem 0; }

.btn-staff-icon { 
  display:inline-block;
  width:30px; 
  height:30px; 
  font-size:15px; 
  line-height:30px; 
  border-radius:50%; 
  text-align:center;
  background-color:var(--cms-blue-light); 
  border:none; 
  color:var(--cms-blue); 
  margin: 0 0.5rem 0 0;
  padding: 0; 
  transition:var(--cty-transition-hover); 
  text-decoration:none; 
}
.btn-staff-icon:hover { 
  background-color:var(--cms-blue-light); 
  border:none;  
  color:white; 
  text-decoration:none; 
}

.btn-staff-bio { 
  background-color:var(--cms-blue); 
  border:1px solid var(--cms-blue-light); 
  color:var(--cms-blue-light);
  font-size:14px; line-height:1; font-weight:600; text-transform:none; letter-spacing:0.001rem; 
  margin: 0; 
  padding: 0.5rem 1rem; 
  transition:var(--cty-transition-hover); 
  text-decoration:none; 
  border-radius:24px;
}
.btn-staff-bio:hover { 
  background-color:var(--cms-blue); 
  border-color:var(--cms-blue-light); 
  color:white;
  text-decoration:none; 
}




/* css for modal backdrop */

.modal-backdrop { background-color:var(--cms-blue); }
.modal-backdrop.show { opacity:0.75; }

.modal-staff .modal-content { border:0; background-color: var(--cms-cream); }

.modal-video .modal-content { border:0px solid var(--cms-teal); background:rgba(1,17,50,0.5); }

.modal-video figure { margin:0; }

.staffmod { width:100%; padding:12px; }
.staffmod-hold { display:table; width:100%; margin-bottom:1rem; }
.staffmod-image { display:table-cell; width:90px; text-align:center; vertical-align:middle; }
.staffmod-content { display:table-cell; width:auto; text-align:left; padding-left:20px; vertical-align:middle; }

.staffmod-image-img { display:block; width:100%; padding-bottom: 100%; background-size:cover; background-position:center center; border-radius:50%; }
.staffmod-headline { font-weight:400; font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.8rem; line-height:1.16; font-weight:400; text-wrap:balance; margin-bottom:0.35rem; }
.staffmod-title { font-weight:600; font-size:0.8rem; line-height:1.3; text-wrap:balance; color:var(--cty-brand-blue); }
.staffmod-bio { font-weight:400; font-size:0.95rem; line-height:1.4; }


/* special box cards */

.sp-box-card { 
  height:100%;
  height:426px; 
  background-color:#00857C; /* ada with white over */
  color:white;
}

.sp-box-card a { display:block; height:100%; min-height: inherit; text-decoration:none; color:inherit; }

.sp-box-card:hover a { text-decoration:none; color:inherit; min-height: inherit; }

.sp-box-card-flex {
  position: relative;
  min-height: inherit;
  height:100%;
  display: flex;
  align-items: center; /* center vertically */
  justify-content: center; /* center horizontally */
  overflow: hidden;
  text-decoration:none;
}

.sp-box-card-image { 
  position: absolute;
  width: 100%; 
  height:100%; 
  background-size: cover; 
  background-position: center center;
}


.sp-box-card a .sp-box-card-image {  transition: all 300ms linear 0s; }
.sp-box-card a:hover .sp-box-card-image { transform: scale(1.025); }

.sp-box-card-cover {
  position: absolute;
  width: 100%; 
  height:100%; 
  background-color:rgba(0, 133, 124,0.45);
}

.sp-box-card a .sp-box-card-cover { transition: all 300ms linear 0s; }
.sp-box-card a:hover .sp-box-card-cover { background-color:rgba(0, 133, 124,0.85); }

.sp-box-card-lines {
  position: absolute;
  width: 100%; 
  height:100%; 
  background:url('https://ctycms.com/tx-fort-worth/square-diamonds-overlay.svg') center center;
}
/*
.sp-box-card a .sp-box-card-lines {  transition: all 500ms linear 0s; }
.sp-box-card a:hover .sp-box-card-lines { transform: scale(1.025); }
*/




.sp-box-card-content {
  position: relative;
  text-align: center;
  padding: 1rem 2rem;
  max-width: 992px;
}

.sp-box-card a .sp-box-card-drawer { display:none; transition: all 200ms linear 0s; }
.sp-box-card a:hover .sp-box-card-drawer { display:block; }

.sp-box-headline { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.6rem; line-height:1.16; 
  font-weight:400; text-wrap:balance; }

.sp-box-card-text { font-size:0.8rem; margin-top:0.5rem; }



/* about: board */

.board-card { 
  width:100%;
  height:100%;
  border:1px solid var(--cms-blue);
  border-radius:0.5rem;
  padding:0.5rem 1rem;
  text-align:left;
}
.board-card-headline { font-size:1rem; font-weight:700; text-transform:uppercase; letter-spacing:0.050rem; }
.board-card-firm { font-size:0.8rem; font-weight:600; margin-top:0.15rem; }

.member-card { 
  width:100%;
  height:100%;
  border:1px solid var(--cms-cream-dark);
  border-radius:0.5rem;
  padding:0.5rem 1rem;
  text-align:left;
}
.member-card-headline { font-size:1rem; font-weight:600; }
.member-card-firm { font-size:0.8rem; font-weight:400; margin-top:0.15rem; }