/** v 57 **/
.container-xl {
  max-width: 1600px;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
p {
  line-height: 1.415;
  margin-bottom: 1.5em;
}
#maincontent ul {
  margin-bottom: 1.5em;
}
.content-container p,
.content-container .overlay-card p,
.content-container ul,
.content-container .overlay-card ul,
.content-container ol,
.content-container .overlay-card ol {
  line-height: 1.415;
  margin-bottom: 1rem;
}
.lead {
  margin-bottom: .875em;
}
.content-container p + .btn, .content-container p + .btn + .btn,
.content-container ul + .btn, .content-container ul + .btn + .btn,
.content-container ol + .btn, .content-container ol + .btn + .btn {
  margin-top: 6px !important;
}
#maincontent p a {
  font-weight: 700;
}
ul.list-inside, ol.list-inside {
  list-style: inside;
  padding-left: 0;
}
ul.pl-aligned {
  padding-left: 17px;
}
.card .card-text {
  margin-bottom: 1.1em;
}
.card-text:last-child {
  margin-bottom: 0;
}
.table.small {
  font-size: 100%;
}
.table.small tr td {
  font-size: 90%;
}
.table.fancy.striped tbody tr {
  border-top: 1px solid #dfe3e6;
}
.table.fancy.striped tbody tr:nth-child(odd) {
  background: #f1f1f1;
}
@media (min-width: 576px) {
  .card-deck.thirds .card {
    flex-basis: 31%;
  }
}
@media (min-width: 768px) {
  .offset-md-1 {
    margin-left: 8.33333%;
  }
  .border-bottom-md-0 {
    border-bottom: none !important;
  }
}
@media (min-width: 1024px) {
  .border-top-lg-0 {
    border-top: none !important;
  }
  ul.list-lg-outside, ol.list-lg-outside {
    list-style: outside;
  }
}
/*** footer ***/
.post-footer {
  border-top: none;
}
[data-querystring^="cgid"] footer,
[data-querystring^="cid"] footer {
  padding-top: 0;
}
.footer-top a:hover {
  background: #f1f1f1;
}
.footer-top-icon {
  width:53px;
  height:56px;
  line-height:1;
  fill:#676767;
}
.footer-social-icon {
  width:20px;
  height:20px;
  line-height:1;
  fill:#006c9c;
}
.footer-social-icon:hover, .footer-social-icon:active, .footer-social-icon:focus {
  fill:#004766;
}
/*** full-width tiles ***/
@media (min-width: 1024px) {
  .fullwidth-tile picture img {
    min-width: 1500px;
    margin-left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
/*** product slots ***/
.product-slot {
  margin-top: 1.875rem;
  padding-bottom: 2.5rem;
}
.product-tile .tile-body .tile-subhead {
  margin-bottom: .875em;
}

/*** carousel ***/
.carousel.blue .carousel-indicators {
  margin-bottom: 0;
}
.carousel.blue .carousel-indicators li {
  background-color: #006c9c;
}

/*** expand collapse button ***/
.btn-collapse {
  padding: 0;
}
.btn-collapse:before {
  content: '';
  width:30px;
  height:30px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23555' d='M8 0C3.584 0 0 3.584 0 8s3.584 8 8 8 8-3.584 8-8-3.584-8-8-8zm4.032 9.024H9.024v3.008H7.04V9.024H4.032V7.04H7.04V4.032h1.984V7.04h3.008v1.984z'/%3E%3C/svg%3E") no-repeat 50%/cover;
}
.btn-collapse[aria-expanded="true"]:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%233C3C3C' fill-rule='evenodd' d='M8 0C3.556 0 0 3.556 0 8s3.556 8 8 8 8-3.556 8-8-3.556-8-8-8zm4 9.016H4V6.984h8v2.032z'/%3E%3C/svg%3E") no-repeat 50%/cover;
}

/*** hero for homepages - overlay on mobile ***/
@media (max-width: 1023px) {
  .content-container .overlay-card .text-shadow {
    text-shadow: none;
  }

  .content-container .overlay-card.mobile-overlay {
    background: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
  }
  .content-container .overlay-card.mobile-overlay * {
    color: #ffffff;
  }
  .content-container .overlay-card.mobile-overlay .btn {
    border-color: #ffffff;
    width: auto;
  }
  .content-container .overlay-card.mobile-overlay .btn:active,
  .content-container .overlay-card.mobile-overlay .btn:focus,
  .content-container .overlay-card.mobile-overlay .btn:hover {
    color: #006c9c;
  }
  .hero-banner.content-container .overlay-card.mobile-overlay {
    height: 100%;
  }
  .hero-banner.content-container .overlay-card.mobile-overlay .btn {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

/*** hero images ***/
@media (min-width: 1025px) {
  .content-container.hero-container,
  .content-container.video-asset {
    max-height: none;
  }
}
@media (min-width: 1025px) and (max-width:1800px) {
  .content-container.hero-container,
  .content-container.video-asset {
    height: 640px;
  }
  .content-container.hero-container img,
  .content-container.video-asset img {
    width: auto !important;
    min-height: 100%;
    max-width: none;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .content-container.video-asset .video-container {
    height: auto !important;
width: 100%;
    min-width: 1800px;
  }
  .content-container .home-hero-video {
    left: 0;
    -webkit-transform: none;
    transform: none;
  }
}

/*** checkout pages - braintree ***/
.braintree-creditcard-content .payment-method-braintree .error {
  margin-bottom: 1.5rem;
  margin-top: -1em;
}
/*** product kickers ***/
.product-tile .tile-kicker {
  width: auto;
}

/*** quotes ***/
blockquote.typeface-2 {
  line-height: 1.5;
}

/*** temp font styles, can be removed after new protocols pages launch ***/
.display-3.font-v-hand,
.typeface-9 {
  font-size: 1.25rem;
  margin-bottom: 15px !important;
}
@media (min-width: 768px) {
  .display-3.font-v-hand,
  .typeface-9 {
    font-size: 1.625rem;
    line-height: 1.875rem;
  }
}
blockquote.typeface-7 {
  line-height: 1.5;
}

/*** temporarily hide shipping map link on checkout ***/
.shipping-method-block .shipping-delivery-time-map {
  display: none;
}

/*** Change styles on initial Chat tab ***/
.embeddedServiceHelpButton .helpButton .uiButton {
  background-color: #006c9c !important;
}

/*** Form Styles ***/
label.optional:after {
  content: "(optional)";
  font-size: 90%;
  color: #555 !important;
  margin-left: 7.5px!important;
  font-weight: 400;
}
label.required:before,
p.required:before {
    content: "*";
    color: #bf1e2d;
    margin-right: 4px;
}
/*** One Trust style overrides***/
/* notification banner */
#onetrust-consent-sdk #onetrust-banner-sdk a[href]:focus {
  outline: none;
}
#onetrust-consent-sdk #onetrust-pc-btn-handler {
  border-width: 2px;
}
#onetrust-consent-sdk #onetrust-pc-btn-handler:focus {
  outline: none;
}
#onetrust-consent-sdk #onetrust-pc-btn-handler:hover {
    opacity: 1;
    background: #006c9c;
    color: #fff;
    border-color: #006c9c;
}
#onetrust-consent-sdk #onetrust-banner-sdk:focus {
  outline: none;
}
/* text wrapping fix for orphaned words ('pretty' currently only works in Chrome */
.text-wrap-pretty,
.product-detail .product-name,
.product-detail .product-tagline {
  text-wrap: pretty;
}
.text-wrap-balance {
  text-wrap: balance;
}
@media (min-width: 768px) {
  .text-md-nowrap {
    white-space: nowrap;
  }
  .text-wrap-md-balance {
    text-wrap: balance;
  }
}
@media (min-width: 1025px) {
  .text-lg-nowrap {
    white-space: nowrap;
  }
  .text-wrap-lg-balance {
    text-wrap: balance;
  }
}

/**
 * Product Slot design update
**/

.product-slot {
  padding-bottom: 20px;
}
.product-slot .product {
  border: 8px solid #f1f1f1;
  margin-bottom: 20px;
}
.product-slot .product .product-tile {
  padding: 0 15px 25px 15px;
}
.product-slot .product-tile .image-container a {
  margin-top: 30px;
}
.product-slot .product .buy-now-cta {
  background: #006c9c;
  color: #ffffff;
}
.product-slot .product .buy-now-cta:hover,
.product-slot .product .buy-now-cta:active {
  background: #004766;
}
.grid-tile .triangle {
  top: 15px;
  left: 0;
  right: auto;
  width: auto;
  height: auto;
  -webkit-transform: none;
  transform: none;
  padding: 5px 12px;
}
.grid-tile .triangle > span {
  position: static;
  -webkit-transform: none;
  transform: none;
  white-space: nowrap;
  text-transform: uppercase;
  font-size: 14px;
}
.product-slot .product .util-links {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  width: auto;
}
.product-slot .product .util-links .quickview {
  display: none;
}
.product-slot .product .util-links .wishlist {
  margin: 0;
  width: auto;
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" class="heart" viewBox="0 0 32 32" fill="%23cccccc"%3E%3Cpath d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z"/%3E%3C/svg%3E') no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  width: 25px;
  height: 25px;
}
.product-slot .product .util-links .wishlist:hover {
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" class="heart" viewBox="0 0 32 32" fill="%23bf1e2d"%3E%3Cpath d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z"/%3E%3C/svg%3E') no-repeat;
}

.product-slot .product .tile-description,
.product-grid .product .tile-description {
  display: none;
}
.product-slot .product .tile-subhead,
.product-grid .product .tile-subhead {
  margin-bottom: 28px;
}

/* Fix for when there is only one product such as on the human wellness page */
.row.product-slot .grid-tile {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width:768px) and (max-width:1024px) {
  /* Fix products from falling to the next row on tablet */
  .product-slot {
      padding-left: 5px;
      padding-right: 5px;
  }
  .product-slot .col-md {
    width: 33.33%;
  }
  .product-slot:has(> :nth-child(even):last-child) .col-md {
    flex-basis: 50%;
  }

  .product-slot .col-md {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* athlete cards */
.card-deck.riders .card {
  border: 8px solid #f1f1f1;
  margin-bottom: 20px;
}

@media (min-width: 576px) {
  .card-deck.riders.thirds .card {
    flex-basis: calc(50% - 30px) !important;
    flex-grow: 0;
  }
}

@media (min-width: 768px) {
  .card-deck.riders.thirds .card {
    flex-basis: calc(33.33% - 30px) !important;
  }
}

/* hide margin added by global styles */
@media (max-width: 767.98px) {
  .product-slot .col-12+.col-12 .product-tile {
    margin-top: 0 !important;
  }
}

/**
 * End Product Slot design update
**/

.col-count-2 {
  column-count: 2;
}
.col-count-3 {
  column-count: 3;
}
.col-count-4 {
  column-count: 4;
}
.col-gap-1 {
  column-gap: 30px;
}
.col-gap-2 {
  column-gap: 60px;
}
@media (min-width: 576px) {
  .col-count-sm-2 {
    column-count: 2;
  }
  .col-count-sm-3 {
    column-count: 3;
  }
  .col-count-sm-4 {
    column-count: 4;
  }
}
@media (min-width: 768px) {
  .col-count-md-2 {
    column-count: 2;
  }
  .col-count-md-3 {
    column-count: 3;
  }
  .col-count-md-4 {
    column-count: 4;
  }
}
@media (min-width: 1025px) {
  .col-count-lg-2 {
    column-count: 2;
  }
  .col-count-lg-3 {
    column-count: 3;
  }
  .col-count-lg-4 {
    column-count: 4;
  }
}

.table.icons-table .icon-wrap {
  width: 2rem;
}

.table.no-collapse td {
  display: table-cell;
}
.table.no-collapse tr td {
  border-top: 1px solid #dfe3e6;
}
@media (min-width: 576px) {
  .table.no-collapse-sm td {
    display: table-cell;
  }
  .table.no-collapse-sm tr td {
    border-top: 1px solid #dfe3e6;
  }
}
@media (min-width: 768px) {
  .table.no-collapse-md td {
    display: table-cell;
  }
  .table.no-collapse-md tr td {
    border-top: 1px solid #dfe3e6;
  }
}

/* fix dropdown nav position */
@media (min-width: 1025px) and (max-width: 1319px) {
  .navbar-categories .top-level .category-menu {
      top: 42px;
  }
}

/*** product grid design and yotpo reviews fixes ***/
.product-tile .tile-kicker {
  font-size: 18px;
  line-height: 1.2;
}
@media (min-width:380px) and (max-width: 575px) {
.product-grid > .col-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}
.product-grid .yotpo-sr-bottom-line-summary {
  flex-direction: column !important;
}
.product-grid .yotpo-sr-vertical-border {
  display: none !important;
}
.product-grid .yotpo-sr-bottom-line-right-panel {
  margin-top: 3px;
}
}
@media (max-width: 767px) {
  .product-grid .product-tile .pdp-link {
    line-height: 1;
    margin-bottom: 10px;
  }
}


/* Blue Background Vet Colors */
.bg-blue-1 {
  background: #eff1f5;
}
.bg-blue-2 {
  background: #e3e6ee;
}
.bg-blue-3 {
  background: #d6dce8;
}
.bg-blue-4 {
  background: #8aa1c2;
}
.bg-blue-5 {
  background: #6c8cb5;
}
.bg-blue-6 {
  background: #4c7ba8;
}

/* contact icons */
.icon-contact-small {
  width: 15px;
  fill: #888;
  position: relative;
  top: -2px;
  margin-right: 4px;
}

/* fix onetrust */
#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
  background: none !important;
}

/* Text an Advisor floating button */
.text-advisor-icon a {
  position: fixed;
  height: 166px;
  bottom: 45%;
  right: -122px;
  rotate: -90deg;
  background: #006c9c;
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
  padding: 8px 17px;
  z-index: 10000000;
  border-radius: 5px 5px 0 0;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
  color: #ffffff;
}
.post-footer .back-to-top {
  background-color: #888;
}

/* Adjustments to hero banners to fit Text an Advisor icon */
@media (max-width:580px) {
  .btn.px-mobileonly-3 {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}
@media (max-width:1024px) {
  .hero-banner .display-1 {
    line-height: 1.1;
  }
  .hero-banner .display-1.mb-0 {
    margin-bottom: 5px !important;
  }
}

/* sf form styles */
.form-help-text {
    font-size: 14.4px;
    color: #555;
}
.sf-form label:not(.required):after {
    content: "(optional)";
    color: #555555;
    font-weight: 400;
    font-size: 14.4px;
    margin-left: 7px;
}
.sf-form label.hide-optional:after {
    content: none;
}
.sf-form label.required:before {
    content: "*";
    color: #bf1e2d;
    margin-right: 4px;
}
.sf-form .checkbox-inline .checkbox-inline-flex {
  display: flex;
}
.sf-form .checkbox-inline input[type="checkbox"] {
  flex: 0 0 auto;
  margin-right: 7px;
  position: relative;
  top: 2px;
}
.sf-form .checkbox-inline label {
  line-height: 1.25;
}
.sf-form .checkbox-inline.required .checkbox-inline-flex:before {
  content: '*';
    color: #bf1e2d;
    margin-right: 4px;
    position: relative;
    top: -2px;
}
.sf-form .checkbox-inline.required label:before {
  content: none;
}
.sf-form .checkbox-inline.required:has(.is-invalid) .invalid-feedback {
  display: block !important;
  margin-top: 0;
}
.sf-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  appearance: none;
  border: 1px solid #888888;
}
.sf-form .checkbox-group-required.is-invalid input[type="checkbox"],
.sf-form input[type="checkbox"].is-invalid {
  border-color: red;
  padding: 0;
}
.sf-form input[type="checkbox"]:checked {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath stroke='%23888' d='M.5.5h17v17H.5z'/%3E%3Cpath fill='%23006C9C' d='M4.091 4.091h9.818v9.818H4.091z'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50%/cover;
}
.sf-form .checkbox-group-required.is-invalid .invalid-feedback {
  display: block !important;
}

/* --- START scroller carousel --- */
/* ===== Base: configurable via variables ===== */
.scroll-row-wrapper {
  --gap: 24px;
  --card-width: 250px;
  --arrows-overlay: 0;
  --text-align: left;
  --snap-start: 15px;

  /* behavior toggles (defaults assume 'always') */
  --overflow-x: auto;
  --overflow-y: hidden;
  --snap: x mandatory;     
  --show-arrows: flex;
}

.scroll-row {
  display: flex;
  gap: var(--gap);
  overflow-x: var(--overflow-x);
  overflow-y: var(--overflow-y);
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  scrollbar-gutter: auto;
  scroll-snap-type: var(--snap);
  -webkit-overflow-scrolling: touch; /* iOS momentum */
  scroll-padding-inline-start: var(--snap-start, 0);
}
.scroll-row .card {
  flex: 0 0 var(--card-width);
  scroll-snap-align: start;
}
.scroll-row .card svg.icon-icon-chat-dims {
  height: auto;
}

/* --- Scroll Arrow Buttons --- */
.scroll-row-wrapper {
  position: relative;
  display: flex;
  align-items: center;
/*  margin: 0 10px;*/
  padding: 0 var(--arrows-overlay);
}
.scroll-btn {
  display: var(--show-arrows);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #006c9c;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  color: #ffffff;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background 0.2s, opacity 0.2s;
}
.inverted .scroll-btn {
  background: #ffffff;
  color: #006c9c;
}
.scroll-btn span {
  position: relative;
  top: -2px;
}
.scroll-btn:hover { background: #004766; }
.inverted .scroll-btn:hover { background: #f0f0f0; }
.scroll-btn:focus { outline: 2px solid -webkit-focus-ring-color; }
.scroll-btn.prev { left: -20px; }
.scroll-btn.next { right: -20px; }
/* Disabled state */
.scroll-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}
/* Hide arrows on small screens */
/*@media (max-width: 767px) {
  .scroll-btn { display: none; }
}*/
@media (min-width: 768px) {
  .scroll-row-wrapper {
    padding: 0 var(--arrows-overlay); /* room for overlaid arrows */
  }
}
/* --- Scroll Arrow Buttons - Positioned Below the Scroller --- */
/* Only affect wrappers you mark with .arrows-below */
.scroll-row-wrapper.arrows-below {
  position: relative;
  display: flex;
  flex-direction: column;    /* stack scroller then controls */
  align-items: stretch;
  padding: 0;                /* no overlay padding needed */
}
/* The controls row under the scroller */
.scroll-row-wrapper.arrows-below .scroll-controls {
  display: flex;
  justify-content: center;   /* center the two arrows */
  gap: 10px;
  margin-top: 12px;
}
/* Make the buttons part of the flow instead of absolutely positioned */
.scroll-row-wrapper.arrows-below .scroll-btn {
  position: static;
  top: auto;
  transform: none;
}
/* Remove old side offsets when arrows are below */
.scroll-row-wrapper.arrows-below .scroll-btn.prev { left: auto; }
.scroll-row-wrapper.arrows-below .scroll-btn.next { right: auto; }
/* arrows-below + data-scroll="always"
   -> BELOW on mobile */
@media (max-width: 1614px) {
  .scroll-row-wrapper.arrows-below[data-scroll="always"] {
    padding: 0; /* no overlay padding on mobile */
  }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls {
    position: static;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
    pointer-events: auto;
  }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls .scroll-btn {
    position: static;
    top: auto;
    transform: none;
  }
}

/* arrows-below + data-scroll="always"
   -> SIDES (overlay) on desktop */
@media (min-width: 1615px) {
  .scroll-row-wrapper.arrows-below[data-scroll="always"] {
    padding: 0 var(--arrows-overlay); /* restore overlay padding */
    position: relative;
  }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls .scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
  }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls .scroll-btn.prev { left: -20px; }
  .scroll-row-wrapper.arrows-below[data-scroll="always"] .scroll-controls .scroll-btn.next { right: -20px; }
}


/* --- Scrollbar styling --- */
.scroll-row::-webkit-scrollbar { height: 12px; }
.scroll-row::-webkit-scrollbar-thumb { background: #aaa; border-radius: 6px; }
.scroll-row::-webkit-scrollbar-track { background: #eee; }
.scroll-row { scrollbar-color: #aaa #eee; scrollbar-width: auto; }
.scroll-row::-webkit-scrollbar-thumb:hover,
.scroll-row::-webkit-scrollbar-thumb:active,
.scroll-row:active::-webkit-scrollbar-thumb {
  filter: brightness(1.2) !important; 
}
.inverted .scroll-row::-webkit-scrollbar { height: 12px; }
.inverted .scroll-row::-webkit-scrollbar-thumb { background: #8aa1c2; border-radius: 6px; }
.inverted .scroll-row::-webkit-scrollbar-track { background: #4c7ba8; }
.inverted .scroll-row { scrollbar-color: #8aa1c2 #4c7ba8; scrollbar-width: auto; }
.inverted .scroll-row::-webkit-scrollbar-thumb:hover,
.inverted .scroll-row::-webkit-scrollbar-thumb:active,
.inverted .scroll-row:active::-webkit-scrollbar-thumb {
  filter: brightness(1.2) !important;
}

/* --- Modes --- */

/* 1) ALWAYS scroll (default variables already set) */
.scroll-row-wrapper[data-scroll="always"] {}

@media (min-width: 1630px) {
 /* .scroll-row-wrapper[data-scroll="always"] {
    margin: 0;
  }*/
}

/* 2) MOBILE-ONLY: scroll on small, static on desktop */
.scroll-row-wrapper[data-scroll="mobile-only"] {}

/* Desktop breakpoint: turn scrolling OFF, hide arrows, remove extra padding */
@media (min-width: 1140px) {
  .scroll-row-wrapper[data-scroll="mobile-only"]:has(.three-up) {
    --overflow-x: visible;
    --snap: none;
    --show-arrows: none;
    --arrows-overlay: 0;
    /*margin: 0;*/
  }
}
@media (min-width: 1500px) {
  .scroll-row-wrapper[data-scroll="mobile-only"]:has(.four-up) {
    --overflow-x: visible;
    --snap: none;
    --show-arrows: none;
    --arrows-overlay: 0;
    /*margin: 0;*/
  }
}

/* 3) NEVER scroll: always grid/static */
.scroll-row-wrapper[data-scroll="never"] {
  --overflow-x: visible;
  --snap: none;
  --show-arrows: none;
  --arrows-overlay: 0;
}

/* --- Additional Scroll Card styling --- */
.scroll-row .card {
  background: #fff;
  border: 8px solid #f1f1f1;
  text-align: center;
  padding: 12px;
}
.inverted .scroll-row .card {
  border: 8px solid #e3e6ee;
}
.scroll-row .card:has(> a):hover {
  border-color: #006c9c;
}
.inverted .scroll-row .card:has(> a):hover {
  border-color: #8aa1c2;
}

.inverted .scroll-row .card a h3 {
  color: #006c9c;
}
.inverted .scroll-row .card a:hover h3 {
  color: #004766;
}
.icon-contact-small.blue {
  fill: #006c9c;
}
.scroll-row .card a:hover .icon-contact-small.blue {
  fill: #004766;
}
/* --- Scroll Card Deck styling reset --- */
.scroll-row.card-deck {
  flex-wrap: nowrap;
  margin-right: 0;
  margin-left: 0;
}
.scroll-row.card-deck .card {
  text-align: left;
  margin-right: 0;
  margin-left: 0;
}
@media (max-width: 767px) {
  .scroll-row.card-deck.reviews .card {
    /* never < 220px, prefer 80%, never > --card-width */
    flex: 0 0 clamp(220px, 80%, var(--card-width));
  }
  .scroll-row {
    gap: 24px;
  }
}
@media (max-width: 575px) {
  .scroll-row.card-deck {
    display: flex;
    flex-direction: row;
  }
}
@media (min-width: 1140px) {
  .scroll-row.card-deck.three-up .card {
    flex: 1 0 0%;
  }
}
@media (min-width: 1500px) {
  .scroll-row.card-deck.four-up .card {
    flex: 1 0 0%;
  }
}
@media (min-width: 767px) and (max-width: 1200px) {
  .scroll-row.card-deck.reviews .card {
    min-width: 0 !important;
  }
}
/* --- Adjust padding when scroller --- */
.section-scroll .container-xl {
  padding-left: 0;
  padding-right: 0;
}
.scroll-row .card:first-child {
  margin-left: var(--snap-start);
}
.scroll-row .card:last-child {
  margin-right: var(--snap-start);
}
@media (min-width: 1500px) {
  .section-scroll .container-xl {
    padding-left: 15px;
    padding-right: 15px;
  }
  .scroll-row .card:first-child {
    margin-left: 0;
  }
  .scroll-row .card:last-child {
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .col-md-9 .scroll-row {
    padding-inline-start: 0;
    scroll-padding-inline-start: 0;
  }
}
/* --- END scroller carousel --- */