/* =========================
   Global Styles
   ========================= */
body {
  font-family: 'Merriweather', 'Georgia', serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #222; /* softer black for readability */
  background-color: #fff;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #990000; /* ceremonial deep red */
  margin-bottom: 0.6em;
}
h1 {
  font-size: 2rem; /* largest */
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem; /* smaller than h2 */
}

h4 {
  font-size: 1rem; /* same as body text for compactness */
}
/* Utility accent class */
.text-accent {
  color: #CC0000;
}

/* Global spacing adjustments */
div#main-wrapper {
  margin: 22px 0;
}
footer.site-footer {
  padding: 0 18px;
}
section.row.region.region-footer-fifth {
  text-align: center;
}
div#block-murac-homepagebannerdraft {
  margin: 0 0 32px;
}
.field--name-field-dress-code {
  margin: 24px 0;
}
.webform-button--submit {
  margin: 24px 0;
  color: #fff;
  background-color: #CC0000;
  text-transform: uppercase;
  border: none;
  padding: 0.6rem 1.2rem;
  letter-spacing: 0.5px;
}
.meeting.views-row {
  margin: 12px 0;
}

/* Banner images */
img.image-style-page-banner {
  width: 100%;
  height: auto;
}

/* =========================
   Branding
   ========================= */
a.navbar-brand {
  display: none !important;
}
.custom_brandtitle {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-left: 12px;
  line-height: 1.3;
  color: #CC0000;
}
.custom_brandtitle .order {
  font-size: 1rem; /* adjusted */
  font-weight: 500;
}
.custom_brandtitle .chapter {
  font-size: 1rem; /* adjusted */
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.8rem;
  letter-spacing: 1px;
}
.custom_brandtitle .location {
    font-size: .85rem;
    font-style: italic;
    line-height: 1.5rem;
}
.branding-wrapper {
  display: flex;
  align-items: center;
  gap: 14px;
}
.bg-primary {
  position: relative;
  overflow: hidden;

  /* SVG triangle pattern as background */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' preserveAspectRatio='none'><polygon points='0,40 20,0 40,40' fill='%23CC0000'/><polygon points='0,0 20,40 40,0' fill='%23003366'/></svg>");
  background-repeat: repeat-x;
  background-size: 40px 100%; /* width fixed, height stretches to container */
  background-position: top;
}

/* =========================
   Navbar
   ========================= */
#navbar-main .navbar-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #CC0000;
  text-transform: uppercase;
  letter-spacing: 1px;
}
#navbar-main .navbar-brand img {
  max-height: 70px;
  object-fit: contain;
}
#navbar-main .nav-link {
  font-family: 'Cinzel', serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #CC0000 !important;
  padding: 0.8rem 1rem;
  border-bottom: 2px solid transparent;
  transition: color 0.3s ease, border-bottom 0.3s ease;
}
#navbar-main .nav-link:hover,
#navbar-main .nav-link.active {
  color: #990000 !important;
  border-bottom: 2px solid #990000;
}
.navbar-toggler {
  border: none;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(204,0,0)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
a.nav-link--contact::before {
  display: none;
}
/* =========================
   Footer
   ========================= */
footer {
  font-family: 'Merriweather', serif !important;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #555;
  text-align: center;
  padding: 20px;
  border-top: 1px solid #ddd;
}
p.flogo img {
  margin: 0 12px;
}
.site-footer__bottom {
  border: none;
}

/* =========================
   Responsive Adjustments
   ========================= */
/* Tablet */
@media (max-width: 992px) {
  .custom_brandtitle .chapter {
    font-size: 0.95rem; /* adjusted */
  }
  .custom_brandtitle .order {
    font-size: 0.8rem; /* adjusted */
  }
}
/* Mobile */
@media (max-width: 576px) {
  .branding-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .custom_brandtitle {
    margin-left: 0;
  }
  .custom_brandtitle .chapter {
    font-size: 0.9rem; /* adjusted */
  }
  .custom_brandtitle .order {
    font-size: 0.75rem; /* adjusted */
  }
  .custom_brandtitle .location {
    font-size: 0.7rem; /* adjusted */
  }
  #navbar-main .navbar-brand {
    font-size: 1rem;
    width: 275px;
    white-space: normal;
    line-height: 1.2;
    margin: 0;
  }
  #navbar-main .navbar-brand img {
    max-height: 55px;
    margin-right: 6px;
  }
  #navbar-main .nav-link {
    font-size: 0.9rem;
    padding: 0.6rem;
  }
}

/* =========================
   Webform
   ========================= */
.js-form-item-i-confirm-that-i-am-in-good-standing-with-my-chapter-lodge-and-a {
  margin: 64px 0 0 0;
}

/* Logo full size, normal flow */
#edit-processed-text-01 img.img-fluid {
    float: none;          /* remove float */
    display: block;
    max-width: 200px;
    margin: 0 auto 1rem;  /* center and add spacing below */
}

/* All text boxes below logo, fixed width */
#webform-submission-contact-add-form input.form-control,
#webform-submission-contact-add-form textarea.form-control {
    max-width: 600px;
    display: block;
    margin: 0 0 0.5rem;  /* center under logo */
}



nav#navbar-top {
    min-height: 26px;
}

