/* Standard Typography Styles (scoped under .site-content) */

.site-content{   
  /* …with padding and box-sizing: */
  box-sizing: border-box;
  padding: 0 10px !important;}

/* Heading 1 */
.site-content h1 {
  font-size: 2.5rem;        /* Prominent and large for main titles */
  font-weight: 700;         /* Bold weight for emphasis */
  color: #222;              /* Dark neutral color */
  margin-top: 1.5rem;       /* Space above heading */
  margin-bottom: 1rem;      /* Space below heading */
  line-height: 1.2;         /* Tight line-height for headings */
}

/* Heading 2 */
.site-content h2 {
  font-size: 2rem;          /* Slightly smaller than h1 */
  font-weight: 600;         /* Semi-bold weight */
  color: #333;              /* Dark neutral color */
  margin-top: 1.25rem;      /* Space above heading */
  margin-bottom: 0.75rem;   /* Space below heading */
  line-height: 1.3;         /* Comfortable line-height */
}

/* Heading 3 */
.site-content h3 {
  font-size: 1.5rem;        /* Smaller for subheadings */
  font-weight: 500;         /* Medium weight */
  color: #444;              /* Slightly lighter than h2 */
  margin-top: 1rem;         /* Space above heading */
  margin-bottom: 0.5rem;    /* Space below heading */
  line-height: 1.4;         /* Relaxed line-height */
}

/* Paragraphs */
.site-content p {
  font-size: 1rem;          /* Standard body text size */
  margin-top: 0;            /* No extra space above paragraphs by default */
  margin-bottom: 1rem;      /* Space after each paragraph */
  line-height: 1.7;         /* Generous line-height for readability */
}

/* Lists */
.site-content ul {
list-style: disc; 
  margin: 1rem 0 1rem 1.25rem; 
  padding-left: 1.25rem; 
  margin-top: 1rem;         /* Space before the list starts */
  margin-bottom: 1rem;      /* Space after the list ends */
      margin: 1rem 0;      /* keep your vertical spacing */

}

.site-content li {
   list-style: inherit; 
  margin-bottom: 0.5rem; 
  line-height: 1.6;         /* Line-height for list readability */
    
}

/* Tables */
.site-content table {
  border-collapse: collapse; /* Collapse adjacent borders into one */
  width: 100%;               /* Full width by default */
  margin-bottom: 1rem;       /* Space below table */
}

.site-content th,
.site-content td {
  border: 1px solid #ccc;    /* Single border line around cells */
  padding: 8px;              /* Internal cell padding (replaces cellpadding) */
  text-align: left;          /* Left-align text by default */
}

/* Strong (bold) text */
.site-content strong {
  font-weight: 600;         /* Semi-bold weight to highlight text */
  color: #222;              /* Slightly darker to stand out */
}

/* Blockquote */
.site-content blockquote {
  margin: 3rem 0;        /* Top and bottom spacing */
  padding: 25px 30px;
  border-left: 4px solid #aaa;
  background-color: #f0f0f0;
  font-style: italic;
  color: #3a3a3a;
}
.site-content .w3w-section {
  background-color: #f9f9f9;
  padding: 1.5rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 2rem;
}

.site-content .w3w-section h2 {
  font-size: 1.75rem;
  color: #333;
  margin-bottom: 1rem;
}

.site-content .w3w-content {
  display: flex;
  align-items: center;
}

.site-content .w3w-icon {
  width: 50px;
  height: 50px;
  margin-right: 1rem;
}

.site-content .w3w-text p {
  margin: 0.25rem 0;
  font-size: 1rem;
  color: #555;
}

.site-content .w3w-text a {
  color: #0055aa;
  text-decoration: none;
}

.site-content .w3w-text a:hover {
  text-decoration: underline;
}
#directions-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  padding: 20px 0;
}

.direction-box {
  background-color: #f5f5f5;
    padding: 20px;
  flex: 1 1 calc(50% - 20px); /* Two per row on desktop/iPad */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.direction-box:hover {
  transform: translateY(-5px);
}

.direction-box h3 {
  margin-top: 0;
  color: #1f6ea6;
  font-size: 1.2em;
}

.direction-box p {
  font-size: 1em;
  line-height: 1.5;
  color: #333;
}

.direction-box ul {
  padding-left: 20px;
  margin: 10px 0 0 0;
}

.direction-box ul li {
  margin-bottom: 5px;
  color: #555;
}
.video-directions {
  padding: 20px 0;
}

.video-directions h2 {
  font-size: 1.6em;
  margin-bottom: 20px;
  color: #1f6ea6;
}

.video-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}

.video-item {
  background-color: #f5f5f5;
  padding: 20px;
  flex: 1 1 calc(50% - 20px);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.video-item:hover {
  transform: translateY(-5px);
}

.video-item h3 {
  margin-top: 0;
  font-size: 1.2em;
  color: #1f6ea6;
}

.video-item video {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin-top: 10px;
}
.info-box {
  border: 2px solid #1f6ea6;
  background-color: #f9fcff;
  padding: 10px;
  margin-bottom: 30px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  font-size: 1rem;
  line-height: 1.6;
}

.info-box strong {
  display: block;
   font-size: 1.1rem;
  color: #1f6ea6;
}

.info-box hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #ccc;
}
.gridContainer.promo-gallery {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.gridContainer.promo-gallery a {
    display: block;
    margin-bottom: 20px;
}

.promo_image {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid #ddd;
   }
