/*!
Theme Name: Building Supply
Theme URI: http://underscores.me/
Author: Excelify
Author URI: http://excelify.com
Description: Building Supply WordPress website theme
Version: 1.0.62
Text Domain: buildingsupply
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

-------------------------------------------------------------- */

/* // Extra small devices (portrait phones, less than 576px)
// No media query since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... } */


/* Theme customization starts here
------------------------------------------------------- */
/* 
#f7b719 - gold
#75787b - grey 
#717f68 - moss green
*/


/* BS5 underlines links by default; BS4/production did not — even on hover. */
:root {
  --bs-link-decoration: none;
  --bs-link-hover-decoration: none;
}

/* style-parity v1.0.52 — BS4 small typography (BS5 reboot uses .875em) */
.small,
small {
  font-size: 80%;
  font-weight: 400;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

.btn-link,
.btn-link:hover,
.btn-link:focus {
  text-decoration: none;
}

#header .navbar-nav .nav-link,
#topnav .menu-item a,
#breadcrumbs a,
#footer a,
.card-link,
a.card-link {
  text-decoration: none;
}

/* style-parity v1.0.43 — main content links (cm_* catalog pages) */
main a {
  color: rgb(0, 123, 255);
}

body{
	color:#75787b;
}
h1,h2 {
  	font-family: Montserrat;
	font-weight: 600;
	text-transform: uppercase;
	color:#212529;
}

h3, h4, h5, h6 {
  	text-transform: uppercase;
	color:#212529;
}
.h6, h6 {
	font-size: .85rem;
}
.swiper-container h2,
#blog h2 {
	font-size: 20px;
}
.swiper-container h3,
#blog h3 {
	font-size: 24px;
	line-height: 28.8px;
}

.container {
  max-width: 1400px;
}
#blog h4 {
	font-size: 1rem;
}
.bg-grey-light {
  background-color: rgba(158,158,158,0.3);
}
.bg-dark{
  background-color: #212121 !important;
}
.bg-gold{
  background-color: #000 !important;
}
.bg-primary-75 {
	background-color: rgba(247,183,25,0.75);
}
.bg-primary-50 {
	background-color: rgba(247,183,25,0.50);
}
.bg-primary-25 {
	background-color: rgba(247,183,25,0.25);
}

.bg-secondary-75 {
	background-color: rgba(108,117,125,0.75);
}
.bg-secondary-50 {
	background-color: rgba(108,117,125,0.50);
}
.bg-secondary-25 {
	background-color: rgba(108,117,125,0.25);
}

.text-light-grey{
  color: #212529;
}

/* style-parity v1.0.53 — prod footer/topnav .text-light (BS5 utility color drift) */
.text-light {
  color: #f8f9fa !important;
}

.rgba-dark-grey {
  background-color: rgba(0,0,0,0.7);
}

/* banner
------------------------------------------------------- */
.banner {
    width: 100%;
    text-align: center;
}

/* gallery card-columns carousel styles
------------------------------------------------------- */
@media (min-width: 1200px) {
  .card-columns {
      -webkit-column-count:4;
      -moz-column-count:4;
      column-count:4;
      â‹®
  }
  â‹®
}
@media (min-width: 576px) and (max-width: 1199px) {
  .card-columns {
      -webkit-column-count:3;
      -moz-column-count:3;
      column-count:3;
      â‹®
  }
  â‹®
}
@media (max-width: 575px) {
  .card-columns {
      -webkit-column-count:1;
      -moz-column-count:1;
      column-count:1;
      â‹®
  }
  â‹®
}

/* swiper hover styles
------------------------------------------------------- */

.swiper-slide .card-image .overlay,
.swiper-slide:hover .card-image .overlay {
  -webkit-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.swiper-slide .card-image {
  position: relative;
  height: auto;
  width: 100%;
}
.swiper-slide .card-image .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
}
.swiper-slide:hover .card-image .overlay {
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 1;
}
.swiper-slide.card {
	min-height: 300px;
}

/* style-parity v1.0.46 — BS5 .text-body on swiper cards; prod inherits site gray */
.swiper-slide.card,
.swiper-slide.card .card-body {
  color: #75787b;
}

.swiper-slide.card .card-title,
.swiper-slide.card h3.card-title {
  color: #212529;
}

/* style-parity v1.0.48 — interior .bg-light cards keep dark headings (not swiper) */
.card.bg-light h5,
.card.bg-light .card-title {
  color: #212529;
}

/* swiper carousel styles
------------------------------------------------------- */
.swiper-container {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  height: auto;
}
.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 0;
	left: 0;
	width: 100%;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	right: 0;
	left: auto;
}
.swiper-button-next, .swiper-button-prev {
	position: relative;
	top: 0;
	width: 0;
	height: 0;
	margin-top: 0;
	z-index: 10;
	cursor: pointer;
	display: inline;
	align-items: center;
	justify-content: center;
	color: inherit;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	left: 0;
	right: auto;
}

/* style-parity pass 7 — swiper-nav h2 width: BS5 swiper-bundle absolute nav removes buttons from flex flow */
.swiper-nav .swiper-buttons .swiper-button-prev,
.swiper-nav .swiper-buttons .swiper-button-next {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: auto;
	height: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
}

.swiper-pagination {
	position: relative;
	text-align: left;
	transition: .3s opacity;
	transform: translate3d(0,0,0);
	z-index: 10;
	display: inline;
}
.swiper-pagination-bullet {
	margin-right: 10px;
}
/* hide default nav icons */
.swiper-button-next::after, .swiper-button-prev::after {
	display: none;
}


/* topnav styles
------------------------------------------------------- */
#topnav .menu-item a {
  /* color: #fff; */
  color: inherit;
  margin: 0;
}

ul#menu-top-nav {
  margin: 0;
}

/* breadcrumbs styles
------------------------------------------------------- */
#breadcrumbs,
#breadcrumbs a {
	font-size: 12px;
}

/* style-parity v1.0.34 — prod breadcrumbs line-height 18px (BS5 body lh 1.5 → 24px) */
#breadcrumbs,
#breadcrumbs a,
#breadcrumbs span {
  line-height: 18px;
}

/* navbar styles
------------------------------------------------------- */

.navbar-nav .current_page_item.active .dropdown-item {
	color: #007bff;
	background: #eee;
}

/* button styles
------------------------------------------------------- */
/* .btn-primary { 
    color: #FFFFFF; 
    background-color: #f7b719; 
    border-color: #f7b719; 
  } 
   
  .btn-primary:hover, 
  .btn-primary:focus, 
  .btn-primary:active, 
  .btn-primary.active, 
  .open .dropdown-toggle.btn-primary { 
    color: #FFFFFF; 
    background-color: #f7b719; 
    border-color: #f7b719; 
  } 
   
  .btn-primary:active, 
  .btn-primary.active, 
  .open .dropdown-toggle.btn-primary { 
    background-image: none; 
  } 
   
  .btn-primary.disabled, 
  .btn-primary[disabled], 
  fieldset[disabled] .btn-primary, 
  .btn-primary.disabled:hover, 
  .btn-primary[disabled]:hover, 
  fieldset[disabled] .btn-primary:hover, 
  .btn-primary.disabled:focus, 
  .btn-primary[disabled]:focus, 
  fieldset[disabled] .btn-primary:focus, 
  .btn-primary.disabled:active, 
  .btn-primary[disabled]:active, 
  fieldset[disabled] .btn-primary:active, 
  .btn-primary.disabled.active, 
  .btn-primary[disabled].active, 
  fieldset[disabled] .btn-primary.active { 
    background-color: #f7b719; 
    border-color: #f7b719; 
  } 
   
  .btn-primary .badge { 
    color: #f7b719; 
    background-color: #FFFFFF; 
  }
 */
/* color styles
------------------------------------------------------- */

  .text-primary{ 
    color: #f7b719 !important;
  }
  .border-primary {
    border-color: #f7b719 !important;
  }
  .bg-primary {
      background-color: #f7b719 !important;
  }
  /* .bg-dark {
      background-color: #334 !important;
  } */
  

/* topnav styles
------------------------------------------------------- */

#topnav.bg-primary .list-inline-item a {
    color: #FFFFFF;
}

#topnav.bg-primary #menu-top-nav,
#topnav .social-icons {
    margin: 0;
}

/* card styles
------------------------------------------------------- */

a.card-link .card,
.card-link.card{
  transition: 0.3s;
}
a.card-link .card:hover,
.card-link.card:hover{
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
  background-color: #f8f9fa !important;
}

a.card-link .card-title,
.card-link .card-title  {
  color: #212529;
  font-weight: 700 !important;
}
a.card-link .card-text,
.card-link .card-text  {
  color: #212529;
}

/* gravity form styles
------------------------------------------------------- */

/* #gform_wrapper_2.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], 
#gform_wrapper_2.gform_wrapper .gform_page_footer input.button, 
#gform_wrapper_2.gform_wrapper .gform_page_footer input[type="submit"] {
	width: inherit;
} */
#gform_wrapper_2.gform_wrapper .gform_footer {
  padding: 0;
  margin: 0;
  clear: both;
  width: 100%;
}
#gform_wrapper_2.gform_wrapper ul.gform_fields li.gfield {
	padding-right: 5px;
}
#gform_wrapper_2.gform_wrapper {
	margin-bottom: 0;
	margin-top: 0;
	max-width: 100%;
}
#gform_wrapper_2.gform_wrapper #field_2_13 .gfield_label {
  margin-top: 15px;
}
#gform_wrapper_2.gform_wrapper li.hidden_label input {
	margin-top: 0;
}
#gform_wrapper_2.gform_wrapper .top_label .gfield_label,
#gform_wrapper_2.gform_wrapper legend.gfield_label {
  line-height: 1.3;
  margin-bottom: 8px;
}
#gform_wrapper_2.gform_wrapper ul.gfield_checkbox li label, 
#gform_wrapper_2.gform_wrapper ul.gfield_radio li label {
	display: inline;
}
#gform_wrapper_2.gform_wrapper li.gf_list_inline ul.gfield_checkbox li, 
#gform_wrapper_2.gform_wrapper li.gf_list_inline ul.gfield_radio li {
	margin: 0 8px 0px 0;
}
#gform_wrapper_2.gform_wrapper ul li.field_description_below div.ginput_container_checkbox, 
#gform_wrapper_2.gform_wrapper ul li.field_description_below div.ginput_container_radio {
	margin-top: 0;
	margin-bottom: 0;
}
#gform_wrapper_2.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li {
	line-height: 1.3;
}

#gform_wrapper_2.gform_wrapper li.gfield {
  margin-bottom: 8px;
}

#gform_wrapper_2.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
#gform_wrapper_2.gform_wrapper select,
#gform_wrapper_2.gform_wrapper textarea {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
}

#gform_wrapper_2.gform_wrapper ul.gfield_checkbox li input[type="checkbox"],
#gform_wrapper_2.gform_wrapper ul.gfield_radio li input[type="radio"] {
  margin-right: 4px;
  vertical-align: middle;
}

#gform_wrapper_2.gform_wrapper ul.gfield_checkbox li label,
#gform_wrapper_2.gform_wrapper ul.gfield_radio li label {
  margin-left: 4px;
  vertical-align: middle;
}

@media screen and (max-width: 480px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 992px) {
}
@media screen and (max-width: 1200px) {
}
@media screen and (min-width: 1400px) {
  .interior-form {
    position: relative;
    top: -100px;
    margin-bottom: -100px;
  } 
}

/* iframe styles
------------------------------------------------------- */

iframe#inlineframe {
	width: 99%;
	height: 110%;
	overflow: hidden;
	*width: 100%;
	*height: 100% !important;
	*overflow: scroll;
}

/* footer styles
------------------------------------------------------- */
#footer .social-icons a {
	color: #fff;
}
#footer .social-icons {
	margin: 0 !important;
}
#footer .social-icons.float-end {
	float: none !important;
}


/* mobile app
------------------------------------------------------- */

#mobile-app-content .mobile-content-wrap {
  padding: 100px 150px;
  min-height: 300px;
}
#mobileapp .table th,
#mobileapp .table td {
  border-top: 1px solid #fff;
  line-height: 20px;
  padding: 8px;
  text-align: left;
  vertical-align: top;
  font-family: 'Roboto', sans-serif;
}

#mobileapp .label,
#mobileapp .badge {
  background-color: #fff;
  color: #000;
  display: inline-block;
  font-size: 20px;
  font-weight: normal;
  line-height: 20px;
  padding: 2px 4px;
  text-shadow: none;
  vertical-align: baseline;
  white-space: nowrap;
  font-family: 'Roboto', sans-serif;
}

#mobileapp .badge {
  border-radius: 20px;
  padding-left: 6px;
  padding-right: 6px;
  border: 1px solid #000;
}
#mobile-app-content h1 {
  font-weight: 300;
  font-family: 'Roboto', sans-serif;
  /*color: #E8083E;*/
  /*line-height:75px;
	font-size:80px;*/
  line-height: 60px;
  font-size: 50px;
  margin: 0px;
}
#mobile-app-content h2 {
  font-weight: 300;
  font-family: 'Roboto', sans-serif;
  color: #000;
  /*line-height:50px;
	font-size:50px;*/
  line-height: 45px;
  font-size: 35px;
  margin: 0px 0px 20px 0px;
}

#mobile-app-content h3 {
    line-height: 4.5rem;
}

/* responsive video */
.flex-video {
  position: relative;
  padding-top: 25px;
  padding-bottom: 67.5%;
  height: 0;
  margin-bottom: 16px;
  overflow: hidden;
}

.flex-video.widescreen {
  padding-bottom: 57.25%;
}
.flex-video.vimeo {
  padding-top: 0;
}

.flex-video iframe,
.flex-video object,
.flex-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (max-device-width: 800px),
  only screen and (device-width: 1024px) and (device-height: 600px),
  only screen and (width: 1280px) and (orientation: landscape),
  only screen and (device-width: 800px),
  only screen and (max-width: 767px) {
  .flex-video {
    padding-top: 0;
  }
}

/* BS4 embed-responsive shim — product-page YouTube blocks (BS5 removed the utility) */
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.857143%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

/* tabs for gravity forms */
.gform_wrapper .gf_step.gf_step_active {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff;
	margin-right: 0 !important;
}
.gform_wrapper .gf_step {
    border: 1px solid transparent;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
	margin-right: 0 !important;
}
.gform_wrapper .gf_step {
    display: block;
    padding: .5rem 1rem;
}
.gform_wrapper .gf_step {
/*     margin-bottom: -1px; */
	margin-right:0 !important;
}
.gform_wrapper .gf_page_steps {
    border-bottom: 1px solid #dee2e6;
}
.gform_wrapper .gf_page_steps {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul,
.gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul,
body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul,
body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul {
    list-style-type: none !important;
	list-style: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
}
.gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul li,
.gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul li,
body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul li,
body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul li {
    list-style-type: none !important;
	list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nav-tabs .nav-link.active {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff;
    font-weight: bold;
}

.gform_wrapper ul.gfield_checkbox li, .gform_wrapper ul.gfield_radio li {
    padding: 0!important;
    /* display: inline !important; */
}

/* BS5 style-parity pass 2 — match production computed CSS (report 2026-08-29)
------------------------------------------------------- */
:root {
  --bs-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-text-align: left;
  --bs-nav-link-color: rgba(0, 0, 0, 0.5);
  --bs-navbar-color: rgba(0, 0, 0, 0.5);
  --bs-card-spacer-x: 1.25rem;
  --bs-card-spacer-y: 1.25rem;
  --bs-card-cap-padding-y: 0.75rem;
  --bs-card-cap-padding-x: 1.25rem;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
}

/* BS4 container gutters — BS5 defaults to 12px (0.75rem) per side */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  padding-left: 15px;
  padding-right: 15px;
}

#header .container {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* Heading scale — BS5 RFS shrinks h1/h2/h3 below production sizes */
h1 {
  font-size: 40px;
  line-height: 48px;
  text-align: left;
}

h2 {
  font-size: 32px;
  line-height: 38.4px;
  margin-bottom: 8px;
  text-align: left;
}

@media (max-width: 1199.98px) {
  h2 {
    font-size: 32px;
    line-height: 38.4px;
    margin-bottom: 8px;
  }
}

.swiper-container h2,
#blog h2 {
  line-height: 24px;
}

h3 {
  line-height: 28.8px;
  margin-bottom: 8px;
  text-align: left;
}

@media (min-width: 576px) and (max-width: 1199.98px) {
  h3 {
    font-size: 28px;
    line-height: 33.6px;
  }
}

main h3 {
  font-size: 28px;
  line-height: 33.6px;
  margin-bottom: 8px;
  text-align: left;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

@media (max-width: 1199.98px) {
  main h3 {
    font-size: 28px;
    line-height: 33.6px;
  }
}

main h1 {
  font-size: 40px;
  line-height: 48px;
  margin-bottom: 8px;
  text-align: left;
}

h4,
h5 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
}

h5 {
  line-height: 24px;
}

h5,
.card-title,
.card-link .card-title {
  margin-bottom: 12px;
}

.card-text,
p.wp-block-paragraph,
main p.wp-block-paragraph {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
  color: #75787b;
}

.card-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
  line-height: 24px;
}

.card-link .card-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
  line-height: 24px;
}

#header .navbar-nav .nav-link {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: rgba(0, 0, 0, 0.5);
  border-top-color: rgba(0, 0, 0, 0.5);
  border-bottom-color: rgba(0, 0, 0, 0.5);
  font-weight: 400;
}

/* BS4 `.navbar-light .navbar-nav .nav-link:hover` — darken only on the parent link;
   pin font-weight so BS5 `.nav-link.show` does not read bolder than prod (UAT 2026-09). */
#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
  border-top-color: rgba(0, 0, 0, 0.7);
  border-bottom-color: rgba(0, 0, 0, 0.7);
  font-weight: 400;
}

/* Open dropdown parent — prod BS4 runs active color (0.9) on li.show / open submenu. */
#header .navbar-nav > .nav-item.show > .nav-link,
#header .navbar-nav > .nav-item.show > .dropdown-toggle.nav-link,
#header .navbar-nav > .nav-item:has(> .dropdown-menu.show) > .nav-link,
#header .navbar-nav > .nav-item:has(> .dropdown-menu.show) > .dropdown-toggle.nav-link,
#header .navbar-nav > .nav-item.active > .nav-link {
  color: rgba(0, 0, 0, 0.9);
  border-top-color: rgba(0, 0, 0, 0.9);
  border-bottom-color: rgba(0, 0, 0, 0.9);
  font-weight: 400;
}

/* BS5 puts .show on the toggle — match prod active color, never synthetic bold. */
#header .navbar-nav .nav-link.show,
#header .navbar-nav .dropdown-toggle.nav-link.show {
  color: rgba(0, 0, 0, 0.9);
  border-top-color: rgba(0, 0, 0, 0.9);
  border-bottom-color: rgba(0, 0, 0, 0.9);
  font-weight: 400;
}

/* While the pointer is on a submenu row, prod lightens the parent back to 0.5. */
#header .navbar-nav > .nav-item.show:has(.dropdown-menu .dropdown-item:hover) > .nav-link,
#header .navbar-nav > .nav-item.show:has(.dropdown-menu .dropdown-item:hover) > .dropdown-toggle.nav-link,
#header .navbar-nav > .nav-item:has(> .dropdown-menu.show .dropdown-item:hover) > .nav-link,
#header .navbar-nav > .nav-item:has(> .dropdown-menu.show .dropdown-item:hover) > .dropdown-toggle.nav-link {
  color: rgba(0, 0, 0, 0.5);
  border-top-color: rgba(0, 0, 0, 0.5);
  border-bottom-color: rgba(0, 0, 0, 0.5);
  font-weight: 400;
}

#header .dropdown-menu .dropdown-item,
#header .dropdown-menu .dropdown-item:hover,
#header .dropdown-menu .dropdown-item:focus,
#header .dropdown-menu .dropdown-item.active,
#header .dropdown-menu .dropdown-item:active {
  font-weight: 400;
  text-decoration: none;
}

/* Homepage h3 / card-title — prod line-height 28.8px (style-parity pass 4) */
body.home h3,
body.home main h3,
body.home .swiper-container h3 {
  line-height: 28.8px;
}

/* style-parity v1.0.40 — specialty-products swiper card-text/card-title sm width (506px prod) */
@media (max-width: 767.98px) {
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-text {
    width: 506px;
  }

  body.sample-page .specialty-products .swiper-slide.card .card-body .card-title {
    width: 506px;
  }
}

/* style-parity v1.0.43 — specialty-products md width only (186px); full-width swipers stay fluid */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-text,
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-title,
  body.sample-page .specialty-products .swiper-slide.card .card-body h3 {
    width: 186px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-text {
    width: 260.656px;
  }

  body.sample-page .specialty-products .swiper-slide.card .card-body .card-title {
    width: 260.656px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-text {
    width: 230px;
  }

  body.sample-page .specialty-products .swiper-slide.card .card-body .card-title {
    width: 230px;
  }
}

@media (min-width: 1400px) {
  body.sample-page .specialty-products .swiper-slide.card .card-body .card-text {
    width: 280px;
  }

  body.sample-page .specialty-products .swiper-slide.card .card-body .card-title {
    width: 280px;
  }
}

/* v1.0.41 — homepage lengthMismatch: defer to WP 782px column stack; constrain BS5 .card swiper slides */
body.sample-page .specialty-products,
body.sample-page .special-offers,
body.sample-page .product-spotlight,
body.sample-page .news-events {
  overflow-x: hidden;
}

body.sample-page .specialty-products .swiper-wrapper,
body.sample-page .special-offers .swiper-wrapper,
body.sample-page .product-spotlight .swiper-wrapper,
body.sample-page .news-events .swiper-wrapper {
  flex-wrap: nowrap;
}

body.sample-page .specialty-products .swiper-slide.card,
body.sample-page .special-offers .swiper-slide.card,
body.sample-page .product-spotlight .swiper-slide.card,
body.sample-page .news-events .swiper-slide.card {
  flex: 0 0 auto;
  flex-shrink: 0;
  flex-direction: column;
  align-items: stretch;
  align-self: flex-start;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 0;
  box-sizing: border-box;
}

body.sample-page .swiper-slide.card .card-image,
body.sample-page .swiper-slide.card .card-body {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 992px) {
  body.sample-page .wp-block-columns.is-layout-flex {
    align-items: flex-start;
  }
}

/* style-parity v1.0.44 — homepage md card-link featured cards (Our Culture) */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.home h5,
  body.sample-page h5 {
    width: 242.828px;
    max-width: none;
  }

  body.home .card-link .card-title,
  body.sample-page .card-link .card-title {
    width: 242.828px;
    max-width: none;
  }

  body.home .card-link .card-content.col-sm-5,
  body.sample-page .card-link .card-content.col-sm-5 {
    flex: 0 0 auto;
    width: 242.828px;
    max-width: none;
  }
}

/* v1.0.43 — homepage lengthMismatch: BS5 .card flex column stretches card-link featured blocks */
body.sample-page .card-link.card {
  display: block;
}

body.sample-page .card-link.card > .card-body {
  flex: none;
}

/* style-parity pass 5 — h3 line-height 33.6px at xl+ (about page, non-main headings) */
@media (min-width: 1200px) {
  h3 {
    line-height: 33.6px;
  }
}

#breadcrumbs,
#breadcrumbs a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
}

#topnav .menu-item a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

#footer .social-icons a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.list-group-item-action,
#footer .list-group-item-action {
  width: 218px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left;
  border-top-color: rgba(0, 0, 0, 0.125) !important;
  border-bottom-color: rgba(0, 0, 0, 0.125) !important;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 1200px) {
  .list-group-item-action,
  #footer .list-group-item-action {
    width: 270px;
  }
}

@media (min-width: 1400px) {
  .list-group-item-action,
  #footer .list-group-item-action {
    width: 320px;
  }
}

/* Prod shows top nav from sm; template uses d-none d-md-block */
@media (min-width: 576px) and (max-width: 767.98px) {
  #topnav.d-none.d-md-block {
    display: block !important;
  }
}

/* UserWay — prod uses userway_p2 mid-right navy tab; dev installs userway_p1 */
html body .uwy .uai.userway_dark,
html body .uwy .uai.userway_dark:hover,
html body .uwy .uai.userway_dark:focus,
html body .uwy[class*="userway_p"] .uai.userway_dark,
.uwy .uai.userway_dark,
.uwy .uai.userway_dark:hover,
.uwy .uai.userway_dark:focus {
  background: rgb(0, 61, 104) !important;
  background-color: rgb(0, 61, 104) !important;
}

.uwy .userway_buttons_wrapper {
  position: fixed !important;
  top: 50% !important;
  left: calc(100vw - 21px) !important;
  right: auto !important;
  bottom: auto !important;
  transform: matrix(1, 0, 0, 1, -31.0461, -15.523) !important;
}

/* pixel parity pass 8/13 — card padding, forms, mobile app (2026-08-29)
   BS4 30px grid: literal margins/padding (not --bs-gutter-x on .row — upgrade-only audit).
------------------------------------------------------- */

/* BS4 used fixed 30px gutters; literal margin/padding below (prod has no --bs-gutter-* on .row) */
.row:not(.g-0):not(.gx-0) {
  margin-right: -15px;
  margin-left: -15px;
}

.row:not(.g-0):not(.gx-0) > * {
  padding-right: 15px;
  padding-left: 15px;
}

/* BS4 padded .col* only; BS5 .row > * pads every child — full-bleed banners must opt out */
.row:not(.g-0):not(.gx-0) > .banner,
.row:not(.g-0):not(.gx-0) > .interior-desktop-banner,
.row:not(.g-0):not(.gx-0) > .interior-mobile-banner {
  padding-left: 0;
  padding-right: 0;
}

/* card-body — BS4 used 1.25rem; restores card-text wrap on /about/ and /services/ */
.card-body {
  padding: 1.25rem;
}

/* card reflow — prod card-text wraps at lg when title + text share row */
.card-body .card-text,
.card-link .card-text {
  line-height: 24px;
}

/* request form sidebar card — template-part-requestform.php */
.card.bg-light.shadow.border-0 .card-header {
  padding: 0.75rem 1.25rem;
}

.card.bg-light.shadow.border-0 .card-body {
  padding: 1.25rem;
}

/* card reflow — BS5 mb-4 + card spacing on interior sidebar (/about/, /services/) */
.card.mb-4 {
  margin-bottom: 1.5rem;
}

a.card-link .card,
.card-link.card {
  margin-bottom: 1.5rem;
}

/* style-parity v1.0.43 — BS4 form-control color, border, radius (BS5 reboot drift) */
form .form-control {
  color: rgb(73, 80, 87);
  border-top-color: rgb(206, 212, 218);
  border-bottom-color: rgb(206, 212, 218);
  border-radius: 4px;
}

/* navbar search — BS4 form-control height + border in header */
#header .search-form .form-control,
#header .search-field.form-control {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  height: calc(1.5em + 0.75rem + 2px);
  border: 1px solid rgb(206, 212, 218);
}

/* style-parity v1.0.45 — collapsed navbar search width (BS5 input-group flex-grow vs BS4 form-inline 207px) */
@media (min-width: 576px) and (max-width: 991.98px) {
  #header .navbar-collapse .search-form {
    display: flex;
    width: 100%;
  }

  #header .navbar-collapse .search-form .input-group {
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
  }

  #header .navbar-collapse .search-form .search-field,
  #header .navbar-collapse .search-form .form-control {
    width: 207px;
    max-width: none;
    flex: 0 0 auto;
  }

  #header .navbar-collapse .search-form input.search-field::placeholder {
    color: rgb(108, 117, 125);
  }
}

#header .navbar-brand {
  width: 340px;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header .navbar-brand {
    width: 180.625px;
  }
}

/* mobile app — page-mobileapp.php banner/spacing @ sm */
@media (max-width: 767.98px) {
  body.page-template-page-mobileapp .container-fluid.mb-5 {
    margin-bottom: 1.5rem !important;
  }

  /* pass 14: drop h1/h3/wrap sm overrides — prod 1.0.0 uses global mobile-app rules at sm */

  /* pass 11: surgical h2 — style-parity samples first h2 (hero inline 45px); prod lh 45px / mb 20px */
  #mobile-app-content .col-sm-6 > h2[style*="font-size: 45px"] {
    line-height: 45px;
    margin-bottom: 20px;
  }

  /* feature / section h2s — no inline font-size (pass 9 font-size:1.5rem broke layout) */
  #mobile-app-content h2:not([style*="font-size"]) {
    font-size: 35px;
    line-height: 45px;
    margin-bottom: 20px;
  }

  /* mb-0 utility wins on feature tiles */
  #mobile-app-content h2.mb-0 {
    margin-bottom: 0;
  }

  /* pass 21 — prod 1.0.0 keeps global h2 rules; tighten wrap padding at sm */
  #mobile-app-content .mobile-content-wrap {
    padding: 40px 15px;
    min-height: 0;
  }

  #mobile-app-content .row > [class*="col-"] {
    min-width: 0;
  }
}

/* pixel parity pass 15/17 — interior sidebar top-align (page-interior.php + category archives) */
.container > .row:has(> .col-sm-8 + .col-sm-4),
.container > .row:has(> .col-sm-9 + .col-sm-3) {
  align-items: flex-start;
}

.container > .row > .col-sm-8 + .col-sm-4,
.container > .row > .col-sm-9 + .col-sm-3,
#content > .row > .col-md-5,
#content > .row > .col-lg-4 {
  align-self: flex-start;
}

/* pixel parity pass 17/21 — /about/ sidebar images use card-img-top outside .card */
.container > .row > .col-sm-4 > img.card-img-top,
.container > .row > .col-sm-3 > img.card-img-top {
  border-radius: 0;
  display: inline;
  width: 100%;
}

body.about .container > .row > .col-sm-4 > img.card-img-top.mb-4,
body.about .container > .row > .col-sm-3 > img.card-img-top.mb-4 {
  margin-bottom: 1.5rem;
}

/* pixel parity pass 16 — mobile-app store buttons; scoped flex (pass 15 global float regressed layout) */
#mobile-app-content div:has(> a.pull-left) {
  display: flex;
  flex-wrap: wrap;
}

#mobile-app-content a.pull-left {
  float: none;
}

/* pixel parity pass 18 — BS4 .btn-block parity (footer w-100 codemod lost display:block) */
#footer .dropdown > a.btn.w-100 {
  display: block;
  width: 100%;
}

/* pixel parity pass 21 — /contact/ (gform 3) + /request-a-quote/ (gform 1)
   Prod child 1.0.0 only styles #gform_wrapper_2; undo BS5 layout drift without form-control overrides. */
body.contact #gform_wrapper_3.gform_wrapper.gform_legacy_markup_wrapper .gform_fields,
body.request-a-quote #gform_wrapper_1.gform_wrapper.gform_legacy_markup_wrapper .gform_fields {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

@media (max-width: 640.98px) {
  body.contact #gform_wrapper_3.gform_wrapper.gform_legacy_markup_wrapper .gform_fields,
  body.request-a-quote #gform_wrapper_1.gform_wrapper.gform_legacy_markup_wrapper .gform_fields {
    overflow: visible;
  }

  body.contact #gform_wrapper_3.gform_wrapper .top_label li.gfield.gf_left_half,
  body.contact #gform_wrapper_3.gform_wrapper .top_label li.gfield.gf_right_half,
  body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label li.gfield.gf_left_half,
  body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label li.gfield.gf_right_half {
    display: list-item;
    width: 100%;
    float: none;
    clear: both;
  }
}

@media (min-width: 641px) {
  body.contact #gform_wrapper_3.gform_wrapper .top_label li.gfield.gf_left_half,
  body.contact #gform_wrapper_3.gform_wrapper .top_label li.gfield.gf_right_half,
  body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label li.gfield.gf_left_half,
  body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label li.gfield.gf_right_half {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding-right: 16px;
    float: none;
  }

  body.contact #gform_wrapper_3.gform_wrapper .top_label li.gfield:not(.gf_left_half):not(.gf_right_half),
  body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label li.gfield:not(.gf_left_half):not(.gf_right_half) {
    clear: both;
  }
}

/* pixel parity pass 27 — gform 1/3 full wrapper_2 mirror (pass 26 form-control block added height) */
body.contact #gform_wrapper_3.gform_wrapper,
body.request-a-quote #gform_wrapper_1.gform_wrapper {
  margin-bottom: 16px;
  margin-top: 0;
  max-width: 100%;
}

body.contact #gform_wrapper_3.gform_wrapper .gform_footer,
body.request-a-quote #gform_wrapper_1.gform_wrapper .gform_footer {
  padding: 16px 0 10px;
  margin: 16px 0 0;
  clear: both;
  width: 100%;
}

body.contact #gform_wrapper_3.gform_wrapper ul.gform_fields li.gfield,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gform_fields li.gfield {
  padding-right: 5px;
}

body.contact #gform_wrapper_3.gform_wrapper li.hidden_label input,
body.request-a-quote #gform_wrapper_1.gform_wrapper li.hidden_label input {
  margin-top: 0;
}

body.contact #gform_wrapper_3.gform_wrapper .top_label .gfield_label,
body.contact #gform_wrapper_3.gform_wrapper legend.gfield_label,
body.request-a-quote #gform_wrapper_1.gform_wrapper .top_label .gfield_label,
body.request-a-quote #gform_wrapper_1.gform_wrapper legend.gfield_label {
  line-height: 1.3;
  margin-bottom: 8px;
}

body.contact #gform_wrapper_3.gform_wrapper li.gfield,
body.request-a-quote #gform_wrapper_1.gform_wrapper li.gfield {
  margin-bottom: 0;
}

body.contact #gform_wrapper_3.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
body.contact #gform_wrapper_3.gform_wrapper textarea,
body.request-a-quote #gform_wrapper_1.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
body.request-a-quote #gform_wrapper_1.gform_wrapper textarea {
  padding: 5px 4px;
  font-size: 1rem;
  line-height: 32px;
}

body.contact #gform_wrapper_3.gform_wrapper select,
body.request-a-quote #gform_wrapper_1.gform_wrapper select {
  padding: 2px 0 2px 3px;
  font-size: 1rem;
  line-height: normal;
}

@media (min-width: 768px) {
  body.contact #gform_wrapper_3.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
  body.contact #gform_wrapper_3.gform_wrapper textarea,
  body.request-a-quote #gform_wrapper_1.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
  body.request-a-quote #gform_wrapper_1.gform_wrapper textarea {
    line-height: 24px;
  }
}

body.contact #gform_wrapper_3.gform_wrapper ul.gfield_checkbox li label,
body.contact #gform_wrapper_3.gform_wrapper ul.gfield_radio li label,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_checkbox li label,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_radio li label {
  display: inline;
}

body.contact #gform_wrapper_3.gform_wrapper .gfield_checkbox li,
body.contact #gform_wrapper_3.gform_wrapper .gfield_radio li,
body.request-a-quote #gform_wrapper_1.gform_wrapper .gfield_checkbox li,
body.request-a-quote #gform_wrapper_1.gform_wrapper .gfield_radio li {
  line-height: 1.3;
}

/* pixel parity pass 26 — mobile-app WP content BS4 utilities (accordion btn-block, text-left) */
#mobile-app-content .btn-block {
  display: block;
  width: 100%;
}

#mobile-app-content .text-left {
  text-align: left;
}

#mobile-app-content .accordion .btn.btn-link {
  white-space: normal;
}

/* pixel parity pass 26 — about questions CTA card (ACF option HTML) */
body.about .card.bg-light.border-0.my-4 {
  box-shadow: none;
}

body.about .card.bg-light.border-0.my-4 .card-text:last-child {
  margin-bottom: 0;
}

/* pixel parity pass 19 — /about/ + /careers/ interior content reflow */
body.about .col-sm-8 p.wp-block-paragraph:empty,
body.careers .col-sm-12 p.wp-block-paragraph:empty {
  display: none;
  margin-bottom: 0;
}

body.about .container > .row > .col-sm-8,
body.careers .container > .row > .col-sm-12 {
  min-width: 0;
}

body.careers .col-sm-12 iframe[src*="uslbmjobs.com"],
body.careers .col-sm-12 iframe#inlineframe {
  display: inline;
  width: 1px;
  min-width: 100%;
  border: 0;
}

/* pixel parity pass 27 — /careers/ interior rhythm (h1 + iframe lead-in) */
body.careers .container > .row > .col-sm-12 > h1 {
  margin-bottom: 1.5rem;
}

body.careers .col-sm-12 > p.wp-block-paragraph:last-of-type {
  margin-bottom: 16px;
}

body.careers #iframeHeightDiv {
  margin-top: 0;
  line-height: 0;
}

/* pixel parity pass 29 — /about/ interior rhythm (breadcrumb, sidebar CTA, questions card) */
body.about #breadcrumbs {
  margin-bottom: 1rem;
}

body.about .col-sm-8 h3 {
  margin-top: 0;
  margin-bottom: 8px;
}

body.about .col-sm-4 > a.btn.btn-primary.btn-lg.w-100.mb-4,
body.about .col-sm-3 > a.btn.btn-primary.btn-lg.w-100.mb-4 {
  display: block;
  width: 100%;
}

body.about .card.bg-light.border-0.my-4 .card-body {
  padding: 1.25rem;
}

body.about .card.bg-light.border-0.my-4 h5,
body.about .card.bg-light.border-0.my-4 .card-title {
  margin-bottom: 12px;
}

body.about .container > .row + .row > hr {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/* pixel parity pass 29 — gform 1/3 wrapper_2 tail (gf_list_inline, checkbox offsets, sm padding) */
body.contact #gform_wrapper_3.gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
body.contact #gform_wrapper_3.gform_wrapper li.gf_list_inline ul.gfield_radio li,
body.request-a-quote #gform_wrapper_1.gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
body.request-a-quote #gform_wrapper_1.gform_wrapper li.gf_list_inline ul.gfield_radio li {
  margin: 0 8px 0 0;
}

body.contact #gform_wrapper_3.gform_wrapper ul li.field_description_below div.ginput_container_checkbox,
body.contact #gform_wrapper_3.gform_wrapper ul li.field_description_below div.ginput_container_radio,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul li.field_description_below div.ginput_container_checkbox,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul li.field_description_below div.ginput_container_radio {
  margin-top: 0;
  margin-bottom: 0;
}

body.contact #gform_wrapper_3.gform_wrapper ul.gfield_checkbox li input[type="checkbox"],
body.contact #gform_wrapper_3.gform_wrapper ul.gfield_radio li input[type="radio"],
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_checkbox li input[type="checkbox"],
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_radio li input[type="radio"] {
  margin-right: 4px;
  vertical-align: middle;
}

body.contact #gform_wrapper_3.gform_wrapper ul.gfield_checkbox li label,
body.contact #gform_wrapper_3.gform_wrapper ul.gfield_radio li label,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_checkbox li label,
body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gfield_radio li label {
  margin-left: 4px;
  vertical-align: middle;
}

@media (max-width: 640.98px) {
  body.contact #gform_wrapper_3.gform_wrapper ul.gform_fields li.gfield,
  body.request-a-quote #gform_wrapper_1.gform_wrapper ul.gform_fields li.gfield {
    padding-right: 5px;
    display: list-item;
  }
}

/* pixel parity pass 29 — interior pages footer chrome (pass 22/23 global regressed; scoped only) */
body.about #footer .col-sm-12.order-2 p em small,
body.contact #footer .col-sm-12.order-2 p em small,
body.careers #footer .col-sm-12.order-2 p em small,
body.request-a-quote #footer .col-sm-12.order-2 p em small {
  font-size: 0.8em;
  line-height: 1.5;
}

body.about #footer .social-icons.float-end,
body.contact #footer .social-icons.float-end,
body.careers #footer .social-icons.float-end,
body.request-a-quote #footer .social-icons.float-end {
  float: none !important;
}

body.about #footer .dropdown > a.btn.btn-sm.w-100,
body.contact #footer .dropdown > a.btn.btn-sm.w-100,
body.careers #footer .dropdown > a.btn.btn-sm.w-100,
body.request-a-quote #footer .dropdown > a.btn.btn-sm.w-100 {
  display: block;
  width: 100%;
}

body.about #footer .footer-bottom .websiteby small,
body.contact #footer .footer-bottom .websiteby small,
body.careers #footer .footer-bottom .websiteby small,
body.request-a-quote #footer .footer-bottom .websiteby small {
  font-size: 0.8em;
  line-height: 1.5;
}

/* pixel parity pass 29 — /careers/ breadcrumb + iframe lead-in (pass 27 h1 pin retained above) */
body.careers #breadcrumbs {
  margin-bottom: 1rem;
}

body.careers .col-sm-12 > h1 {
  margin-bottom: 1.5rem;
}

body.contact #breadcrumbs,
body.request-a-quote #breadcrumbs {
  margin-bottom: 1rem;
}

/* pixel parity pass 30 — cluster A: cm_* catalog floor (category.php listing + sidebar) */
body.catalog-interior #breadcrumbs {
  margin-bottom: 1rem;
}

.container > .row:has(> .col-sm-9 + .col-sm-3) {
  align-items: flex-start;
}

#content article.mb-4 h3 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 28px;
  line-height: 33.6px;
}

#content article.mb-4 h3 a {
  color: rgb(0, 123, 255);
}

#content article.mb-4 .wp-block-paragraph,
#content article.mb-4 p {
  margin-bottom: 16px;
}

.widget .widget-title {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 32px;
  line-height: 38.4px;
}

body.catalog-interior #footer .col-sm-12.order-2 p em small {
  font-size: 0.8em;
  line-height: 1.5;
}

body.catalog-interior #footer .dropdown > a.btn.btn-sm.w-100 {
  display: block;
  width: 100%;
}

body.catalog-interior #footer .footer-bottom .websiteby small {
  font-size: 0.8em;
  line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  body.catalog-interior #footer .dropdown.mb-3.mb-lg-0 {
    margin-bottom: 1rem;
  }
}

/* style-parity v1.0.44/50 — /products/ sidebar widget h2 width matches prod column */
body.products h2 {
  width: 536px;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  body.products h2 {
    width: 728px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body.products h2 {
    width: 952px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  body.products h2 {
    width: 1160px;
  }
}

@media (min-width: 1400px) {
  body.products h2 {
    width: 1360px;
  }
}

/* pixel parity pass 30 — cluster B: /products/ + /services/ (Small → Same, sm height drift) */
body.products #breadcrumbs,
body.services #breadcrumbs {
  margin-bottom: 1rem;
}

body.products main h1.entry-title,
body.products main h1.mb-4,
body.services main h1.entry-title,
body.services main h1.mb-4 {
  margin-top: 0;
  margin-bottom: 8px !important;
}

body.products #footer .col-sm-12.order-2 p em small,
body.services #footer .col-sm-12.order-2 p em small {
  font-size: 0.8em;
  line-height: 1.5;
}

body.products #footer .dropdown > a.btn.btn-sm.w-100,
body.services #footer .dropdown > a.btn.btn-sm.w-100 {
  display: block;
  width: 100%;
}

body.products #footer .footer-bottom .websiteby small,
body.services #footer .footer-bottom .websiteby small {
  font-size: 0.8em;
  line-height: 1.5;
}

body.products .entry-content .card-link.card,
body.services .entry-content .card-link.card {
  margin-bottom: 1.5rem;
}

@media (max-width: 767.98px) {
  body.products .entry-content > .wp-block-columns,
  body.services .entry-content > .wp-block-columns {
    margin-bottom: 0;
  }

  body.products .entry-content .card-link.card:last-child,
  body.services .entry-content .card-link.card:last-child {
    margin-bottom: 0;
  }
}

/* pixel parity pass 30 — cluster C: /about/ content rhythm (gform-free interior deepen) */
body.about .col-sm-8 .entry-content > h3,
body.about .col-sm-8 .entry-content h3.wp-block-heading {
  margin-top: 0;
  margin-bottom: 8px;
}

body.about .col-sm-8 .entry-content > ul,
body.about .col-sm-8 .entry-content > ol,
body.about .col-sm-8 .entry-content ul.wp-block-list,
body.about .col-sm-8 .entry-content ol.wp-block-list {
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 40px;
}

body.about .col-sm-8 .entry-content > ul li,
body.about .col-sm-8 .entry-content > ol li,
body.about .col-sm-8 .entry-content ul.wp-block-list li,
body.about .col-sm-8 .entry-content ol.wp-block-list li {
  margin-bottom: 0;
  line-height: 24px;
}

body.about .col-sm-8 .entry-content > p.wp-block-paragraph,
body.about .col-sm-8 .entry-content > p {
  margin-bottom: 16px;
}

body.about .container > .row + .row > hr {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

body.about .container > .row + .row .col-6.col-sm-3 img.img-fluid {
  display: block;
  width: 100%;
}

/* pixel parity pass 31 — cluster A: catalog md sidebar rhythm */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.catalog-interior .col-sm-3 .widget {
    margin-bottom: 0;
  }

  .widget .widget-title {
    margin-bottom: 8px;
  }

  body.catalog-interior .widget ul {
    margin-bottom: 16px;
    padding-left: 40px;
  }

  body.catalog-interior .widget ul li {
    line-height: 24px;
  }

  body.catalog-interior #content article.mb-4 p {
    line-height: 24px;
  }

  /* v1.0.36 cluster C — short catalog listings md +3px vs prod (BS5 .mb-4 24px) */
  body.catalog-interior #content article.mb-4:last-child {
    margin-bottom: 21px;
  }
}

/* pixel parity pass 31 — cluster B: /app/ empty banner/footer gap (stage sm +29px) */
body.app:not(.app-support):not(.ki-mobile-app) .container-fluid.mb-5 {
  margin-bottom: 0 !important;
}

body.app:not(.app-support):not(.ki-mobile-app) #footer.mt-5 {
  margin-top: 0 !important;
}

/* pixel parity pass 31 — cluster B: app-support interior 2col rhythm */
body.app-support #content h1 {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

body.app-support #breadcrumbs {
  margin-bottom: 1rem;
}

body.app-support #content .entry-content > p,
body.app-support #content p.wp-block-paragraph {
  margin-bottom: 16px;
  line-height: 24px;
}

body.app-support #footer .col-sm-12.order-2 p em small {
  font-size: 0.8em;
  line-height: 1.5;
}

body.app-support #footer .dropdown > a.btn.btn-sm.w-100 {
  display: block;
  width: 100%;
}

body.app-support #footer .footer-bottom .websiteby small {
  font-size: 0.8em;
  line-height: 1.5;
}

/* pixel parity pass 31 — cluster B: ki-mobile-app accordion card headers (13% sm/md/lg) */
#mobile-app-content .accordion > .card {
  margin-bottom: 0;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

#mobile-app-content .accordion > .card + .card {
  border-top: 0;
}

#mobile-app-content .accordion .card-header {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
}

#mobile-app-content .accordion .card-header h2.mb-0 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
  text-transform: none;
}

#mobile-app-content .accordion .card-header .btn.btn-link {
  padding: 0;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

#mobile-app-content .accordion .card-body h3 {
  line-height: 28.8px;
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 8px;
}

/* pixel parity pass 31 — cluster C: contact intro + gform lead-in (prod +80px sm) */
body.contact .col-sm-12 > h1.mb-4 {
  margin-bottom: 1.5rem;
}

body.contact .col-sm-12 > p,
body.contact .col-sm-12 > .wp-block-paragraph {
  margin-bottom: 16px;
  line-height: 24px;
}

body.contact #gform_wrapper_3.gform_wrapper {
  margin-top: 16px;
}

/* pixel parity pass 31 — cluster C: /about/ sidebar + questions deepen */
body.about .col-sm-8 > h1.mb-4 {
  margin-bottom: 1.5rem;
}

body.about .card.bg-light.border-0.my-4 {
  margin-top: 1.5rem;
}

/* style-parity v1.0.34 — cluster A: breadcrumbs + main h1; cluster B: interior typography
   v1.0.35 — widget-title h2 margin-bottom (cm_* md uniqueFix; see .widget .widget-title above)
------------------------------------------------------- */

/* uniqueFix — /contact/ breadcrumbs line-height (gform p rules load after early pin) */
body.contact #breadcrumbs,
body.contact #breadcrumbs a,
body.contact #breadcrumbs span {
  line-height: 18px;
}

/* uniqueFix 3 — /products/ main h1 margin-bottom (BS5 .mb-4 !important → 24px) */
main h1.entry-title {
  margin-bottom: 8px;
}

/* cluster B — interior breadcrumb rhythm (contact 1col + quote gform pages) */
body.about #breadcrumbs,
body.about #breadcrumbs a,
body.about #breadcrumbs span,
body.careers #breadcrumbs,
body.careers #breadcrumbs a,
body.careers #breadcrumbs span,
body.request-a-quote #breadcrumbs,
body.request-a-quote #breadcrumbs a,
body.request-a-quote #breadcrumbs span {
  line-height: 18px;
}

body.request-a-quote .col-sm-12 > h1.mb-4 {
  margin-bottom: 1.5rem;
}

body.request-a-quote .col-sm-12 > p,
body.request-a-quote .col-sm-12 > .wp-block-paragraph {
  margin-bottom: 16px;
  line-height: 24px;
}

body.request-a-quote #gform_wrapper_1.gform_wrapper {
  margin-top: 16px;
}

body.careers .col-sm-12 > p.wp-block-paragraph:first-of-type {
  margin-bottom: 16px;
  line-height: 24px;
}

/* pixel parity v1.0.51/55 — footer copyright: size once on <small>, nested <p> inherits
   cluster B: gform 1/3 wrapper rhythm (mb on wrapper not fields; list-item + pr:5 at sm)
   cluster D: /about/ sidebar img display:inline (pass 17 block regressed prod) */
#footer .copyright small {
  font-size: 0.8em;
  line-height: 1.5;
}

#footer .copyright small p {
  font-size: 1em;
  line-height: 1.5;
}

/* pixel parity v1.0.57 — 22-blocker batch: catalog md ul rhythm, gform input height,
   careers iframe inline + trailing empty-p margin (prod keeps mb:16 on :empty p)
   v1.0.58 — gform select padding, md+ input line-height 24px, footer pt/pb/mt
   v1.0.59 — sm gform half-fields display:list-item (prod margin collapse)
   v1.0.60 — sm gform_fields overflow:visible (auto blocked margin collapse) */
body.careers .col-sm-12 > p.wp-block-paragraph:empty {
  display: block;
  height: 0;
  overflow: hidden;
  margin-bottom: 16px;
}
