

/* Customize once, reuse anywhere */
:root{
  --loader-size: 48px;      /* diameter */
  --loader-thickness: 4px;  /* ring thickness */
  --loader-color: #3b82f6;  /* top arc color */
  --loader-bg: rgba(0,0,0,.15); /* rest of ring */
}

/* Centers itself via margin auto, works inside any block container */
.loader{
  width: var(--loader-size);
  height: var(--loader-size);
  margin: 2rem auto;                  /* centers horizontally */
  border-radius: 50%;
  border: var(--loader-thickness) solid var(--loader-bg);
  border-top-color: var(--loader-color);
  animation: loader-spin .8s linear infinite;
}

/* Smooth spin */
@keyframes loader-spin {
  to { transform: rotate(360deg); }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .loader { animation-duration: 1.6s; }
}







h4 div.selected { font-family: var(--font-family-sans-serif); }















/* Selected categories display at top */
.side-bar-categories-list {
  padding: 15px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  min-height: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.side-bar-display-list-cats,
.side-bar-display-list-years {
  display: inline-flex;
  align-items: center;
  background: var(--secondary);
  color: white;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
  user-select: none;
}

.side-bar-display-list-cats:hover,
.side-bar-display-list-years:hover {
  background: var(--secondary-6);
}

.side-bar-display-list-cats.special {
  background: #28a745;
}

.side-bar-display-list-cats.special:hover {
  background: #1e7e34;
}

.side-bar-display-list-cats img,
.side-bar-display-list-years img {
  margin-left: 8px;
  filter: brightness(0) invert(1);
  transition: transform 0.2s ease;
}

.side-bar-display-list-cats:hover img,
.side-bar-display-list-years:hover img {
  transform: scale(1.1);
}

/* Search/filter form */
.sidebar-search {
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}

#multiselect_form {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

#multiselect_form input[type="submit"] {
  background: var(--primary);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

#multiselect_form input[type="submit"]:hover {
  background: var(--primary-6);
}

#multiselect_form input[type="hidden"] {
  display: none;
}

/* Section headers */
.sidebar-inner h2  {
  background: var(--secondary);
  color: white;
  margin: 0;
  padding: 15px 20px;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Categories container */
.blog-categories {
  padding: 0;
  height: 300px;
  overflow-y: scroll;
}

.blog-categories-remove-button {
  list-style: none;
  margin: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 4px;
  /* height: 300px; */
  /* overflow-y: scroll; */
}

.blog-categories-remove-button > p {
  grid-column: 1 / -1;
  margin: 0 0 10px 0;
  padding: 0;
  background: none;
  color: #6c757d;
  font-size: 14px;
  text-transform: none;
  letter-spacing: normal;
}

/* Individual category items */
.side-bar-category,
.side-bar-year {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  padding: 3px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  color: #495057;
  user-select: none;
  position: relative;
  overflow: hidden;
}

.side-bar-category:hover,
.side-bar-year:hover {
  background: #e9ecef;
  border-color: var(--secondary);
  color: var(--secondary);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 123, 255, 0.15);
}

.side-bar-category.selected,
.side-bar-year.selected {
  background: var(--secondary);
  border-color: var(--secondary);
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.side-bar-category.selected:hover,
.side-bar-year.selected:hover {
  background: var(--secondary-6);
  border-color: var(--secondary-6);
}

/* Add subtle animation for selection */
.side-bar-category::before,
.side-bar-year::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.side-bar-category.selected::before,
.side-bar-year.selected::before {
  left: 100%;
}

/* Clear float utility */
.Clear {
  clear: both;
}

/* Responsive design */
@media (max-width: 768px) {
  .mwPageArea {
    padding: 10px;
  }
  
  .blog-categories-remove-button {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 15px;
  }
  
  .side-bar-categories-list {
    padding: 10px 15px;
  }
  
  .sidebar-search {
    padding: 15px;
  }
  
  #multiselect_form {
    flex-direction: column;
    align-items: stretch;
  }
  
  #multiselect_form input[type="submit"] {
    width: 100%;
    padding: 12px;
  }
}

@media (max-width: 480px) {
  .blog-categories-remove-button {
    padding: 10px;
  }
  
  .side-bar-category,
  .side-bar-year {
    padding: 10px 12px;
    font-size: 13px;
  }
  
  .mwPageBlock.Content .blockContents p {
    padding: 12px 15px;
    font-size: 16px;
  }
  
  .side-bar-display-list-cats,
  .side-bar-display-list-years {
    font-size: 13px;
    padding: 5px 10px;
  }
}

/* Focus styles for accessibility */
.side-bar-category:focus,
.side-bar-year:focus,
#multiselect_form input[type="submit"]:focus {
  outline: 2px solid var(--secondary);
  outline-offset: 2px;
}

/* Loading state (for when filtering) */
.blog-categories.loading {
  opacity: 0.6;
  pointer-events: none;
}

.blog-categories.loading::after {
  content: 'Loading...';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 10px 20px;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Print styles */
@media print {
  .sidebar-search,
  .side-bar-categories-list {
    display: none;
  }
  
  .side-bar-category.selected {
    background: #f0f0f0 !important;
    color: black !important;
    border: 1px solid #ccc !important;
  }
}
















/* Newsletter Signup Section Styles */
        .subfooter {
            padding: 80px 0;
            text-align: center;
            color: white;
            border-bottom: 1px solid var(--primary-2);
            background-color: var(--primary);
        }

        /* Mailchimp Form Styles */
        .subfooter #mc_embed_signup {
            max-width: 600px;
            margin: 50px auto 0;
        }

        .subfooter #mc-embedded-subscribe-form {
            background: transparent;
            padding: 0;
        }

        .subfooter .newsletter-form-container {
            display: flex;
            gap: 15px;
            align-items: flex-start;
            justify-content: center;
            flex-wrap: wrap;
        }

        .subfooter .email-input-section {
            flex: 2;
            min-width: 250px;
        }

        .subfooter .submit-button-section {
            flex: 1;
            min-width: 120px;
            position: relative;
        }

        .subfooter .mc-field-group {
            margin-bottom: 15px;
        }

        /* Email Input Styles */
        .subfooter #mce-EMAIL {
            width: 100%;
            padding: 15px 20px;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            background-color: white;
            color: #333;
            box-sizing: border-box;
            transition: all 0.3s ease;
        }

        .subfooter #mce-EMAIL:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
        }

        .subfooter #mce-EMAIL::placeholder {
            color: #999;
        }

        /* Subscribe Button Styles */
        .subfooter #mc-embedded-subscribe {
            background-color: var(--secondary);
            color: white;
            border: none;
            padding: 15px 30px;
            border-radius: 4px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            width: 100%;
        }

        .subfooter #mc-embedded-subscribe:hover {
            background-color: var(--secondary-6);
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        }

        /* Response Messages */
        .subfooter .response {
            padding: 10px;
            margin: 10px 0;
            border-radius: 4px;
            font-size: 0.9rem;
        }

        .subfooter #mce-error-response {
            background-color: #e74c3c;
            color: white;
        }

        .subfooter #mce-success-response {
            background-color: #27ae60;
            color: white;
        }

        /* Helper Text */
        .subfooter .helper_text {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.7);
            margin-top: 5px;
            display: block;
        }

        /* Hide honeypot field */
        .subfooter div[style*="position: absolute; left: -5000px;"] {
            position: absolute !important;
            left: -5000px !important;
            visibility: hidden;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .subfooter {
                padding: 40px 0;
            }

            .subfooter .newsletter-form-container {
                flex-direction: column;
                gap: 10px;
            }

            .subfooter .email-input-section,
            .subfooter .submit-button-section {
                flex: 1;
                min-width: auto;
                width: 100%;
            }

            .subfooter #mce-EMAIL,
            .subfooter #mc-embedded-subscribe {
                padding: 12px 20px;
                font-size: 0.9rem;
            }

            .subfooter #mc_embed_signup {
                margin: 30px auto 0;
            }
        }

        @media (max-width: 480px) {
            .subfooter .container {
                padding: 0 15px;
            }

            .subfooter h2 {
                font-size: 1.8rem;
            }

            .subfooter p {
                font-size: 0.95rem;
            }
        }



















.events-post {
  max-width: 800px;
  margin: 2rem auto;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

.events-post h1 {color: var(--primary);
  font-weight: 400;
font-size: 40px;}


.events-post h1 b {
  color: var(--primary); /* accent color */
}

/* Event meta */
.events-post .author {
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

/* Banner image */
.events-post img {
  width: 100%;
  max-height: 350px;
  object-fit: cover;
  border-radius: 8px;
  margin: 1rem 0;
}

/* Event details paragraph */
.events-post p {
  margin-bottom: 1rem;
}

/* Blog Post Tags */
.events-post .blogPostTags {
  margin-top: 2rem;
  padding: 1rem;
  border-top: 1px solid #eee;
  font-size: 0.9rem;
  color: #555;
}

.events-post .blogPostTags categories {
  font-weight: bold;
  color: var(--primary);
}

/* Blog Share */
.events-post .blogShare {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.5rem;
}

.events-post .blogShare socials {
  display: flex;
  gap: 10px;
}























.news-post {
  max-width: 750px;
  margin: 2rem auto;
  padding: 2rem;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  line-height: 1.7;
  color: #333;
}

.news-post h1 {color: var(--primary);
  font-weight: 400;
font-size: 40px;
}

/* Author / date */
.news-post .author {
  font-size: 0.9rem;
  color: #777;
  margin-bottom: 1.2rem;
}

/* Body content */
.news-post p {
}

/* Blog Post Tags */
.news-post .blogPostTags {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
  font-size: 0.9rem;
  color: #555;
}

.news-post .blogPostTags categories {
  font-weight: bold;
  color: #009688; /* accent green */
  cursor: pointer;
}

.news-post .blogPostTags categories:hover {
  text-decoration: underline;
}

/* Blog Share */
.news-post .blogShare {
  margin-top: 1rem;
  display: flex;
  gap: 0.6rem;
}

.news-post .blogShare socials {
  display: flex;
  gap: 12px;
}


