/* Root variables for easy customization */
:root {
  --body-font: "Georgia", serif;
  --headline-font: "Playfair Display", "Georgia", serif; /* Elegant serif for headlines */
  --text-color: #444444;         /* Slightly darker gray for text */
  --background-color-type: floralwhite; /* #FFF8F0 - floralwhite, #FAF0E6 - Linen, #F5F5DC - Beige */
  --background-color-side: #F5F5F5; /* Light gray for side areas */
  --vertical-line-color: #e0e0e0;   /* Very light gray for dividers */
  --accent-color: #A0522D;       /* Sienna - muted brown/red for accents */
}

body {
  -webkit-font-smoothing: antialiased; font-smooth: 2em; text-rendering: optimizeLegibility;
  font-family: var(--body-font);
  color: var(--text-color);
  background-color: var(--background-color-side); /* Overall body background is light gray */
  line-height: 1.7; /* Comfortable line spacing for readability */
  margin: 0; /* Reset default body margin */
  padding: 0; /* Reset default body padding */
  letter-spacing: 0.01em; /* Slight letter spacing for readability */
  /* Optional subtle background texture - uncomment if you want to use it and have 'linen-texture.png' in the same directory */
  /* background-image: url('linen.webp');
  background-repeat: repeat;
  background-size: auto;
  background-position: top left; */
}

.container {
  max-width: 700px; 
  margin: 0 auto; /* Center the container on larger screens */
  padding: 20px; /* Add padding around the content area */
}

.main-content {
  background-color: var(--background-color-type); /* Light beige for main text area */
  padding: 30px; /* Padding inside the main content area */
  /* flex: 3;  No longer using flex on main-content to allow full width headlines */
}

/* Ensure headlines take full width of main content */
.main-content h2,
.main-content h3,
.main-content h4 {
  display: block; /* Ensure block display */
  width: 100%;    /* Take full width of parent */
}


h2 {
  font-family: var(--headline-font); /* Using Playfair Display for headlines */
  font-size: 2.4em; /* Slightly larger headlines */
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0.6em; /* Reduced bottom margin for headings */
  color: var(--text-color);
  line-height: 1.2; /* Tighter line height for headlines */
}

h3 {
  font-family: var(--headline-font); /* Consistent headline font */
  font-size: 1.8em;
  font-weight: bold;
  margin-top: 1.5em; /* Add more top margin for visual separation */
  margin-bottom: 0.5em;
  color: var(--text-color);
  line-height: 1.2;
}

h4 {
  font-family: var(--headline-font); /* Consistent headline font */
  font-size: 1.4em;
  font-weight: bold;
  margin-top: 1.2em;
  margin-bottom: 0.4em;
  color: var(--text-color);
  line-height: 1.2;
}


p {
  font-size: 1.15em; /* Slightly larger body text */
  margin-top: 0;
  margin-bottom: 1.4em; /* Increased paragraph spacing */
}

a { /* Style for links */
  color: var(--accent-color); /* Muted accent color for links */
  text-decoration: none; /* Remove underlines by default */
}

a:hover { /* Hover effect for links */
  text-decoration: underline; /* Underline on hover for clarity */
}

hr {
  border: 0;
  border-top: 1px solid var(--vertical-line-color); /* Thin horizontal line */
  margin: 2em 0; /* Space above and below the line */
}

blockquote {
  font-style: italic;
  color: #555555;
  border-left: 3px solid var(--accent-color); /* Accent color for blockquote border */
  padding-left: 15px;
  margin: 1em 0;
}

ul, ol {
    margin-bottom: 1.4em; /* Consistent spacing for lists */
    padding-left: 30px; /* Indentation for lists */
}

li {
    margin-bottom: 0.5em; /* Spacing between list items */
}


/* Mobile Styles (adjust breakpoint as needed) */
@media (max-width: 768px) {
  .container {
    padding: 15px; /* Reduce padding on mobile */
  }


  .main-content {
    padding: 20px; /* Adjust main content padding on mobile */
  }

  h2 {
    font-size: 2.0em; /* Smaller headline size on mobile */
    margin-bottom: 0.5em;
  }
  h3 {
    font-size: 1.6em;
  }
  h4 {
    font-size: 1.3em;
  }

  p {
    font-size: 1.05em; /* Slightly smaller body text on mobile if needed */
    margin-bottom: 1.2em;
  }

    blockquote {
        padding-left: 10px; /* Adjust blockquote padding on mobile */
        margin-left: -5px; /* Slightly adjust blockquote margin on mobile */
    }

    ul, ol {
        padding-left: 20px; /* Reduce list indentation on mobile */
    }
}


/* Example: Change navbar background color to match your website theme */
.navbar-light .navbar-nav .nav-link {
    color: #333; /* Adjust nav link text color if needed */
}

.navbar-light {
    background-color: var(--background-color-side) 
}

.navbar-brand {
    font-weight: bold; /* Make organization name bolder */
    font-size: 1.2em; /* Slightly larger organization name */
}

/* Example:  Style dropdown menu items on hover */
.dropdown-item:hover {
    background-color: #f0f0f0; /* Light gray hover background for dropdown items */
}
