/****/
.container {
  max-width: 100%;
}
.container .container {
  width: 100% !important;
}

/* ================================================
   HEADER MENU - Full Width on Large Screens
   Fix menu wrapping to 2 rows on wide screens
   ================================================ */

/* Make header container fluid on large screens */
@media (min-width: 1200px) {
  header .container,
  header .container-xl,
  header .container-lg {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (min-width: 1600px) {
  header .container,
  header .container-xl,
  header .container-lg {
    padding-left: 50px;
    padding-right: 50px;
  }
}

/* Prevent menu from wrapping - DESKTOP ONLY */
@media (min-width: 992px) {
  .navigation .gva_menu,
  .gva-navigation .gva_menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap;
  }
}

/* MOBILE MENU - Reset flex for off-canvas menu */
@media (max-width: 991px) {
  /* Reset all menu containers to block on mobile */
  .gva_menu,
  .navigation .gva_menu,
  .gva-navigation .gva_menu,
  .gva-offcanvas-mobile .gva_menu,
  .gva-offcanvas-mobile .gva-navigation .gva_menu,
  ul.gva_menu,
  ul.gva_menu.gva_menu_main {
    display: block !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    flex-direction: column !important;
  }

  /* Reset all menu items to block on mobile */
  .gva_menu > li,
  .gva-navigation .gva_menu > li,
  .gva-offcanvas-mobile .gva_menu > li,
  .gva-offcanvas-mobile .gva-navigation .gva_menu > li,
  ul.gva_menu > li,
  ul.gva_menu.gva_menu_main > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    white-space: normal !important;
  }
}

/* Adjust menu item padding on large screens to prevent wrap */
@media (min-width: 992px) and (max-width: 1399px) {
  .navigation .gva_menu > li > a,
  .gva-navigation .gva_menu > li > a {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (min-width: 1400px) {
  .navigation .gva_menu > li > a,
  .gva-navigation .gva_menu > li > a {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

@media (min-width: 1600px) {
  .navigation .gva_menu > li > a,
  .gva-navigation .gva_menu > li > a {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

ul {
  padding-left: 10px;
}
ul li {
  list-style: inherit;
}

.nav-tabs, .block-builder-main ul, .topbar ul, ul.contact-info, ul.menu {
  list-style: none !important;
  padding-left: 0;
}

.node--view-mode-full p {
  margin-bottom: 10px;
}

body div.body-page {
  background-color: #fff;
}

.sidebar nav.block {
  display: table;
}
.sidebar nav.block ul.gva_menu > li {
  width: 100%;
}
.sidebar nav.block ul.gva_menu > li > a {
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  display: block;
  width: 100%;
}
.sidebar nav.block ul.gva_menu .sub-menu {
  border-top: none;
  box-shadow: none;
  display: block !important;
  opacity: 1 !important;
  position: static;
  visibility: visible !important;
}
.sidebar nav.block ul.gva_menu .sub-menu a {
  padding-right: 0 !important;
  font-size: 11px;
  color: #696969;
  padding-left: 20px;
}

.site-branding-logo {
  max-height: inherit;
}
.site-branding-logo img {
  max-height: 80px;
  width: auto;
}

#user-register-form {
  padding: 20px 0;
}
#user-register-form .form-wrapper {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
#user-register-form .form-wrapper#edit-actions {
  border-bottom: none;
}
#user-register-form label {
  width: 100%;
}
#user-register-form .form-item {
  margin-bottom: 15px;
}

input[type*='submit'] {
  font-size: 13px;
  text-transform: uppercase;
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #7383BE;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 8px 15px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
  -moz-transition: all 0.35s;
  -ms-transition: all 0.35s;
  border: 1px solid transparent;
  -webkit-box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}
input[type*='submit']:hover {
  background: #fff;
  color: #282828;
  border-color: #7383BE;
}

body.path-user .help {
  max-width: 800px;
  margin: 0 auto;
}
body.path-user .help .container {
  width: 100%;
  padding: 0;
}
body.path-user #page-main-content > .main-content-inner {
  max-width: 800px;
  margin: 0 auto;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
  padding: 30px;
  margin-bottom: 50px;
  margin-top: 30px;
}
body.path-user summary {
  font-weight: 700;
  text-transform: uppercase;
  color: #7383BE;
}

.portfolio-carousel-single .portfolio-item .image img {
  max-width: 100% !important;
}

@media (max-width: 991px) {
  .portfolio-carousel-single .portfolio-item .portfolio-content .title a {
    font-size: 24px;
    line-height: 30px;
  }

  .portfolio-carousel-single .portfolio-item .portfolio-content {
    top: 80px;
    left: 30px;
  }
}
img.unveil-image {
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.1s;
  -o-transition: opacity 0.1s;
  transition: opacity 0.1s;
  -moz-transition: opacity 0.1s;
  -ms-transition: opacity 0.1s;
}
img.unveil-image.image-loaded {
  opacity: 1;
  filter: alpha(opacity=100);
}

.views-exposed-form .fieldset-wrapper .description {
  width: 100%;
  float: left;
  margin-bottom: 20px;
}

.views-exposed-form .fieldset-wrapper .form-checkboxes a.bef-toggle {
  margin-bottom: 15px;
  font-size: 13px;
  text-transform: uppercase;
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #7383be;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 8px 15px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
  -moz-transition: all 0.35s;
  -ms-transition: all 0.35s;
  border: 1px solid transparent;
  -webkit-box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.views-exposed-form .fieldset-wrapper .form-checkboxes a.bef-toggle:hover {
  background: #fff;
}

header .area-main-menu .gva-search-region .search-content {
  width: 295px !important;
}

.logged-in .help.show {
  display: none !important;
}

body.logged-in.toolbar-tray-open .help.show {
  display: block !important;
}

/* ================================================
   MENU SUBMENU POSITIONING FIXES
   Fix submenus appearing off-screen to the right
   ================================================ */

/* Ensure main navigation container doesn't clip submenus but contains mega menus */
.navigation,
.area-main-menu,
.main-menu {
  position: static;
}

/* Make the header container relative for mega menu positioning */
.header-main-inner {
  position: relative;
}

/* Regular list submenu - position from right to prevent overflow */
@media (min-width: 992px) {
  /* Parent menu items need relative positioning */
  .navigation .gva_menu > li {
    position: relative;
  }

  /* Regular submenus - align to right edge of parent, open to the left if needed */
  .navigation .gva_menu > li > .sub-menu {
    left: auto;
    right: 0;
  }

  /* Mega menu container - full width, positioned from left edge of header */
  .navigation .gva_menu > li.gva-mega-menu {
    position: static !important;
  }

  .navigation .gva_menu > li.gva-mega-menu > .sub-menu,
  .navigation .gva_menu > li.megamenu > .sub-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    max-width: 100vw;
  }

  /* Mega menu block content */
  .navigation .gva_menu > li.mega-menu-block > .sub-menu {
    left: 0 !important;
    right: 0 !important;
    min-width: 300px;
    max-width: 100vw;
    padding: 20px;
  }

  /* Column layout mega menu - ensure proper containment */
  .navigation .gva_menu > li.menu-grid > .sub-menu {
    left: 0 !important;
    right: 0 !important;
    display: flex;
    flex-wrap: wrap;
  }

  .navigation .gva_menu > li.menu-grid > .sub-menu > li {
    float: none;
  }

  /* Nested submenus - open to left if on right side */
  .navigation .gva_menu .sub-menu > li {
    position: relative;
  }

  .navigation .gva_menu .sub-menu > li > ul.sub-menu {
    left: auto;
    right: 100%;
  }
}

/* Ensure submenus don't overflow viewport */
.navigation .gva_menu .sub-menu {
  max-width: calc(100vw - 20px);
  overflow-x: auto;
}

/* Fix for menu inside blockbuilder columns (right-aligned containers) */
.gsc-column .gva-navigation,
.widget .gva-navigation,
.block-content .gva-navigation {
  position: static;
}

.gsc-column .gva_menu > li,
.widget .gva_menu > li {
  position: static !important;
}

/* Submenus in right-positioned containers should open left */
.gsc-column .gva_menu > li > .sub-menu,
.widget .gva_menu > li > .sub-menu {
  left: auto !important;
  right: 0 !important;
}

/* Mega menus in blockbuilder - align to right edge of parent, don't overflow left */
.gsc-column .gva_menu > li.gva-mega-menu > .sub-menu,
.gsc-column .gva_menu > li.megamenu > .sub-menu,
.gsc-column .gva_menu > li.mega-menu-block > .sub-menu,
.gsc-column .gva_menu > li.menu-grid > .sub-menu {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  width: auto !important;
  min-width: 400px;
  max-width: 90vw;
}

/* Column menu inside blockbuilder */
@media (min-width: 992px) {
  .gsc-column .gva_menu > li.menu-grid > .sub-menu > li {
    padding: 10px;
    box-sizing: border-box;
  }

  .gsc-column .gva_menu > li.menu-columns-2 > .sub-menu > li {
    width: 50%;
  }

  .gsc-column .gva_menu > li.menu-columns-3 > .sub-menu > li {
    width: 33.33%;
  }

  .gsc-column .gva_menu > li.menu-columns-4 > .sub-menu > li {
    width: 25%;
  }
}

/* ================================================
   NESTED SUBMENU (GRANDCHILDREN) VISIBILITY FIX
   Ensure 3rd level menus show on hover

   Note: BlockBuilder uses .gva-navigation wrapper, not .navigation
   The template.css rules target .navigation which doesn't exist
   in BlockBuilder context. These rules fix that.
   ================================================ */

@media (min-width: 992px) {
  /* Menu items need relative positioning for dropdown */
  .gva-navigation .gva_menu li {
    position: relative;
  }

  /* Hide all submenus by default */
  .gva-navigation .gva_menu .sub-menu {
    display: none;
    position: absolute;
    min-width: 220px;
    background-color: #fff;
    border-top: 3px solid #7383BE;
    z-index: 9999;
    -webkit-box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
  }

  /* First level dropdown - position below parent */
  .gva-navigation .gva_menu > li > .sub-menu {
    top: 100%;
    left: 0;
  }

  /* Nested dropdowns - position to the side */
  .gva-navigation .gva_menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
  }

  /* SHOW on hover - all levels */
  .gva-navigation .gva_menu li:hover > .sub-menu {
    display: block;
  }

  /* Submenu link styling */
  .gva-navigation .gva_menu .sub-menu li a {
    display: block;
    padding: 12px 20px;
    color: #333;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    white-space: nowrap;
  }

  .gva-navigation .gva_menu .sub-menu li:last-child a {
    border-bottom: none;
  }

  .gva-navigation .gva_menu .sub-menu li a:hover {
    color: #7383BE;
    background-color: #f8f9fa;
  }

  /* Chevron for items with children */
  .gva-navigation .gva_menu .sub-menu li.menu-item--expanded > a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    float: right;
    margin-left: 10px;
  }

  /* For right-side menus - open nested to left */
  .gsc-column .gva-navigation .gva_menu .sub-menu .sub-menu {
    left: auto;
    right: 100%;
  }

  /* ==========================================
     MEGA MENU (menu-grid) - BlockBuilder Fix
     ========================================== */

  /* Mega menu parent - static positioning for full-width dropdown */
  .gva-navigation .gva_menu > li.gva-mega-menu {
    position: static !important;
  }

  /* Mega menu dropdown - full width */
  .gva-navigation .gva_menu > li.gva-mega-menu > .sub-menu,
  .gva-navigation .gva_menu > li.megamenu > .sub-menu {
    width: 100%;
    padding: 20px;
    left: 0 !important;
    right: 0 !important;
  }

  /* Mega menu columns layout */
  .gva-navigation .gva_menu > li.megamenu > .sub-menu > li {
    position: static;
    padding: 0 15px;
    float: left;
  }

  .gva-navigation .gva_menu > li.megamenu.menu-columns-2 > ul.sub-menu > li { width: 50%; }
  .gva-navigation .gva_menu > li.megamenu.menu-columns-3 > ul.sub-menu > li { width: 33.33%; }
  .gva-navigation .gva_menu > li.megamenu.menu-columns-4 > ul.sub-menu > li { width: 25%; }
  .gva-navigation .gva_menu > li.megamenu.menu-columns-5 > ul.sub-menu > li { width: 20%; }

  /* Mega menu nested submenus - always visible */
  .gva-navigation .gva_menu .megamenu > .sub-menu > li > ul.sub-menu {
    visibility: visible !important;
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    box-shadow: none;
    border: none;
    background: transparent;
    min-width: auto;
    padding: 10px 0;
  }

  /* Mega menu child links styling */
  .gva-navigation .gva_menu .megamenu > .sub-menu > li > a {
    display: block;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  }

  .gva-navigation .gva_menu .megamenu > .sub-menu > li > ul.sub-menu li a {
    padding: 5px 0;
    font-size: 12px;
    font-weight: 400;
    border: none;
    white-space: normal;
  }
}

/* ==========================================
   MOBILE MENU - Scrolling Fix
   ========================================== */
@media (max-width: 991px) {
  .gva-offcanvas-mobile {
    overflow-y: auto !important;
    max-height: 100vh;
    padding-bottom: 50px;
  }

  .gva-offcanvas-mobile .gva-navigation {
    overflow: visible !important;
  }

  .gva-offcanvas-mobile .gva-navigation .gva_menu {
    overflow: visible !important;
    max-height: none !important;
  }

  .gva-offcanvas-mobile .gva-navigation .gva_menu > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* ================================================
   MEGA MENU - Only show on hover, NOT on active-trail
   Fix: Dropdown was staying open when visiting child pages
   12/28/2025
   ================================================ */

@media (min-width: 992px) {
  /* Force HIDE first-level dropdowns by default - both wrapper classes */
  .navigation .gva_menu > li > ul.sub-menu,
  .navigation .gva_menu > li > div.sub-menu,
  .navigation .gva_menu > li.gva-mega-menu > .sub-menu,
  .navigation .gva_menu > li.megamenu > ul.sub-menu,
  .gva-navigation .gva_menu > li > ul.sub-menu,
  .gva-navigation .gva_menu > li > div.sub-menu,
  .gva-navigation .gva_menu > li.gva-mega-menu > .sub-menu,
  .gva-navigation .gva_menu > li.megamenu > ul.sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Show ONLY on hover */
  .navigation .gva_menu > li:hover > ul.sub-menu,
  .navigation .gva_menu > li:hover > div.sub-menu,
  .navigation .gva_menu > li.gva-mega-menu:hover > .sub-menu,
  .navigation .gva_menu > li.megamenu:hover > ul.sub-menu,
  .gva-navigation .gva_menu > li:hover > ul.sub-menu,
  .gva-navigation .gva_menu > li:hover > div.sub-menu,
  .gva-navigation .gva_menu > li.gva-mega-menu:hover > .sub-menu,
  .gva-navigation .gva_menu > li.megamenu:hover > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Nested megamenu children (columns) - show when parent hovered */
  .navigation .gva_menu > li.megamenu:hover > ul.sub-menu > li > ul.sub-menu,
  .navigation .gva_menu > li.gva-mega-menu:hover > .sub-menu > li > ul.sub-menu,
  .gva-navigation .gva_menu > li.megamenu:hover > ul.sub-menu > li > ul.sub-menu,
  .gva-navigation .gva_menu > li.gva-mega-menu:hover > .sub-menu > li > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
  }
}

/* ================================================
   BOOTSTRAP BUTTON FIX - Remove ::before pseudo-element
   Fixes "O" character appearing before button text
   12/27/2025
   ================================================ */
.btn::before,
.btn-primary::before,
.btn-secondary::before,
.btn-success::before,
.btn-danger::before,
.btn-warning::before,
.btn-info::before,
.btn-light::before,
.btn-dark::before,
.btn-outline-primary::before,
.btn-outline-secondary::before,
.btn-outline-success::before,
.btn-outline-danger::before,
.btn-outline-warning::before,
.btn-outline-info::before,
.btn-outline-light::before,
.btn-outline-dark::before,
button::before,
.placeholder.btn::before {
  content: "" !important;
  display: none !important;
}

/* Fix Bootstrap button ::after issue - 12/27/2025 */
.btn::after,
.btn-primary::after,
.btn-secondary::after,
.btn-success::after,
.btn-danger::after,
.btn-warning::after,
.btn-info::after,
.btn-light::after,
.btn-dark::after,
.btn-outline-primary::after,
.btn-outline-secondary::after,
.btn-outline-success::after,
.btn-outline-danger::after,
.btn-outline-warning::after,
.btn-outline-info::after,
.btn-outline-light::after,
.btn-outline-dark::after,
button::after,
.placeholder.btn::after {
  content: "" !important;
  display: none !important;
}

/* ================================================
   NUCLEAR FIX: Hide dropdown menus by default
   Force show ONLY on hover state
   Added 12/28/2025 - Most aggressive version
   ================================================ */
@media (min-width: 992px) {
  /* Hide ALL possible submenu variations */
  .gva_menu > li > .sub-menu,
  .gva_menu > li > ul,
  .gva_menu > li.megamenu > .sub-menu,
  .gva_menu > li.gva-mega-menu > .sub-menu,
  .gva_menu > li.mega-menu-block > .sub-menu,
  .gva_menu_main > li > .sub-menu,
  .gva_menu_main > li > ul.menu,
  ul.gva_menu > li > ul.sub-menu,
  ul.gva_menu > li > div.sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Show ONLY on hover - all variations */
  .gva_menu > li:hover > .sub-menu,
  .gva_menu > li:hover > ul,
  .gva_menu > li.megamenu:hover > .sub-menu,
  .gva_menu > li.gva-mega-menu:hover > .sub-menu,
  .gva_menu > li.mega-menu-block:hover > .sub-menu,
  .gva_menu_main > li:hover > .sub-menu,
  .gva_menu_main > li:hover > ul.menu,
  ul.gva_menu > li:hover > ul.sub-menu,
  ul.gva_menu > li:hover > div.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Megamenu column children - always visible once parent is hovered */
  .gva_menu > li.megamenu:hover > .sub-menu > li > ul,
  .gva_menu > li.gva-mega-menu:hover > .sub-menu > li > ul,
  .megamenu > .sub-menu > li > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
  }
}
