/* Herndon VITA - Bootstrap-First Styles */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap');

/* Bootstrap Theme Customization */
:root {
  --bs-primary: #6592e6;
  --bs-primary-rgb: 101, 146, 230;
  --bs-secondary: #ff6666;
  --bs-secondary-rgb: 255, 102, 102;
  --bs-success: #36a33d;
  --bs-success-rgb: 54, 163, 61;
  --bs-body-font-family: 'Jost', sans-serif;
  --bs-body-color: #232323;
  --bs-body-bg: #ffffff;
  --bs-light: #fafafa;
  --bs-gray: #bbbbbb;
  --bs-border-color: #e6e6e6;
}

/* Global Styles */
body {
  font-family: var(--bs-body-font-family);
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

a {
  transition: color 0.3s ease;
}

/* Typography */
.display-7 {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
}

/* Navbar */
.navbar {
  min-height: 77px;
  border-bottom: 1px solid var(--bs-border-color);
}

.navbar-logo img {
  height: 3.8rem;
  transition: height 0.3s ease;
}

.navbar-short .navbar-logo img {
  height: 3rem;
}

/* Custom Background Colors */
.bg-gray {
  background-color: var(--bs-gray) !important;
}

.bg-dark-custom {
  background-color: #232323 !important;
}

/* Custom Spacing */
.py-6 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.py-7 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

/* Components */
.btn {
  min-height: 48px;
  font-weight: 600;
}

.contact-card {
  background-color: var(--bs-light);
  border-radius: 0.375rem;
}

.map-container {
  height: 100%;
  min-height: 400px;
}

.map-container iframe {
  height: 100%;
  width: 100%;
  border: 0;
}

/* Accordion Customization */
.accordion-button:not(.collapsed) {
  background-color: var(--bs-light);
  color: var(--bs-body-color);
}

/* Responsive Design */
@media (max-width: 768px) {
  .display-1 {
    font-size: calc(2.26rem + (4.6 - 2.26) * ((100vw - 20rem) / (48 - 20)));
  }
  .display-2 {
    font-size: calc(1.7rem + (3 - 1.7) * ((100vw - 20rem) / (48 - 20)));
  }
}

@media (max-width: 767px) {
  .navbar-logo img {
    height: 3rem;
  }
  
  .display-7 {
    font-size: 1rem;
  }
  
  section img.img-fluid {
    max-width: 80%;
    margin: 0 auto;
    display: block;
  }
}

/* Print Styles */
@media print {
  .navbar,
  .btn,
  footer {
    display: none;
  }
}
