.elementor-2186 .elementor-element.elementor-element-21d40c6:not(.elementor-motion-effects-element-type-background), .elementor-2186 .elementor-element.elementor-element-21d40c6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://threepeaksroofing.com/wp-content/uploads/2024/11/FireShot-Capture-574-Website-Photo-Gallery-Google-Drive-drive.google.com_-1.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2186 .elementor-element.elementor-element-21d40c6 > .elementor-background-overlay{background-color:#000000CC;opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2186 .elementor-element.elementor-element-21d40c6 > .elementor-container{min-height:339px;}.elementor-2186 .elementor-element.elementor-element-21d40c6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2186 .elementor-element.elementor-element-919e537{text-align:center;}.elementor-2186 .elementor-element.elementor-element-919e537 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:48px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-ee5d98f );}.elementor-2186 .elementor-element.elementor-element-e402c6a > .elementor-background-overlay{opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2186 .elementor-element.elementor-element-e402c6a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:60px;margin-bottom:0px;padding:30px 0px 20px 0px;}.elementor-2186 .elementor-element.elementor-element-41d5cde > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-331e535{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2186 .elementor-element.elementor-element-331e535 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-695332c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2186 .elementor-element.elementor-element-695332c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-102d971{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2186 .elementor-element.elementor-element-102d971 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-61ca24a{margin-top:0px;margin-bottom:30px;padding:0px 0px 0px 0px;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2186 .elementor-element.elementor-element-630349b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-630349b .gallery-item{padding:0 19px 19px 0;}.elementor-2186 .elementor-element.elementor-element-630349b .gallery{margin:0 -19px -19px 0;}.elementor-2186 .elementor-element.elementor-element-630349b .gallery-item img{border-radius:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-630349b .gallery-item .gallery-caption{text-align:center;}.elementor-2186 .elementor-element.elementor-element-f03ea43 > .elementor-background-overlay{opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2186 .elementor-element.elementor-element-f03ea43{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 60px 0px;}.elementor-2186 .elementor-element.elementor-element-170aa75 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-2186 .elementor-element.elementor-element-8e398b7 .elementor-wrapper{--video-aspect-ratio:1.5;}.elementor-2186 .elementor-element.elementor-element-1f2ea98 .elementor-wrapper{--video-aspect-ratio:1.5;}@media(min-width:768px){.elementor-2186 .elementor-element.elementor-element-2a09d93{width:50%;}.elementor-2186 .elementor-element.elementor-element-71ab9bb{width:50%;}}@media(max-width:767px){.elementor-2186 .elementor-element.elementor-element-e402c6a{padding:30px 0px 30px 0px;}.elementor-2186 .elementor-element.elementor-element-f03ea43{padding:30px 0px 30px 0px;}}/* Start custom CSS for image-gallery, class: .elementor-element-630349b *//* ✅ FIXED HEIGHT RESPONSIVE GALLERY FOR .gallery-res */

/* Base layout */
.gallery-res .gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 0;
  padding: 0;
}

/* Each gallery item box */
.gallery-res .gallery-item {
  flex: 0 0 calc(33.333% - 8px); /* 3 columns desktop */
  overflow: hidden;
  position: relative;
  height: 250px; /* fixed visible height */
  box-sizing: border-box;
}

/* Inner container for image */
.gallery-res .gallery-icon,
.gallery-res .gallery-item .gallery-icon {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Force the image to fill the box */
.gallery-res .gallery-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s ease, filter 0.35s ease;
  display: block;
}

/* Hover effect */
.gallery-res .gallery-icon:hover img {
  transform: scale(1.05);
  filter: brightness(0.95);
}

/* Tablet view: 2 columns */
@media (max-width: 1024px) {
  .gallery-res .gallery-item {
    flex: 0 0 calc(50% - 8px);
    height: 200px;
  }
}

/* Mobile view: 1 column */
@media (max-width: 600px) {
  .gallery-res .gallery-item {
    flex: 0 0 100%;
    height: 180px;
  }
}/* End custom CSS */