/*
 * mm-global.css — extracted verbatim from header.php's inline <style> (S4.3, 2026-08-07).
 *
 * 17.3 KB that shipped inline on EVERY page. Moved byte-for-byte: no reformatting, no
 * deduplication, no "while we're here" edits. One behaviour expectation for this slice: none.
 *
 * LOAD ORDER IS LOAD-BEARING. This file must print AFTER custom.css AND AFTER the Swiper
 * bundle, because it previously sat after both by virtue of being inline below wp_head().
 * functions.php enforces that with an explicit dependency chain:
 *     css5 (custom.css)  ->  mm-swiper  ->  mm-global
 * Break that chain and: .swiper-slide reverts to display:block (gallery centering dies),
 * html/body overflow-x reverts to hidden (position:sticky breaks), #top-bar z-index loses to
 * 99999 (social bar over logo), and the cart icon turns orange. See HANDOFF.md section 16.
 */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
    }        
}
@media (min-width: 769px) { html, body { overflow-x: clip; } }  /* P3-18: kill 12px desktop overflow, sticky-safe */
.gform_legacy_markup_wrapper .gform_validation_errors>h2, .gform_title { display:none; }
.gform_legacy_markup_wrapper .field_description_below .gfield_description { padding-top: 5px !important; }
.gform_legacy_markup_wrapper li.gfield.gfield_error, .gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    background-color: rgba(255, 223, 224, .25);
    border-bottom: 1px solid #c89797 !important;
    border-top: 0px solid #c89797 !important;
    padding-bottom: 0px !important;
    padding-top: 0px !important;
}
#input_9_17_1, #choice_6_6_1 { width:3%; }
#hs-overlay-cta-182097895737 {
	display:none;
}
.dropdown-menu li:hover .sub-menu {
 visibility: visible;
}
.dropdown:hover .dropdown-menu {
 display: block;
}
.navbar-right .dropdown-menu {
 right:none !important; 
}
.dropdown-menu {
    background-color: #263878 !important;
    min-width: 14rem !important;
    padding: 10px;
    border-bottom: #263878 3px solid; /* Add underline with increased thickness */
}
.dropdown-menu a {
    color: #fff !important;
    text-decoration: none;
    border-bottom: #263878 3px solid; /* Add underline with increased thickness */
}
.dropdown-menu a:hover {
    color: #fff !important;
    text-decoration: none;
    border-bottom: #263878 3px solid; /* Add underline with increased thickness */
}
.py-lg-0 {
    text-transform: uppercase;
}
.prod img { height:250px; width:auto; max-width:100%; }
/*.prod-txt h4 {    height: 38px !important; }*/
.desktop-hidden { display:none !important; }
.desktop-hidden-inline { display:none !important; }
.mob-md-4 { width:32%; display: inline-block; }
.mob-md-6 { width:49%; display: inline-block; }
.my-social-icons {
	height: 2rem;
    width: 2rem;
    display: inline-block;
    background: #fff;
    border-radius: 17px;
    text-align: center;
    font-size: 20px;
}
/* 2026-08-05: FA JS build removed, so no svg-inline--fa nodes exist any more.
   Retargeted onto the webfont classes so icon vertical alignment is preserved. */
.svg-inline--fa, .fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands {
    vertical-align: middle;
}
.top-nav-margin {
	padding-top: 3rem !important;
    padding-bottom: 1rem !important;
}
.facetwp-flyout {
	z-index: +9999999999999999 !important;
}
.desk-search .facetwp-search {
	height: 25px;
}
.search-form-desktop-hidden { display:none !important; }
/* P2-12: hide the redundant mobile search toggle on /equipment-list/ (header search bar is already shown there) */
body.page-equipment-list #mainNav .navbar-toggler + .desktop-hidden { display:none !important; }
.cart-btn { margin-top:40px; }
.carousel-control-prev, .carousel-control-next { widows:3%; }
.gform_legacy_markup_wrapper .gform_footer { padding: 11px 0 10px 0 !important; }
.modal-dialog { width:40%; max-width:40%; }
#myModal, #myModalForm { background: grey; z-index: +9999999; }
/*.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) { width:125% }*/
.modal-backdrop { display:none !important; }
#gform_fields_3 label, #gform_fields_9 label { display:none; }
#gform_fields_9, .gchoice gchoice_9_8_1 { list-style-type: none; }
#label_9_8_1 {     display: inline-block !important; padding-left: 7px; }
#gform_fields_9 input {  padding: 8px !important; margin-bottom: 12px; }
#gform_submit_button_9 {
    background: #F05123 !important;
    color: #fff !important;
    padding: 10px 20px !important;
    letter-spacing: 1px !important;
    width: 100% !important;
    border-radius: 5px;
    border: 1px solid #F05123 !important;
}
#input_9_8 { display:none; }
.fixed-top { z-index: 998; }
/* Header sticky fix (2026-06): keep the blue social bar in normal flow so it scrolls away
   instead of overlapping the logo when the nav becomes fixed on scroll. */
#top-bar { position: relative !important; z-index: 2; }
#mainNav { z-index: +9999; }
nav#mainNav.fixed-top { top: 0; background: #fff; box-shadow: 0 2px 12px rgba(11,37,75,.10); }
/* Offset the fixed nav below the WordPress admin bar for logged-in users */
body.admin-bar nav#mainNav.fixed-top { top: 32px; }
@media screen and (max-width: 782px){ body.admin-bar nav#mainNav.fixed-top { top: 46px; } }
/* Compact main nav + clean cart icon (2026-06; nav breakpoint updated 2026-07-10). The nav is
   navbar-expand-MD, so the full horizontal menu shows inline on tablet AND desktop (>=768px);
   only phones (<768px) collapse to the hamburger. Menu is concise (Buy/Sell/Auctions/Services/Contact)
   so it fits on tablets. */
@media (min-width: 768px){
  /* Compact, vertically centered bar (was ~123px tall from stacked paddings). */
  #mainNav { padding-top: 10px !important; padding-bottom: 10px !important; }
  #mainNav .navbar-brand { padding-top: 0 !important; padding-bottom: 0 !important; }
  #mainNav .navbar-toggler, #mainNav .navbar-toggler i { color: #263878 !important; }
  /* MY QUOTE -> icon-only navy cart + tight "(0)", title="My Quote" gives the tooltip.
     Consistent across tablet and desktop (mobile <768 keeps its own, untouched). */
  #mainNav .cart-btn { margin-top: 0 !important; width: auto !important; flex: 0 0 auto; }
  #mainNav .quote-txt { display: none !important; }
  #mainNav .b-quote.cart-icon-mobile {
    background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
    color: #263878 !important; font-size: 16px; font-weight: 700; line-height: 1; white-space: nowrap;
    display: inline-block; vertical-align: middle;
  }
  #mainNav .b-quote.cart-icon-mobile:hover { background: transparent !important; color: #F05123 !important; }
  #mainNav .b-quote.cart-icon-mobile .fa-cart-shopping,
  #mainNav .b-quote.cart-icon-mobile i { font-size: 22px !important; height: auto !important; color: #263878 !important; margin-right: 5px; vertical-align: middle; }
  #mainNav .b-quote.cart-icon-mobile:hover .fa-cart-shopping,
  #mainNav .b-quote.cart-icon-mobile:hover i { color: #F05123 !important; }
  #mainNav .b-quote.cart-icon-mobile .fa-cart-shopping path { color: #263878 !important; }
  /* 2026-07-10: inline nav on tablet+desktop. At the exact 768px overlap, neutralize the mobile
     (<=768) cart-absolute + logo shift from custom.css so the cart stays in-flow in the bar. */
  #mainNav .b-quote.cart-icon-mobile { position: static !important; top: auto !important; right: auto !important; z-index: auto !important; }
  #mainNav .navbar-brand img { margin-left: 0 !important; }
  /* Inline-menu spacing (formerly the >=1400px block): center items, zero the menu's 3rem padding,
     keep labels on one line, and give the cart room from the last item + the edge. */
  #mainNav .container-fluid { margin-left: 16px !important; margin-right: 16px !important; align-items: center; }
  #mainNav .navbar-collapse, #mainNav .navbar-nav.top-nav-margin { align-items: center; }
  #mainNav .top-nav-margin { padding-top: 0 !important; padding-bottom: 0 !important; }
  #mainNav #navbarResponsive { padding-right: 16px; }
  #mainNav .cart-btn { margin-right: 20px !important; }
  #mainNav .navbar-nav .nav-item, #mainNav .navbar-nav .nav-link { white-space: nowrap !important; }
  #mainNav .navbar-nav .nav-link { padding-left: 12px !important; padding-right: 12px !important; }
  /* Services now sits near the right of the concise menu — right-align its dropdown so the panel
     never bleeds off the right edge of the viewport (esp. on tablet). */
  #mainNav #menu-item-129 .dropdown-menu { left: auto !important; right: 0 !important; }
}
/* (2026-07-10) The former "tablet collapsed cart-drop" fix and the separate ">=1400px full-menu"
   block were removed: with navbar-expand-md the menu is inline from 768px up, so all the inline
   spacing now lives in the single @media(min-width:768px) block above. Phones (<768) still use the
   hamburger + the mobile cart rules from custom.css. */
span.address_country:after { display:none; }
.gfield_consent_label { display:inline-block !important; }
select:invalid { color:grey; }
select:valid { color:grey; }
body .gform_legacy_markup_wrapper ul li.gfield { margin-top:10px !important; }
#myModal .b-quote { display:none; }
#myModal .cart-hiddens { display:block !important; }
#hs-overlay-cta-185033052960 { display:none; }
.page-section { padding: 1rem 0; }
.bottom-fixed-button {  z-index: +99999 !important; }
.gform_legacy_markup_wrapper .gform_heading { margin-bottom: 0 !important; }
#choice_4_11_1 { width: 10%; padding: 0px !important; margin: 0px !important; }
#menu-item-129.servicesicon a::after { font-family: "Font Awesome 6 Free";  font-weight: 900;  content: "\f107"; /* fa-angle-down */  margin-left: 6px; }
#menu-item-129.servicesicon .dropdown-menu a::after { content: none !important; }
header.masthead { padding: 10rem 0; height:750px; }
/* Full-screen hero banner on tablet & desktop (2026-06): fill the first screen so
   "Featured Equipment" stays below the fold. Offset = the social bar + nav stacked above
   the banner (134px on tablet where the social bar wraps to 2 lines; 106px on desktop).
   Content is vertically centered. Mobile (<769px) keeps its existing responsive height. */
@media (min-width: 769px){
  header.masthead {
    height: auto !important;
    min-height: calc(100vh - 134px) !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    background-size: cover !important;
    background-position: center center !important;
  }
  body.admin-bar header.masthead { min-height: calc(100vh - 166px) !important; } /* -32px WP admin bar */
}
@media (min-width: 992px){
  header.masthead { min-height: calc(100vh - 106px) !important; }
  body.admin-bar header.masthead { min-height: calc(100vh - 138px) !important; }
}
.but-area { padding: 20px 10px; }
.btn-solid-alt { background: #F05123 !important; color: #fff !important; padding: 10px 20px !important; letter-spacing: 1px !important; width: 100% !important; border-radius: 5px; border: 1px solid #F05123 !important; }
.btn-solid-alt:hover { background: #0B254B !important; }
.facetwp-counts { display:none; }
#pills-tabContent { padding-top: 30px; padding-bottom: 20px; }
.orange-color { height:0.8em; }
.search { padding:0px; }
.facetwp-reset { display:none; }
#cost-equip { background-image: url(/wp-content/uploads/2025/10/bg-cost-equipffghhh.jpg) !important; background-position: center -90px !important; padding-top: 15% !important;  }
#gform_ajax_spinner_9 {     height: 50px;  }
#gform_9 .gform_footer { height:70px; }
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
   /* styles for mobile browsers smaller than 480px; (iPhone) */  
    #gform_wrapper_1 .gform_body { width: 100% !important; min-width: 98%; } 
   .mob-align-center { text-align:center; }
   .gfield_consent_label {	width: 92%; }
   #gform_fields_9 input {  padding: 7px !important; margin-bottom: 0px; }
   .modal-dialog { width:95%; max-width:95%; }
   .page-section { padding: 1rem 0 !important; }
   .col-sm-6 { width:50% }
   .col-lg-1 { width:9%; }
   .col-lg-2 { width:16%; }
   .col-lg-9 { width:72%; }
   .col-lg-10 { width:80%; } 
   .mobile-hidden { display:none !important; }
   .desktop-hidden { display:block !important; }
   .desktop-hidden-inline { display: inline-block !important; }
   .mob-display-block { display:block !important; }
   .mob-mar-left { margin-left:20%; }
   .search-form-desktop-hidden { display:contents !important; }
   .mobile-full-width { width:100%; }
   /*#primary { margin-top: 3rem; }*/
   #primary { margin-top: 1.8rem; }
   #hubspot-messages-iframe-container { display: contents !important; }
   .cboxPhoto {
		height: auto !important;
	}
	#cboxPrevious {
		left: 30px !important;
	}
	#cboxContent {
		padding-left: 15px !important;
	}
	header.masthead {
		margin-top: 0px;
		padding: 4rem 0 12rem;
        height: 45vh;
    }
	header.masthead .masthead-subheading {
		font-size: 20px !important;
    }
	header.masthead .masthead-heading {
		font-size: 24px !important;
    }
	/*  FACET MOBILE LAYOUT    */
	.facetwp-flyout {
    	width: 100% !important;
		/* top: 150px !important; */
		border-radius: 20px !important;
	}
	.facetwp-flyout-close, .facetwp-flyout-content {
		padding: 15px !important;
	}
    .flyout-row {
        margin-bottom: 12px;
    }
	.flyout-row h3 {
        display: none;
		/* font-weight: 600 !important;
		font-size: 16px !important;
		margin: 13px 10px !important; */
	}
	.fs-label-wrap .fs-label {
		font-size: 16px !important;
		color: #666 !important;
	}
	.facetwp-flyout {
		transform: translateY(100%) !important;
	}
	.facetwp-flyout.active {
		transform: translateY(0%) !important;
	}
    .fs-dropdown .fs-options {
        max-height: 360px !important;
    }
	.cart-btn { margin-top:0px; }
	/*.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) { width:140% }*/
    .top-nav-margin {
        padding-top: 1rem !important;
    }
    .facetwp-flyout-open {
        color: #F05123;
    }
	#hubspot-messages-iframe-container { position: absolute !important; bottom: 0px !important; }
}

@media only screen and (min-device-width: 400px) and (max-device-width: 480px) {
   /* styles for mobile browsers smaller than 480px; (iPhone) */
   .c-only-slider {
		max-height: 260px !important;
		height: 260px !important;
	}
   /*#hubspot-messages-iframe-container { display: contents !important; }*/
}
@media only screen and (min-device-width: 320px) and (max-device-width: 349px) {
	.c-only-slider {
		max-height: 210px !important;
		height: 210px !important;
	}
}
@media only screen and (min-device-width: 350px) and (max-device-width: 399px) {
	.c-only-slider {
		max-height: 222px !important;
		height: 222px !important;
	}
}
@media only screen and (max-device-width: 992px) {
	.fs-option {
		padding: 10px 0px 10px 30px;
	    border-bottom: 1px solid #ccc;
	}
	.carousel-control-prev, .carousel-control-next { position: relative !important; }
}

/* Swiper styles */

/* Default Swiper Container Height for Desktop */
.swiper-container {
  width: 100%;
  height: 520px;
  position: relative;
  overflow: hidden;
}

/* Swiper Container Height for Mobile Devices */
@media (max-width: 768px) {
  .swiper-container {
    height: 320px;
  }
   .single-swiper-img {
    max-height: 320px !important;
     width: auto;
  }
  #cost-equip { background-image: none !important;  }
}

/* Ensure Swiper slides take full height */
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
}

/* Style for images to prevent stretching */

.single-swiper-img {
  width: 100%;
  height: 500px;
  object-fit: contain;
  background: #f7f7f7;
}

.swiper-slide img {
  max-width: 100%;
  max-height: 100% !important;
  object-fit: contain; /* Use 'cover' if you prefer images to cover the container */
  display: inline-block;
}
/* Image number overlay */
.image-number {
  position: absolute;
  bottom: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(17, 24, 39, 0.55);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  backdrop-filter: blur(8px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  padding: 7px 14px 7px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  z-index: 10;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}
.image-number::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z%27/%3E%3Ccircle cx=%2712%27 cy=%2713%27 r=%274%27/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.95;
}

/* Darken PhotoSwipe background */
.pswp--open .pswp__bg {
  background-color: rgba(0, 0, 0, 1) !important;
}
.selected-filters .filter-tag {
    display: inline-block;
    margin: 0 5px 5px 0;
    font-size: 8px; /* Base size for mobile */
    border-radius: 3px;
}

.filter-tag-category {
    background: #eee;
    padding: 2px 5px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    font-weight: 600;
}

.filter-tag-value {
    background: #F05123;
    padding: 2px 5px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    font-weight: 600;
    color: #fff;
}
.gform_legacy_markup_wrapper .gform_validation_errors {
    border: 0px !important;
}	
/* Increase font size on desktop screens */
@media (min-width: 992px) {
    .selected-filters {
        display: none;
    }
}
/* Swiper styles */