/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress child theme with custom typography, color palette, and responsive layout enhancements.
Tags: generatepress, child-theme, custom-design, typography
Version: 1.0
*/

/* ===== Top Bar & Footer Links ===== */
.top-bar a,
.footer-widgets a {
  text-decoration: none;
}

.top-bar a:hover,
.footer-widgets a:hover {
  color: var(--hover-color);
  opacity: 1;
}
a:hover{
  opacity: 1 !important;	
}

.separate-containers.no-sidebar .site-main {
    max-width: 100%;
    margin-bottom: 50px;
}

/* ===== Footer Copyright ===== */
.copyright-bar {
  font-size: var(--font-md-2);
  color: var(--muted-text);
  font-family: var(--main-font);
  text-align: left;
  border-top: 1px solid var(--border-color);
  padding: 10px 0px;
}

.site-footer {
	background-color: var(--footer-bg);
}

.inside-site-info {
  display: block;
  padding: 0px; 
}

.inside-header {
  padding: 6px 0px;
}

.inside-top-bar {
  padding: 10px 20px;
}

.footer-widgets-container {
  padding: 0px 0px 40px 0px; 
  border-top: 1px solid var(--border-color);
}

.footer-top-bar {
  padding-top: 40px;
  align-items: center;
}

.inside-footer-widgets ul li {
  margin-bottom: 0px;
}

.footer-inside-widget ul {
  margin-bottom: 15px;
  gap: 0;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook ,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram ,
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube, 
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x  {
  background-color: transparent !important;
}

.footer-social-icons {
  gap: 0px;
}

.below-header-widget {
	margin-top:15px;
}
.site-footer ul.wp-block-social-links {
    margin-bottom: 0px;
}
.site-footer figure.wp-block-image.size-full.is-resized {
    margin-bottom: 15px;
}


@media (min-width: 768px) and (max-width: 1050px) {
    
	/* GTHL Mega Menu - Clean Simple Design */
  .main-navigation .main-nav ul li a {
    padding-left: 0px;
  }
	
  .gthl-mobile-top-menu {
	display:none;
  }	

  nav .main-nav .mega-menu {
    position: static;
  }

  nav .main-nav .mega-menu>ul {
    position: absolute;
    width: 100%;
    left: -15px !important;
    display: flex;
    flex-wrap: wrap;
    background-color: var(--background-light);
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 20px 20px;
  }

  nav .main-nav .mega-menu>ul>li>a {
    font-weight: bold;
    font-size: var(--font-md);
  }

  nav .main-nav .mega-menu>ul>li {
    display: inline-block;
    width: 25%;
    vertical-align: top;
    padding: 0px 20px;
  }

  nav .main-nav .mega-menu>ul>li:last-child {
    border-right: none;
  }

  nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
    width: 49.5%;
  }

  nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
    width: 32.5%;
  }

  nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
    width: 20%;
  }

  nav .main-nav .mega-menu>ul>li:hover>a,
  nav .main-nav .mega-menu>ul>li:focus>a,
  nav .main-nav .mega-menu>ul>li[class*="current-"]>a,
  nav .main-nav .mega-menu ul ul {
    background-color: transparent !important;
    color: var(--primary-color);
  }

  nav .main-nav .mega-menu ul .sub-menu {
    position: static;
    display: block;
    opacity: 1;
    visibility: visible;
    width: 100%;
    box-shadow: 0 0 0;
    left: 0;
    height: auto;
    pointer-events: auto;
    transform: scale(1);
  }

  nav .main-nav .mega-menu ul.toggled-on .sub-menu {
    pointer-events: auto;
  }

  nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
    display: none;
  }

  /* Mega List Styling - Clean & Simple */
  nav .main-nav .mega-menu .mega-list {
    margin-bottom: 20px;
  }

  nav .main-nav .mega-menu .mega-list:last-child {
    margin-bottom: 0;
  }

  nav .main-nav .mega-menu .mega-list>a {
    font-weight: 600;
    font-size: var(--font-md);
    color: var(--primary-color);
    text-decoration: none;
    padding: 0 0 10px 0;
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
    font-style: italic;
  }

  .main-nav .mega-menu .mega-list .sub-menu li:last-child:not(:only-child) {
    border-bottom: none;
  }

  nav .main-nav .mega-menu .mega-list>a:hover {
    color: var(--secondary-color) !important;
  }

  /* Sub-menu items - Simple List Style */
  nav .main-nav .mega-menu .mega-list .sub-menu {
    margin-top: 0;
    padding-left: 0;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li {
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
    border-bottom-style:dotted;
    padding: 0px 4px;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li a {
    color: var(--primary-color);
    font-weight: 400;
    font-size: var(--font-md);
    padding: 0;
    text-decoration: none;
    display: block;
    line-height: 28px;
    text-transform: capitalize;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li:hover {
    background-color: var(--hover-bg-light);
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li a:hover {
    color: var(--secondary-color);
    text-decoration: none;
  }
}
/* ===== Desktop Navigation & Footer ===== */
@media (min-width: 1100px) {

  /* GTHL Mega Menu - Clean Simple Design */
  .main-navigation .main-nav ul li a {
    padding-left: 0px;
  }

  nav .main-nav .mega-menu {
    position: static;
  }
	
  .gthl-mobile-top-menu {
	display:none;
  }		

  nav .main-nav .mega-menu>ul {
    position: absolute;
    width: 130%;
    left: -200px !important;
    display: flex;
    flex-wrap: wrap;
    background-color: var(--background-light);
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 20px 20px;
  }

  nav .main-nav .mega-menu>ul>li>a {
    font-weight: bold;
    font-size: var(--font-md);
  }

  nav .main-nav .mega-menu>ul>li {
    display: inline-block;
    width: 25%;
    vertical-align: top;
    padding: 0px 20px;
  }

  nav .main-nav .mega-menu>ul>li:last-child {
    border-right: none;
  }

  nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
    width: 50%;
  }

  nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
    width: 33.3333%;
  }

  nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
    width: 20%;
  }

  nav .main-nav .mega-menu>ul>li:hover>a,
  nav .main-nav .mega-menu>ul>li:focus>a,
  nav .main-nav .mega-menu>ul>li[class*="current-"]>a,
  nav .main-nav .mega-menu ul ul {
    background-color: transparent !important;
    color: var(--primary-color);
  }

  nav .main-nav .mega-menu ul .sub-menu {
    position: static;
    display: block;
    opacity: 1;
    visibility: visible;
    width: 100%;
    box-shadow: 0 0 0;
    left: 0;
    height: auto;
    pointer-events: auto;
    transform: scale(1);
  }

  nav .main-nav .mega-menu ul.toggled-on .sub-menu {
    pointer-events: auto;
  }

  nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
    display: none;
  }

  /* Mega List Styling - Clean & Simple */
  nav .main-nav .mega-menu .mega-list {
    margin-bottom: 20px;
  }

  nav .main-nav .mega-menu .mega-list:last-child {
    margin-bottom: 0;
  }

  nav .main-nav .mega-menu .mega-list>a {
    font-weight: 600;
    font-size: var(--font-md);
    color: var(--primary-color);
    text-decoration: none;
    padding: 0 0 10px 0;
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
    font-style: italic;
  }

  .main-nav .mega-menu .mega-list .sub-menu li:last-child:not(:only-child) {
    border-bottom: none;
  }

  nav .main-nav .mega-menu .mega-list>a:hover {
    color: var(--secondary-color) !important;
  }

  /* Sub-menu items - Simple List Style */
  nav .main-nav .mega-menu .mega-list .sub-menu {
    margin-top: 0;
    padding-left: 0;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li {
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
    border-bottom-style:dotted;
    padding: 0px 4px;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li a {
    color: var(--primary-color);
    font-weight: 400;
    font-size: var(--font-md);
    padding: 0;
    text-decoration: none;
    display: block;
    line-height: 28px;
    text-transform: capitalize;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li:hover {
    background-color: var(--hover-bg-light);
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li a:hover {
    color: var(--secondary-color);
    text-decoration: none;
  }
}

.gthl-event-detail p {
	margin-bottom: 0px;
}

.gthl-team__email--disabled{display:none !important}

@media (max-width: 1200px) {
    .grid-container {
      padding-left: 1rem;
      padding-right: 1rem;
    }
    .footer-top-bar {
      align-items: center;
    }
}

/* ===== Mobile Styles ===== */
@media (max-width: 768px) {

  .top-bar {
    display: none;
  }
	
  gthl-mobile-top-menu {
	display:block;
  }	
	
  nav .main-nav .mega-menu .mega-list, nav .main-nav .mega-menu .mega-list .sub-menu li {
    background-color: var(--background-light);
  }

  nav .main-nav .mega-menu .mega-list>a {
    font-size: var(--font-md-2);
    font-weight: 600;
  }

  .main-nav .mega-menu .mega-list .sub-menu li>a {
    font-size: var(--font-md-2);
    font-weight: 400;
  }

  nav .main-nav .mega-menu .mega-list>a {
    color: var(--primary-color);
    text-decoration: none;
    font-style: italic;
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li:hover {
    background-color: var(--hover-bg-light);
  }

  nav .main-nav .mega-menu .mega-list .sub-menu li a:hover {
    color: var(--secondary-color);
    text-decoration: none;
  }

  .inside-footer-widgets ul li {
    margin-bottom: 0px;
  }

  .footer-inside-widget ul {
    margin-bottom: 20px;
  }

  .footer-top-bar {
    /* padding: 40px 40px 0px 40px; */
    flex-direction: row;
  }

  .inside-site-info {
    padding: 20px 20px;
  }

  .main-navigation .main-nav ul li a {
    line-height: 40px;
  }
}


@media (max-width: 768px) {
    .inside-footer-widgets>div:not(:last-child) {
        margin-bottom: 0;
    }
	.footer-widgets .widget {
    margin-bottom: 15px;
}
}