@charset "UTF-8";
/* CSS Document */
.hp-pro-1 {  background-image: url("../../_assets/imgs/test/destinations/karsten-winegeart-yOwrFVY6JBE-unsplash.jpg"); }

/* other style */
.usacard.has-body {
  display: flex;
  flex-direction: column;
}

/* top background-image card */
.usacard.has-body .usa-cardimg {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}

/* bottom text/body section */
.usacard.has-body .usacard-body {
  background-color: #F6F6F6;
  padding: 15px;
  border: 5px solid #F6F6F6;
  border-top: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

/* */

.w-100 {
  width: 100% !important;
}
.usa-cardimg,
.usa-cardimg-tall {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 1 1 auto;
  width: 100%;
  padding: 25px;
  color: #fff;
  border-radius: 5px;
  margin-bottom: 25px;
  overflow: hidden;

  /* Background image behavior */
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Default card height */
.usa-cardimg {
  min-height: 250px;
}

/* Taller variant */
.usa-cardimg-tall {
  min-height: clamp(300px, 80vw, 450px);
}


/* Hover zoom using ::after (keeps layout stable) */
.usa-cardimg::after,
.usa-cardimg-tall::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;        /* inherits background image & settings */
  transform: scale(1);
  transition: transform 0.4s ease;
  z-index: 0;
  will-change: transform;
}

.usa-cardimg:hover::after,
.usa-cardimg-tall:hover::after {
  transform: scale(1.08);
}

/* Gradient overlay above image, below content */
.usa-cardimg::before,
.usa-cardimg-tall::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 50%),
    linear-gradient(to top right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 40%);
  z-index: 1;
}

/* Foreground content */
.card-content {
  position: relative;
  z-index: 3;
}

.usa-cardimg .card-content > *:last-child,
.usa-cardimg-tall .card-content > *:last-child {
  margin-bottom: 0;
}

.usacard.has-body .usa-cardimg,
.usacard.has-body .usa-cardimg-tall {
  margin-bottom: 0;              /* remove the 25px gap */
  border-bottom-left-radius: 0;  /* seamless join */
  border-bottom-right-radius: 0;
}

/* Optional but helps prevent hairline seams on hover-scale */
.usacard.has-body {
  border-radius: 5px;
  overflow: hidden;
}
/* Originial 
.usa-cardimg {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 1 1 auto;
  width: 100%;
  padding: 25px;
  color: #fff;
  border-radius: 5px;
  margin-bottom: 25px;
  overflow: hidden;
  min-height: 250px;

  /* Background image behavior 
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Hover zoom using ::after (keeps layout stable) 
.usa-cardimg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;        /* inherits the background image & settings 
  transform: scale(1);
  transition: transform 0.4s ease;
  z-index: 0;
}
.usa-cardimg:hover::after {
  transform: scale(1.08);
}

.usa-cardimg::after { will-change: transform; }

/* Gradient overlay above image, below content 
.usa-cardimg::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 50%),
    linear-gradient(to top right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 40%);
  z-index: 1;
}
*/
/* Foreground content stays above everything */
.card-content {
  position: relative;
  z-index: 3;
}

.usa-cardimg .card-content > *:last-child {
  margin-bottom: 0;
}

.usa-cardimg .card-content h1:last-child,
.usa-cardimg .card-content h2:last-child,
.usa-cardimg .card-content h3:last-child,
.usa-cardimg .card-content h4:last-child,
.usa-cardimg .card-content h5:last-child,
.usa-cardimg .card-content h6:last-child {
  margin-bottom: 0;
  line-height: 1.1;
}

/* Make entire card clickable if desired */
.card-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
}

/* Optional: tighten card title spacing */
.hero25-cardtitle {
  margin: 0;
}

/* Equal-height rows */
.row.equalize {
  align-items: stretch; /* columns align to tallest sibling */
}
	
.row.equalize > [class*="col-"] { display: flex; }

.programs-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/** CALL OUTS **/
.usa-callout-1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;     /* centers text vertically */
  align-items: flex-start;     /* left aligns text */
  width: 100%;
  padding: 25px;
  color: #fff;
  border-radius: 5px;
  overflow: hidden;
  text-align: left;
  min-height: 375px;

  /* Background image behavior */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Hover zoom effect */
.usa-callout-1::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  transform: scale(1);
  transition: transform 0.4s ease;
  z-index: 0;
  will-change: transform;
}

.usa-callout-1:hover::after {
  transform: scale(1.08);
}

/* Gradient overlay */
.usa-callout-1::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.15) 50%),
    linear-gradient(to top right, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 40%);
  z-index: 1;
}

/* Ensure content sits above overlays */
.usa-callout-1 > * {
  position: relative;
  z-index: 2;
}

/* Responsive height adjustment */
@media (min-width: 992px) {
  .usa-callout-1 {
    min-height: 500px;
  }
}