
/* ==================================== */
/* ========= Acadiana & Intro ========= */
    a.acadiana-link {
        color: #222; 
        font-size: 16px; 
        font-family: 'Montserrat', sans-serif;
    }
    a.acadiana-link:hover {
        color: #D4AF37;
    }

    .choice-award {
        max-width: 25rem;
        margin-inline: auto;
    }

    .lead.statement {
        font-size: 24px;
        font-weight: 700;
        letter-spacing: .5px;
    }


/* =============================== */
/* ========= CORE VALUES ========= */
.services-variant-v20 .over-text{
  text-align: center;
}
.services-variant-v20 .sv-gallery{
    border: 0 none;
    float: left;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.services-variant-v20 .row {
  margin-left: -1px;
  margin-right: -1px;
}
/* Additional vertical spacing adjustment for .sv-gallery-box within each .col-sm-6 */
.services-variant-v20 .sv-gallery-box {
  margin-bottom: 1px !important; /* This should already be in place for bottom spacing */
}

/* If needed, apply a top margin to each box except the first in each column for precise control */
.services-variant-v20 .col-sm-6 .sv-gallery-box:not(:first-child) {
  margin-top: 1px !important;
}
.services-variant-v20 .col-sm-6 {
  padding-left: 1px;
  padding-right: 1px;
}
.services-variant-v20 .sv-gallery-box, .services-variant-v20 img {
  box-sizing: border-box;
}
.services-variant-v20 .col-md-6 {
  overflow: hidden;
}

.services-variant-v20 .sv-gallery-box{
    position: relative;
    margin-bottom: 1px;
}
.services-variant-v20 .sv-gallery-box::before{
    background: #004586;
    content: "";
    height: 100%;
    width: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.25s linear;
}
.services-variant-v20 .sv-gallery-box:hover:before {
  opacity: 0.8;
}
.services-variant-v20 .sv-gallery-box:hover .sv-gallery-hover {
  background: none;
  top: 50%;
  padding: 0 30px 60px;
  transform: translateY(-50%);
}
.services-variant-v20 .sv-gallery-box.other {
  margin-top: 20px;
}
.services-variant-v20 .sv-gallery-box .sv-gallery-hover{
    background: linear-gradient(to top, rgba(0, 69, 134, 0) 0%, rgba(0, 69, 134, 0.3) 0%, rgba(0, 69, 134, 0.3) 70%, rgba(0, 69, 134, 0) 100%);
    padding-top: 20px;
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.5s ease;
}
.services-variant-v20 .sv-gallery-box.bottom{
  margin: 20px 0;
}
@media (min-width: 768px){
  .services-variant-v20 .sv-gallery-box.bottom{
    margin: 0;
  }
}
.services-variant-v20 .sv-gallery-box.bottom .sv-gallery-hover {
  bottom: 0;
  top: auto;
}
.services-variant-v20 .sv-gallery-box.bottom:hover .sv-gallery-hover{
  top: 50%;
}
.services-variant-v20 .sv-gallery-hover h3 {
  color: #fff;
  float: left;
  font-size: 34px;
  font-weight: 800;
  text-decoration: none;
  margin: 0px 0 5px;
  width: 100%;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}
.services-variant-v20 .sv-gallery-hover h3::after{
  color: #fff;
}
.sv-gallery-box:hover .sv-gallery-hover .sv-gallery-inner h3 {
  color: #fff;
}
.sv-gallery-box:hover .sv-gallery-hover .sv-gallery-inner .btn-primary {
  color: #004586;
  background-color: #fff;
}

.fence-subtitle {
  font-size: 1.8em; 
}

.well.well-white ul {
  list-style-type: none; /* Removes default bullets */
  padding-left: 0; /* Optional: Removes default padding */
}

.well.well-white ul li {
  position: relative; /* Sets the reference for the absolute positioning of the pseudo-element */
  padding-left: 20px; /* Provides space for the custom bullet */
}

.well.well-white ul li::before {
  content: ''; /* Required for the pseudo-element to be generated */
  position: absolute;
  left: 0; /* Aligns the bullet to the left edge of the list item */
  top: 50%; /* Centers the bullet vertically relative to the list item's height */
  transform: translateY(-50%); /* Further ensures the bullet is centered vertically */
  width: 6px; /* Width of the square bullet */
  height: 6px; /* Height of the square bullet */
  background-color: #004586; /* Bullet color */
}

.sv-gallery-box.bottom .reveal {
  height: 0;
  opacity: 0;
  transition: opacity 0s;
  color: #fff;
}

.sv-gallery-box.bottom:hover .reveal {
  height: auto;
  opacity: 1;
  /* The last value (0.3s) is the delay */
  transition: opacity 0.6s ease-in 0.2s;
}

@media (max-width: 991px) {
    .core-value-list {
        display: flex;
        flex-direction: column-reverse;
        margin: auto;
    }
    .core-value-list div.col-md-6.col-sm-12.pl-none {
        padding-inline: 0px;
    }
    .core-value-list .embed-container-zoom {
        margin-block-end: 2rem;
    }
    .container-fluid {
        padding-inline: 0
    }
}


/* ============================= */
/* ========= TEAM LIST ========= */

/* Intro row parent - text left, Chris & Teryn right */
.team-list .row.pb-lg {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.team-list .team-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}

/* Remove gap from intro row */
.team-list .team-items.intro-team {
  gap: 0;
}

/* Gap between Chris and Teryn only */
.team-list .team-items.intro-team .team-item-container:nth-child(2) {
  margin-left: 10px;
}

/* Remove gap in main row - cards touch each other */
.team-list .team-items:not(.intro-team) {
  gap: 0;
}

/* Make cards fill the container - 5 per row */
.team-list .team-items:not(.intro-team) .team-item-container {
  flex: 1 0 16%; /* original: 0 0 20%*/
  max-width: 20%;
}

/* Card base */
.team-item-container {
  position: relative;
  overflow: hidden;
  max-width: 212px;
}

/* Intro row - both Chris and Teryn get dark blue */
.intro-team .team-item-container {
  background-color: #004585;
}

/* Main row - rotating background colors (3-color pattern): medium, dark, light */
/* Cards are at positions 1, 3, 5, 7, 9, 11, 13, 15, 17 (modals in between) */
/* Pattern: 1,7,13 = medium; 3,9,15 = dark; 5,11,17 = light */
.team-items:not(.intro-team) .team-item-container:nth-child(6n+1) {
  background-color: #3f74a4;
}
.team-items:not(.intro-team) .team-item-container:nth-child(6n+3) {
  background-color: #004585;
}
.team-items:not(.intro-team) .team-item-container:nth-child(6n+5) {
  background-color: #80a2c3;
}

.intro-team .team-item-container { max-width: 267px; }

/* Make the whole tile clickable */
.team-item-container a {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
}

/* Image */
.team-item-container img {
  width: 100%;
  display: block;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

/* Overlay - always visible at bottom with gradient */
.team-item-container .team-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1rem 1.5rem;
  background: linear-gradient(to top, rgba(0, 52, 102, 0.75) 0%, rgba(0, 52, 102, 0.45) 40%, rgba(0, 52, 102, 0) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100px;
  transition: min-height 0.3s ease-out, background 0.3s ease-out;
}

.team-item-container .team-overlay h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

.team-item-container .team-overlay h3 .over {
  font-size: 11px;
  font-weight: 100;
  color: #ccc !important;
  margin-bottom: 3px;
}

/* Learn More link - hidden by default */
.team-item-container .team-overlay .learn-more {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
  font-size: 14px;
  color: #D4AF37;
  cursor: pointer;
  transition: opacity 0.3s ease-out, max-height 0.3s ease-out, margin-top 0.3s ease-out;
}

.team-item-container .team-overlay .learn-more:hover {
  color: #fff;
}

/* On hover: expand overlay and show Learn More */
.team-item-container:hover .team-overlay,
.team-item-container:focus-within .team-overlay {
  min-height: 120px;
  background: linear-gradient(to top, rgba(0, 52, 102, 0.85) 0%, rgba(0, 52, 102, 0.5) 50%, rgba(0, 52, 102, 0) 100%);
}

.team-item-container:hover .team-overlay .learn-more,
.team-item-container:focus-within .team-overlay .learn-more {
  opacity: 1;
  max-height: 30px;
  margin-top: 8px;
}

/* Alternating gold gradient overlay for even team cards (background stays blue) */
/* Intro row - no modals between cards, so nth-child(even) works */
.intro-team .team-item-container:nth-child(even) .team-overlay {
  background: linear-gradient(to top, rgba(212, 175, 55, 0.75) 0%, rgba(212, 175, 55, 0.45) 40%, rgba(212, 175, 55, 0) 100%);
}
.intro-team .team-item-container:nth-child(even):hover .team-overlay,
.intro-team .team-item-container:nth-child(even):focus-within .team-overlay {
  background: linear-gradient(to top, rgba(212, 175, 55, 0.85) 0%, rgba(212, 175, 55, 0.5) 50%, rgba(212, 175, 55, 0) 100%);
}

/* White "Learn More" text on gold gradient cards */
.intro-team .team-item-container:nth-child(even) .team-overlay .learn-more {
  color: #fff;
}
.intro-team .team-item-container:nth-child(even) .team-overlay .learn-more:hover {
  color: #004586;
}

/* Main row - modals between cards, so every 4th+3 position is the 2nd, 4th, 6th container */
.team-items:not(.intro-team) .team-item-container:nth-child(4n+3) .team-overlay {
  background: linear-gradient(to top, rgba(212, 175, 55, 0.75) 0%, rgba(212, 175, 55, 0.45) 40%, rgba(212, 175, 55, 0) 100%);
}
.team-items:not(.intro-team) .team-item-container:nth-child(4n+3):hover .team-overlay,
.team-items:not(.intro-team) .team-item-container:nth-child(4n+3):focus-within .team-overlay {
  background: linear-gradient(to top, rgba(212, 175, 55, 0.85) 0%, rgba(212, 175, 55, 0.5) 50%, rgba(212, 175, 55, 0) 100%);
}

/* White "Learn More" text on gold gradient cards (main row) */
.team-items:not(.intro-team) .team-item-container:nth-child(4n+3) .team-overlay .learn-more {
  color: #fff;
}
.team-items:not(.intro-team) .team-item-container:nth-child(4n+3) .team-overlay .learn-more:hover {
  color: #004586;
}

/* Team Bio Modal Styles */
.team-bio-modal {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 800px;
  margin: 40px auto;
  overflow: hidden;
}

.team-bio-modal .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.team-bio-modal .modal-img-col {
  background-color: #004586;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  min-height: 300px;
}

.team-bio-modal .modal-img-col img {
  max-width: 100%;
  max-height: 350px;
  width: auto;
  height: auto;
  display: block;
}

.team-bio-modal .modal-text-col {
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.team-bio-modal h3 {
  color: #004586;
  margin-top: 0;
  margin-bottom: 15px;
}

.team-bio-modal h3 .over {
  color: #004586;
}

.team-bio-modal p {
  color: #333;
  line-height: 1.6;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .team-bio-modal .modal-img-col {
    min-height: 200px;
  }
  .team-bio-modal .modal-img-col img {
    max-height: 250px;
  }
}


/* ================================= */
/* ========= ABOUT PARALLAX ======== */
.about-parallax .qs-quote-block {
  position: relative;
  padding-bottom: 0;
}

.about-parallax .overlay-black-30 {
  padding-bottom: 0;
}

.about-parallax .family-img-container {
  position: relative;
  text-align: center;
  padding-top: 20px;
  pointer-events: none;
}

.about-parallax .family-img {
  display: inline-block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 350px;
}

@media (min-width: 768px) {
  .about-parallax .family-img-container {
    position: absolute;
    bottom: 0;
    right: 5%;
    padding-top: 0;
  }
  .about-parallax .family-img {
    max-height: 500px;
  }
}

@media (min-width: 992px) {
  .about-parallax .family-img {
    max-height: 575px;
  }
}

@media (min-width: 1200px) {
  .about-parallax .family-img-container {
    right: 10%;
  }
  .about-parallax .family-img {
    max-height: 650px;
  }
}

/* Team Video Modal */
.team-video-modal {
  position: relative;
  background: #000;
  width: 100%;
  max-width: 960px;
  margin: 40px auto;
}

.team-video-modal .embed-container-zoom {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.team-video-modal .embed-container-zoom iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Kill Bootstrap's clearfix pseudo-elements on this specific row */
.team-list .team-items::before,
.team-list .team-items::after {
  content: none !important;
  display: none !important;
}

.team-list .team-items {
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 1200px) { 
    .team-list .row.pb-lg { padding: 0 1rem 30px;}
    .intro-team .team-item-container { max-width: 212px; }
    .team-list .team-items { justify-content: center;}
    
}
@media (max-width: 991px) {
    .intro-team .team-item-container { max-width: 335px; }
    .team-list .team-items:not(.intro-team) .team-item-container {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}
@media (max-width: 767px) {
    .team-list .row.pb-lg { padding: 0 16px 1.5rem;}
    .team-item-container { max-width: 100%; }
    .intro-team .team-item-container { max-width: 100%; }
    .team-list .team-items:not(.intro-team) .team-item-container {
        flex: 0 0 100%;
        max-width: 100%;
    }
}