/* Fallback styles for missing CSS files */

/* Basic reset and defaults */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Raleway', Arial, sans-serif;
  line-height: 1.6;
}

/* Navigation menu styles */
.b_menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.b_menu ul li {
  display: inline-block;
}

.b_menu ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
  transition: background-color 0.3s;
}

.b_menu ul li a:hover {
  background-color: rgba(0,0,0,0.1);
}

/* Responsive navigation */
#__res_main_nav_button {
  display: none;
}

#__res_main_nav_label {
  display: none;
  cursor: pointer;
  padding: 10px;
  background: #333;
  color: white;
}

@media (max-width: 768px) {
  #__res_main_nav_label {
    display: block;
    text-align: center;
  }
  
  #__res_main_nav_label::before {
    content: "☰ Menu";
  }
  
  .b_menu ul {
    display: none;
    flex-direction: column;
    width: 100%;
  }
  
  #__res_main_nav_button:checked ~ ul {
    display: flex;
  }
  
  .b_menu ul li {
    display: block;
    width: 100%;
  }
  
  .b_menu ul li a {
    display: block;
    padding: 15px;
    border-bottom: 1px solid #eee;
  }
}

/* Image handling */
img {
  max-width: 100%;
  height: auto;
}

/* Basic grid/layout helpers */
.b_bg {
  position: relative;
}

/* Links */
a {
  color: #800000;
}

a:hover {
  color: #600000;
}

/* Form styles */
input, textarea, select {
  font-family: inherit;
  font-size: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

button, input[type="submit"] {
  background-color: #800000;
  color: white;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  border-radius: 4px;
}

button:hover, input[type="submit"]:hover {
  background-color: #600000;
}

/* Google Maps placeholder */
.googlemap {
  width: 100%;
  min-height: 300px;
  background: #f0f0f0;
}

/* Slick carousel fallback - just show all slides */
.slick-slider .slick-slide {
  display: block;
}

/* Camera slideshow fallback */
.camera_wrap {
  overflow: hidden;
}

/* Basic table styles */
table {
  border-collapse: collapse;
  width: 100%;
}

td, th {
  padding: 8px;
  text-align: left;
}

/* Hide broken image icons gracefully */
img[src=""] {
  display: none;
}

img:not([src]) {
  display: none;
}

/* Photo Gallery Styles - Force display */
.b_photogallery {
  width: 100%;
}

.photogallery_widget {
  width: 100% !important;
  height: auto !important;
}

.photogallery_container {
  width: 100% !important;
  height: auto !important;
}

.photogallery_thumbnail_container {
  width: 100% !important;
  height: auto !important;
}

.images_container {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

.images_container .images {
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 10px;
  padding: 10px !important;
}

.images_container .images li {
  width: auto !important;
  height: auto !important;
  float: none !important;
  display: inline-block;
  margin: 5px;
}

.images_container .images li ul {
  display: contents;
}

.images_container .images li ul li {
  display: inline-block;
}

.photogallery_image_span {
  padding: 5px !important;
  display: inline-block !important;
}

/* Force all gallery images to be visible - Products page brand logos */
#photogallery_container_118842 img {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100px !important;
  height: 100px !important;
  object-fit: contain;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px;
}

/* Pumps page gallery - larger images */
#photogallery_container_117893 img {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 150px !important;
  height: 150px !important;
  object-fit: cover;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* Hide spinner class that gets added */
.spinner {
  background: none !important;
}

/* Hide broken pagination controls */
.loading_container,
.loading_message {
  display: none !important;
}

.photogallery_pager,
.pager_container {
  display: none !important;
}

/* Show all pages */
.images_container .images li[page] {
  display: block !important;
}

/* Pumps page - tall image handling */
img[src*="imagetools0_edited_8.jpg"] {
  max-height: 600px !important;
  width: auto !important;
  object-fit: contain;
}

/* ========================================
   SERVICE BANNER IMAGES - ENLARGE & CENTER
   ======================================== */

/* Override the narrow container that holds the banner image */
#rot #rot_ctr1_bod_ctr3_bod_wrp1_blk3_custom_blk1_custom {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}

#rot #rot_ctr1_bod_ctr3_bod_wrp1_blk3_custom_blk1_custom p {
  text-align: center !important;
}

/* Service banner class - for main service flyer images */
/* Keep at natural size (450px) to avoid blur, center it */
.service-banner {
  width: auto !important;
  max-width: 450px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto 20px auto !important;
}

/* Also target by image src for pages that may not have the class */
#rot #rot_ctr1_bod_ctr3_bod_wrp1_blk3_custom_blk1_custom img {
  width: auto !important;
  max-width: 450px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto 20px auto !important;
}

/* Override photo gallery slideshow - show all images at once instead of slideshow */
#rot div.photogallery_widget {
  height: auto !important;
  overflow: visible !important;
}

#rot div.photogallery_widget div.photogallery_container {
  height: auto !important;
  overflow: visible !important;
}

#rot div.photogallery_widget div.images_container {
  height: auto !important;
  overflow: visible !important;
}

#rot div.photogallery_widget div.images_container ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 15px !important;
  height: auto !important;
  overflow: visible !important;
  position: relative !important;
  left: 0 !important;
  transform: none !important;
}

#rot div.photogallery_widget div.images_container li {
  display: block !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  left: 0 !important;
  top: 0 !important;
}

/* Hide slideshow navigation controls, count, and frame */
#rot div.photogallery_widget .photogallery_pointer,
#rot div.photogallery_widget span.left_button,
#rot div.photogallery_widget span.right_button,
#rot div.photogallery_widget span.pause_button,
#rot div.photogallery_widget .description_container,
#rot div.photogallery_widget .loading_container {
  display: none !important;
}

/* Hide image count text (e.g. "1-14 of") and pagination */
#rot div.photogallery_widget span.image_count,
#rot div.photogallery_widget .image_count,
#rot div.photogallery_widget span[class*="count"],
#rot span.image_count,
#rot div.photogallery_widget .pagination_container,
#rot div.photogallery_widget div.pagination_container,
#rot .pagination_container,
#rot .pagination,
#rot div.pagination {
  display: none !important;
}

/* Remove frame/border from gallery */
#rot div.photogallery_widget,
#rot div.photogallery_widget.grid,
#rot .b_photogallery div.photogallery_widget {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  height: auto !important;
}

#rot div.photogallery_widget div.photogallery_container,
#rot div.photogallery_widget.grid div.photogallery_container {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}

/* Override inline styles on gallery thumbnails */
#rot div.photogallery_widget .photogallery_thumbnail_container,
#rot div.photogallery_widget .images_container {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

#rot div.photogallery_widget .images_container ul.images {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 15px !important;
  width: 100% !important;
  height: auto !important;
  padding: 20px !important;
}

#rot div.photogallery_widget .images_container ul.images > li {
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
}

#rot div.photogallery_widget .images_container ul.images > li > ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 15px !important;
}

#rot div.photogallery_widget .images_container ul.images > li > ul > li {
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

#rot div.photogallery_widget .photogallery_image_span {
  padding: 5px !important;
}

#rot div.photogallery_widget .images_container img {
  max-width: 200px !important;
  max-height: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Promotional image class - for home page product/service images */
.promo-image {
  width: 100% !important;
  max-width: 450px !important;
  height: auto !important;
  display: block !important;
  margin: 10px auto !important;
}

/* Page-specific gallery styling - use inline styles on each page instead */
