/* Force a permanent scrollbar on the page */
html {
    overflow-y: scroll;
}

a {
    text-decoration: none;
}

.container {
    display: grid;
    grid-template-columns:
    [full-start] minmax(0, 1fr)
    [main-start] minmax(0, 1280px)
    [main-end] minmax(0, 1fr)
    [full-end];
  }

.main {
    grid-column: main;
    padding: var(--space-s);
}

.full {
    grid-column: full;
    padding: var(--space-s);
}


.grid320 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.two_columns {
    display: grid;
    grid-template-columns: 2fr 3fr;
}

.two_columns_img_left {
    display: grid;
    grid-template-columns: 3fr 2fr;
}

.three_columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--space-s);
}

.five_columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: var(--space-s);
}

.three_columns > div {
  border-radius: var(--space-s);
}

.grídspan1 {
  grid-column: span 1;
}

.order50 {
  order: 50;
}

.order150 {
  order: 150;
}

@media (max-width:768px) {
    .order150 {
      order: 50;
    }
    .two_columns {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .two_columns_img_left {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .three_columns {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr 1fr;
    }
    .five_columns {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr 1fr;
    }
}

.first_item, .full_span {
    grid-column: 1 / -1; /* Span from the first to the last column */

}
.last_item {
    grid-column: -1; /* Places this item in the last column */
}
.text_center {
    text-align: center;
}

.cta_button {
    padding: var(--space-xs) var(--space-s);
    color: var(--color-white);
    background-color: var(--color-accent);
    border: none;
    font-size: var(--paragraph-2);
    font-weight: 600;
    border-radius: var(--radius-md, 12px);
    cursor: pointer;
    transition: all var(--duration-normal, .3s) var(--ease-out, ease);
}
.cta_button:hover {
    background-color: var(--color-accent-dark, #5232b3);
    transform: translateY(-1px);
}

.read_button {
    padding: var(--space-xs) var(--space-s);
    color: var(--color-charcoal);
    background-color: var(--color-gray-100);
    border: 1.5px solid var(--color-gray-200);
    font-size: var(--paragraph-2);
    border-radius: var(--radius-md, 12px);
    cursor: pointer;
    transition: all var(--duration-normal, .3s) var(--ease-out, ease);
}
.read_button:hover {
    border-color: var(--color-charcoal);
    transform: translateY(-1px);
}

/* SERVICES */
.services_container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    align-items: stretch;
    gap: 1rem;
}
.services_container section {
    display: grid;
    padding: 1rem 1rem;
    grid-template-columns: 1fr 3fr 1fr;
    background-color: #f0f0f0;
    background: -webkit-linear-gradient(to right, #faf7f7, #f9fafe);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #faf7f7, #f9fafe); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    border-radius: var(--space-3xs);
    border: 1px solid #0000001f;
    align-items: center;
    gap: 10px;
    text-align: left;
    font-size: var(--paragraph-1);
  }



.services_detailed_container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
    align-items: stretch;
    gap: 1rem;
}

  .services_detailed_container section {
    display: grid;
    padding: 1rem 2rem;
    grid-template-columns: 1fr 30fr;
    background-color: #fafafa;
    border-radius: 0rem;
    align-items: center;
    gap: 15px;
    text-align: left;
  }


  .services_detailed_container section i {
    grid-row: span 3 / span 3;
    font-size: var(--space-l);
    margin-right: 10px;
  }

  .services_detailed_container > section > a {
    padding: 0;
    border: 0;
    font-size: 1rem;
    background: transparent;
    text-decoration: underline;
    text-align: left;
    color: var(--secondary-color);
  }
  .services_detailed_buttons {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-column: span 1 / 3;
    gap: var(--space-m);

  }

/* ---- Mega Footer ---- */
.site-footer {
    background-color: var(--color-charcoal);
    color: var(--color-white);
    padding-top: var(--space-2xl);
}

.site-footer__main {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-xl);
    padding-bottom: var(--space-xl);
}

.site-footer__logo {
    max-height: 36px;
    margin-bottom: var(--space-s);
}

.site-footer__tagline {
    font-size: var(--paragraph-3) !important;
    color: var(--color-gray-400);
    line-height: 1.6;
    max-width: 280px;
}

.site-footer__heading {
    font-size: var(--paragraph-3) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: var(--space-s);
    color: var(--color-white);
}

.site-footer__col ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.site-footer__col ul li {
    font-size: var(--paragraph-3);
    color: var(--color-gray-400);
}

.site-footer__col ul li a {
    color: var(--color-gray-400);
    text-decoration: none;
    transition: color .2s ease;
}

.site-footer__col ul li a:hover {
    color: var(--color-white);
}

.site-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.1);
}

.site-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-m);
    padding-bottom: var(--space-m);
    font-size: var(--paragraph-2);
    color: var(--color-gray-500);
}

.site-footer__admin {
    display: flex;
    gap: var(--space-s);
}

.site-footer__admin a {
    color: var(--color-gray-500);
    text-decoration: none;
    font-size: var(--paragraph-1);
    transition: color .2s ease;
}

.site-footer__admin a:hover {
    color: var(--color-white);
}

@media (max-width: 768px) {
    .site-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-l);
    }
    .site-footer__brand {
        grid-column: 1 / -1;
    }
    .site-footer__bottom-inner {
        flex-direction: column;
        gap: var(--space-xs);
        text-align: center;
    }
}

@media (max-width: 480px) {
    .site-footer__main {
        grid-template-columns: 1fr;
    }
}





.location-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-s);
    grid-gap: 0px;
    padding: 10px;
    background: #f2f2f2;
    border-radius: 0px;
  }
  
  .location-picture {
    min-width: 100%;
    height: 100%;
    border-radius: var(--space-xs) 0 0 var(--space-xs);
    object-fit: cover;
    background-size: cover;
  }
  
  .location-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 20px;
    background: #fff;
    border-radius: 0 var(--space-xs) var(--space-xs) 0;

  }
  
  .location-details h2 {
    margin-bottom: 10px;
    font-size: 1.5rem;
    color: #333;
  }
  
  .location-details p {
    margin: 5px 0;
    font-size: 1rem;
    color: #666;
  }
  
  .location-map {
    min-height: 150px;
    border-radius: 10px;
    overflow: hidden;
  }
  