/* Remove bullets and indentation from all Articles modules */
.mod-articles-items {
    list-style: none !important;   /* removes bullets */
    padding-left: 0 !important;    /* removes default UL padding */
    margin-left: 0 !important;     /* optional, aligns left edge */
}
.mod-articles-items li {
    margin: 0;      /* remove spacing between items */
    padding: 0;
}

/* Shift Anchors for Sticky Header */
:target::before {
    content: "";
    display: block;
    height: 118.81px;       /* Exact height of your sticky header */
    margin-top: -118.81px;  /* Negative of header height */
    visibility: hidden;
}
/* Make mobile hamburger icon white */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/ %3E%3C/svg%3E");
}

/*Boxed Div*/
.boxedborder{
    background-color: #fff;
padding:10px;}

/* H2 Image underline using natural image size */
h2 {
    display: inline-block;
    margin-bottom: 0;
}

h2::after {
    content: "";
    display: block; /* makes it appear below the text */
    width: 300px;
    height: 17px;
    margin-top: 15px; /* space between text and underline */
    background-image: url('/images/elements/underline.png');
    background-repeat: no-repeat;
    background-size: 300px 17px; /* ensures image displays at actual size */
}

/* Vertical Align Text With Icons */
.iconalign {
  vertical-align: middle;
  display: inline-block;
}

/* Services Page */
.half-yellow {
    background: linear-gradient(
        to bottom,
        rgba(255,205,0,1),
        rgba(255,205,0,1) 50%,
        rgba(255,255,255,1) 50%,
        rgba(255,255,255,1) 100%
    ) no-repeat !important;
}

/* Contact Page*/
.solid-black {
    background: #282828 !important;
      color: #ffffff;
}

/* Optional — Full Yellow background */
.full-yellow {
    background: #ffcd00 !important;
    color: #000000;
}

/* Ensure full-width */
body.half-yellow,
body.solid-black,
body.full-yellow {
    width: 100%;
}

/* START SERVICES 3-PER-SLIDE CAROUSEL STYLES */
.sc-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Carousel container */
.simple-carousel {
  position: relative;
  width: 100%;
}

/* Track */
.sc-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behaviour: smooth;
  padding: 10px 40px; /* space for arrows */
}

.sc-track::-webkit-scrollbar {
  display: none;
}

/* Slide */
.sc-slide {
  flex: 0 0 calc(33.333% - 20px);
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
  padding: 15px;
  scroll-snap-align: start;
}

.sc-slide img {
  width: 100%;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* Left-right arrows */
.sc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: #ffcd00;
  color: #282828;
  width: 45px;
  height: 45px;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  z-index: 100;
  border-radius: 0px;
  display: flex;
  align-items: centre;
  justify-content: centre;
  box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}

.sc-arrow:hover {
  background: #282828;
  color: #ffcd00;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.sc-prev {
  left: 0;
}

.sc-next {
  right: 0;
}


/* Tablet: 2 per slide */
@media(max-width: 900px){
  .sc-slide {
    flex: 0 0 calc(50% - 20px);
  }
}

/* Mobile: 1 per slide */
@media(max-width: 600px){
  .sc-slide {
    flex: 0 0 100%;
  }
}

/* END SERVICES 3-PER-SLIDE CAROUSEL STYLES */

/* START FORM CHECK BOXES*/
.form-check-input {
    appearance: auto;
    -webkit-appearance: auto;
    width: auto;
    height: auto;
    background-color: transparent;
    border: 1px solid #fff;
}
/* Give it a tiny highlight when checked so it stands out on black */
.form-check-input:checked {
    background-color: #ffcd00;
    border-color: #ffcd00;
  	color: #000;
}
/* END START FORM CHECK BOXES*/
