html {
  scroll-behavior: smooth;
}

main a {
  color: #2d75b9;
}

main a:hover {
  color: #fa9200
}

main h1,h2,h3,h4,h5,h6 {
  color: #66686c !important;
}

/* ✅ CHECKBOXES */
.form-check-input:checked[type="checkbox"] {
  background-color: #fa9200 !important;
  border-color: #fa9200 !important;
  /* white checkmark */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

/* ✅ RADIOS */
.form-check-input:checked[type="radio"] {
  background-color: #fa9200 !important;
  border-color: #fa9200 !important;
  /* white dot */
  background-image: none; /* remove default */
  box-shadow: inset 0 0 0 0.25em #fff; /* creates white dot */
}
.form-check-input[type="radio"] {
  border-radius: 50%;
}

/* optional: hover/focus states */
.form-check-input:focus {
  border-color: #fa9200;
  box-shadow: 0 0 0 0.2rem rgba(250,146,0,.25);
}

.hero-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 16 / 9;   /* scales the height */
  max-height: 500px;      /* caps the height */
}

.main-content p,
.main-content ul,
.main-content li {
  font-size: 20px;
}
.main-content {
  scroll-behavior: smooth;
}

.navbar-brand-logo {
  min-width: 0rem !important;
}

nav[aria-label="breadcrumb"] ol.breadcrumb {
  font-size: 0.85rem;
}
.breadcrumb .breadcrumb-item a {
  font-size: 0.85rem;
  color: #fa9200;    
}

.navbar .navbar-nav .nav-link {
  padding: 2rem .75rem !important;
}

.navbar-nav .nav-item:hover > .nav-link:not(:hover),
.navbar-nav .nav-item.show > .nav-link {
  color: #fa9200;
}


.bg-primary-blue {
  --bs-bg-opacity: 1;
  background-color: #1f5f99 !important;
}
.bg-primary-orange {
  --bs-bg-opacity: 1;
  background-color: #fa9200 !important;
}

.bg-zters-blue {
  background-color:#307abf !important;
}

.bg-zters-dark-orange {
  background-color: #CC5500;
}

.bg-zters-orange {
  background-color: #fa9200;
}

.btn-zters-orange {
  background-color: #fa9200;
  border-color:#fa9200;
  border-radius:8px;
  color: #000000;
  line-height: 1;

}
.btn-zters-dark-orange {
  background-color: #CC5500;
  border-color:#CC5500;
  border-radius:8px;
  color: #fff;
  line-height: 1;
}

.btn-zters-outline-orange {
  background-color: #fff;
  border-color:#fa9200;
  border-radius:8px;
  color: #fa9200;
  line-height: 1;
}

.btn-zters-outline-orange:hover,
.btn-zters-outline-orange:focus {
  background-color: #fa9200 !important;
  color: #fff !important;
}

.btn-zters-blue {
  background-color: #1f5f99;
  border-color:#1f5f99;
  border-radius:8px;
  color: #fff;
  line-height: 1;
}

.btn-zters-orange:hover,
.btn-zters-orange:focus,
.btn-zters-orange:active,
.btn-zters-orange:active:focus {
  background-color: #e68200;
  border-color: #e68200;
  color: #000;
  font-weight: bold;
}

.text-zters-light-blue {
    color: #D5E3F1 !important;
}

 .text-zters-orange {
    color: #FA9200 !important;
}

 .text-zters-blue {
    color: #1A5081 !important;
}

 .text-zters-green {
    color: #8dc23f !important;
}

 .text-zters-dark-grey {
  color: #66686c !important;
}

.nav-link:hover, .link, a.active{color: #fa9200 !important;}



::-moz-selection {
  color:#fa9200;
  background-color: rgba(250, 146, 0,.1) !important;
}
::selection {
  color:#fa9200;
  background-color: rgba(250, 146, 0,.1) !important;
}

/*
p,h1,h2,h3,h4,h5,span,a::selection {
  color: #fa9200 !important;
  background-color: rgba(250, 146, 0,.1) !important;
}
*/
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.bg-soft-secondary {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%), 
                url('./dist/assets/img/asfalt-light.png'); /* Add your texture image */
    background-size: cover;
    background-blend-mode: overlay; /* Ensures the gradient and texture blend well */
}



.banner-start::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to left, rgba(255,255,255,0) 22%, rgba(247,148,30,0.1) 22%);
  content: "";
}

.banner-start::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to left, rgba(255,255,255,0) 22%, rgba(247,148,30,0.1) 22%);
  content: "";
}


.banner-end::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0) 22%,
    rgba(48,122,191,1) 22%
  );
  content: "";
}

.banner-half-end::after {
  position: absolute;
  top: 7.5%;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 15%);
  display: block;
  content: "";
  background: linear-gradient(to right, rgba(255,255,255,0) 53%, rgba(247,148,30,0.1) 53%);
}

#service-areas .accordion-body ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

#service-areas .accordion-body ul li {
  margin-bottom: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  transition: background-color 0.3s ease;
}

#service-areas .accordion-body ul li:hover {
  background-color: rgba(247, 148, 30, 0.05);
}

#service-areas .accordion-body ul li a {
  display: block;
  color: #333;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
}

#service-areas .accordion-body ul li a:hover {
  color: #f7941e;
  text-decoration: underline;
}

.accordion-item {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.accordion-body {
  background-color: #fff !important; /* Override any theme default */
  color: #333; /* Optional: ensure text readability */
}

.accordion-button:not(.collapsed) {
  background-color: #fa9200; /* or any preferred background */
  color: #ffff; /* ensure text color is legible */
  box-shadow: none; /* optional: removes default focus ring */
}

a.btn-ghost-secondary:hover,
a.btn-ghost-secondary:focus,
a.btn.btn-ghost-secondary:hover,
a.btn.btn-ghost-secondary:focus {
  background-color: #fef8f2 !important;
  color: #51596C !important; /* optional: retain original text color */
}

.fixed-subnav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1030;
  background-color: #0075a8; /* match your styling */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.color-grid-line {
  height: 20px;
  display: flex;
  width: 100vw;          /* Ensures exact viewport width */
  overflow: hidden;      /* Prevents any inner divs from spilling */
}
.color-grid-line > div {
  height: 100%;
  flex-shrink: 0;
}