 * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: "Merriweather", serif;
 }

 body {

   font-family: "Merriweather", serif;
 }

 a,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 .btn,
 input {
   font-family: "Merriweather", serif;
   color: #000
 }

 a {
   text-decoration: none;
 }

 .card.bg-white {
   height: auto !important
 }

 /* Header */
 header {
   position: fixed;
   top: 0;
   width: 100%;
   background: white;
   padding: 12px 24px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
   z-index: 99999;
 }

 header h1 {
   color: #20a293;
   font-size: 20px;
 }

 .btn {
   padding: 12px 25px;
   border: none;
   border-radius: 30px;
   cursor: pointer;
   margin: 0;
 }

 .btn-primary {
   background: #20a293;
   color: white;
   text-decoration: none;
 }

 .btn-secondary {
   background: white;
   color: #20a293;

 }


 a.btn-secondary {
   padding: 12px 0
 }

 /* Hero */
 .hero {

   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: white;
   padding: 20px;
 }

 .hero-content {
   background: rgba(0, 0, 0, 0.7);
   padding: 30px;
   border-radius: 16px;
 }

 .hero h2 {
   font-size: 36px;
   margin-bottom: 10px;
   color: #fff
 }

 .hero p {
   margin-bottom: 20px;
   color: #fff
 }

 /* Section Wrapper for full-width background */
 .section-wrapper {
   width: 100%;
   padding: 60px 0 0 0;
   /* vertical spacing */
 }

 .section-wrapper:nth-of-type(odd) {
   background: #ffffff;
 }

 .section-wrapper:nth-of-type(even) {
   background: #fff;
 }

 /* Section Content */
 .section-wrapper,
 .section-wrapper-bottom .section {
   max-width: 1320px;
   margin: auto;

 }

 .section-wrapper-bottom {
   padding: 10px;
 }

 .section-wrapper-bottom .section {
   padding: 60px 0
 }

 .section {
   padding: 0px 0px 60px 0;
 }

 .section-wrapper {
   display: flex;
   flex-wrap: wrap;
   /* allows stacking on small screens */
 }

 .left-section {
   width: 72%;
   padding: 10px;
 }

 .right-section {
   width: 28%;
   padding: 10px;
 }

 footer p {
   color: #fff
 }

 /* Responsive: stack on smaller screens */
 @media (max-width: 768px) {

   .left-section,
   .right-section {
     width: 100%;
   }
 }

 .section h3,
 .title-h3 {
   margin-bottom: 10px;
   font-size: 24px;
 }

 .section p.subtitle {
   margin-bottom: 30px;
   color: #666;
 }

 /* Grid Layout */
 .grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 8px;
 }

 /* Card Styles */
 .card {
   position: relative;
   height: 200px;
   border-radius: 16px;
   overflow: hidden;
   color: white;
   cursor: pointer;
 }

 .card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: 0.4s;
 }

 .card:hover img {
   transform: scale(1.1);
 }

 .overlay {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.1));
   padding: 15px;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
 }

 .overlay h4 {
   font-size: 18px;
   margin-bottom: 5px;
   color: #fff
 }

 .overlay small {
   font-size: 12px;
   opacity: 0.9;
   color: #fff
 }

 .overlay p {
   font-size: 14px;
   margin-top: 5px;
   opacity: 0.85;
   color: #fff;
 }

 /* Search Bar */
 .search-bar {

   background: white;
   width: 500px;
   z-index: 9;
 }

 header a.logo {
   display: flex;
   align-items: center;
   text-decoration: none;
   font-size: 20px;
   font-weight: 700;
   color: #287f7b
 }

 header a.logo img {
   width: 70px
 }

 header {
   padding: 20px 24px;
 }

 header a.logo span {
   font-size: 34px;
 }

 .search-bar input {
   width: 100%;
   padding: 12px;
   border-radius: 30px;
   border: 1px solid #ddd;
 }

 /* News Section */
 .news-list {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 8px;
 }

 .news-item {
   background: #ffffff;
   padding: 20px;
   border-radius: 12px;
   box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
 }

 .news-item h4 {
   margin-bottom: 5px;
   color: #20a293;
 }

 .news-item small {
   display: block;
   margin-bottom: 10px;
   color: #666;
   font-size: 13px;
 }

 .news-item p {
   font-size: 14px;
   color: #333;
   line-height: 1.5;
   margin-bottom: 10px;
 }

 .news-item a {
   text-decoration: none;
   font-weight: 500;
   display: inline-block;
   color: #20a293;
 }

 /* Event Calendar */
 .calendar-container {
   display: grid;
   grid-template-columns: 1fr 1fr;

   gap: 1rem;
   width: 100%;
   box-sizing: border-box;
 }

 .event-card {
   display: flex;
   background: #fff;
   border-radius: 12px;
   box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
   overflow: hidden;
 }

 .event-date {
   background: #20a293;
   color: #fff;
   padding: 15px 20px;
   text-align: center;
   min-width: 70px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
 }

 .event-date .day {
   font-size: 20px;
   font-weight: 700;
 }

 .event-date .month {
   font-size: 12px;
   text-transform: uppercase;
   margin-top: 3px;
 }

 .event-info {
   padding: 15px 20px;
   flex: 1;
 }

 .event-info h4 {
   margin: 0 0 5px;
   color: #3173ac;
   font-size: 16px;
 }

 .event-info p {
   margin: 0 0 10px;
   font-size: 14px;
   color: #333;
 }

 .event-info a {
   font-weight: 500;
   text-decoration: none;
   color: #20a293;
 }

 .vertical-images-container {
   border: 1px solid #e7e7e7;
   padding: 10px;
   border-radius: 10px;
 }

 .vertical-images-container h2 {
   font-size: 24px;
   margin: 15px 0;
   text-align: center;

 }

 .vertical-image-item a {
   display: block;
   width: 100%;
   border-radius: 10px;
   overflow: hidden;
   margin-bottom: 8px;
 }

 /* vertical carousel */
 .carousel-wrapper {
   position: relative;
   overflow: hidden;

   background: #f9fafb;
 }

 .carousel-container {
   overflow: hidden;
   position: relative;
 }

 .carousel-items {
   display: flex;
   flex-direction: column;
   transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 /* Carousel Item */
 .carousel-item {
   flex-shrink: 0;
   margin-bottom: 8px;

 }

 /* Card Styles */
 .card {
   background: white;
   border-radius: 8px;
   transition: all 0.3s ease;
   cursor: pointer;
   border: 1px solid #dfdfdf
 }

 .card:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
 }

 .card-content {
   display: flex;
   gap: 5px;
   padding: 10px;
 }

 .card-image {
   flex-shrink: 0;
 }

 .card-image img {
   width: 120px;
   height: 120px;
   object-fit: cover;
   border-radius: 8px;
   display: block;
 }

 .card-text {
   flex: 1;
 }

 .card-title {
   font-size: 15px;
   font-weight: 700;
   color: #1f2937;
   margin-bottom: 8px;
 }

 .card-address {
   font-size: 14px;
   font-weight: 400;
   color: #4b5563;
   margin-bottom: 8px;
 }

 .card-price {
   font-size: 14px;
   font-weight: 400;
   color: #4b5563;
 }

 /* Buttons */
 .carousel-buttons {
   display: flex;
   justify-content: center;
   gap: 12px;
   margin: 15px 0;
 }

 .btn-prev,
 .btn-next,
 .btn-autoplay {
   background-color: #3b82f6;
   color: white;
   padding: 8px 16px;
   border-radius: 8px;
   border: none;
   cursor: pointer;
   font-size: 14px;
   transition: background-color 0.3s;
 }

 .btn-prev:hover,
 .btn-next:hover,
 .btn-autoplay:hover {
   background-color: #2563eb;
 }

 .btn-autoplay {
   background-color: #287f7b;
 }

 .btn-autoplay:hover {
   background-color: #287f7b;
 }

 /* Static Images */
 .static-images {
   margin-bottom: 24px;
 }

 .vertical-image-item {
   margin-bottom: 12px;
 }

 .vertical-image-item:last-child {
   margin-bottom: 0;
 }

 .owl-nav {
   display: none
 }

 /* Responsive */
 @media (max-width: 768px) {
   .carousel-item {
     margin-bottom: 8px;
   }

   .card-image img {
     width: 100px;
     height: 100px;
   }

   .card-title {
     font-size: 14px;
   }

   .card-address,
   .card-price {
     font-size: 12px;
   }

   .calendar-container {
     grid-template-columns: 1fr;
   }


 }

 .association-row {
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 25px;
 }

 .association-row .logo-box {
   width: 260px;
   height: 150px;
   margin-right: 25px;
   padding: 15px;
 }

 .association-row .logo-box img {
   width: 100%;

   object-fit: contain;
 }

 .logo-box {

   height: 150px;
   flex-shrink: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   background: #fff;
   border-radius: 16px;
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
   margin: 3px;
 }

 .logo-box a {
   display: block;
   padding: 10px;
   text-decoration: none;
   text-align: center;
 }

 .logo-box img {
   object-fit: contain;
 }


 .carousel-container {
   scroll-behavior: smooth;
   -webkit-overflow-scrolling: touch;
 }

 .carousel-container::-webkit-scrollbar {
   height: 8px;
 }

 .carousel-container::-webkit-scrollbar-thumb {
   background: rgba(0, 0, 0, 0.2);
   border-radius: 4px;
 }

 .carousel-container::-webkit-scrollbar-track {
   background: transparent;
 }

 .vertical-images-container {
   margin-bottom: 10px
 }

 .vertical-image-item {
   margin-bottom: 5px;
 }

 /* .item {
     margin: 10px 10px 0px 10px;
 } */

 .vertical-image-item:last-child {
   margin-bottom: 0
 }

 .vertical-carousel-items .item>div {
   border: 1px solid #dfdfdf
 }

 .hero h1 {
   font-size: 32px;

   padding: 15px;
   border-radius: 10px;
   color: #fff
 }

 .category-bar {
   margin: 30px 0;
 }

 .inner-section {
   max-width: 1320px;
   margin: auto;
   padding: 30px 0px;
   display: flex;
   flex-wrap: wrap;

 }

 h3 {
   margin-bottom: 10px;
 }

 .subtitle {
   color: #666;
   margin-bottom: 20px;
 }

 /* CATEGORY BUTTONS */
 .category-bar, .province-bar {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
 }

 .category-btn {
   padding: 8px 14px;
   border-radius: 20px;
   border: 1px solid #ddd;
   cursor: pointer;
   background: #fff;
   font-size: 13px;
 }

 .category-btn.active {
   background: #287f7b;
   color: #fff;
   border-color: #287f7b;
 }

 /* GRID */
 .grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
   gap: 20px;
 }

 .card {
   height: 180px;
   border-radius: 14px;
   overflow: hidden;
   position: relative;
   color: #fff;
   cursor: pointer;
 }

 .card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: 0.3s;
 }

 .card:hover img {
   transform: scale(1.1);
 }

 .overlay {
   position: absolute;
   bottom: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
   padding: 12px;
   width: 100%;
 }

 .overlay h4 {
   font-size: 15px;
 }

 .overlay p {
   font-size: 12px;
   opacity: 0.8;
 }

 .mb {
   margin-bottom: 20px;
 }

 .mt {
   margin-top: 30px
 }

 #map {
   height: 400px;
   border-radius: 12px;
   margin: 20px 0;
 }

 .grey-bg .section-wrapper {
   padding: 30px 10px;
 }

 .grey-bg .section-wrapper p {
   margin-bottom: 0;
   line-height: 30px;
   font-size: 18px;

 }

 .card-2 img {
   border-radius: 8px 8px 0 0
 }

 .card-image {
   height: 140px;
 }

 .card-2 h4 {
   text-align: center;
   padding: 5px;
 }

 .hotel-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 15px;
   margin-top: 15px;
 }

 .rating {
   margin: 5px 0 0 0
 }

 .news .item {
   height: 200px;
   flex-shrink: 0;
   display: flex;
   justify-content: center;
   align-items: top;
   background: #fff;
   border-radius: 16px;
   box-shadow: 0 0px 4px rgba(0, 0, 0, 0.4);
   margin: 3px;
   overflow: hidden
 }

 .new-image {
   height: 160px;
   overflow: hidden;
 }

 .news .item a {
   display: block;
   text-decoration: none;
   width: 100%
 }

 .news .item span {
   display: block;
   text-align: center;
   text-decoration: none;
   font-size: 13px;
   padding: 10px 0;
   height: 30px;
   overflow: hidden;
 }

 .text-center {
   text-align: center;
 }

 .no-pad {
   padding: 0
 }

 .no-pad .section {
   padding: 0 10px;
 }

 .card-2 a {
   display: block
 }

 .new-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 /* Force 4 cards on desktop */
 /* @media(min-width:1024px) {
   .grid {
     grid-template-columns: repeat(3, 1fr);
   }
 } */

 .associate-grid {
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 10px;
 }

 .load-more-container {
   width: 100%;
   display: flex;
   justify-content: center;
 }


 .pagination-container {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 1rem;
   padding: 2rem 1rem 0 1rem;

 }

 .pagination-container .btn {
   padding: 0.4rem;
   font-size: 0.95rem;
   font-weight: 500;
   font-family: inherit;
   border: none;
   border-radius: 0.5rem;
   cursor: pointer;
   transition: all 0.2s ease;
   min-width: 100px;
 }

 .pagination-container .btn-primary {

   color: white;
 }

 .pagination-container .btn-primary:hover:not(:disabled) {
   background-color: #fff;
   transform: translateY(-1px);
   color: #20a293
 }


 .pagination-container .page-info {
   font-size: 0.95rem;
   font-weight: 500;
   color: #1e293b;
   padding: 0.5rem 1rem;

   min-width: 150px;
   text-align: center;
 }

 .pagination-container button {
   border: 1px solid #20a293;
   margin: 0 5px;
 }

 .contact h2 {
   margin-top: 0
 }

 .contact h2,
 .contact p {
   color: #fff
 }

 .contact p {
   font-size: 15px;
 }

 .contact {
   padding-bottom: 20px !important;
 }

 /* .map-filter {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-bottom: 10px;
   align-items: center;
 }

 .map-filter input,
 .map-filter select {
   padding: 10px 8px;
   border-radius: 6px;
   border: 1px solid #ccc;
 } */

 /* Filter Container */
 .filter-container {
   background: linear-gradient(135deg, #287f7b 0%, #1a5c59 100%);
   border-radius: 10px;
   padding: 15px;
   margin-bottom: 20px;
   box-shadow: 0 10px 30px rgba(40, 127, 123, 0.15);
 }

 .filter-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 10px;
   padding-bottom: 5px;
   border-bottom: 2px solid rgba(255, 255, 255, 0.2);
 }

 .filter-header h3 {
   margin: 0;
   color: white;
   font-size: 1rem;
   font-weight: 600;
 }

 .reset-btn {
   background: rgba(255, 255, 255, 0.2);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 5px 16px;
   border-radius: 5px;
   cursor: pointer;
   font-size: 0.9rem;
   transition: all 0.3s ease;
 }

 .reset-btn:hover {
   background: rgba(255, 255, 255, 0.3);
   transform: translateY(-2px);
 }

 /* Filter Grid */
 .filter-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(410px, 1fr));
   gap: 13px;
   align-items: end;
 }

 .filter-group {
   display: flex;
   flex-direction: column;
   gap: 8px;
 }

 .filter-group label {
   color: white;
   font-size: 0.85rem;
   font-weight: 500;
   display: flex;
   align-items: center;
   gap: 6px;
 }

 .filter-group label i {
   font-size: 0.9rem;
 }

 .filter-select,
 .filter-input {
   padding: 8px 12px;
   border-radius: 5px;
   border: none;
   background: white;
   font-size: 0.8rem;
   transition: all 0.3s ease;
   cursor: pointer;
 }

 .filter-select:hover,
 .filter-input:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
 }

 .filter-select:focus,
 .filter-input:focus {
   outline: none;
   box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
 }

 .filter-actions {
   display: flex;
   gap: 12px;
   align-items: center;
 }

 .filter-actions .btn {
   padding: 8px 24px;
   border-radius: 5px;
   font-weight: 600;
   font-size: 0.9rem;
   cursor: pointer;
   transition: all 0.3s ease;
   border: none;
   display: inline-flex;
   align-items: center;
   gap: 8px;
 }

 .filter-actions .btn-primary {
   background: linear-gradient(135deg, #e73b3f 0%, #811c20 100%);
   color: white;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
 }

 .filter-actions .btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
 }

 .filter-actions .btn-secondary {
   background: rgba(255, 255, 255, 0.2);
   color: white;
   border: 1px solid rgba(255, 255, 255, 0.3);
 }

 .filter-actions .btn-secondary:hover {
   background: rgba(255, 255, 255, 0.3);
   transform: translateY(-2px);
 }

 /* Optional: Active filter indicators */
 .filter-group.active label {
   color: #ffd700;
 }

 .filter-group.active select,
 .filter-group.active input {
   border-left: 3px solid #ffd700;
 }

 #placeMap {
   height: 400px;
   border-radius: 12px;
   margin: 20px 0;
 }

 .vertical-images-container .earlier-committees h2 {
   margin: 0 0 15px 0
 }

 /* Footer */
 footer {
   background: #1c2b36;
   color: white;
   padding: 30px;
   text-align: center;
 }

 /* Container styling */
 .president {
   width: 200px;
   height: 200px;
   border-radius: 50%;
   overflow: hidden;
 }

 /* Image styling */
 .president img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 footer p {
   font-size: 12px
 }

 footer p a {
   color: #fff;
   text-decoration: underline;

 }

 footer p a:hover {

   text-decoration: none;
 }

 .zero-bottom {
   padding-bottom: 0 !important
 }

 .right-header {
   width: 50%;
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }

 .hamburger-menu {

   width: 40px;
   height: 35px;
   background: #2c3e66;
   border: none;
   cursor: pointer;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   z-index: 1000;
   padding: 8px;
   border-radius: 5px;
   margin-left: 20px;
 }

 .hamburger-menu span {
   width: 100%;
   height: 3px;
   background-color: white;
   border-radius: 2px;
   transition: all 0.3s ease;
 }

 /* Hamburger Animation when active */
 .hamburger-menu.active span:nth-child(1) {
   transform: rotate(45deg) translate(5px, 5px);
 }

 .hamburger-menu.active span:nth-child(2) {
   opacity: 0;
 }

 .hamburger-menu.active span:nth-child(3) {
   transform: rotate(-45deg) translate(5px, -5px);
 }

 /* Navigation Menu - Hidden by default, slides from right */
 .nav-menu {
   position: fixed;
   top: 0;
   right: -100%;
   width: 80%;
   max-width: 350px;
   height: 100%;
   background: white;
   box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
   z-index: 999;
   transition: right 0.3s ease;
   overflow-y: auto;
   padding: 80px 20px 30px;
 }

 .nav-menu.active {
   right: 0;
 }

 /* Menu Overlay */
 .menu-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.5);
   z-index: 998;
   opacity: 0;
   visibility: hidden;
   transition: all 0.3s ease;
 }

 .menu-overlay.active {
   opacity: 1;
   visibility: visible;
 }

 /* Close Button inside menu */
 .close-menu-btn {
   position: absolute;
   top: 20px;
   right: 20px;
   width: 35px;
   height: 35px;
   background: #fff;
   border: none;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 20px;
   font-weight: bold;
 }

 .close-menu-btn:hover {
   background: #1a2c4a;
 }

 /* Navigation List */
 .nav-list {
   list-style: none;
 }

 .nav-item {
   margin-bottom: 5px;
   border-bottom: 1px solid #eee;
 }

 .nav-link {
   display: block;
   padding: 15px 0;
   color: #000;
   text-decoration: none;
   font-size: 16px;
   font-weight: 500;
   transition: all 0.3s ease;
   cursor: pointer;
 }



 /* .submenu-trigger.open {
   margin-left: -15px;
 }

 .has-submenu .submenu-trigger {
   padding-left: 15px;
 } */

 /* Submenu Styles with Smooth Animation */
 .has-submenu {
   position: relative;
 }

 .nav-item .submenu-trigger {
   padding: 12px 15px 0px 0px;
 }

 .nav-item .submenu .has-submenu .submenu-trigger {
   padding-left: 15px;
 }

 .submenu-trigger {
   display: flex;
   justify-content: space-between;
   align-items: center;
   cursor: pointer;

 }

 .arrow {
   font-size: 12px;
   transition: transform 0.3s ease;
 }

 /* Nested submenu arrow (second level) */
 .submenu .submenu-trigger .arrow {
   font-size: 10px;
 }

 /* When parent has 'open' class, rotate arrow */
 .has-submenu.open>.submenu-trigger .arrow {
   transform: rotate(180deg);
 }

 /* Submenu - with smooth animation */
 .submenu {
   list-style: none;

   border-radius: 8px;
   margin: 5px 0 10px 0;

   /* Animation properties */
   max-height: 0;
   opacity: 0;
   overflow: hidden;
   transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
     opacity 0.3s ease,
     margin 0.2s ease;
 }

 /* Third level submenu (deeper nesting) */
 .submenu .submenu {}

 /* When parent has 'open' class, show submenu with animation */
 .has-submenu.open>.submenu {
   max-height: 800px;
   /* Large enough to show all nested items */
   opacity: 1;
 }

 .submenu li a {
   display: block;
   padding: 12px 15px 12px 15px;
   color: #000;
   text-decoration: none;
   font-size: 16px;
   transition: all 0.3s ease;
   cursor: pointer;
   opacity: 0;
   transform: translateX(-10px);
   transition: all 0.3s ease;
 }

 /* Nested submenu items have more padding */
 .submenu .submenu li a {
   padding-left: 50px;
 }

 /* Animate submenu items when parent opens */
 .has-submenu.open>.submenu>li>a {
   opacity: 1;
   transform: translateX(0);
 }

 /* Staggered animation for each submenu item */
 .has-submenu.open>.submenu>li:nth-child(1)>a {
   transition-delay: 0.05s;
 }

 .has-submenu.open>.submenu>li:nth-child(2)>a {
   transition-delay: 0.1s;
 }

 .has-submenu.open>.submenu>li:nth-child(3)>a {
   transition-delay: 0.15s;
 }

 .has-submenu.open>.submenu>li:nth-child(4)>a {
   transition-delay: 0.2s;
 }

 .has-submenu.open>.submenu>li:nth-child(5)>a {
   transition-delay: 0.25s;
 }





 .mobile-search-icon {
   display: none
 }

 .pad-bottom {
   padding-bottom: 30px;
 }

 /* Mobile Responsive */


 @media (max-width: 768px) {
  .filter-destination-wrapper {top:72px}
  .filter-destination {top:99px;}

   .search-section {
     margin-top: 60px !important
   }

   .filter-group {
     gap: 3px
   }

   .filter-grid {
     gap: 8px;
   }

   .associate-grid {
     margin-top: 10px !important
   }

   .filter-container {
     padding: 16px;
   }

   .filter-grid {
     grid-template-columns: 1fr;
     gap: 15px;
   }

   .filter-actions {
     flex-direction: column;
   }

   .filter-actions .btn {
     width: 100%;
     justify-content: center;
   }

   .filter-header {

     gap: 5px;

   }

   .event-card {
     flex-direction: column;
   }

   .event-date {
     min-width: 100%;
     flex-direction: row;
     justify-content: center;
     padding: 10px 0;
   }

   .association-row {
     flex-direction: column;
     align-items: flex-start;
   }

   .association-row .logo-box {
     margin-bottom: 10px;
   }

   header {
     padding: 12px 10px;
   }



   .search-bar {
     width: 48%
   }

   .section-wrapper {
     padding: 20px 0 0 0
   }

   .left-section .section {
     padding: 20px 0 0 0
   }

   .section-wrapper-bottom .section {
     padding: 10px 0 0 0
   }

   .section-wrapper-bottom {
     margin-top: 20px;
   }

   .zero {
     margin-top: 0;
     padding-top: 0
   }

   .search-btn .btn {
     margin-bottom: 20px;
     display: block;
     ;
   }

   .upper-footer {
     margin-top: 0 !important
   }

   header a.logo img {
     width: 60px
   }

   header a.logo span {
     font-size: 20px;
   }



 }

 @media (max-width: 640px) {

   .section-wrapper {
     padding: 0
   }

   .pagination-container {
     gap: 0.75rem;
     padding: 1.5rem 0.75rem;
   }

   .btn {
     padding: 0.6rem 1rem;
     font-size: 0.85rem;
     min-width: 85px;
   }

   .page-info {
     font-size: 0.85rem;
     padding: 0.4rem 0.75rem;
     min-width: 120px;
   }

   .filter-toggle-btn {height:34px!important}
 }

 @media (max-width: 480px) {
  .hero-content{padding:15px;}
  .hero h1 {font-size:24px;}
   footer p {
     font-size: 12px;
   }

   .assocition-section h2 {font-size:19px;}

   .arrow-icon::before {
     border-right: 2px solid #000;
        border-bottom: 2px solid #000;
        width:6px;
        height:6px;
   }

   .filter-destination-wrapper {top:54px;}
   .filter-destination {top:75px;}

   .filter-destination h3{font-size:12px;}

header a.logo span {font-size:16px;}

   footer {
     padding: 15px;
   }

  header a.logo img {
         width: 45px;
         height: auto
     }

   .association-row {
     align-items: center;
     text-align: center;
   }

   .association-row p {
     font-size: 14px !important;
   }

   .grid {
     gap: 5px
   }

   .section h3,
   .title-h3,
   .section p.subtitle {
     text-align: center;
   }

   .hero-content a {
     display: block;
     margin-bottom: 10px;
   }

   .pagination-container {
     gap: 0.5rem;
   }

   .btn {
     padding: 0.5rem 0.75rem;
     min-width: 70px;
     font-size: 0.8rem;
   }

   .page-info {
     font-size: 0.75rem;
     padding: 0.35rem 0.6rem;
     min-width: 100px;
   }
 }

 .search-bar-mobile {
   display: none;
   padding: 10px 15px;
   background: white;
   border-top: 1px solid #ddd;
   border-bottom: 1px solid #ddd;
 }

 .search-bar-mobile.active {
   display: block;
 }

 .search-bar-mobile input {
   width: 100%;
   padding: 10px;
   border: 1px solid #ccc;
   border-radius: 5px;
   font-size: 16px;
 }

 /* Add to your existing CSS - Mobile view (below 768px) */
 @media (max-width: 768px) {

   /* Hide the search bar initially on mobile */
   .right-header .search-bar {
     display: none;
   }

   /* Show the search icon on mobile */
   .mobile-search-icon {
     display: block;
     background: none;
     border: none;
     font-size: 1.3rem;
     cursor: pointer;
     padding: 5px;
   }

   .search-bar-mobile {
     position: absolute;
     z-index: 9999;
     top: 66px;
     width: 100%
   }

   #map {
     touch-action: pan-x pan-y pinch-zoom;
   }


 }

 /* Style for when search bar is shown below header on mobile */