
/* from blocks.css */

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

.op-card { background-color:var(--cty-bg-card); color:var(--cty-fg-card); width:100%; height:100%; }
.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; }
.op-card-image-img { width:100%; background-position:center center; background-size:cover; }

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

.op-subhead { font-weight:800; font-size:0.75rem; letter-spacing:0.100rem; text-transform:uppercase; margin-bottom:0.5rem; text-wrap:balance; }
.op-headline { font-weight:700; font-size:1.2rem; margin-bottom:0.5rem; text-wrap:balance; }
.op-text { font-weight:400; font-size:0.9rem; margin-bottom:0.5rem; text-wrap:balance; }

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


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


/* domino-cards */

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

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

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

/* styling example */
.domino-boulder-split {
  .op-domino-row { margin-bottom:1rem; }
}

.domino-boulder-shadow {
  .op-domino-row { box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.45); }
}




/* boulder background domino */

.bg-domino {
  width:100%;
  background-position: center center;
  background-size:cover;
  padding:40px 16px;
}

.bg-domino-bg { display:block; }
.bg-domino-row { display:block; width:100%; margin:0 auto; } /* apply max-width here as needed */
.bg-domino-content { display:block; padding:3rem 2rem; background-color:white; }

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

@media all and (min-width: 768px) {
	.bg-domino-row { display:flex; }
	.bg-domino-row-reverse { flex-direction: row-reverse; }
	.bg-domino-content { width:100%; max-width:520px; padding:2rem; }
  .bg-domino-flex { min-height: 240px; }
}
@media all and (min-width: 992px) {
	.bg-domino-content { padding:2.5rem; }
}
@media all and (min-width: 1200px) {
	.bg-domino-content { padding:3rem;; }
}





/* 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:white; color:inherit; text-decoration:none; position:relative; 
box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.45);
transition: all 500ms ease;
border-radius:4px; overflow:hidden;
}
a.evcard:hover { 
  box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.75);
}

.evcard-image { position:relative; width:100%; }
.evcard-image-image { width:100%; aspect-ratio:5/4; 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:2.5rem 2.5rem 1.0rem 1.5rem; position:relative; }
.evcard-content-subhead { font-weight:500; font-size:0.6rem; margin-bottom:0.5rem; text-transform:uppercase; 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:500; font-size:0.8rem; margin-bottom:0.5rem; padding-left:26px; position:relative; text-wrap:balance; }
.evcard-content-venue { font-weight:500; 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:-35px; left:0; background-color:black; color:white;  
  display: flex;
  width:64px; height:64px; 
  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-top:1px solid white;
  border-right:1px solid white;
}

.evcard-date-dow { font-size:10px; line-height:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.050rem; }
.evcard-date-day { font-size:16px; line-height:24px; font-weight:600; letter-spacing:0.050rem; }
.evcard-date-month { font-size:10px; line-height:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.050rem; }

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

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


/* featured events card */

.evfeat { display:block; }
.evfeat a { display:block; text-decoration:none; background-color:white; box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.45); transition: all 250ms ease-out; } 
.evfeat a:hover { display:block; text-decoration:none; box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.85);} 

.evfeat-image-img { width:100%; aspect-ratio:3/2; background-size:cover; background-position: center center; }
.evfeat-content { padding:32px 24px 24px 24px; position:relative; }
.evfeat-content-tip { 
  position: absolute;
  top:-16px;
  left:0px;
  background-color: var(--cms-merlot);
  font-weight: 700;
  color: #fff;
  padding: 0 20px;
  display: block;
  letter-spacing: 0.100rem;
  font-size: 12px;
  line-height: 32px;
  width: auto;
  height: 32px;
  text-transform: uppercase;
}
.evfeat-content-headline { 
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 2px;
  text-wrap:balance;
}
.evfeat-content-text { 
  font-weight: 500;
  font-size: 0.8rem;
  text-wrap:balance;
}

/* featured events list */

.evlist { display:block; margin-bottom:1rem; }
.evlist a { display:block; text-decoration:none; position:relative; padding-left:32px; } 
.evlist a:hover { display:block; text-decoration:none; } 

.evlist-content { min-height:88px; padding:18px 18px 18px 50px; }
.evlist a .evlist-content { background-color:white; box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.45); transition: all 250ms ease-out; }
.evlist a:hover .evlist-content { background-color:white; box-shadow: 0px 0px 8px 0px rgba(177,158,144,0.85); transition: all 250ms ease-out; }

.evlist-content-headline { 
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 2px;
  text-wrap:balance;
}
.evlist-content-text { 
  font-weight: 500;
  font-size: 0.8rem;
  text-wrap:balance;
}

.evlist-date-box { position:absolute; top:12px; left:0; background-color:var(--cms-merlot); color:white;  
  display: flex;
  width:64px; height:64px; 
  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 */
}

.evlist-date-dow { font-size:10px; line-height:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.050rem; }
.evlist-date-day { font-size:16px; line-height:24px; font-weight:800; letter-spacing:0.050rem; }
.evlist-date-month { font-size:10px; line-height:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.050rem; }

.evlist-date-range { font-size:10px; line-height:16px; font-weight:500; text-transform:uppercase; letter-spacing:0.050rem; }
.evlist-date-range span { font-size:12px; line-height:16px;  font-weight:800; }
.evlist-date-through { font-size:8px; line-height:16px; font-weight:700; text-transform:uppercase; letter-spacing:0.050rem; }




/* special cards */

.special-cards { margin:1.5rem 0; }
.special-card { background-color:white; height:auto; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25); border:1px solid white; }
.special-card-image { display:block; }
.special-card-image-img { display:block; aspect-ratio:3/2; background-color:#eee; background-size:cover; background-position:center center; }
.special-card-content { padding:1.5rem; text-align:center; }
.special-card-headline { font-weight:700; font-size:1.2rem; margin-bottom:0.85rem; }

.special-card-when { font-size:0.8rem; font-weight:500; margin:0.85rem 0; text-wrap:balance; }
.special-card-what { font-family: 'source-serif-4', serif; font-size:0.95rem; line-height:1.4; font-weight:400; margin-bottom:1rem; text-wrap:balance;  }

.special-card-text { font-size:0.8rem; font-weight:500; margin-bottom:1rem; text-wrap:balance;  }

.special-card-link { margin:0.8rem 0; }

.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.95rem;  }

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

.special-card-venue a { font-weight:700; text-decoration:none; color:var(--cms-green); }
.special-card-venue a:hover { font-weight:700; text-decoration:none; color:var(--cms-green); }



/* post cards */

.post-crds { margin:1.5rem 0; }
.post-crd { background-color:white; color:inherit; height:100%;  }
.post-crd a { display:block; height:100%; text-decoration:none; color:inherit; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25); transition: all 500ms ease; }
.post-crd a:hover { color:inherit; text-decoration:none; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.75); }
.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:700; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.050rem; color:var(--cms-black); margin-bottom:0.5rem; text-wrap:balance; }
.post-crd-headline { font-weight:700; font-size:1.3rem; line-height:1.4; margin-bottom:0.5rem; color:var(--cms-green); text-wrap:balance; margin:0.75rem 0; }
.post-crd-text { font-weight:400; font-size:0.9rem; margin-bottom:0.5rem; text-wrap:balance; }
.post-crd-minutes { font-weight:700; font-size:0.7rem; margin-top:0.85rem; text-wrap:balance; }



/* spotlights */

.spot-crd { background-color:white; color:inherit;  }
.spot-crd a { display:block; height:100%; text-decoration:none; color:inherit; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25); transition: all 500ms ease; }
.spot-crd a:hover { color:inherit; text-decoration:none; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.75); }
.spot-crd-image { display:block; }
.spot-crd-image-img { display:block; aspect-ratio:3/2; background-size:cover; background-position:center center; }
.spot-crd-content { padding:2rem 1.5rem; text-align:center; }

.spot-crd-headline { font-weight:700; font-size:1.4rem; line-height:1.4; margin-bottom:0.75rem; color:var(--cms-green); text-wrap:balance; }
.spot-crd-text { font-weight:500; font-size:0.9rem; margin-bottom:0.5rem; text-wrap:balance; }

.spot-swiper-hold { position:relative; }
.spot-swiper-next, .spot-swiper-prev {
  display: flex;
  position: absolute;
  top: var(--swiper-navigation-top-offset,40%);
  width: 40px;
  height: 40px;
  margin-top: -20px;
  z-index: 10;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background-color: var(--cms-green);
  font-size:15px;
  color: #fff;
  border-radius:0;
}
.spot-swiper-prev { left:-20px; }
.spot-swiper-next { right:-20px; }
@media all and (min-width: 1200px) {
  .spot-swiper-prev { left:-52px; }
  .spot-swiper-next { right:-52px; }
}
.spot-swiper-hold .swiper-wrapper { padding:8px 0; }



/* simple places */

.spcrd { background-color:transparent; color:inherit; height:100%; border-top:1px solid var(--cms-green); } 
.spcrd a { display:block; position:relative; height:100%; text-decoration:none; color:inherit; }
.spcrd a:hover { color:inherit; text-decoration:none; }
.spcrd-content { padding:0.5rem 0; }
.spcrd-headline { font-size:1.1rem; font-weight:700; margin-bottom:0.1rem; }
.spcrd-text { font-size:0.8rem; font-weight:500; }



/* boulder places */

.bpcrd { background-color:white; color:inherit; height:100%; } 
.bpcrd a { display:block; height:100%; text-decoration:none; color:inherit; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25); transition: all 500ms ease;  }
.bpcrd a:hover { color:inherit; text-decoration:none; box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.75);  }
.bpcrd-image { display:block; }
.bpcrd-image-img { display:block; aspect-ratio:3/2; background-size:cover; background-position:center center; }
.bpcrd-content { padding:1.5rem; text-align:center; }
.bpcrd-headline { font-weight:700; font-size:1.3rem; line-height:1.4; margin-bottom:0.5rem; color:var(--cms-green); text-wrap:balance; }
.bpcrd-text { font-weight:500; font-size:0.8rem; margin-bottom:0.5rem; text-wrap:balance; }



/* place cards */

.pcrds { margin:1.5rem 0; }
.pcrd { background-color:var(--cty-bg-card); color:var(--cty-fg-card); height:100%; } 
.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; }



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








/* places in places */

.swiper-pip-wrap { margin:1rem 0 3rem 0; position:relative; width:100%;  }

.swiper-pip-button-next, .swiper-pip-button-prev {
  display: flex;
  position: absolute;
  z-index: 10;
  top:50%;
  left:-24px;
  background-color: black;
  border: 0;
  color: white;
  padding: 0 !important;
  font-size: 30px;
  line-height: 48px;
  height: 48px;
  width: 48px;
  margin-top: -24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 250ms ease;
  }
  .swiper-pip-button-next {
    left:auto; right:-24px;
  }




  /* lolinks */

  .lolinks { 
    border:2px solid var(--cms-cream-medium);  
  }

  .lolink { 
    background-color:black; 
    color:white;
  }
  
  .lolink a { 
    display:block; 
    text-decoration:none; 
    position:relative;
    aspect-ratio:3/2;
    overflow:hidden;
    border:2px solid var(--cms-cream-medium); 
  }
  
  @media all and (min-width: 992px) {
    .lolink a { aspect-ratio:1/1; }
  }

  .lolink a:hover { 
    text-decoration:none; 
  }

  .lolink-image { 
    position:absolute;
    top:0;
    z-index:1;
    width:100%;
    height:100%;
    background-size:cover;
    background-position:center center;
  }
  .lolink a .lolink-image {
    transition:all 600ms ease;
    transform: scale(1);
  }
  .lolink a:hover .lolink-image {
    transform: scale(1.05);
  }

  .lolink-cover { 
    position:absolute;
    top:0;
    z-index:2;
    width:100%;
    height:100%;
  }
  .lolink a .lolink-cover {
    transition:all 300ms ease;
    background-color:rgba(21,53,41,0.45);
  }
  .lolink a:hover .lolink-cover {
    background-color:rgba(21,53,41,0.85);
  }

  .lolink-linework {
    position:absolute;
    top:0;
    z-index:3;
    width:100%;
    height:100%;
    padding:12px;
  }
  .lolink-linework-lines { width:100%; height:100%; border:2px solid rgba(255,255,255,0.25); }

  .lolink-content { 
    position:absolute;
    top:0;
    z-index:4;
    width:100%;
    height:100%;
    display:flex;
    flex-direction: column;
    align-items: center;   
    justify-content: center; 
    padding:2rem;
  }

  .lolink-headline {
    font-family: 'source-serif-4', serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.2;
    text-wrap: balance;
    text-align:center;
    text-transform:none;
    letter-spacing:0rem;
    margin-top:10px;
    margin-bottom:10px;
  }
  .lolink-text {
    display:block;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3;
    text-wrap: balance;
    text-align:center;
    text-transform:none;
    letter-spacing:0.010rem;
    margin-bottom:16px;
  }

  .lolink-read-more {
    display:block;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.2;
    text-wrap: balance;
    text-align:center;
    text-transform:none;
    letter-spacing:0.010rem;
  }

  @media all and (min-width: 992px) {
    .lolink a .lolink-read-more {
      opacity: 0;
      transform: translateY(6px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .lolink a:hover .lolink-read-more {
      opacity: 1;
      transform: translateY(0);
    }
  }
  


/* boulder staff cards */

.stgallery-container { width:100%; max-width:1100px; margin:3rem auto; }
.stgallery-box { width:100%; margin-bottom:1rem; 
box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25);}

.stgallery-content { position:relative; display: block; width:100%; height:100%; background-color:white; padding:2rem; }
.stgallery-image { position:relative; display: block; width:100%; padding-bottom: 100%; background-size:cover; background-position:center center;}
@media all and (min-width: 768px) {
	.stgallery-box { display:table; }
	.stgallery-row { display:table-row; }
	.stgallery-content { width:50%; display:table-cell; padding:2rem; }
	.stgallery-image { width:50%; display:table-cell; padding:0px; background-size:cover; background-position:center center;}
}
@media all and (min-width: 1020px) {
	.stgallery-content { width:50%; display:table-cell; padding:3rem; }
}

.st-name { 
  font-family: 'avenir-next-lt-pro', sans-serif; 
  font-weight:700;
  font-size: 1.5rem;
  color: inherit;
  margin-top: 1.45rem;
  margin-bottom: 2px;
 }
.st-title { 
  font-family: 'avenir-next-lt-pro', sans-serif; 
  font-weight:500; 
  font-size:1rem; 
}
.st-email { 
  font-family: 'avenir-next-lt-pro', sans-serif; 
  font-weight:800; 
  font-size:14px; 
  margin:12px 0px; 
}
.st-email a { text-decoration:none; }
.st-bio { 
  margin-top:12px;
  font-size:1rem; 
  font-family: 'source-serif-4', serif;
  font-weight: 400;
}


/* simple nav cards */

a.bcard-link { 
  display:block; 
  width:100%; 
  height:100%;
  background-color:white;
  text-decoration:none;  
  transition: all 500ms ease;
  box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25);
}

a.bcard-link:hover { 
  text-decoration:none;
  box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.75);
}

.bcard-image { position:relative;}
.bcard-image-img { width:100%; aspect-ratio:3/2; background-size:cover; background-position:center center; }
.bcard-image-cover { position:absolute; top:0px; width:100%; height:100%; display:block; background-color:rgba(0,0,0,0.0); transition: all 500ms ease; }

.bcard-content { background-color:white; padding:20px; text-align:left;}
.bcard-content-headline { display:block; text-align:center; font-weight:800; font-size:1.2rem; line-height:1.3; padding:1rem; color:inherit; }

a.bcard-link:hover .bcard-image-cover { background-color:rgba(0,0,0,0.2); }
a.bcard-link:hover .bcard-content-headline { color:inherit; }




/* overlap card */

.overlap-card-wide { margin:0 0 28px 0; width:100%; }
.overlap-card-wide-image { display:block; width:100%; padding:2rem; background-size:cover; background-position:center center; }
.overlap-card-wide-content { 
  background-color:white; 
  padding:30px 20px; 
  text-align:center; 
  box-shadow: 0px 5px 8px 0px rgba(177,158,144,0.25);
}
@media all and (min-width: 768px) {
	.overlap-card-wide-image { background-size: 70% auto; background-repeat:no-repeat; background-position:center left; text-align:right; padding:40px 0px 30px 0px; }
	.overlap-card-wide-content { width:37%; display:inline-block; padding:50px 40px;  }
}

.overlap-card-wide-subhead {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1;
  color: var(--cms-merlot);
  letter-spacing: 0.075rem;
  margin-bottom:1rem;
  text-wrap:balance;
}
.overlap-card-wide-headline {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom:1rem;
  text-wrap:balance;
}
.overlap-card-wide-text {
  font-family: 'source-serif-4', serif;
  font-size:1rem;
}
.overlap-card-wide-link { margin-top:1rem; }


