/* ==========================================================================
   Base Styles - Based on HTML5 Boilerplate recommendations
   ========================================================================== */

   html {
    color: #222;
    font-size: 1em; /* 16px default */
    line-height: 1.4;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; /* Basic sans-serif stack */
    /* Consider adding a web font like Roboto, Lato, Open Sans */
  }
  
  ::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
  }
  
  ::selection {
    background: #b3d4fc;
    text-shadow: none;
  }
  
  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
  }
  
  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }
  
  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }
  
  textarea {
    resize: vertical;
  }
  
  /* ==========================================================================
     Site Specific Styles for UXtero LLC
     ========================================================================== */
  
  body {
    background-color: #f8f8f8; /* Light background */
    color: #333; /* Dark grey text */
    margin: 0;
  }
  
  .container {
    max-width: 1100px; /* Limit content width */
    margin: 0 auto; /* Center content */
    padding: 0 20px; /* Add padding on the sides */
  }
  
  /* Header */
  .site-header {
    background-color: #ffffff; /* White background */
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    text-align: center; /* Center header content */
  }
  
  .site-header h1 {
    margin: 0 0 5px 0;
    color: #0056b3; /* A blue tone */
    font-size: 2.5em;
  }
  
  .site-header .tagline {
    margin: 0 0 15px 0;
    color: #555;
    font-style: italic;
  }
  
  /* Navigation */
  .main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; /* Basic horizontal layout */
    justify-content: center; /* Center nav items */
    gap: 20px; /* Space between items */
  }
  
  .main-nav a {
    text-decoration: none;
    color: #0056b3;
    font-weight: bold;
    padding: 5px 10px;
    transition: color 0.2s ease-in-out;
  }
  
  .main-nav a:hover,
  .main-nav a:focus {
    color: #003d80; /* Darker blue on hover */
    text-decoration: underline;
  }
  
  /* Main Content Sections */
  main {
    display: block; /* For older browsers */
  }
  
  .content-section {
    padding: 50px 0;
  }
  
  .content-section h2 {
    color: #0056b3;
    margin-top: 0;
    margin-bottom: 25px;
    text-align: center;
    font-size: 2em;
  }
  
  .content-section p,
  .content-section ul {
    margin-bottom: 1.2em;
    line-height: 1.6;
  }
  
  .content-section ul {
      list-style: disc;
      margin-left: 25px;
  }
  
  .content-section li {
      margin-bottom: 0.5em;
  }
  
  .content-section strong {
      color: #333;
  }
  
  .content-section a {
      color: #0056b3;
  }
  .content-section a:hover {
      text-decoration: underline;
  }
  
  /* Alternate background for visual separation */
  .alt-background {
    background-color: #ffffff; /* White */
  }
  
  /* Hero Section */
  .hero-section {
    background-color: #e9ecef; /* Light grey */
    color: #333;
    text-align: center;
    padding: 80px 0;
  }
  
  .hero-section h2 {
    font-size: 2.5em;
    margin-bottom: 15px;
    color: #0056b3;
  }
  
  .hero-section p {
    font-size: 1.2em;
    margin-bottom: 30px;
  }
  
  .cta-button {
    display: inline-block;
    background-color: #007bff; /* Brighter blue */
    color: #fff;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.2s ease-in-out;
  }
  
  .cta-button:hover,
  .cta-button:focus {
    background-color: #0056b3; /* Darker blue */
  }
  
  /* Contact Section */
  #contact ul {
      list-style: none;
      margin-left: 0;
      padding-left: 0;
  }
  #contact li {
      margin-bottom: 1em;
  }
  
  /* Footer */
  .site-footer {
    background-color: #343a40; /* Dark background */
    color: #f8f8f8; /* Light text */
    text-align: center;
    padding: 25px 0;
    margin-top: 40px;
    font-size: 0.9em;
  }
  
  .site-footer p {
    margin: 0;
  }
  
  .site-footer a {
      color: #adb5bd; /* Lighter grey for links */
      text-decoration: none;
  }
  .site-footer a:hover {
      text-decoration: underline;
  }
  
  /* ==========================================================================
     Helper classes - Based on HTML5 Boilerplate
     ========================================================================== */
  
  .hidden,
  [hidden] {
    display: none !important;
  }
  
  .visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* Extends the .visually-hidden class to allow the element
       to be focusable when navigated to via the keyboard */
  }
  
  .visually-hidden.focusable:active,
  .visually-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
  }
  
  .invisible {
    visibility: hidden;
  }
  
  .clearfix::before,
  .clearfix::after {
    content: " ";
    display: table;
  }
  
  .clearfix::after {
    clear: both;
  }
  
  /* ==========================================================================
     Media Queries for Responsive Design
     ========================================================================== */
  
  @media only screen and (max-width: 768px) {
    /* Adjustments for smaller screens (tablets) */
    .site-header h1 {
      font-size: 2em;
    }
    .hero-section h2 {
      font-size: 2em;
    }
    .main-nav ul {
        flex-direction: column; /* Stack nav items vertically */
        align-items: center;
        gap: 10px;
    }
  }
  
  @media only screen and (max-width: 480px) {
    /* Further adjustments for smaller screens (mobiles) */
    .site-header h1 {
      font-size: 1.8em;
    }
     .hero-section h2 {
      font-size: 1.8em;
    }
     .hero-section p {
      font-size: 1em;
    }
    .content-section h2 {
      font-size: 1.6em;
    }
    .container {
        padding: 0 15px;
    }
  }
  
  
  /* ==========================================================================
     Print styles - Based on HTML5 Boilerplate
     ========================================================================== */
  
  @media print {
    *,
    *::before,
    *::after {
      background: #fff !important;
      color: #000 !important;
      /* Black prints faster */
      box-shadow: none !important;
      text-shadow: none !important;
    }
  
    a,
    a:visited {
      text-decoration: underline;
    }
  
    a[href]::after {
      content: " (" attr(href) ")";
    }
  
    abbr[title]::after {
      content: " (" attr(title) ")";
    }
  
    a[href^="#"]::after,
    a[href^="javascript:"]::after {
      content: "";
    }
  
    pre {
      white-space: pre-wrap !important;
    }
  
    pre,
    blockquote {
      border: 1px solid #999;
      page-break-inside: avoid;
    }
  
    thead {
      display: table-header-group;
    }
  
    tr,
    img {
      page-break-inside: avoid;
    }
  
    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }
  
    h2,
    h3 {
      page-break-after: avoid;
    }
  }