/*!
 * Client specific customizations; base theme will be blank.  Implemented in child theme
 */

@media (min-width: 992px) {
  .header-top .header-list {
    justify-content: flex-end;
  }

  .header-holder .logo {
    border-radius: 5px;
    position: relative;
    margin-top: -102px;
  }
}

@media screen and (max-width: 991px) {
  .section.hero-background.image-hero-height {
    padding-top: 20rem;
  }
}

.section.hero-background.image-hero-height:before {
  background: rgba(0, 0, 0, 0.3);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}.section.hero-background.image-hero-height:before {
   background: rgba(0, 0, 0, 0.3);
   bottom: 0;
   content: "";
   left: 0;
   position: absolute;
   right: 0;
   top: 0;
 }

 @media (max-width: 768px) {
   .dropdown-menu.show {
     width: 100%;
   }
 }

@media (max-width: 992px) {
  #footer .logo-holder {
    display: flex;
    flex-wrap: wrap;
  }
  .section.hero-background.image-hero-height {
    margin-top: 10rem;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .gallery-page .gallery-title h3 {
    font-size: 1.2rem;
  }
}

@media (min-width: 992px) {
  .contextual-region.posts-grid.breeds-grid.posts-grid-default .posts-holder {
    width: 50%;
  }
}

@media (max-width: 991px) {
  .location-section .locations .location-tile .contact {
    max-width: 100%;
    margin: 5px;
  }
}

.single-location .text-block .body-holder .underline.ternary {
  display: none;
}

@media (max-width: 768px) {
  .services-section .section [class*=col-] {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.header-top .header-list {
  -webkit-box-align: center!important;
  -ms-flex-align: center!important;
  align-items: center!important;
}
@page {
  size: letter portrait;
  margin: 0;
}

@media print {
  html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  body * {
    visibility: hidden;
  }

  #couponImage {
    visibility: visible;
    position: absolute;
    top: 0;
    left: 0;

    width: auto;
    height: auto;
    max-width: 8.5in;
    max-height: 11in;
    display: block;
    margin: 0;

    page-break-inside: avoid;
    page-break-after: avoid;
    break-inside: avoid;
    break-after: avoid;
    object-fit: contain;
  }
}
.flip-card {
  perspective: 1000px;
  height: 400px;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  cursor: pointer;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.flip-card-front {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.flip-card-back {
  transform: rotateY(180deg);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flip-card-front img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}

/* Responsive Typography */
.flip-card-back h3 {
  margin-bottom: 1rem;
  font-size: 1.25rem; /* Base size for mobile */
  font-weight: 600;
  line-height: 1.3;
}

.flip-card-back p {
  margin-bottom: 0;
  line-height: 1.6;
  font-size: 0.9rem; /* Base size for mobile */
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .flip-card-back h3 {
    font-size: 1.35rem;
  }

  .flip-card-back p {
    font-size: 0.5rem;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .flip-card-back h3 {
    font-size: 1.5rem;
  }

  .flip-card-back p {
    font-size: .6rem;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .flip-card-back h3 {
    font-size: 1.6rem;
  }

  .flip-card-back p {
    font-size: .8rem;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .flip-card-back h3 {
    font-size: 1.75rem;
  }

  .flip-card-back p {
    font-size: 1rem;
  }
}

/* Card-specific colors */
.card-green {
  background-color: rgba(79, 190, 148, 1);
  color: rgba(255, 255, 255, 1);
}

.card-blue {
  background-color: rgba(74, 85, 106, 1);
  color: rgba(255, 255, 255, 1);
}
