/* Custom Style all Sites (globally) */
h3, .h3 {
  font-size: 1.9rem;
}

.path-frontpage .content #block-particle-page-title {
  display: none;
}

a.navbar-brand h1.title-site {
  margin: 0;
}

/* Filters productos */
.views-exposed-form-filters-form details {
  padding-left: 40px;
}

.views-exposed-form-filters-form .form-checkboxes .bef-checkboxes.bef-nested ul {
  list-style: none;
  display: flex;
  flex-flow: wrap;
}

.views-exposed-form-filters-form .form-checkboxes .bef-checkboxes.bef-nested ul .form-group {
  position: relative;
}

.views-exposed-form-filters-form .form-checkboxes input.form-checkbox {
  width: auto;
  margin-right: auto;
  margin-top: 9px;
  float: left;
  position: absolute;
  margin-left: -20px;
}

.views-exposed-form-filters-form .form-checkboxes label.option {
  max-width: 90%;
}

@media screen and (min-width: 992px) {
  .views-exposed-form-filters-form .form-item-created-min > label,
  .views-exposed-form-filters-form .form-item-created-max > label {
    line-height: 2.8;
  }
}
@media screen and (max-width: 991.98px) {
  .views-exposed-form-filters-form details {
    padding-left: 15px;
  }
}

@media screen and (min-width: 768px) {
  .node figure.align-center img,
  .section figure.align-center img,
  .paragraph figure.align-center img {
    max-width: none !important;
  }
  .node figure.wrap-normal img,
  .section figure.wrap-normal img,
  .paragraph figure.wrap-normal img {
    max-width: none !important;
  }
}

@media screen and (max-width: 767.98px) {
  .node figure.align-center img,
  .section figure.align-center img,
  .paragraph figure.align-center img {
    max-width: 100% !important;
  }
  .node figure.wrap-normal img,
  .section figure.wrap-normal img,
  .paragraph figure.wrap-normal img {
    max-width: 100% !important;
  }
}
/* End globally */

/********************* Custom Glass (nga) */
/*body.nationalglassassociation #cookiescript_injected {
    display: none !important;
}*/

.nationalglassassociation .navbar.nav-primary.navbar-light .navbar-nav .nav-link:hover{
    text-decoration: underline;
    color: #0073B9;
}

@media screen and (min-width: 1200px) {

    .nationalglassassociation .d-none {
    display: block !important;
    }
    .nationalglassassociation .navbar-search{
    top: 60px !important;
    }

}

.nationalglassassociation .event-full .event-item .registration .grid-item.no-gutters > div.item__title:last-child,
.nationalglassassociation .event-full .event-item .registration .grid-item.no-gutters > div.item__price:last-child {
  display: none !important;
}

.nationalglassassociation .card-group .card-title a,
.nationalglassassociation .card-group-inside .card-title a {
  font-weight: bold;
  color: #777777;
  outline: none;
}
.nationalglassassociation .card-group .card-title a:focus,
.nationalglassassociation .card-group-inside .card-title a:focus,
.nationalglassassociation .card-group .card-title a:hover,
.nationalglassassociation .card-group-inside .card-title a:hover {
  color: #0073b9;
  outline: none;
}

.nationalglassassociation .card.image-left.blue .card-wrapper h3 {
  color: #0073B9;
  transition: all 0.3s ease-in;
  text-transform: initial;
  font-size: 2rem;
  margin-bottom: 0.75rem;
}

.nationalglassassociation .card.image-left.blue .card-wrapper:hover h3,
.nationalglassassociation .card.image-left.blue .card-wrapper:hover h4 {
  color: #ffffff;
}

@media screen and (min-width: 1200px) {
  .nationalglassassociation .nav-primary.navbar ul.nav.navbar-nav li.utility {
    display: none !important;
  }
}

@media screen and (max-width: 1199.98px) {
  .nationalglassassociation .whats-new-list__list .card .card-body .card-title {
    font-size: 1.5rem !important;
    padding: 0 5px;
  }

  .nationalglassassociation #navbarSupportedContent li.dropdown.utility {
    display: block;
    margin: 0 auto;
    max-width: 100%;
  }

  .nationalglassassociation #navbarSupportedContent li.dropdown.utility div.dropdown-menu {
    font-size: 16px;
    max-width: 100%;
  }

  .nationalglassassociation #navbarSupportedContent li.dropdown.utility a {
    text-align: center;
    border: none;
    max-width: 100%;
    width: 100%;
  }

  .nationalglassassociation #navbarSupportedContent li.custom.utility {
    display: block;
    text-align: center;
    margin: 0 auto;
  }

}
.nationalglassassociation .upcoming-events-list .calendar__item__container .calendar__item-title {
  color: #000000;
  font-family: "Lato",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 26px !important;
  text-transform: none;
}

@media screen and (min-width: 941px) {
  .nationalglassassociation .nav-primary.navbar ul.nav.navbar-nav li.utility {
    display: none !important;
  }
}

@media screen and (min-width: 800px) and (max-width: 940px) {
  .nationalglassassociation header.header > div.primary_menu .nav-item.dropdown {
    display: none !important;
  }
}

@media screen and (max-width: 767.98px) {
  .nationalglassassociation .upcoming-events-list .calendar__item__container .calendar__item-title {
    font-size: 1em !important;
    margin-top: 1em;
  }

  .nationalglassassociation header.header > div.primary_menu {
    overflow: hidden;
  }
}

@media screen and (max-width: 800px) {
  .nationalglassassociation header.header > div.primary_menu .nav-item.custom a {
    font-size: 13px;
    padding-left: 9px;
    padding-right: 9px;
  }
  .nationalglassassociation header.header > div.primary_menu .nav-item.dropdown {
    display: none !important;
  }
  .nationalglassassociation header.header > div.primary_menu .nav-item.dropdown .dropdown-toggle {
    font-size: 13px;
  }
}

@media screen and (max-width: 479.98px) {
  .nationalglassassociation .navbar.navbar-image .navbar-brand.NationalGlassAssociation img {
    width: 235px !important;
  }
}

@media screen and (max-width: 360px) {
  .nationalglassassociation .navbar.navbar-image .navbar-brand.NationalGlassAssociation img {
    width: 180px !important;
  }
}

.nationalglassassociation .nav-submenu__close.nav-submenu__back svg{
  position: absolute;
  right: 100px;
}
/*
.nationalglassassociation .nav-submenu{
  position: fixed;
  top: 60px;
  height: 1000px;
}
*/

.nationalglassassociation .nav-submenu ul li a:hover{
  text-decoration: underline;
  color: #0073B9;
}

.nationalglassassociation .user-logout-confirm .form-actions.form-group{
    display: flex;
    column-gap: 1rem;
}

/* hide confirm block text */
.nationalglassassociation form.user-logout-confirm{
  color: #fff;
}

/* End nga */
/********************* Custom glassmagazine ***********************/

.glassmagazine .block--menu-our-other-sites h4 {
  display: none;
}

.glassmagazine .in-this-issue.in-this-issue--primary-block h2.title-section {
  color: #000000;
  font-family: "Bebas Neue", cursive;
  font-weight: normal;
  font-size: 26px;
  line-height: 26px;
}

.glassmagazine .in-this-issue.in-this-issue--primary-block .content h3 {
  margin-bottom: 0;
}

.glassmagazine .in-this-issue.in-this-issue--primary-block .content h3,
.glassmagazine .in-this-issue.in-this-issue--primary-block .content h3 a {
  color: #FFFFFF;
  font-size: 3rem;
  font-family: "Bebas Neue", cursive;
}

.glassmagazine .in-this-issue.in-this-issue--primary-block .content h3 a:hover,
.glassmagazine .in-this-issue.in-this-issue--primary-block .content h3 a:focus {
  color: #1f3467 !important;
}

.glassmagazine .news--block.js-news-exists h2.card-group__header {
  color: #FFFFFF;
  font-family: "Bebas Neue", cursive;
  font-weight: normal;
  font-size: 26px;
  line-height: 39px;
  margin: 0;
}

.glassmagazine .card-group .card-text h3,
.glassmagazine .card-group-inside .card-text h3 {
  font-size: 1.5rem;
}

.glassmagazine a:focus,
.glassmagazine a:hover,
.glassmagazine a:active {
  text-decoration: none;
  color: #00BDF2 !important;
  outline: none;
}

.glassmagazine .event-full__date {
  color: #009cc8;
}

.glassmagazine .author-content__name a,
.glassmagazine .author ul li a {
  color: #009cc8;
  text-decoration: none;
}

/* titles Sections */
.glassmagazine.path-not-frontpage .section h3.title-content,
.glassmagazine .section h3.title-content,
.glassmagazine.path-frontpage .section h3.title-section {
  font-family: "Bebas Neue", cursive;
  font-size: 4rem;
  margin-bottom: 2rem;
}

.glassmagazine .newsletter h3.title-content,
.glassmagazine .newsletter h3.title-section {
  margin-bottom: 0;
}

.glassmagazine .popular_topics h3.title-section {
  color: #ffffff;
}

.glassmagazine .section-background-primary h3 {
  color: #ffffff;
}

.glassmagazine .form-group .sidebar .links-group h3 {
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  text-transform: none;
}

.glassmagazine .form-group .sidebar .links-group h3 a {
  font-family: "Roboto", sans-serif;
}

/* color captions images */
/* .glassmagazine .card.inside .card-taxonomy-group {
	color: #777777;
}

.glassmagazine .card-group .card-title a,
.glassmagazine .card-group-inside .card-title a {
	color: #777777;
} */
/*subtitles*/

.glassmagazine .products--page .row h3,
.glassmagazine .products--page .row h3 a {
  font-family: "Roboto", sans-serif !important;
  font-size: 1.25rem !important;
}
.glassmagazine .upcoming-events-list .calendar__item__container .calendar__item-title {
  color: #000000;
  font-family: "Bebas Neue", cursive;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
}

@media screen and (min-width: 992px) {
  .glassmagazine .node--article .heading .subtitle,
  .glassmagazine .node--blog .heading .subtitle,
  .glassmagazine .node--news .heading .subtitle {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 991.98px) {
  .glassmagazine .node--article .heading .subtitle,
  .glassmagazine .node--blog .heading .subtitle,
  .glassmagazine .node--news .heading .subtitle {
    font-size: 1.25rem !important;
  }
}

@media screen and (max-width: 767.98px) {
  .glassmagazine.path-not-frontpage h3.title-content,
  .glassmagazine .section h3.title-content,
  .glassmagazine.path-frontpage .section h3.title-section {
    font-size: 1.75rem !important;
  }

  .glassmagazine .upcoming-events-list .calendar__item__container .calendar__item-title {
    font-size: 1rem !important;
    margin-top: 1em;
  }
}

.glassmagazine .block--menu-social .icons-list .icon{
  font-size: 1.5rem;
}

.glassmagazine .block--menu-social .icons-list .icon.fa-facebook-f{
  padding-left: 0.2rem;
}

/* End glassmagazine */

/********************* Custom glassbuildamerica ***********************/

.glassbuildamerica .block--menu--our-other-sites h4 {
  display: none;
}
/* titles sections */
.glassbuildamerica h3.title-content,
.glassbuildamerica h3.title-section {
  font-size: 2.75rem;
}

.glassbuildamerica .newsletter h3.title-content,
.glassbuildamerica .newsletter h3.title-section {
  color: #ffffff;
}

.glassbuildamerica .section-background-primary h3 {
  color: #ffffff;
}

.glassbuildamerica .block-follow-up h3 {
  color: #fff;
  text-align: center;
}
.glassbuildamerica .block-follow-up h3 span {
  color: #6bc4f0;
}

.glassbuildamerica .navbar-search__icon{
  color: #fff;
}

.glassbuildamerica .navbar-toggler{
  color: #fff !important;
  line-height: 0 !important;
}

.glassbuildamerica section#nav-mobile {
  min-height: 0 !important;
}

.glassbuildamerica .nav-link{
  padding: 0.5rem 0.5rem !important;
}

i.fas.fa-bars{
  font-size: 48px;
}

@media (max-width: 560px) {

  .glassbuildamerica .nav-link{
    padding: 0.2rem !important;
  }

  .nav-item.utility{
    font-size: 0.7em;
  }

  nav{
    height: auto;
  }
}

@media (max-width: 1199.98px) {

  .glassbuildamerica #block-ngaeventregistrationblock {
    top: 0px;
    position: fixed;
    right: 0;
    width: 100% !important;
  }

  .glassbuildamerica #block-ngaeventregistrationblock .event--registration #banner-button-sticky,
  .glassbuildamerica #block-ngaeventregistrationblock .event--registration{
    width: 100% !important;
  }

  .glassbuildamerica .header > div.primary_menu {
      display: none !important;
  }
  .glassbuildamerica .primary_menu {
    padding-top: 0 !important;
  }
  .navbar{
    padding: 0 1rem 1rem;
  }
  .top-utility-bar ul{
    justify-content: center !important;
  }

  .glassbuildamerica .primary_menu .navbar .navbar-search{
    right: 5%;
  }
}

/* End glassbuildamerica */

/********************* Custom windowdoor ***********************/
.myglassclass a:focus,
.windowdoor a:focus {
  text-decoration: none;
  color: #1f3467 !important;
}

.windowdoor .block--menu-our-other-sites h4 {
  display: none;
}

.windowdoor .in-this-issue.in-this-issue--primary-block h2.title-section {
  color: #1f3467;
  font-family: "Lato", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 26px;
}

.windowdoor .in-this-issue.in-this-issue--primary-block .content h3 {
  margin-bottom: 0;
}
.windowdoor .in-this-issue.in-this-issue--primary-block .content h3,
.windowdoor .in-this-issue.in-this-issue--primary-block .content h3 a {
  color: #FFFFFF;
  font-size: 2.75rem;
  font-family: "Open Sans", sans-serif;
}

.windowdoor .in-this-issue.in-this-issue--primary-block .content h3 a:hover,
.windowdoor .in-this-issue.in-this-issue--primary-block .content h3 a:focus {
  color: #1f3467;
}

.windowdoor .popular-topics .card-group__body.horizontal h3.card-title a {
  color: #FFFFFF;
}

.windowdoor .popular-topics .card-group__body.horizontal h3.card-title a:hover,
.windowdoor .popular-topics .card-group__body.horizontal h3.card-title a:focus {
  color: #009bdf !important;
}

.windowdoor .news--block.js-news-exists h2.card-group__header {
  color: #FFFFFF;
  font-family: "Lato", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 39px;
  margin: 0;
}

.windowdoor .news--block .card-group .card-text h3,
.windowdoor .news--block .card-group .card-text h3 a {
  color: #0073b9 !important;
  font-size: 1.5rem;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  text-transform: none;
}

.windowdoor .card.inside .image-wrapper .card-taxonomy {
  color: #fff !important;
  background-color: #0073B9 !important;
}

.windowdoor #flockler-embed-178f55f5d9a07a3ff76fbbb30f4f3840 a.flockler-btn-load-more {
  font-size: 1em;
  font-weight: 600;
}

.windowdoor #flockler-embed-178f55f5d9a07a3ff76fbbb30f4f3840 a.flockler-btn-load-more:hover,
.windowdoor #flockler-embed-178f55f5d9a07a3ff76fbbb30f4f3840 a.flockler-btn-load-more:focus {
  background: #1f3467 !important;
  color: #fff !important;
}

/* color captions images */
/* .windowdoor .card.inside .card-taxonomy-group {
	color: #777777;
}

.windowdoor .card-group .card-title a,
.windowdoor .card-group-inside .card-title a {
	color: #777777;
} */

/* topics */
.windowdoor .node--article .heading .topic span a:focus,
.windowdoor .node--blog .heading .topic span a:focus,
.windowdoor .node--news .heading .topic span a:focus,
.windowdoor .node--article .heading .topic span a:hover,
.windowdoor .node--blog .heading .topic span a:hover,
.windowdoor .node--news .heading .topic span a:hover {
  background-color: #0073b9 !important;
  color: #fff !important;
}

/* titles sections */
.windowdoor.path-not-frontpage h3.title-content,
.windowdoor .section h3.title-content,
.windowdoor.path-frontpage .section h3.title-section {
  font-family: "Open Sans", sans-serif;
  font-size: 4rem;
  margin-bottom: 2rem;
}
.windowdoor .newsletter h3.title-content,
.windowdoor .newsletter h3.title-section {
  margin-bottom: 0;
}

.windowdoor .popular_topics h3.title-content,
.windowdoor .popular_topics h3.title-section {
  color: #ffffff;
}

.windowdoor .section-background-primary h3 {
  color: #ffffff;
}

.windowdoor .form-group .sidebar .links-group h3 {
  font-family: "Open Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: none;
}

.windowdoor .form-group .sidebar .links-group h3 a {
  font-family: "Open Sans", sans-serif;
}

.windowdoor .products--page h3,
.windowdoor .products--page h3 a {
  font-size: 1.25rem !important;
  font-family: "Lato", Roboto, "Helvetica Neue", Arial, sans-serif;
  text-transform: none;
  text-transform: initial;
}

.myglassclass .btn-primary:hover,
.myglassclass .btn-outline-primary:hover,
.myglassclass .btn-outline-primary:focus,
.windowdoor .btn-primary:hover,
.windowdoor .btn-outline-primary:hover,
.windowdoor .btn-outline-primary:focus {
  color: #ffffff !important;
  background-color: #1f3467;
  border-color: #1f3467;
}

.views-block--issues-most-current-issue-block .footer-issue-block img {
  margin: 0 !important;
}

.windowdoor .upcoming-events-list .calendar__item__container .calendar__item-title {
  color: #1f3467;
  font-family: "Open Sans", sans-serif;
  font-size: 26px !important;
  font-weight: 800;
  line-height: 26px !important;
  text-transform: none;
}

.windowdoor .block--menu-social .icons-list .icon{
  font-size: 1.4rem;
}

.windowdoor .block--menu-social .icons-list .icon.fa-facebook-f{
  padding-left: 0.3rem;
}

@media screen and (max-width: 767.98px) {
  .windowdoor.path-not-frontpage h3.title-content,
  .windowdoor .section h3.title-content,
  .windowdoor.path-frontpage .section h3.title-section {
    font-size: 1.75rem !important;
  }
  .windowdoor .in-this-issue.in-this-issue--primary-block .content h3,
  .windowdoor .in-this-issue.in-this-issue--primary-block .content h3 a {
    font-size: 1.75rem !important;
  }
  .windowdoor .upcoming-events-list .calendar__item__container .calendar__item-title {
    font-size: 1em !important;
    margin-top: 1em;
  }
}

/* End windowdoor */

/* my glass fab */

.myglassfab h1,
.myglassfab h2,
.myglassfab h3,
.myglassfab h4,
.myglassfab h5,
.myglassfab h6{
  text-transform: none;
  text-transform: initial;
}

.myglassfab .region-header-cta.header_cta{
  width: 100%;
    clear: both;
    display: block;
    overflow: hidden;
    margin: 20px auto;
    max-width: 1200px;
}

.myglassfab a {
  text-decoration: none;
  color: #0073b9;
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu{
  max-width: 1200px;
    margin: 0 auto;
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: flex-start;
  flex-flow: wrap column;
}

@media (min-width: 992px){

  .myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul {
      flex-flow: wrap row;
  }

}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li {
  border: 1px solid #0073b9;
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li a{
  background-color: transparent !important;
  color: #0073b9;
  font-size: .8em;
  font-weight: 700;
  padding: 10px 15px;
  border-bottom: 4px solid #fff;
  display: block;
  width: 100%;
  text-transform: uppercase;
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li:last-child a{
  background-color: #0073b9 !important;
  border-bottom: 4px solid #0e1b3b;
  color: #fff !important;
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li a:hover{
  background-color: #0073b9 !important;
  border-bottom: 4px solid #0e1b3b;
  color: #fff !important;
  text-decoration: none;
}

@media (min-width: 992px){
  .myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li a {
    font-size: 19px;
    min-width: 180px;
    text-align: center;
  }
}

.myglassfab #block-views-block-menu-node-block-1 .views-field-field-menu ul li a {
  background-color: transparent !important;
  color: #0073b9;
  font-size: .8em;
  font-weight: 700;
  padding: 10px 15px;
  border-bottom: 4px solid #fff;
  display: block;
  width: 100%;
  text-transform: uppercase;
}

.myglassfab .footer a{
  color: #CBE5F2;
  text-decoration: none;
  font-style: normal !important;
}

.myglassfab .footer a:hover {
  text-decoration: underline;
  color: #CBE5F2 !important;
}

/* end my glass fab */

.icons-list .icon.md{
  width: auto;
}

.accordion .accordion-btn{
  display: inline !important;
    max-width: 130px !important;
    width: auto !important;
    padding: 0px !important;
    border: none !important;
    margin-bottom: 0.5rem !important;
}

.accordion .accordion-btn-wrapper{
  color: #0073B9;
  text-align: right !important;
}

.glassmagazine .accordion .accordion-btn{
  margin-bottom: -0.2rem !important;
}


.section.section-container .paragraph--type--section-container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.section.section-container:nth-of-type(even) {
  position: relative;
}

.section.section-container:nth-of-type(even):before {
    content:"";
    background-color: rgba(0, 0, 0, 0.05);
    position: absolute;
    height: 100%;
    width: 4000px;
    left: -2000px;
    z-index: -1;
}

.section.section-container .paragraph--type--card-with-overlay-group {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.section.section-container .paragraph--type--card-with-overlay-group .card-overlay-wrapper {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.section.section-container .paragraph--type--card-with-overlay-group .card-overlay-text {
  color: white;
  font-weight: bold;
  padding: 2rem;
  margin: 2rem auto;
  max-width: 60rem;
  background-color: rgba(26,49,63,.75);
}

.section.section-container .paragraph--type--card-with-overlay-group a:hover .card-overlay-text {
  scale: 1.05;
}

ul.checkmarks {
  list-style: none;
}

ul.checkmarks li:before {
  content: '✓';
  padding-right: 0.25rem;
}

/* ==========================================================================
   GBA 2026 presentation refresh (WEB_HOMEPAGE_V3 / WEB_INTERNAL_PAGE_V2)
   Scoped to the .glassbuildamerica body class so other sites are unaffected.
   ========================================================================== */

@font-face {
  font-family: 'Zalando Sans';
  src: url('/themes/custom/nga_theme/apps/drupal/fonts/zalando/ZalandoSans-Variable.ttf') format('truetype-variations');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Zalando Sans Expanded';
  src: url('/themes/custom/nga_theme/apps/drupal/fonts/zalando/ZalandoSansExpanded-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Zalando Sans Expanded';
  src: url('/themes/custom/nga_theme/apps/drupal/fonts/zalando/ZalandoSansExpanded-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

.glassbuildamerica,
.glassbuildamerica body,
.glassbuildamerica p,
.glassbuildamerica a,
.glassbuildamerica li,
.glassbuildamerica input,
.glassbuildamerica button,
.glassbuildamerica select,
.glassbuildamerica textarea,
.glassbuildamerica .form-control {
  font-family: 'Zalando Sans', 'Fira Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.glassbuildamerica h1,
.glassbuildamerica h2,
.glassbuildamerica h3,
.glassbuildamerica h4,
.glassbuildamerica h5,
.glassbuildamerica h6,
.glassbuildamerica .h1,
.glassbuildamerica .h2,
.glassbuildamerica .h3,
.glassbuildamerica .h4,
.glassbuildamerica .h5,
.glassbuildamerica .h6,
.glassbuildamerica .display-1,
.glassbuildamerica .display-2,
.glassbuildamerica .display-3,
.glassbuildamerica .display-4,
.glassbuildamerica .card-title,
.glassbuildamerica .section-title,
.glassbuildamerica .page-title,
.glassbuildamerica .title-site,
.glassbuildamerica .navbar-brand {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', 'Fira Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Page hero / big title bars (Registration-style blue header) */
.glassbuildamerica .page-hero,
.glassbuildamerica .hero-banner,
.glassbuildamerica .block-page-title-block,
.glassbuildamerica #block-particle-page-title {
  background-color: #0D2F50;
  color: #fff;
}

.glassbuildamerica .page-hero h1,
.glassbuildamerica .hero-banner h1,
.glassbuildamerica .block-page-title-block h1,
.glassbuildamerica #block-particle-page-title h1,
/* Homepage gutenberg hero: <h1> sits inside #hero .hero-caption and ships
   the Gutenberg preset class `.has-max-108-font-size` (= font-size:92px),
   which is what was overriding the responsive ramp on the homepage. Add
   #hero h1 to this selector group so the homepage gets the same static
   desktop size + vw ramp as every other GBA hero. !important is needed
   to defeat the preset's inlined cascade. */
.glassbuildamerica.page-node-type-gutenberg-page #hero h1 {
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-weight: 900;
  color: #fff;
  /* Static 6rem above 1280px; below 1280px the @media block further down
     ramps it down with vw. Keeping a flat value here (instead of the prior
     clamp(3rem, 7vw, 6rem)) means the desktop size sits exactly at 96px
     across all viewport widths >=1280px, so the transition into the vw
     ramp at 1280px is seamless (7.5vw == 96px at 1280px). */
  font-size: 6rem !important;
  line-height: 1.05;
}

/* Gutenberg (homepage) scrolled header: translucent blue glass, no logo
   over-shrink. On gutenberg pages the entire <header class="header"> IS
   the navbar (no utility bar / hero inside it), so we can glass the whole
   element. On other content types, the corresponding sticky-nav rule lives
   below and targets only the navbar portion of the header. */
body.glassbuildamerica.nav-bg.page-node-type-gutenberg-page header.header,
body.glassbuildamerica.page-node-type-gutenberg-page header.header.active {
  background-color: rgba(6, 111, 182, 0.8) !important;
  border-radius: 15px !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
}
body.glassbuildamerica.nav-bg.page-node-type-gutenberg-page header.header .primary_menu a.navbar-brand,
body.glassbuildamerica.page-node-type-gutenberg-page header.header.active .primary_menu a.navbar-brand {
  max-width: 170px !important;
}

/* Drop the inherited 1px header border on the gutenberg-page (homepage)
   so the glass panel reads as a single rounded card. */
.page-node-type-gutenberg-page header.header {
  border: 0px solid transparent !important;
}

.page-node-type-gutenberg-page .base-navigation-right .menu-auxilliary {
  margin-right: 20px;
  margin-left: 20px;
}

/* Primary CTA / buttons - orange accent from the design */
.glassbuildamerica .btn-primary,
.glassbuildamerica .button--primary,
.glassbuildamerica .paragraph--type--button-group .btn-primary,
.glassbuildamerica a.btn-primary {
  background-color: #F15A24;
  border-color: #F15A24;
  color: #fff;
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 0;
}

.glassbuildamerica .btn-primary:hover,
.glassbuildamerica .button--primary:hover,
.glassbuildamerica a.btn-primary:hover {
  background-color: #D14A18;
  border-color: #D14A18;
  color: #fff;
}

/* Secondary (dark navy outlined) buttons used in the sub-nav bar */
.glassbuildamerica .btn-secondary,
.glassbuildamerica .button--secondary,
.glassbuildamerica a.btn-secondary {
  background-color: #0D2F50;
  border-color: #0D2F50;
  color: #fff;
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 0;
}

.glassbuildamerica .btn-secondary:hover,
.glassbuildamerica a.btn-secondary:hover {
  background-color: #091E35;
  border-color: #091E35;
  color: #fff;
}

/* Main nav / header bar - typography only (no bg override) */
.glassbuildamerica header,
.glassbuildamerica .navbar,
.glassbuildamerica .main-header,
.glassbuildamerica header a,
.glassbuildamerica .navbar a,
.glassbuildamerica .main-header a,
.glassbuildamerica header .nav-link,
.glassbuildamerica .navbar .nav-link,
.glassbuildamerica header .menu-item a,
.glassbuildamerica .navbar .menu-item a {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
  font-stretch: 125% !important;
}

/* "Follow #GlassBuild" teal accent band (used on sections with this class) */
.glassbuildamerica .section-follow,
.glassbuildamerica .social-band {
  background-color: #00A8B5;
  color: #fff;
}

/* "By the Numbers" light-blue stats band */
.glassbuildamerica .section-stats,
.glassbuildamerica .stats-band {
  background-color: #4E92D1;
  color: #fff;
}

.glassbuildamerica .section-stats .stat-number,
.glassbuildamerica .stats-band .stat-number {
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1;
}

/* "Thank You Sponsors" dark band and footer */
.glassbuildamerica .section-sponsors,
.glassbuildamerica .sponsors-band,
.glassbuildamerica footer,
.glassbuildamerica .footer,
.glassbuildamerica .site-footer {
  background-color: #0D2F50;
  color: #fff;
}

.glassbuildamerica .section-sponsors h2,
.glassbuildamerica .sponsors-band h2 {
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-weight: 900;
  text-align: center;
}

/* Article card tops use orange / teal / light blue accent strips */
.glassbuildamerica .paragraph--type--card .card,
.glassbuildamerica .card-article {
  border: 0;
  border-top: 6px solid #F15A24;
  border-radius: 0;
}

.glassbuildamerica .paragraph--type--card:nth-child(4n+2) .card,
.glassbuildamerica .card-article:nth-child(4n+2) {
  border-top-color: #00A8B5;
}

.glassbuildamerica .paragraph--type--card:nth-child(4n+3) .card,
.glassbuildamerica .card-article:nth-child(4n+3) {
  border-top-color: #4E92D1;
}

.glassbuildamerica .paragraph--type--card:nth-child(4n+4) .card,
.glassbuildamerica .card-article:nth-child(4n+4) {
  border-top-color: #0D2F50;
}

/* Inline links in body copy */
.glassbuildamerica .content a,
.glassbuildamerica .field-item a,
.glassbuildamerica p a {
  color: #1A4C81;
  text-decoration: underline;
}

.glassbuildamerica .content a:hover,
.glassbuildamerica p a:hover {
  color: #F15A24;
}

/* ---- Hero intro block (homepage) ----
   Width is inherited from the surrounding section/container to match the nav's
   Bootstrap .container width (responsive: 540 / 720 / 960 / 1140 / 1320 / 1600).
   No arbitrary pixel max-widths. */

/* Gutenberg #hero uses content-spacing-none (no section-content padding).
   At xl+ the GlassBuild navbar has no horizontal padding; the brand sits in
   `.container` (max-width 1700, centered) with gutter padding only. Match that
   with `.section-content` alone (see min-width 1200 rule below). Below 1200px,
   `.navbar { padding: 0 1rem 1rem; }` applies, so mirror that outer inset on
   `.section-inner` here only. */
@media (max-width: 1199.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #hero .section-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }
}
.glassbuildamerica.page-node-type-gutenberg-page #hero .section-content {
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
  box-sizing: border-box !important;
}

/* Constrained layout can impose a sub-width; keep hero copy on the same
   left edge as the navbar-brand column. */
.page-node-type-gutenberg-page .section#hero .hero-caption,
.page-node-type-gutenberg-page .section#hero .hero-caption > .wp-block-group__inner-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.glassbuildamerica .section.content-spacing-normal > .section-inner > .section-content {
  max-width: 100% !important;
}

/* Hero copy: vertically center between the bottom of the fixed/overlay nav
   and the bottom of #hero (not the raw box center, which reads too high).
   With padding-top = navInset + padY and padding-bottom = padY, flex
   justify-content:center places the block midpoint at (navBottom + heroBottom)/2.
   Spacer removed; .hero-info-left keeps the padding-bottom-12-rem utility. */
.glassbuildamerica #hero .section-content > .wp-block-spacer {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #hero {
  --gba-hero-padding-y: clamp(1.5rem, 2.5vw, 2.5rem);
  /* Visual height of the navbar band over the hero (logo + primary row). */
  --gba-hero-nav-inset: clamp(5.5rem, 11vh, 7.25rem);
  /* Main hero band (excluding section top/bottom padding). Slightly taller
     than 425px so copy can breathe under the nav. */
  --gba-hero-main-band: 460px;
  --gba-hero-total-height: calc(var(--gba-hero-main-band) + (var(--gba-hero-padding-y) * 2));
  height: var(--gba-hero-total-height) !important;
  max-height: none !important;
  min-height: var(--gba-hero-total-height) !important;
  overflow: hidden !important;
  position: relative !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #hero .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #hero .section-content {
  height: 100% !important;
  min-height: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #hero .hero-info {
  height: 100% !important;
  min-height: 0 !important;
  width: 100% !important;
  margin: 0 auto;
  max-width: 1800px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #hero .hero-info-left {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  height: 100% !important;
  min-height: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #hero .bckgrnds,
.glassbuildamerica.page-node-type-gutenberg-page #hero .bckgrnds-inner,
.glassbuildamerica.page-node-type-gutenberg-page #hero .bckgrnd,
.glassbuildamerica.page-node-type-gutenberg-page #hero .bckgrnd-inner,
.glassbuildamerica.page-node-type-gutenberg-page #hero .bckgrnd-image {
  bottom: 0 !important;
  height: 100% !important;
  left: 0 !important;
  min-height: 100% !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
}
.glassbuildamerica #hero .hero-info-left.padding-bottom-12-rem {
  padding-top: calc(var(--gba-hero-nav-inset) + var(--gba-hero-padding-y)) !important;
  padding-bottom: var(--gba-hero-padding-y) !important;
  margin-left: 50px !important;
  margin-right: 50px !important;
}

/* Pack primary nav items to the right, flush against the search icon.
   Bootstrap ships `justify-content-around` on the UL (spreads items across
   the UL's full width) plus an 80px right margin, which leaves a large
   visual gap between "EXHIBITORS & PRODUCTS" and the magnifier. Collapse
   both: right-align items, trim the margin, use a reasonable inter-item gap. */
/* Primary nav (SHOW INFO / EDUCATION & EVENTS / EXHIBITORS & PRODUCTS):
   right-aligned, never wraps, search icon stays on the same row.
   Gap, font-size, and padding scale linearly with viewport width (vw). */
.glassbuildamerica nav.navbar.navbar-image ul.navbar-nav.justify-content-around {
  justify-content: flex-end !important;
  margin-right: 1vw !important;
  gap: 1.5vw !important;
  flex-wrap: nowrap !important;
}
.glassbuildamerica nav.navbar.navbar-image ul.navbar-nav.justify-content-around > li.nav-item {
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.glassbuildamerica nav.navbar.navbar-image ul.navbar-nav.justify-content-around > li.nav-item > a.nav-link {
  white-space: nowrap !important;
  font-size: 0.9vw !important;
  padding-left: 1.75rem !important;
  padding-right: 1.75rem !important;
}
/* The base theme positions .navbar-search absolutely (right: 7%) so it
   sits on top of the nav items instead of beside them. Pin the container
   into the flex flow ALWAYS - same physical slot, active or not - so the
   layout never shifts when the user expands the search. When active, the
   magnifier stays in place but fades to invisible (opacity, no display
   change) and the input + close overlay on top of/leftward from the slot. */
.glassbuildamerica nav.navbar.navbar-image .navbar-search {
  position: relative !important;
  inset: auto !important;
  width: 2.5vw !important;
  min-width: 28px !important;
  height: 2.5vw !important;
  min-height: 28px !important;
  flex: 0 0 auto !important;
  margin-left: 1vw !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.glassbuildamerica nav.navbar.navbar-image .navbar-search > form {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica nav.navbar.navbar-image .navbar-search .navbar-search__icon {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.15s ease !important;
}

/* Collapsed state: input + close hidden so the slot only shows the icon. */
.glassbuildamerica nav.navbar.navbar-image .navbar-search:not(.active) .input-search,
.glassbuildamerica nav.navbar.navbar-image .navbar-search:not(.active) .close-search__icon {
  display: none !important;
}

/* Active state: keep the icon physically in its slot (no display change)
   but make it invisible and inert. Overlay the input + close on top. */
.glassbuildamerica nav.navbar.navbar-image .navbar-search.active .navbar-search__icon {
  opacity: 0 !important;
  pointer-events: none !important;
}
.glassbuildamerica nav.navbar.navbar-image .navbar-search.active .input-search {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: calc(100% + 0.5rem) !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 50vw !important;
  max-width: calc(100vw - 8rem) !important;
  height: auto !important;
  padding: 0.5rem 1rem !important;
  margin: 0 !important;
  text-indent: 0 !important;
  z-index: 10 !important;
}
.glassbuildamerica nav.navbar.navbar-image .navbar-search.active .close-search__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 11 !important;
}

/* Eyebrow utility bar (BOOK HOTEL / REGISTER / EXHIBIT / EXHIBITOR LOGIN):
   never wraps, vertical padding fluid, font-size + gap scale with vw. */
.glassbuildamerica .top-utility-bar ul.nav.primary {
  flex-wrap: nowrap !important;
  gap: 1.5vw !important;
}
.glassbuildamerica .top-utility-bar ul.nav.primary > li.nav-item {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
/* Bundled app.styles.css ships `.nav-item.utility:last-child { margin-right: 5em }`
   which adds an unexplained 80px right margin to the last utility item. Kill it. */
.glassbuildamerica .nav-item.utility:last-child {
  margin-right: 0 !important;
}
.glassbuildamerica .top-utility-bar ul.nav.primary > li.nav-item > a.nav-link {
  white-space: nowrap !important;
  /* 18px floor per design: at 1640px viewport 1.1vw == 18.04px, so above that
     we keep the responsive ramp; below it we hold at 18px. */
  font-size: max(18px, 1.1vw) !important;
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
  padding-left: 0.9rem !important;
  padding-right: 0.9rem !important;
  line-height: 1.2 !important;
  border-radius: 10px !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}

/* Pill hover: fills the link with the GBA orange but stays inside the navy
   bar. The bar gets `overflow: hidden` as a backstop in case any future copy
   pushes the anchor's box height past the bar's flex line. */
.glassbuildamerica .top-utility-bar {
  overflow: hidden !important;
}
.glassbuildamerica .top-utility-bar ul.nav.primary > li.nav-item > a.nav-link:hover,
.glassbuildamerica .top-utility-bar ul.nav.primary > li.nav-item > a.nav-link:focus,
.glassbuildamerica .top-utility-bar ul.nav.primary > li.nav-item > a.nav-link:focus-visible {
  background-color: #CC642E !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  outline: none !important;
}


/* Main hero title "GlassBuild America" - Zalando Sans Expanded Black, mixed case */
.glassbuildamerica .hero-info .wp-block-heading,
.glassbuildamerica .hero-info h1.wp-block-heading,
.glassbuildamerica .hero-info .has-anton-font-family,
.glassbuildamerica h1.has-anton-font-family {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 900 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
  color: #fff !important;
}

/* Intro paragraph under the title */
.glassbuildamerica .hero-info p,
.glassbuildamerica .hero-info .has-normal-font-size {
  font-family: 'Zalando Sans', sans-serif !important;
  font-weight: 400 !important;
  font-stretch: 100% !important;
  color: #fff !important;
  line-height: 1.45 !important;
  font-size: 1.5rem !important;
  max-width: 60ch !important;
}
@media (max-width: 767.98px) {
  .glassbuildamerica .hero-info p,
  .glassbuildamerica .hero-info .has-normal-font-size {
    font-size: 1.125rem !important;
  }
}

/* Hero date line - dots separator, Zalando Sans wide 700, normal case */
.glassbuildamerica .hero-caption ul.hero-date-line,
.glassbuildamerica .hero-caption ul.is-style-inline-dots {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem 1rem !important;
}

.glassbuildamerica .hero-caption ul.hero-date-line li,
.glassbuildamerica .hero-caption ul.hero-date-line li strong,
.glassbuildamerica .hero-caption ul.is-style-inline-dots li,
.glassbuildamerica .hero-caption ul.is-style-inline-dots li strong {
  font-family: 'Zalando Sans', sans-serif !important;
  font-weight: 700 !important;
  font-stretch: 125% !important;
  text-transform: none !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.glassbuildamerica .hero-caption ul.hero-date-line li,
.glassbuildamerica .hero-caption ul.is-style-inline-dots li {
  font-size: 1.5rem !important;
}
.glassbuildamerica .hero-caption ul.hero-date-line li.has-small-font-size,
.glassbuildamerica .hero-caption ul.is-style-inline-dots li.has-small-font-size {
  font-size: 1.5rem !important;
}
@media (max-width: 767.98px) {
  .glassbuildamerica .hero-caption ul.hero-date-line li,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li,
  .glassbuildamerica .hero-caption ul.hero-date-line li.has-small-font-size,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li.has-small-font-size {
    font-size: 1.125rem !important;
  }
}

/* Below 800px the hero copy column gets squeezed enough that the date line
   reads better centered under the (also-narrowing) h1, instead of staying
   left-flush. Center the flex items + their text run; the parent's
   `flex-wrap: wrap` already lets a multi-item line break gracefully if
   needed. */
@media (max-width: 800px) {
  .glassbuildamerica .hero-caption ul.hero-date-line,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Dot separator after every item except the last */
.glassbuildamerica .hero-caption ul.hero-date-line li:not(:last-child)::after,
.glassbuildamerica .hero-caption ul.is-style-inline-dots li:not(:last-child)::after {
  content: '\00B7' !important;
  display: inline-block !important;
  margin-left: 1rem !important;
  font-weight: 700 !important;
  font-size: 1.5em !important;
  line-height: 1 !important;
  opacity: 0.9 !important;
}

/* Below 680px the date line wraps to three stacked lines, where the inline
   bullet separators end up trailing each line and read as orphan
   punctuation. Hide them at this width; the line breaks already
   communicate the segmentation. */
@media (max-width: 680px) {
  .glassbuildamerica .hero-caption ul.hero-date-line li:not(:last-child)::after,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li:not(:last-child)::after {
    content: none !important;
  }
}

/* Wider container max-width at xl+ breakpoints */
@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 1700px !important;
  }

  /* Hero content column: same max-width and centering as `.container` inside padded nav.
     Do not cap `.section-inner`; that centers in the full viewport and skews vs the logo.
     Outer 1rem on `.section-inner` matches `nav.navbar` padding. */
  .glassbuildamerica #hero .section-content {
    max-width: 1700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1200px) {
  .glassbuildamerica #hero .section-content {
    max-width: 1800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ---- Interior page header rearrangement ----
   Target layout: main nav -> hero with page title overlaid -> utility bar -> content
   The existing DOM order is: utility bar -> main nav -> hero -> (.container containing title + content).
   We use flex-direction:column with `order` to re-sequence header children,
   and a negative top margin on the page title so it visually overlays the hero.

   Originally scoped to basic_page + event only, but every interior GBA page
   ships the same `.hero.gba` + `#block-particle-page-title` + utility-menu
   markup (news nodes, news/inside-glassbuild listings, taxonomy term pages,
   webform/form routes like /contact-us). Scope by `:not(.path-frontpage)` so
   they all read consistently; the homepage's gutenberg `#hero` is governed
   by its own block higher up and is excluded by the negation. */

.glassbuildamerica:not(.path-frontpage) header.header {
  display: flex !important;
  flex-direction: column !important;
}

/* Breathing room between the rearranged header and the body content on
   any GBA page that is NOT the homepage. Direct-child selector so we hit
   only the content `.container` that's a sibling of `<header>`, NOT any
   nested `.container` inside the navbar (Bootstrap's nav uses an inner
   `.container` and was getting padded too with a descendant combinator). */
body.glassbuildamerica:not(.path-frontpage) main#main-content > .dialog-off-canvas-main-canvas > .container {
  padding-top: 60px !important;
}

.glassbuildamerica:not(.path-frontpage) header.header > * {
  order: 5;
}
.glassbuildamerica:not(.path-frontpage) header.header #nav-mobile {
  order: 1 !important;
}
.glassbuildamerica:not(.path-frontpage) header.header .hero {
  order: 2 !important;
}
.glassbuildamerica:not(.path-frontpage) header.header .region-secondary-menu {
  order: 3 !important;
}

/* Hide event date / subtitle on interior hero. The page title is rendered
   server-side as the jumbotron's natural <h1> inside .jumbotron-content
   (see page--front--gba.html.twig), so we keep .jumbotron-content visible
   and only suppress the .lead.subtitle paragraph
   ("Sept. 23-25 | Las Vegas, NV"). */
.glassbuildamerica:not(.path-frontpage) .hero.gba .lead.subtitle {
  display: none !important;
}

/* Utility bar: dark navy strip, uppercase Zalando Expanded, centered items */
.glassbuildamerica:not(.path-frontpage) .region-secondary-menu {
  background-color: #0D2F50 !important;
}
.glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar {
  background-color: #0D2F50 !important;
}
.glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar ul.nav {
  justify-content: center !important;
}
.glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar .nav-link {
  color: #fff !important;
  text-transform: uppercase !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 1.25rem 2rem !important;
  font-size: 36px !important;
  line-height: 1.1 !important;
}

/* Interior subnav (BOOK HOTEL / REGISTER / EXHIBIT / EXHIBITOR LOGIN) on
   tablet/mobile: 2 buttons per row. The desktop rules force `flex-wrap:
   nowrap` and a 36px font, which would overflow the viewport horizontally;
   we override to a 2-column grid with a wrapping-friendly font size. */
@media (max-width: 1199.98px) {
  .glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar {
    overflow: visible !important;
    padding: 0 !important;
  }
  .glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar ul.nav.primary {
    align-items: stretch !important;
    display: grid !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    width: 100% !important;
  }
  .glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar ul.nav.primary > li.nav-item {
    flex: 0 0 auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    white-space: normal !important;
    width: 100% !important;
  }
  .glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar ul.nav.primary > li.nav-item > a.nav-link {
    border-radius: 8px !important;
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    line-height: 1.2 !important;
    padding: 0.85rem 0.75rem !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
  }
}

/* Smaller mobile: stack to a single column. */
@media (max-width: 479.98px) {
  .glassbuildamerica:not(.path-frontpage) .region-secondary-menu .top-utility-bar ul.nav.primary {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* The page title is rendered server-side as the jumbotron's natural <h1>
   inside .jumbotron-content (see page--front--gba.html.twig). Override the
   base .jumbotron.gba flex alignment (which pins content to the bottom for
   the gutenberg homepage hero) so on interior pages the H1 sits centered in
   the hero band. The hero is `position: relative` already from the base
   .jumbotron rule, so .jumbotron-content stacks naturally above the
   absolutely-positioned .jumbotron-image. */
.glassbuildamerica:not(.path-frontpage) .hero.gba {
  position: relative !important;
}
.glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron.gba {
  align-content: center !important;
  align-items: center !important;
  justify-content: center !important;
}
.glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron-content {
  position: relative !important;
  width: 100% !important;
  padding: 0 1rem !important;
  text-align: center !important;
  background: transparent !important;
  background-color: transparent !important;
  z-index: 1 !important;
}
.glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron-content h1 {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-transform: none !important;
  /* Static 6rem above 1280px; the @media (max-width: 1280px) block further
     down scales this with vw on narrower viewports. */
  font-size: 6rem !important;
  line-height: 1 !important;
  margin: 0 auto !important;
  max-width: 1280px !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* ---- Hero typography vw ramp (<= 1280px) ----
 *
 * Above 1280px the hero h1 sits at its static 6rem (96px) max and the
 * subtitle/date line at 1.5rem (24px). Below 1280px we want the headline
 * (and on the homepage the dotted date line) to scale down continuously
 * with the viewport so the hero stays balanced on laptop screens.
 *
 * Math:
 *   - 7.5vw   == 96px at 1280px == 6rem  -> seamless h1 transition
 *   - 1.875vw == 24px at 1280px == 1.5rem -> seamless subtitle transition
 *
 * Each value is wrapped in clamp() with a floor so the type stays legible
 * on the smallest phones; the floors are higher than the existing 767.98px
 * mobile overrides for the date line below would otherwise dictate, but
 * the dedicated max-width:767.98px media query later in this file still
 * wins on phones via source order + equal specificity.
 */
@media (max-width: 1280px) {
  .glassbuildamerica .page-hero h1,
  .glassbuildamerica .hero-banner h1,
  .glassbuildamerica .block-page-title-block h1,
  .glassbuildamerica #block-particle-page-title h1,
  .glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron-content h1,
  /* Homepage gutenberg hero -- the <h1> here carries the
     `.has-max-108-font-size` Gutenberg preset which would otherwise pin
     the size at 92px across every viewport. Including the selector here
     (with !important on the value) brings the homepage into the same
     vw-driven ramp as every other GBA hero. */
  .glassbuildamerica.page-node-type-gutenberg-page #hero h1 {
    font-size: clamp(2.25rem, 7.5vw, 6rem) !important;
  }
  /* Match the specificity of the existing
     `.hero-caption ul.hero-date-line li.has-small-font-size` rule
     (which ships from the gutenberg block as `has-small-font-size`)
     -- without the `.has-small-font-size` class qualifier the
     existing static 1.5rem rule wins via higher specificity and the
     date line stays pinned at 24px through the entire ramp. */
  .glassbuildamerica .hero-caption ul.hero-date-line li,
  .glassbuildamerica .hero-caption ul.hero-date-line li strong,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li strong,
  .glassbuildamerica .hero-caption ul.hero-date-line li.has-small-font-size,
  .glassbuildamerica .hero-caption ul.hero-date-line li.has-small-font-size strong,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li.has-small-font-size,
  .glassbuildamerica .hero-caption ul.is-style-inline-dots li.has-small-font-size strong {
    font-size: clamp(1.125rem, 1.875vw, 1.5rem) !important;
  }
}

/* >= 1200px: interior hero is 500px tall (per design). The primary nav is
   absolutely positioned over the top 136px of the hero at this breakpoint,
   so the content needs padding-top equal to the nav height for its true
   visual center to land in the area the user actually sees. */
@media (min-width: 1200px) {
  .glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron.gba.not-front,
  .glassbuildamerica:not(.path-frontpage) .jumbotron.gba.not-front {
    height: 500px !important;
  }
  .glassbuildamerica:not(.path-frontpage) .hero.gba .jumbotron-content {
    padding-top: 136px !important;
  }
}

/* < 1200px: ensure the hero image fully fills the jumbotron (it can
   collapse to 0 height at narrower widths because .jumbotron-image is
   height: auto and the inner img is position: absolute - pin both
   explicitly to the jumbotron's box). */
@media (max-width: 1199.98px) {
  .glassbuildamerica .hero.gba .jumbotron {
    position: relative !important;
  }
  .glassbuildamerica .hero.gba .jumbotron .jumbotron-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .glassbuildamerica .hero.gba .jumbotron .jumbotron-image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* =========================================================================
   GBA PRIMARY NAV MEGAMENU - 2026 redesign
   Fixes, in order:
   1) Panel no longer spans full viewport; constrained and centered under nav.
   2) Active trigger gets color shift + thicker underline when panel is open.
   3) Items with children show an animated down caret that flips when open.
   4) Rebuilt column layout with CSS grid so headers/links stop busting out.
   5) Submenu typography resets font-stretch to 100% (fixes inherited 125%).
   6) Close button repositioned to top-right with proper hit target.
   7) Smooth fade+slide transitions replace the hard display:none/block swap.
   8) Clear hierarchy: panel title is Expanded display, column headers are
      small uppercase eyebrows, links are regular weight.
   ========================================================================= */

/* 1 + 7: Panel shell, animated open/close. JS (custom-script.js >
   gbaMegaMenuAlign) handles horizontal alignment by right-anchoring the
   panel to the clicked trigger, so CSS only owns vertical slide + fade.
   `position: fixed` sidesteps the 0x0 nav.navbar containing-block quirk. */
.glassbuildamerica li.nav-item > .nav-submenu {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: fixed !important;
  top: 140px;
  left: 16px;
  right: auto !important;
  transform: translateY(-8px);
  width: min(1100px, calc(100vw - 2rem)) !important;
  max-width: calc(100vw - 2rem) !important;
  padding: 2.25rem 2.5rem 2rem !important;
  background-color: #fff !important;
  border-radius: 10px !important;
  box-shadow:
    0 24px 48px -12px rgba(13, 47, 80, 0.28),
    0 4px 12px -4px rgba(13, 47, 80, 0.12) !important;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0s linear 0.22s !important;
  z-index: 1000 !important;
}
.glassbuildamerica li.nav-item > .nav-submenu.expanded {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0s linear 0s !important;
}

/* 6: Close button inside the panel, top-right, square hit area, plain X
   drawn via two rotated pseudo-elements (no FontAwesome circle icon).
   High-specificity selector beats the base theme's
   `.page-node-type-gutenberg-page nav[role="navigation"] .nav-submenu
   .nav-submenu__close { margin: -50px auto 5px !important }` from
   gba/mdg/css/layout.css, which was yanking the button outside the panel. */
body.glassbuildamerica nav[role="navigation"] .nav-submenu .nav-submenu__close.nav-submenu__back,
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back {
  position: absolute !important;
  top: 0.85rem !important;
  right: 0.85rem !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 2rem !important;
  height: 2rem !important;
  display: block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: #6b7a8a !important;
  cursor: pointer !important;
  border-radius: 4px !important;
  background: transparent !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
  z-index: 6 !important;
  text-align: center !important;
}
body.glassbuildamerica nav[role="navigation"] .nav-submenu .nav-submenu__close.nav-submenu__back:hover,
body.glassbuildamerica nav[role="navigation"] .nav-submenu .nav-submenu__close.nav-submenu__back:focus-visible,
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back:hover,
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back:focus-visible {
  color: #0D2F50 !important;
  background-color: rgba(13, 47, 80, 0.08) !important;
  outline: none !important;
}
/* Hide the FontAwesome circle-X icon; we draw a plain X in pure CSS. */
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back .icon,
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back i {
  display: none !important;
}
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back::before,
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.05rem;
  height: 2px;
  background-color: currentColor;
  border-radius: 1px;
  transform-origin: center;
}
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* Hide the mobile-only back arrow on desktop (duplicate on desktop). */
@media (min-width: 992px) {
  .glassbuildamerica .nav-submenu > .nav-submenu__back:not(.nav-submenu__close) {
    display: none !important;
  }
}

/* 4: Panel title wrapper. No Bootstrap row/col nonsense, just a plain
   block element flush-left with the panel's padding edge. */
.glassbuildamerica .nav-submenu > .nav-submenu__title {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
.glassbuildamerica .nav-submenu > br {
  display: none !important;
}

/* 8: Panel title, Expanded display, brand navy. Block-level, flush-left,
   no accent underline, so it aligns horizontally with the column headers
   and link list below it. */
.glassbuildamerica .nav-submenu h5 {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.35rem !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: #0D2F50 !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;
}
.glassbuildamerica .nav-submenu h5::after,
.glassbuildamerica .nav-submenu h5::before {
  content: none !important;
  display: none !important;
}

/* 4: Column container, CSS grid with auto-fit so 3 or 4 columns lay out
   cleanly without offset hacks. Overrides col-md-6 offset-md-2 d-flex. */
.glassbuildamerica .nav-submenu > .row,
.glassbuildamerica .nav-submenu > .row > [class*="col-"],
.glassbuildamerica .nav-submenu > .row > .nav-submenu__container,
.glassbuildamerica .nav-submenu > .row > .col-md-4 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --bs-gutter-x: 0 !important;
}
.glassbuildamerica .nav-submenu > .row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.glassbuildamerica .nav-submenu .nav-submenu__container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 1.5rem 2rem !important;
  flex: 1 1 auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
/* Let the optional .col-md-4 CTA section tuck below on narrow widths. */
.glassbuildamerica .nav-submenu > .row > .col-md-4 {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.glassbuildamerica .nav-submenu > .row > .col-md-4:empty {
  display: none !important;
}

/* Reset each submenu-list flex-basis math, grid handles layout. */
.glassbuildamerica .nav-submenu ul.nav-submenu-list {
  flex-basis: auto !important;
  width: auto !important;
  padding: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  margin: 0 !important;
  margin-inline-start: 0 !important;
  list-style: none !important;
}
.glassbuildamerica .nav-submenu ul.nav-submenu-list li {
  margin: 0 0 0.35rem !important;
  padding-left: 0 !important;
  list-style: none !important;
}

/* 5 + 8: Column header typography, small uppercase "eyebrow" style.
   Reset the inherited font-stretch:125% from .navbar a, use regular Zalando.
   Kill the base theme dotted underline in favor of a thin accent rule. */
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child {
  margin-bottom: 0.6rem !important;
  padding-bottom: 0.55rem !important;
  border-bottom: 1px solid rgba(13, 47, 80, 0.14) !important;
}
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child a.nav-header {
  display: block !important;
  text-decoration: none !important;
  border: none !important;
  padding: 0 !important;
}
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child a.nav-header h6,
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child h6 {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 800 !important;
  font-stretch: 100% !important;
  font-size: 0.78rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #0D2F50 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  border: none !important;
}

/* 5: Submenu link typography, regular Zalando Sans, NOT the 125% stretch
   that .glassbuildamerica .navbar a forces globally. Hover: orange + nudge.
   `display: block` + `overflow-wrap` keeps long titles (e.g. "Inside
   GlassBuild: Industry Perspectives") inside their grid column. */
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:not(:first-child) a {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 500 !important;
  font-stretch: 100% !important;
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: #2b3a4a !important;
  text-transform: none !important;
  text-decoration: none !important;
  padding: 0.35rem 0 !important;
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:not(:first-child) a:hover,
.glassbuildamerica .nav-submenu ul.nav-submenu-list li:not(:first-child) a:focus-visible,
body.glassbuildamerica .page-node-type-gutenberg-page nav[role="navigation"] .nav-submenu ul.nav-submenu-list li:not(:first-child) a:hover,
body.glassbuildamerica .page-node-type-gutenberg-page nav[role="navigation"] .nav-submenu ul.nav-submenu-list li:not(:first-child) a:focus-visible {
  color: #CC642E !important;
  background-color: transparent !important;
  background: transparent !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
  transform: none !important;
  outline: none !important;
}

/* Fallback single-column list variant (when no child columns exist). */
.glassbuildamerica .nav-submenu .nav-submenu__container > ul:not(.nav-submenu-list) {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  column-count: 2;
  column-gap: 2rem;
}
.glassbuildamerica .nav-submenu .nav-submenu__container > ul:not(.nav-submenu-list) li a {
  font-family: 'Zalando Sans', sans-serif !important;
  font-weight: 500 !important;
  font-stretch: 100% !important;
  color: #2b3a4a !important;
  text-transform: none !important;
}

/* 2: Hover state on primary nav triggers renders as a #CC642E rounded
   rectangle (15px) with white text + white caret. Active (panel-open) state
   uses the same locked box geometry but with transparent background so the
   original blue-bar color shows through. Padding + border locked on EVERY
   state so the box never shifts the layout. */
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link:hover,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link:focus,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link.expanded,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item:has(> .nav-submenu.expanded) > a.nav-link {
  padding: 0.5rem 1.6rem !important;
  border: 0 solid transparent !important;
  border-bottom: 0 solid transparent !important;
  border-radius: 15px !important;
  box-sizing: border-box !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}
.glassbuildamerica header.header nav[role="navigation"] ul > li > a.nav-link:hover,
.glassbuildamerica header.header nav[role="navigation"] ul > li > a.nav-link:focus,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link:hover,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link:focus {
  background-color: #CC642E !important;
  color: #ffffff !important;
  text-decoration: none !important;
  outline: none !important;
}
/* Active / panel-open: no background, keep default trigger color. */
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item > a.nav-link.expanded,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item:has(> .nav-submenu.expanded) > a.nav-link {
  background-color: transparent !important;
  text-decoration: none !important;
  outline: none !important;
}

/* 3: Down caret on triggers that have a submenu. Uses :has() (Chrome 105+,
   Safari 15.4+, Firefox 121+ = the browsers the audience uses). Caret is a
   CSS-only chevron that flips 180deg when the panel is open. */
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item:has(> .nav-submenu) > a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45em !important;
}
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item:has(> .nav-submenu) > a.nav-link::after {
  content: '';
  display: inline-block;
  width: 0.48em;
  height: 0.48em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-0.15em) rotate(45deg);
  transition: transform 0.22s ease;
  flex-shrink: 0;
}
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item:has(> .nav-submenu.expanded) > a.nav-link::after {
  transform: translateY(0.08em) rotate(-135deg);
}

/* Positioning context: the panel must anchor to the full-width navbar, not
   to the intermediate `.navbar-collapse.justify-content-end` wrapper (which
   is right-aligned via flex and would push the panel off-screen on narrower
   viewports). Force every potentially-positioned intermediate ancestor to
   `static` so `nav.navbar` wins as the containing block. */
.glassbuildamerica nav.navbar {
  position: relative !important;
}
.glassbuildamerica nav.navbar > .container,
.glassbuildamerica nav.navbar .navbar-collapse,
.glassbuildamerica nav.navbar .navbar-nav,
.glassbuildamerica nav.navbar .navbar-nav > li.nav-item {
  position: static !important;
}

/* Mobile (under lg): stack panel inline, drop the centered-overlay trick. */
@media (max-width: 991.98px) {
  .glassbuildamerica li.nav-item > .nav-submenu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    left: auto !important;
    top: auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 1.25rem 1.25rem 1.5rem !important;
  }
  .glassbuildamerica li.nav-item > .nav-submenu.expanded {
    transform: none !important;
  }
  .glassbuildamerica .nav-submenu .nav-submenu__container {
    grid-template-columns: 1fr !important;
    gap: 1.75rem 0 !important;
  }
  .glassbuildamerica .nav-submenu h5 {
    font-size: 1.25rem !important;
    margin: 0 0 1.25rem 0 !important;
  }
  /* Column header separator looks noisy on mobile right next to the h5
     accent; drop the hairline and lean on typography + spacing instead. */
  .glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child {
    border-bottom: none !important;
    padding-bottom: 0.35rem !important;
    margin-bottom: 0.45rem !important;
  }
  .glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child a.nav-header h6,
  .glassbuildamerica .nav-submenu ul.nav-submenu-list li:first-child h6 {
    font-size: 0.72rem !important;
    color: #6b7a8a !important;
  }
  body.glassbuildamerica nav[role="navigation"] .nav-submenu .nav-submenu__close.nav-submenu__back,
  body.glassbuildamerica .nav-submenu .nav-submenu__close.nav-submenu__back {
    top: 0.5rem !important;
    right: 0.5rem !important;
  }
}

/* ---- GBA Gutenberg: scrollbar/overflow defaults restored.
   Per user request, do not override html/body overflow or webkit scrollbar
   pseudo-elements here. Full-bleed 100vw strips are kept inside their own
   sections; if horizontal overflow appears, fix it on the offending strip. */

/* ---- About-GBA nav band: full-viewport CTA strip, outside content max-width.
   Server-side: NgaThemeHelperGbaAboutCtaExtrude (nga_theme_helper) splits the
   Gutenberg wrapper so `.about-gba-nav` is not in the same div as `#about-us`.
   Left column (social) hidden. Four equal-width buttons, fluid label size. */
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  background-color: #1D64A1 !important;
  padding: clamp(0.75rem, 2vw, 1.35rem) clamp(0.4rem, 1.2vw, 0.85rem) !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}
.glassbuildamerica #about-us,
.glassbuildamerica #about-us .section-inner,
.glassbuildamerica #about-us .section-content,
.glassbuildamerica #about-us .section-interior,
.glassbuildamerica #about-us .section-interior > .wp-block-group__inner-container {
  overflow: visible !important;
}
/* Inner wrapper: cap to 1800px and gutter 40px so the CTA grid aligns with content. */
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav > .wp-block-group__inner-container {
  max-width: 1800px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .wp-block-columns.base-navigation {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .wp-block-column.base-navigation-left {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .wp-block-column.base-navigation-right {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right .block--menu-auxilliary-menu h2 {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(0.35rem, 1.2vw, 0.85rem) !important;
  align-items: stretch !important;
  width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  min-width: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: clamp(2.75rem, 5.5vw, 4.25rem) !important;
  padding: clamp(0.45rem, 1.2vw, 0.95rem) clamp(0.25rem, 0.8vw, 0.65rem) !important;
  box-sizing: border-box !important;
  background-color: #F5E6D3 !important;
  color: #CC642E !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(0.62rem, 0.55vw + 0.58rem, 1.2rem) !important;
  letter-spacing: clamp(0.02em, 0.12vw, 0.06em) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: center !important;
  line-height: 1.15 !important;
  hyphens: auto !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  border-radius: clamp(10px, 1.2vw, 16px) !important;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul li a:hover,
.glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul li a:focus-visible {
  background-color: #CC642E !important;
  color: #F5E6D3 !important;
  transform: translateY(-1px) !important;
}
@media (max-width: 767.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 479.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav .base-navigation-right ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ---- GBA #about-us: cream "What is GlassBuild America?" feature (re-skin).
   Markup stays in Gutenberg; this overrides nested groups / blue section / junk. */
.glassbuildamerica.page-node-type-gutenberg-page #about-us.section {
  background: #F2EBE3 !important;
  color: #1a1a1a !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .section-inner {
  background: transparent !important;
  max-width: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .section-content {
  padding-top: clamp(2.25rem, 4.5vw, 4rem) !important;
  padding-bottom: clamp(2.25rem, 4.5vw, 4rem) !important;
  padding-left: clamp(1rem, 4vw, 3rem) !important;
  padding-right: clamp(1rem, 4vw, 3rem) !important;
  max-width: min(1700px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .section-interior,
.glassbuildamerica.page-node-type-gutenberg-page #about-us .section-interior .wp-block-group__inner-container {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .bckgrnds {
  display: none !important;
}
/* Legacy: CTA used to sit inside #about-us; extrude now keeps it in a sibling wrapper. */
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-nav {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content {
  margin-top: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  align-items: center !important;
  margin: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left,
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-column.about-gba-content-left {
  max-width: none !important;
  margin-left: 0 !important;
  flex-basis: auto !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-right {
  margin-left: 0 !important;
  padding: 0 !important;
  flex-basis: auto !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-image img,
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left img {
  border-radius: 28px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-group.is-layout-constrained,
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-right .wp-block-group {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content h2.wp-block-heading {
  color: #1D64A1 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(1.65rem, 1rem + 2.2vw, 2.65rem) !important;
  line-height: 1.15 !important;
  margin: 0 0 1.15rem !important;
  text-transform: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content h2.wp-block-heading br {
  display: none !important;
}
/* Match hero intro subtext ( .hero-info p ): Zalando Sans 400, 1.5rem / 1.45; keep dark copy on cream. */
.glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content p {
  color: #1a1a1a !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-weight: 400 !important;
  font-stretch: 100% !important;
  font-size: 1.5rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: 60ch !important;
}
@media (max-width: 767.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content p {
    font-size: 1.125rem !important;
  }
}
/* ---- #about-us responsive stack (<=1080px) ----
 *
 * Above 1080px the section is a 2-column grid (image left, copy right).
 * From 1080px down the column gets too narrow to give the square 1997x1997
 * crowd photo justice and the headline + paragraph start running into a
 * pillar-width column. Stack to a single column and reframe the image as
 * a 5:3 landscape (3x5 index card) crop so it still feels editorial -- the
 * source is square, but `object-fit: cover` center-crops cleanly.
 *
 * Image max-width is pinned at 720px so on tablet widths the photo doesn't
 * stretch to the full text column; the figure is centered above the copy
 * with a comfortable bottom margin.
 */
@media (max-width: 1080px) {
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: clamp(1rem, 3vw, 2rem) !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left,
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-column.about-gba-content-left {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left .showcase-image,
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left figure.wp-block-image {
    margin: 0 !important;
    width: 100% !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content .wp-block-image img,
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-left img {
    aspect-ratio: 5 / 3 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #about-us .about-gba-content-right {
    width: 100% !important;
  }
}

/* ---- GBA #why-attend: hero-glass background + icon row. */
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.why-attend-showcase {
  background-color: #1D64A1 !important;
  background-image:
    linear-gradient(90deg, rgba(29, 100, 161, 0.98) 0%, rgba(29, 100, 161, 0.9) 46%, rgba(9, 84, 145, 0.78) 100%),
    url('/sites/gba/files/2026-02/web_hero_2500x900_v2.png') !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #f8f1e8 !important;
  overflow: hidden !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.why-attend-showcase .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.why-attend-showcase .section-content {
  background: transparent !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-panel {
  width: min(1640px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(3.25rem, 6.5vw, 6rem) clamp(1.25rem, 4vw, 4rem) clamp(3rem, 5vw, 5rem) !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-title {
  color: #f8f1e8 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(2.4rem, 1.2rem + 4vw, 5rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.25rem) !important;
  text-transform: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-intro {
  color: #f8f1e8 !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(1.05rem, 0.75rem + 0.95vw, 1.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  max-width: 72rem !important;
  margin: 0 auto clamp(2.25rem, 4vw, 4rem) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 2.4rem) !important;
  align-items: start !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-item {
  color: #f8f1e8 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 0 !important;
}
/* Each inline SVG hard-codes its two-color palette (#FB9D3A orange +
   #F2EFE5 cream) so we deliberately don't set `color` here -- the SVGs
   ignore currentColor. CSS owns sizing and the icon's bottom margin only. */
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon {
  width: clamp(4rem, 6vw, 6.8rem) !important;
  height: clamp(4rem, 6vw, 6.8rem) !important;
  margin-bottom: clamp(0.65rem, 1.4vw, 1.1rem) !important;
  display: block !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-item p {
  color: #f8f1e8 !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(0.95rem, 0.55rem + 0.85vw, 1.35rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  max-width: 14rem !important;
}

/* ---- GBA #why-attend: scroll-triggered staggered reveal. */
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-title,
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-intro,
.glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-icon-item {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  will-change: opacity, transform;
}
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-title.gba-why-visible,
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-intro.gba-why-visible,
.glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-item.gba-why-visible {
  animation: gbaWhyAttendReveal 0.7s cubic-bezier(0.22, 0.85, 0.34, 1) forwards;
}
@keyframes gbaWhyAttendReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-title,
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-intro,
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend.gba-why-pending .why-attend-icon-item {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 1199.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    row-gap: 2.5rem !important;
  }
}
@media (max-width: 767.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 479.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #why-attend .why-attend-icon-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ---- GBA standalone video marquee under Why Attend. */
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee.gba-video-marquee-section {
  background: #F2EBE3 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .section-content,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .gba-video-marquee-wrap,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .wp-block-drupalblock-views-block-video-carousel-block-1,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .form-group,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .video-carousel-showcase {
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-screen-wrap {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .sldr {
  display: block !important;
  height: 650px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .gba-video-marquee-viewport {
  height: 100% !important;
  overflow: hidden !important;
  width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .gba-video-marquee-track {
  align-items: stretch !important;
  display: flex !important;
  gap: 30px !important;
  height: 100% !important;
  will-change: transform !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .gba-video-marquee-item {
  flex: 0 0 auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video-wrap,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap > a,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap figure {
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap > a {
  display: block !important;
  pointer-events: none !important;
}
/* Suppress the base-theme :before whitewash overlay on video cards inside the
   marquee too, otherwise images get a faint translucent wash. */
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video-wrap::before,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video-wrap:hover::before,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video-wrap.active::before {
  background: transparent !important;
  content: none !important;
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap figure {
  align-items: stretch !important;
  display: flex !important;
  overflow: hidden !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video img,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap figure img {
  display: block !important;
  height: 650px !important;
  min-height: 650px !important;
  max-width: none !important;
  width: auto !important;
  object-fit: cover !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .video-card-copy,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap .title,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap .description,
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap .read-more {
  display: none !important;
}
/* Below 1200px the marquee starts shrinking with the viewport. The base
   rules pin the slider + each card image at 650px, which is fine on wide
   desktops but leaves the block disproportionately tall on narrow
   layouts. We swap the fixed 650px height for `clamp(220px, 54vw, 650px)`
   so:
     - at 1200px we land exactly on 54vw == 648px (no visible jump from
       the unmediaqueried 650px),
     - then it scales linearly with the viewport down to a 220px floor
       on small phones.
   The `min-height` on the card <img> is updated to match so the
   `object-fit: cover` framing stays consistent. */
@media (max-width: 1200px) {
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee .sldr,
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video img,
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap figure img {
    height: clamp(220px, 54vw, 650px) !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-video img,
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee .carousel-news-wrap figure img {
    min-height: clamp(220px, 54vw, 650px) !important;
  }
}
@media (max-width: 991.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee.gba-video-marquee-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}
@media (max-width: 575.98px) {
  .glassbuildamerica.page-node-type-gutenberg-page #video-marquee.gba-video-marquee-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

/* ---- GBA Multimedia: pill toggle + card presentation. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia.gba-multimedia-showcase {
  background: #F2EBE3 !important;
  color: #17324a !important;
}
/* Both tab panels stay laid out at full container width so Slick measures
 * correctly on init. The inactive panel is removed from flow via absolute
 * positioning and visually hidden, never display:none, to avoid the upstream
 * jam-up / re-flow glitch on tab change. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content {
  position: relative !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content > *,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content > *.inactive {
  display: block !important;
  transition: opacity 180ms ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content > *:not(.active) {
  left: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  visibility: hidden !important;
  z-index: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content > .active {
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  visibility: visible !important;
  z-index: 1 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia.gba-multimedia-showcase .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia.gba-multimedia-showcase .section-content {
  background: transparent !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia.gba-multimedia-showcase .section-content {
  max-width: min(1500px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 4rem) !important;
  box-sizing: border-box !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation-wrap {
  margin-bottom: clamp(2.25rem, 4vw, 3.75rem) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(1rem, 3vw, 3rem) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation li {
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a {
  align-items: center !important;
  background: #1D64A1 !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  color: #F5E6D3 !important;
  display: inline-flex !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(1rem, 0.7rem + 0.8vw, 1.45rem) !important;
  font-weight: 900 !important;
  justify-content: center !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  min-height: clamp(3.25rem, 5.4vw, 4.5rem) !important;
  min-width: clamp(10rem, 20vw, 17rem) !important;
  outline: 0 !important;
  padding: 0 clamp(2rem, 3vw, 3.25rem) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: background-color 150ms ease, color 150ms ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation li,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation li.clicked {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation li.clicked a,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a:focus-visible {
  background: #17324a !important;
  color: #F5E6D3 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-content {
  margin-top: 0 !important;
}
/* Mobile: keep VIDEOS / NEWS pills side-by-side and centered.
   The upstream mdg_gutenberg/tabs/dist/tabs.css ships a
   `@media (max-width:781px) { ... .tabs-navigation li { width:100% } }`
   rule that forces each <li> to fill its row, which is what makes the
   pills stack on mobile. We override that here with `width: auto` and
   also drop the 10rem min-width floor + tighten padding/gap so the two
   short labels (VIDEOS / NEWS) fit on a single centered row down to
   ~320px. The breakpoint matches the upstream rule (781px) so the
   override fully covers it. */
@media (max-width: 781px) {
  .glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation {
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation-wrap .tabs-navigation li,
  .glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation li {
    width: auto !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #multimedia .tabs-navigation a {
    min-width: 0 !important;
    padding: 0 1.25rem !important;
    min-height: 2.75rem !important;
    font-size: 1rem !important;
  }
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-screen-wrap {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .sldr {
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-list {
  /* margin rules removed per request */
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-slide {
  box-sizing: border-box !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap {
  background: transparent !important;
  display: block !important;
  height: 100% !important;
  width: 100% !important;
  align-items: initial !important;
  justify-content: initial !important;
  position: relative !important;
}
/* The base SCSS adds a :before whitewash overlay on .carousel-video-wrap that
   sits on top of the inner <a>, blocking clicks AND making video cards look
   visually different from news cards. Suppress it inside #multimedia so video
   cards behave and look identical to news cards. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap::before,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap:hover::before,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap:focus::before,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap.active::before {
  background: transparent !important;
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}
/* Zero out the left/right padding the base theme bakes onto the card text
   block so title, description, and CTA align flush with the thumbnail edge. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .description,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .description p,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .description,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .description p,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .read-more {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a {
  color: #17324a !important;
  display: block !important;
  justify-content: flex-start !important;
  position: relative !important;
  text-decoration: none !important;
  z-index: 2 !important;
}
/* Ensure the inner .carousel-video element (if present from old templates)
   doesn't add its own border / hover halo / fixed height. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap .carousel-video,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap:hover .carousel-video {
  border: 0 !important;
  height: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a.align-cta-bottom {
  display: block !important;
  justify-content: flex-start !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap figure,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video {
  aspect-ratio: 1.08 / 1 !important;
  border-radius: 18px !important;
  display: block !important;
  margin: 0 0 clamp(0.6rem, 1vw, 1rem) !important;
  overflow: hidden !important;
  width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap figure img,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video img {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .title {
  color: #1D64A1 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(1.05rem, 0.7rem + 0.8vw, 1.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  margin: 0 0 0.35rem !important;
  text-transform: none !important;
}

.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap .title .external-icon {
  color: currentColor;
  display: inline-block;
  height: 0.7em;
  margin-left: 0.35em;
  vertical-align: baseline;
  width: 0.7em;
}
/* Hide the decorative icon inside the marquee gallery (those cards are not
   clickable, so the affordance would be misleading). */
.glassbuildamerica.page-node-type-gutenberg-page #video-marquee .external-icon {
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .description,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .description {
  margin: 0 0 0.45rem !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .description p,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .description p {
  color: #000000 !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(1rem, 0.85rem + 0.35vw, 1.25rem) !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .description {
  color: #000000 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .read-more {
  bottom: auto !important;
  color: #1D64A1 !important;
  display: inline-block !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(1rem, 0.85rem + 0.35vw, 1.25rem) !important;
  font-weight: 700 !important;
  left: auto !important;
  letter-spacing: 2px !important;
  line-height: 1.35 !important;
  position: static !important;
  right: auto !important;
  text-decoration: none !important;
  top: auto !important;
}
/* Multimedia (news/video) carousel arrows: match the social-feed flickity
   arrows. 52x52 orange circle, white chevron drawn as an SVG background so it
   renders identically to the social arrows (no slick font-icon weirdness). */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-prev,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next {
  background-color: #F15A24 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='65,10 75,20 45,50 75,80 65,90 25,50' fill='%23ffffff'/></svg>") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: 38% 38% !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
  box-sizing: border-box !important;
  display: block !important;
  font-size: 0 !important;
  height: 52px !important;
  line-height: 0 !important;
  margin: 0 !important;
  min-height: 52px !important;
  min-width: 52px !important;
  outline: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) scale(1) !important;
  transition: transform 0.18s ease, background-color 0.25s ease, box-shadow 0.25s ease !important;
  width: 52px !important;
  z-index: 5 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow.slick-next {
  transform: translateY(-50%) scale(1) rotate(180deg) !important;
}
/* Hide slick's built-in font-icon arrow now that we render an SVG ourselves. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow::before,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-prev::before,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next::before {
  content: '' !important;
  display: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow.slick-disabled {
  opacity: 0.35 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow:hover,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow:focus,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow:focus-visible {
  background-color: #F15A24 !important;
  outline: 0 !important;
  transform: translateY(-50%) scale(1.125) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next:hover,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next:focus,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next:focus-visible {
  transform: translateY(-50%) scale(1.125) rotate(180deg) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-arrow:active {
  transform: translateY(-50%) scale(1) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .slick-next:active {
  transform: translateY(-50%) scale(1) rotate(180deg) !important;
}

/* Hover state for video / news cards: zoom thumbnail, underline title,
   recolor title + read-more to the multimedia accent orange. */
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap figure img,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video img {
  transition: transform 350ms ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .video-card-copy .read-more {
  transition: color 200ms ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:hover figure img,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:focus-visible figure img,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:hover figure img,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:focus-visible figure img {
  transform: scale(1.06) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:hover .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:focus-visible .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:hover .title,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:focus-visible .title {
  color: #CC642E !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 0.15em !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:hover .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-news-wrap a:focus-visible .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:hover .read-more,
.glassbuildamerica.page-node-type-gutenberg-page #multimedia .carousel-video-wrap a:focus-visible .read-more {
  color: #CC642E !important;
}

/* ---- GBA Follow GlassBuild: hero-glass style with rounded social cards. */
.glassbuildamerica.page-node-type-gutenberg-page #social-media {
  background-color: #1D64A1 !important;
  background-image:
    linear-gradient(90deg, rgba(29, 100, 161, 0.96) 0%, rgba(29, 100, 161, 0.88) 48%, rgba(9, 84, 145, 0.8) 100%),
    url('/sites/gba/files/2026-02/web_hero_2500x900_v2.png') !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #F5E6D3 !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: 100vw !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  position: relative !important;
  width: 100vw !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .section-content {
  background: transparent !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .section-content {
  max-width: min(1700px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(3.25rem, 6vw, 6rem) clamp(1rem, 4vw, 4rem) !important;
}
/* Flockler carousel embed: break out to full viewport width (limited-width parent). */
.glassbuildamerica.page-node-type-gutenberg-page #social-media [id^='flockler-embed-'] {
  box-sizing: border-box !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-embed-content {
  max-width: 100% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-items {
  margin: 0 auto !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-viewport {
  overflow: hidden !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-enabled,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-enabled:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-enabled:focus-visible,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-enabled.is-focused,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-viewport:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-viewport:focus-visible,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-items:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-items:focus-visible,
.glassbuildamerica.page-node-type-gutenberg-page #social-media [id^='flockler-embed-']:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media [id^='flockler-embed-']:focus-visible,
.glassbuildamerica.page-node-type-gutenberg-page #social-media [id^='flockler-embed-'] *:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media [id^='flockler-embed-'] *:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__wrapper {
  border-radius: 15px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__img,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__video {
  border-radius: 0 !important;
}
/* Only the inline links inside the IMAGE OVERLAY caption text turn white.
   Header (author/profile) and footer (service icon) links keep their default colors. */
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__text a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__text p a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media__text a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media__text p a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__caption a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__caption a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__text a,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__text a {
  color: #ffffff !important;
  text-decoration: underline !important;
  transition: opacity 0.2s ease !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__text a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__text a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__media__text a:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media__text a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media__text a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media__text a:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__caption a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__caption a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__caption a:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__caption a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__caption a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__caption a:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__text a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__text a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-carousel_v2-item__text a:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__text a:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__text a:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__text a:active {
  color: #ffffff !important;
  text-decoration: underline !important;
  opacity: 1 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button {
  background: #F15A24 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
  height: 52px !important;
  outline: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) scale(1) !important;
  transition: transform 0.18s ease, background 0.25s ease, box-shadow 0.25s ease !important;
  width: 52px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button:focus,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button:focus-visible {
  background: #F15A24 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.24) !important;
  outline: 0 !important;
  transform: translateY(-50%) scale(1.125) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button.is-active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-prev-next-button:active,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-prev-next-button.is-active {
  background: #F15A24 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
  transform: translateY(-50%) scale(1) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button:disabled {
  opacity: 0.35 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button-icon {
  fill: #FFFFFF !important;
  height: 38% !important;
  left: 31% !important;
  top: 31% !important;
  width: 38% !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-prev-next-button.previous {
  left: 18px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-prev-next-button.next {
  right: 18px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-page-dots {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.45rem !important;
  justify-content: center !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: clamp(1rem, 2.5vw, 1.35rem) 1rem 0 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-dot {
  background: transparent !important;
  border: 2px solid rgba(245, 230, 211, 0.45) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  height: 11px !important;
  margin: 0 !important;
  padding: 0 !important;
  transition:
    background 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease,
    transform 0.45s cubic-bezier(0.22, 1.2, 0.36, 1) !important;
  width: 11px !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-dot:hover,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-dot:focus-visible {
  border-color: rgba(245, 230, 211, 0.85) !important;
  outline: none !important;
  transform: scale(1.12) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-dot.is-selected {
  background: #f15a24 !important;
  border-color: #f15a24 !important;
  transform: scale(1.2) !important;
}
@media (prefers-reduced-motion: reduce) {
  .glassbuildamerica.page-node-type-gutenberg-page #social-media .flickity-button,
  .glassbuildamerica.page-node-type-gutenberg-page #social-media .gba-flockler-dot {
    transition: none !important;
  }
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media h2.wp-block-heading {
  color: #F5E6D3 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(2.25rem, 1.2rem + 3.5vw, 4.8rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin: 0 0 0.85rem !important;
  text-transform: none !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media p.has-text-align-center {
  color: #F5E6D3 !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(1rem, 0.75rem + 0.8vw, 1.45rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  margin: 0 auto 2rem !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__wrapper,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-posts .slick-slide > div {
  border-radius: 15px !important;
  overflow: hidden !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media,
.glassbuildamerica.page-node-type-gutenberg-page #social-media .flockler-wall_v2-item__media img {
  border-radius: 0 !important;
}

/* ---- #about-nga: visual alignment with Figma node 3478:717.
 *
 * The section already wears the Figma's dark-blue overlay over the
 * patrik-bloudek glass-building photo (Gutenberg's `is-style-blue-dark`
 * + `.bckgrnds` backplate set this up server-side), so the work here
 * is content trimming and typographic refinement only.
 *
 * What CSS does (kept reversible, no DOM/CMS edits):
 *   1. Hides the decorative white slant divider at the top.
 *   2. Hides the "BUILT ON COMMUNITY" vertical-right kicker.
 *   3. Hides the "WITH SUPPORT FROM OUR ASSOCIATION SPONSOR" columns,
 *      the FGIA description paragraph, and the spacers around them.
 *   4. Visually relabels the first kicker from "PRODUCED BY" to
 *      "PRESENTED BY" and restyles it as a tracked cream label.
 *      NOTE: the underlying Gutenberg text still says PRODUCED BY for
 *      SEO/a11y. Update the Gutenberg block in the Drupal admin to
 *      change the source-of-truth wording.
 *   5. Tunes body copy to cream Zalando Sans Regular.
 *   6. Restyles "LEARN MORE" to the Figma's cream pill / orange
 *      Zalando Sans Expanded Bold.
 */

/* (1) Slant SVG. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga figure.wp-block-image.is-style-blue-svg {
  display: none !important;
}

/* (2) "BUILT ON COMMUNITY" vertical heading. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga h3.is-style-vertical-right {
  display: none !important;
}

/* (3) FGIA support block: columns, the small-text description that
   follows it, and the wp-block-spacer pair sandwiching the description. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .wp-block-columns.feature-sponsor-text,
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .wp-block-columns.feature-sponsor-text + .wp-block-spacer,
.glassbuildamerica.page-node-type-gutenberg-page #about-nga p.has-text-align-center.has-small-font-size,
.glassbuildamerica.page-node-type-gutenberg-page #about-nga p.has-text-align-center.has-small-font-size + .wp-block-spacer {
  display: none !important;
}

/* (4) "PRODUCED BY" -> "PRESENTED BY" kicker.
   The first paragraph in the centered content group is the one whose
   only child is a <strong>. Collapse the original glyphs (font-size:0)
   and inject the new label via ::before. The :has() guard keeps the
   rule inert if the underlying Gutenberg structure changes. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .max-width-900-px > .wp-block-group__inner-container > p:first-child:has(> strong) {
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  margin: 0 0 clamp(1rem, 2vw, 1.5rem) !important;
  text-align: center !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .max-width-900-px > .wp-block-group__inner-container > p:first-child:has(> strong)::before {
  color: #f2efe5;
  content: "PRESENTED BY";
  display: inline-block;
  font-family: 'Zalando Sans', sans-serif;
  font-size: clamp(0.95rem, 0.7rem + 0.8vw, 1.3rem);
  font-weight: 400;
  letter-spacing: 0.45em;
  text-transform: uppercase;
}

/* (5) Body copy: cream Zalando Sans Regular. Excludes the kicker
   (:first-child) and the FGIA description (.has-small-font-size, which
   is hidden anyway). */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .max-width-900-px > .wp-block-group__inner-container > p.has-text-align-center:not(:first-child):not(.has-small-font-size) {
  color: #f2efe5 !important;
  font-family: 'Zalando Sans', sans-serif !important;
  font-size: clamp(1rem, 0.75rem + 0.85vw, 1.5rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  margin: 0 auto !important;
  max-width: 760px !important;
}

/* (6) LEARN MORE button: cream rounded-rect (15px) with orange Zalando
   Sans Expanded Bold uppercase. No underline. Hover swaps to orange
   bg / white text only; size stays put (no transform, no padding
   change) so it doesn't shift on interaction. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .wp-block-button .wp-block-button__link {
  background-color: #f2efe5 !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #ee6422 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: clamp(0.85rem, 1vw, 1.1rem) clamp(2.5rem, 4vw, 3.75rem) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s ease-out, color 0.2s ease-out !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .wp-block-button .wp-block-button__link:hover,
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .wp-block-button .wp-block-button__link:focus {
  background-color: #ee6422 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: none !important;
}

/* Equivalent vertical padding on #about-nga: the section ships with
   `pb-0` plus a `<div class="section-content pt-0 pb-0">` wrapper, and
   a 100px trailing `<div class="wp-block-spacer">` inside, all of
   which together produce asymmetric top/bottom whitespace. Reset
   them and set a single matching pad on the section-content. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga.pb-0,
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .section-content.pt-0.pb-0 {
  padding-bottom: clamp(3.5rem, 7vw, 6.5rem) !important;
  padding-top: clamp(3.5rem, 7vw, 6.5rem) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .section-content > .wp-block-spacer:last-child {
  display: none !important;
}

/* Drop the dark-blue transparency overlay inside #about-nga: the new
   background image (about-nga-glass-blue.jpg) is already pre-tinted, so
   stacking the .transprxy sheet on top crushed the photo. Scoped to
   #about-nga so other sections that legitimately use the overlay are
   unaffected. */
.glassbuildamerica.page-node-type-gutenberg-page #about-nga .transprxy {
  display: none !important;
}

/* ---- #sponsors auto-scrolling marquee.
 *
 * Replaces the legacy Slick-paged sponsors carousel. JS lives in
 * custom-script.js (Drupal.behaviors.gbaSponsorsMarquee) and produces:
 *
 *   section#sponsors.is-marquee
 *     .section-inner > .section-content
 *       h2 "THANK YOU TO OUR SPONSORS"
 *       .wp-block-group.sponsors-track-wrap
 *         .wp-block-drupalblock-views-block-sponsors-carousel-block-1
 *           .view.view-sponsors-carousel
 *             .view-content
 *               .js-view-dom-id-X.list-showcase-one.slider-sponsors
 *                                 .gba-sponsors-marquee-wrapper       <- viewWrapper
 *                 .gba-sponsors-marquee                                 <- viewport (JS-injected)
 *                   ul.view-sponsors.gba-sponsors-marquee__track        <- track
 *                     li > .gba-logo-card > a > figure > img         (originals + clones)
 *
 * Note: this card was previously named `.sponsor-box`. That class name was
 * matched by widely-distributed cosmetic ad-block filter lists (EasyList et
 * al.) which apply `display: none` to anything containing the word
 * "sponsor". Rendering the carousel for users with ad-blockers requires a
 * neutral class name, hence `.gba-logo-card`.
 *
 * Hard-disable any leftover Slick chrome the theme might still inject
 * into the wrapper (arrows, dots, slick-list scaffolding) so the marquee
 * gets a clean canvas.
 */
.glassbuildamerica #sponsors.is-marquee {
  background: #1B3448;
  color: #f2efe5;
  overflow: hidden;
}
/* Heading source-of-truth lives in the Gutenberg block as "Thank You
   Sponsors" (regular case). Keep CSS text-transform off so the rendered
   string matches the Figma reference exactly. */
.glassbuildamerica #sponsors.is-marquee h2 {
  color: #f2efe5 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
  text-align: center;
  text-transform: none;
}
/* The view's outer wrapper still receives `slider-sponsors` from the
   server-side Twig; flatten its layout so it can't influence the
   marquee viewport. Slick scaffolding (arrows / dots / slick-list)
   never gets a chance to render but is hidden defensively. */
.glassbuildamerica #sponsors.is-marquee .gba-sponsors-marquee-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
.glassbuildamerica #sponsors.is-marquee .slick-arrow,
.glassbuildamerica #sponsors.is-marquee .slick-dots,
.glassbuildamerica #sponsors.is-marquee .slick-list {
  display: none !important;
}

/* Marquee viewport: full bleed, edge-faded, hides overflow, sets the
   pointer affordance. The mask gradients leave ~80px of fade on each
   side so logos appear/disappear without a hard cut. */
.glassbuildamerica .gba-sponsors-marquee {
  cursor: grab;
  overflow: hidden;
  padding-block: clamp(0.5rem, 1.5vw, 1rem);
  position: relative;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 80px,
    #000 calc(100% - 80px),
    transparent 100%
  );
          mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 80px,
    #000 calc(100% - 80px),
    transparent 100%
  );
  touch-action: pan-y;
  user-select: none;
  width: 100%;
}
.glassbuildamerica .gba-sponsors-marquee.is-dragging {
  cursor: grabbing;
}

/* Track: flex row, no wrap, inline-size driven by content so JS can
   read scrollWidth for wrap-around math. `will-change` keeps the
   transform on its own composited layer for a smooth RAF loop. */
.glassbuildamerica .gba-sponsors-marquee__track {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(1.25rem, 3vw, 3rem);
  list-style: none;
  margin: 0;
  padding: 0;
  width: max-content;
  will-change: transform;
}
.glassbuildamerica .gba-sponsors-marquee__track > li {
  flex: 0 0 auto;
  list-style: none;
  margin: 0;
  padding: 0;
}
.glassbuildamerica .gba-sponsors-marquee__track .gba-logo-card {
  align-items: center;
  background: #f2efe5;
  border-radius: 18px;
  display: flex;
  height: clamp(70px, 9vw, 110px);
  justify-content: center;
  padding: clamp(0.75rem, 1.5vw, 1.25rem) clamp(1.25rem, 2.5vw, 2rem);
  width: clamp(170px, 18vw, 240px);
}
.glassbuildamerica .gba-sponsors-marquee__track .gba-logo-card a,
.glassbuildamerica .gba-sponsors-marquee__track .gba-logo-card figure {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0;
  width: 100%;
}
.glassbuildamerica .gba-sponsors-marquee__track .gba-logo-card img {
  display: block;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
  user-select: none;
}

/* Reduced-motion: keep the layout but stop the auto-scroll. JS already
   honors prefers-reduced-motion; this is a belt-and-braces visual cue
   that nothing should animate when the user has opted out. */
@media (prefers-reduced-motion: reduce) {
  .glassbuildamerica .gba-sponsors-marquee__track {
    transform: none !important;
  }
}

/* ---- #footer two-row layout.
 *
 * Row 1 (.footer-top):
 *   [ #GlassBuild | September 23-25, 2026 ] ......... [ social icons ]
 *
 * Row 2 (.footer-bottom):
 *   [ address                       ]   [ copyright | privacy | contact ]
 *                                       [ NGA | Glass Magazine | W+D    ]
 *
 * The Gutenberg blocks ship the structure (footer-top-left/right,
 * footer-bottom-right with .footer-meta-line / .footer-affiliates-line).
 * CSS here flattens the `wp-block-columns` flex behavior so each row
 * sits on a single line, anchors social/links to the right edge, and
 * inserts pipe separators between menu items.
 *
 * Visual language is yoked to the #sponsors block above:
 *   bg = #1B3448 (single tone across both footer rows)
 *   fg = #f2efe5 (cream) for body text + links
 *   font = Zalando Sans Expanded for the brand line, Zalando Sans for the
 *          rest -- mirrors the sponsors h2.
 *
 * Defeating the upstream `has-navy-background-color` on .footer-top is
 * the key trick: that preset class ships #052740 inline-style equivalent,
 * which produced a darker top row and made the footer look two-toned.
 */

/* Section + both groups: single shared #1B3448 background, cream text. */
.glassbuildamerica #footer {
  background: #1B3448;
  color: #f2efe5;
}
.glassbuildamerica #footer .footer-top.has-navy-background-color,
.glassbuildamerica #footer .footer-top,
.glassbuildamerica #footer .footer-bottom {
  background: #1B3448 !important;
  color: #f2efe5;
}
/* Override the section's own ::before/::after slants & overlays that the
   .is-style-blue-dark theme variant tends to inject between groups. */
.glassbuildamerica #footer.is-style-blue-dark::before,
.glassbuildamerica #footer.is-style-blue-dark::after,
.glassbuildamerica #footer .transprxy {
  display: none !important;
}
/* Cream text + cream link color for everything inside the footer.
   Beats the upstream `has-green-light-color` preset on the brand line
   and the default link color on copyright menu links. */
.glassbuildamerica #footer,
.glassbuildamerica #footer p,
.glassbuildamerica #footer a,
.glassbuildamerica #footer .footer-brand-date,
.glassbuildamerica #footer .footer-brand-date a,
.glassbuildamerica #footer .footer-copyright-text,
.glassbuildamerica #footer .menu-footer a,
.glassbuildamerica #footer .menu-affiliates a {
  color: #f2efe5;
}
.glassbuildamerica #footer a:hover,
.glassbuildamerica #footer a:focus {
  color: #ffffff;
  text-decoration: underline;
}
/* Address column: the tel: link inherits the global anchor underline. The
   Figma comp renders the phone number as plain inline text matching the
   address lines above it, so suppress the default decoration here. Hover
   still gets an underline via the rule above for affordance. */
.glassbuildamerica #footer .footer-bottom a {
  text-decoration: none;
}

/* Typography: address, copyright, and menu links use the project's
   Zalando Sans body family. The brand line uses the expanded (wide)
   variant -- handled in its own rule below. */
.glassbuildamerica #footer,
.glassbuildamerica #footer p,
.glassbuildamerica #footer a,
.glassbuildamerica #footer li,
.glassbuildamerica #footer ul,
.glassbuildamerica #footer .footer-copyright-text,
.glassbuildamerica #footer .menu-footer,
.glassbuildamerica #footer .menu-affiliates {
  font-family: 'Zalando Sans', sans-serif !important;
}
.glassbuildamerica #footer {
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.5;
}

/* Row 1: brand+date on the left, social cluster on the right. */
.glassbuildamerica #footer .footer-top .wp-block-columns {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 3vw, 2.5rem);
  justify-content: space-between;
  margin: 0;
}
.glassbuildamerica #footer .footer-top .footer-top-left {
  flex: 1 1 auto;
  margin: 0;
}
.glassbuildamerica #footer .footer-top .footer-top-right {
  flex: 0 0 auto;
  margin: 0;
}

/* ---- Footer social-icons row (Drupal `icons-list` block).
 *
 * The block ships:
 *   <div class="icons-list top-dotted-white">
 *     <ul class="icons-list__list icons-list__list-horizontal">
 *       <li class="icons-list__list-horizontal-item">
 *         <a class="ext external"><svg class="svg-inline--fa ...">...</svg></a>
 *
 * Default rendering is a row of bare cream FontAwesome glyphs (~25x22).
 * The footer comp wants each social to be a 50x50 white circle badge with
 * the navy footer color showing through the FA glyph. We:
 *   - kill any inherited `top-dotted-white` divider (the dotted line
 *     above the row makes no sense once the row is a strip of badges);
 *   - lay the <ul> out as an inline-flex row with a small gap;
 *   - turn each <a> into a 50x50 perfect circle, centered, white bg;
 *   - color the FA glyph navy via `currentColor` so it inherits from <a>;
 *   - constrain the SVG itself to ~22px so it sits inside the circle with
 *     comfortable padding (FA viewBoxes vary in aspect ratio so we use
 *     max-width/max-height instead of fixed dims to avoid distortion).
 */
.glassbuildamerica #footer .icons-list {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
}
.glassbuildamerica #footer .icons-list::before,
.glassbuildamerica #footer .icons-list.top-dotted-white::before {
  display: none !important;
}
.glassbuildamerica #footer .icons-list ul.icons-list__list,
.glassbuildamerica #footer .icons-list ul.icons-list__list-horizontal {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  padding: 0;
}
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item {
  list-style: none;
  margin: 0;
  padding: 0;
}
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: #1B3448;
  display: inline-flex;
  height: 50px;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
  width: 50px;
}
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a:hover,
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a:focus-visible {
  background: #FB9D3A;
  color: #1B3448;
}
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a svg {
  /* FA icons have varying aspect ratios; cap each axis at 22px so the
     glyph never busts out of the circle, while still preserving its
     natural proportions.
     Upstream `.svg-inline--fa.icon` (or `.icon.md`) ships a 10px padding
     and `box-sizing: content-box`, which would inflate a 22px glyph to
     42px on the page. Force-zero the padding here so 22px == 22px. */
  box-sizing: border-box !important;
  fill: currentColor;
  height: auto;
  max-height: 22px;
  max-width: 22px;
  padding: 0 !important;
  width: auto;
}
/* The compiled app.styles.css ships `.icons-list .icon { color: #fff }`
   which paints the FA SVG (it carries `class="… icon md"`) white. The
   homepage neutralizes this with a `.page-node-type-gutenberg-page
   .menu-social ul > li svg { color: inherit !important }` rule from
   _classes.scss; that selector misses on interior pages because it is
   gated by the homepage body class. Re-assert color: inherit here on the
   spliced footer markup (and again on the path / its currentColor source)
   so the icon picks up the anchor's navy and shows on the white circle. */
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a svg,
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a svg * {
  color: inherit !important;
}
.glassbuildamerica #footer .icons-list .icons-list__list-horizontal-item a svg path {
  fill: currentColor !important;
}

/* Hide the views-element-container heading ("Sponsors Carousel") that the
   Drupal views block emits before its content. The homepage's
   `.page-node-type-gutenberg-page .views-element-container > h1..h6 {
   display: none }` rule is scoped to the homepage body class and so does
   not match on interior pages, leaving an unwanted second <h2> visible
   above the sponsor logos. Scoped to #sponsors so we don't accidentally
   suppress legitimate views block headings elsewhere on the site. */
.glassbuildamerica #sponsors .views-element-container > h1,
.glassbuildamerica #sponsors .views-element-container > h2,
.glassbuildamerica #sponsors .views-element-container > h3,
.glassbuildamerica #sponsors .views-element-container > h4,
.glassbuildamerica #sponsors .views-element-container > h5,
.glassbuildamerica #sponsors .views-element-container > h6,
.glassbuildamerica #sponsors [class*="block-"][class*="carousel"] > h2 {
  display: none !important;
}

/* Hide the auto-generated block label "Social" inside the footer's social
   menu wrapper. The homepage relies on
   `.page-node-type-gutenberg-page .nav-horizontal h2 { display: none }`
   from _classes.scss to suppress this -- which is gated by the homepage
   body class and so does not match on interior pages. Scope our re-assert
   to #footer to avoid touching unrelated `.nav-horizontal h2` instances
   elsewhere. */
.glassbuildamerica #footer .nav-horizontal h2 {
  display: none !important;
}
.glassbuildamerica #footer .footer-brand-date,
.glassbuildamerica #footer .footer-brand-date strong,
.glassbuildamerica #footer .footer-brand-date .footer-pipe {
  /* Wide / expanded variant of the Zalando family used elsewhere on
     the site. `Zalando Sans Expanded` is the @font-face name; if it
     fails to load we fall back to the variable-axis stretch on the
     base family. */
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-stretch: 125%;
}
.glassbuildamerica #footer .footer-brand-date {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  margin: 0;
  text-align: left;
  /* Defeat upstream `has-green-light-color` color preset that the
     paragraph still carries from the migrated block markup. */
  color: #f2efe5 !important;
}
.glassbuildamerica #footer .footer-brand-date strong {
  font-weight: 700;
}
.glassbuildamerica #footer .footer-brand-date .footer-pipe {
  display: inline-block;
  opacity: 0.6;
  padding: 0 0.15em;
}

/* Row 2: address (left) | meta + affiliates stacked (right). */
.glassbuildamerica #footer .footer-bottom .wp-block-columns {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.5rem, 4vw, 3rem);
  justify-content: space-between;
  margin: 0;
}
.glassbuildamerica #footer .footer-bottom .wp-block-column:first-child {
  flex: 1 1 auto;
}
.glassbuildamerica #footer .footer-bottom-right {
  align-items: flex-end;
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: clamp(0.4rem, 0.8vw, 0.75rem);
  text-align: right;
}

/* Row 2-right line 1: copyright text + footer-menu, single inline row,
   right-aligned, pipe-separated.

   Gutenberg wraps the group's children in `.wp-block-group__inner-container`,
   so flex must target the inner container, not the outer .footer-meta-line. */
.glassbuildamerica #footer .footer-meta-line,
.glassbuildamerica #footer .footer-affiliates-line {
  width: 100%;
}
/* Both meta-line and affiliates-line are single-line right-aligned text rows.
   We use text-align (rather than flex) so inline content (copyright text +
   menu links + pseudo pipes) renders as one continuous run that wraps as
   a sentence does, matching the Figma comp. */
.glassbuildamerica #footer .footer-meta-line > .wp-block-group__inner-container,
.glassbuildamerica #footer .footer-affiliates-line > .wp-block-group__inner-container {
  display: block;
  text-align: right;
}
.glassbuildamerica #footer .footer-meta-line > .wp-block-group__inner-container > *,
.glassbuildamerica #footer .footer-affiliates-line > .wp-block-group__inner-container > * {
  margin: 0 !important;
}
.glassbuildamerica #footer .footer-copyright-text {
  margin: 0;
}
/* Affiliates menu ships an <h2>Affiliates Menu</h2> heading from the
   menu_block plugin -- redundant in the footer, so hide it
   accessibly-visible-but-visually-removed via display:none (assistive
   tech can still parse the surrounding nav semantics from the menu
   markup itself). */
.glassbuildamerica #footer .menu-affiliates > h2,
.glassbuildamerica #footer .menu-affiliates > h3 {
  display: none;
}
/* Defensive: kill any inherited text-transform on footer menu links so
   the menu_link_content titles render as stored (Title Case). */
.glassbuildamerica #footer .menu-footer,
.glassbuildamerica #footer .menu-affiliates,
.glassbuildamerica #footer .menu-footer a,
.glassbuildamerica #footer .menu-affiliates a,
.glassbuildamerica #footer .footer-copyright-text {
  text-transform: none;
}

/* Footer-menu and affiliates-menu render as <ul><li><a> with the upstream
   .nav-horizontal pattern, which gives <a> `display:flex` + `padding:10px 15px`
   -- that's what makes the links look like buttons (and the pink/coral hover
   that the user flagged). Strip the button affordances back to plain inline
   text and use a single tight ` | ` divider between adjacent items.

   Layout: the <ul> is inline-flex right-aligned. <li>s are inline so that
   the link's natural inline box collapses against the pseudo-pipe -- using
   inline-flex on the <li> would re-introduce side gaps from line-box padding. */
.glassbuildamerica #footer .menu-footer ul,
.glassbuildamerica #footer .menu-affiliates ul,
.glassbuildamerica #footer ul.menu-footer,
.glassbuildamerica #footer ul.menu-affiliates {
  display: inline;
  list-style: none;
  margin: 0;
  padding: 0;
}
.glassbuildamerica #footer .menu-footer li,
.glassbuildamerica #footer .menu-affiliates li {
  display: inline;
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Override .nav-horizontal a from nav-tertiary.scss -- that's the source of
   `display: flex; padding: 10px 15px` plus the pink hover background. */
.glassbuildamerica #footer .menu-footer a,
.glassbuildamerica #footer .menu-affiliates a {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #f2efe5 !important;
  display: inline !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
}
.glassbuildamerica #footer .menu-footer a:hover,
.glassbuildamerica #footer .menu-footer a:focus,
.glassbuildamerica #footer .menu-affiliates a:hover,
.glassbuildamerica #footer .menu-affiliates a:focus {
  background: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  text-decoration: underline !important;
}
/* Tight ` | ` between siblings -- single space worth of gap each side. */
.glassbuildamerica #footer .menu-footer li + li::before,
.glassbuildamerica #footer .menu-affiliates li + li::before {
  content: ' | ';
  white-space: pre;
  opacity: 0.55;
}
/* Per Figma node 3485-739: NO pipe between the copyright sentence and
   "Privacy Policy" -- just regular sentence spacing. The copyright paragraph
   ends with a period, then the menu items follow inline. */
.glassbuildamerica #footer .footer-meta-line .footer-copyright-text + .wp-block-drupalblock-system-menu-block-footer-menu::before {
  content: ' ';
  white-space: pre;
}
.glassbuildamerica #footer .footer-meta-line .wp-block-drupalblock-system-menu-block-footer-menu,
.glassbuildamerica #footer .footer-affiliates-line .wp-block-drupalblock-menu-block-affiliates-menu {
  display: inline;
}
.glassbuildamerica #footer .footer-copyright-text {
  display: inline;
}

/* Affiliates row is right-aligned and follows the copyright row. The inner
   container handles the right-alignment via text-align (above); the outer
   wrapper just needs to stretch full width so its right edge matches the
   meta-line's. */
.glassbuildamerica #footer .footer-affiliates-line {
  display: block;
  text-align: right;
}

/* Mobile / tablet: stack rows; right-align the social cluster on its
   own line under the brand text, and let the address sit above the
   meta/affiliates rows. The legacy `rspnsv-tablet-center` body class
   already centers content under 1024px, so we just allow the columns
   to wrap naturally. */
@media (max-width: 768px) {
  .glassbuildamerica #footer .footer-top .wp-block-columns,
  .glassbuildamerica #footer .footer-bottom .wp-block-columns {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .glassbuildamerica #footer .footer-brand-date {
    text-align: center;
  }
  .glassbuildamerica #footer .footer-bottom-right {
    align-items: center;
    text-align: center;
  }
  .glassbuildamerica #footer .footer-meta-line,
  .glassbuildamerica #footer .footer-affiliates-line {
    justify-content: center;
  }
}

/* ---- GBA 2025 by the Numbers. */
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase {
  background: #F2EBE3 !important;
  color: #17324a !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: 100vw !important;
  position: relative !important;
  width: 100vw !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .section-inner,
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .section-content {
  background: transparent !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-numbers-panel {
  max-width: min(1150px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1rem, 4vw, 4rem) !important;
  text-align: center !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-numbers-title {
  color: #1D64A1 !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(2.2rem, 1.1rem + 3.5vw, 4.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  margin: 0 0 clamp(2rem, 4vw, 3rem) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-numbers-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 4vw, 3.25rem) clamp(3rem, 8vw, 8rem) !important;
  justify-content: center !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(3) {
  grid-column: 1 / -1 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-value {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(2.75rem, 1.6rem + 4vw, 5.25rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin: 0 0 0.5rem !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(4n+1) .gba-number-value {
  color: #CC642E !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(4n+2) .gba-number-value {
  color: #2A999B !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(4n+3) .gba-number-value {
  color: #E8A13B !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(4n+4) .gba-number-value {
  color: #1D64A1 !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-label {
  color: #17324a !important;
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
  font-size: clamp(0.9rem, 0.7rem + 0.65vw, 1.25rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.45em !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* 2025 by the Numbers: viewport entrance (gbaNumbersShowcase in custom-script.js). */
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-digits,
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus {
  color: inherit !important;
  font: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
/* Plus-sign entrance: pure opacity fade (no bounce, no scale). The fade is
   triggered per-stat in custom-script.js as soon as that stat's count-up
   finishes, so the '+'s appear staggered, in lockstep with each number's
   completion. Class name `gba-number-plus-impact` is preserved (the JS
   listens for animationend on it); only the keyframes have changed. */
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus {
  display: inline-block !important;
  margin: 0 !important;
  opacity: 0 !important;
  will-change: opacity !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus.gba-number-plus-impact {
  animation: gba-number-plus-fade 0.55s ease-out forwards !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus.gba-number-plus-shown {
  animation: none !important;
  opacity: 1 !important;
}
@keyframes gba-number-plus-fade {
  0% {
    opacity: 0 !important;
  }
  100% {
    opacity: 1 !important;
  }
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-numbers-title {
  opacity: 0 !important;
  transform: translateY(0.65rem) !important;
  transition: opacity 0.65s ease-out, transform 0.65s ease-out !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-started .gba-numbers-title {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-number-stat:not(.gba-number-stat-static) {
  opacity: 0 !important;
  transform: translateY(1.15rem) !important;
  transition: opacity 0.55s ease-out, transform 0.55s ease-out !important;
}
/* Must beat the pending rule above (extra .gba-number-stat-visible on the stat). */
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-number-stat.gba-number-stat-visible:not(.gba-number-stat-static) {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-stat.gba-number-stat-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
@media (prefers-reduced-motion: reduce) {
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus,
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase .gba-number-plus.gba-number-plus-shown {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-numbers-title,
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-number-stat:not(.gba-number-stat-static),
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance.gba-numbers-showcase.gba-numbers-pending .gba-number-stat.gba-number-stat-visible:not(.gba-number-stat-static) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
@media (max-width: 700px) {
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-numbers-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .glassbuildamerica.page-node-type-gutenberg-page #at-a-glance .gba-number-stat:nth-child(3) {
    grid-column: auto !important;
  }
}

/* ---- Bootstrap accordion (interior pages): the card holds the 2px
   #1C63A1 border and 15px radius so header + body read as one rounded
   panel. Header button no longer looks like a standalone button.

   Drupal's bootstrap-pattern accordion wrapper is `id="accordion-<n>"`
   (NOT `class="accordion"`), so we target the id-prefix selector as
   well as the legacy class selector. */
body.glassbuildamerica:not(.path-frontpage) .accordion .card,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card {
  background: #FFFFFF !important;
  border: 2px solid #1C63A1 !important;
  border-radius: 15px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  margin-bottom: 30px !important;
  overflow: hidden !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header h4,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .mb-0,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header h4,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .mb-0 {
  margin: 0 !important;
}
/* The interior-page heading rule below (`#main-content-page h2/h3/h4`) wins
   on specificity over the accordion header reset above because of the id,
   which forces a 1.5rem (24px) margin-bottom onto h4.mb-0 accordion titles.
   Re-zero them with an id-scoped selector so Bootstrap's .mb-0 contract is
   honoured inside the accordion. */
body.glassbuildamerica:not(.path-frontpage) #main-content-page h4.mb-0,
body.glassbuildamerica:not(.path-frontpage) #main-content-page h4.my-0 {
  margin-bottom: 0 !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn-link,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn-link {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #1C63A1 !important;
  display: flex !important;
  font-weight: 700 !important;
  gap: 30px !important;
  margin-bottom: 0 !important;
  padding: 16px 20px !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  width: 100% !important;
}

/* Chevron / arrow icon inside the accordion title button: same blue as
   the title, no absolute positioning so it sits on the title's line
   with the 30px gap from the flex container. */
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn > i,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn > svg,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn > i,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn > svg {
  color: #1C63A1 !important;
  fill: #1C63A1 !important;
  flex: 0 0 auto !important;
  position: static !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn > div,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn > div {
  color: #1C63A1 !important;
  flex: 1 1 auto !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn:focus,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn-link:focus,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn:focus-visible,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-header .btn-link:focus-visible,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn:focus,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn-link:focus,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn:focus-visible,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-header .btn-link:focus-visible {
  box-shadow: none !important;
  outline: 0 !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .collapse,
body.glassbuildamerica:not(.path-frontpage) .accordion .card .collapsing,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .collapse,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .collapsing {
  border-top: 1px solid #E6EBF1 !important;
}
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-body,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-body {
  background: transparent !important;
  border: 0 !important;
  padding: 16px 20px !important;
}

/* h3 inside an accordion body is a sub-heading, not a section header --
   step it down to 20px so it doesn't compete with the card title. */
body.glassbuildamerica:not(.path-frontpage) .accordion .card .card-body h3,
body.glassbuildamerica:not(.path-frontpage) [id^="accordion-"] .card .card-body h3 {
  font-size: 20px !important;
}

/* ---- Bottom-of-page CTA card (.card-cta, blue #1073ba background). All
   copy is on a saturated blue plate, so force white throughout and use the
   wide Zalando Sans Expanded display family on the heading like other
   hero / section headings. */
body.glassbuildamerica .card-cta,
body.glassbuildamerica .card-cta h1,
body.glassbuildamerica .card-cta h2,
body.glassbuildamerica .card-cta h3,
body.glassbuildamerica .card-cta h4,
body.glassbuildamerica .card-cta h5,
body.glassbuildamerica .card-cta p,
body.glassbuildamerica .card-cta a,
body.glassbuildamerica .card-cta span,
body.glassbuildamerica .card-cta li {
  color: #FFFFFF !important;
}
body.glassbuildamerica .card-cta .card-cta__heading,
body.glassbuildamerica .card-cta .card-cta__heading h1,
body.glassbuildamerica .card-cta .card-cta__heading h2,
body.glassbuildamerica .card-cta .card-cta__heading h3,
body.glassbuildamerica .card-cta .card-cta__heading h4,
body.glassbuildamerica .card-cta .card-cta__heading p {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
}

/* CTA heading: cap line length so the wide display font stays readable
   and tighten leading. Applies to the h3 and any nested elements
   (e.g. the inner <p>). */
body.glassbuildamerica .card-cta .card-cta__heading h3 {
  line-height: 1.25 !important;
  max-width: 800px !important;
}
body.glassbuildamerica .card-cta .card-cta__heading h3 * {
  line-height: 1.25 !important;
}

/* ---- Event content type (e.g. /schedule).
   The default Drupal event template renders the date/location and taxonomy
   terms above the body; tighten typography and force the date onto a
   single line so it reads as a metadata strip rather than a stacked block. */
body.glassbuildamerica.page-node-type-event .event-full__date,
body.glassbuildamerica.page-node-type-event .event-full__date *,
body.glassbuildamerica.page-node-type-event .event-full__taxonomy,
body.glassbuildamerica.page-node-type-event .event-full__taxonomy * {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}
body.glassbuildamerica.page-node-type-event .event-full__date {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0.5em !important;
  white-space: nowrap !important;
}
body.glassbuildamerica.page-node-type-event .event-full__date > div,
body.glassbuildamerica.page-node-type-event .event-full__date > span,
body.glassbuildamerica.page-node-type-event .event-full__date time {
  display: inline !important;
}

/* Event Information block: matches the date strip up top -- single line
   for dates, Zalando Sans across the address (organization + locality). */
body.glassbuildamerica.page-node-type-event .event-full__information,
body.glassbuildamerica.page-node-type-event .event-full__information *,
body.glassbuildamerica.page-node-type-event .event-full__schedule .item,
body.glassbuildamerica.page-node-type-event .event-full__schedule .item * {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}
body.glassbuildamerica.page-node-type-event .event-full__information > div:first-child {
  white-space: nowrap !important;
}
body.glassbuildamerica.page-node-type-event .event-full__information > div:first-child time,
body.glassbuildamerica.page-node-type-event .event-full__information > div:first-child > div {
  display: inline !important;
}

/* ---- Schedule accordion (#schedule_container) -- normalize to look 1:1
   with the standard Bootstrap accordion treatment elsewhere on interior
   pages. The schedule variant nests differently:
       #schedule_container.schedule.accordion
         > .items-group.card
           > button.btn.btn-link
             > h4.heading
             > i.fa-plus-square (collapsed)
             > i.fa-minus-square (expanded)
         > .item_group.collapse
   so the existing `.accordion .card .card-header .btn` rules don't match.
   Mirror the same border, radius, blue title, flex layout + 30px gap. */
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card {
  background: #FFFFFF !important;
  border: 2px solid #1C63A1 !important;
  border-radius: 15px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  margin-bottom: 30px !important;
  overflow: hidden !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn,
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn-link {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #1C63A1 !important;
  display: flex !important;
  font-weight: 700 !important;
  gap: 30px !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  width: 100% !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn:focus,
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn:focus-visible {
  box-shadow: none !important;
  outline: 0 !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn .heading {
  border-left: 0 !important;
  color: #1C63A1 !important;
  flex: 1 1 auto !important;
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}
/* Replace the +/- square icons with a single chevron-right that matches
   the other accordions on the site 1:1. We hide both FA icons (regardless
   of whether FA renders them as <i> or the converted <svg>) and inject
   a chevron via ::after using an SVG mask so it inherits #1C63A1 cleanly.
   The chevron rotates 90deg when the button is expanded (i.e. not
   `.collapsed`), matching the open/close affordance of the other
   accordion variant. */
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn > i,
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn > svg,
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn > .svg-inline--fa {
  display: none !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn::after {
  background-color: #1C63A1 !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'><path d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.345 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/></svg>") center / contain no-repeat !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'><path d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.345 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/></svg>") center / contain no-repeat !important;
  content: '' !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  height: 16px !important;
  transition: transform 0.2s ease !important;
  width: 16px !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card > .btn:not(.collapsed)::after {
  transform: rotate(90deg) !important;
}

/* Headings in interior page body content need breathing room beneath them
   so block titles like "Schedule (Subject to Change)" sit visually above
   the content they introduce instead of crowding it. */
body.glassbuildamerica:not(.path-frontpage) #main-content-page h2,
body.glassbuildamerica:not(.path-frontpage) #main-content-page h3,
body.glassbuildamerica:not(.path-frontpage) #main-content-page h4 {
  margin-bottom: 1.5rem !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card .item_group.collapse,
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card .item_group.collapsing {
  border-top: 1px solid #E6EBF1 !important;
}
body.glassbuildamerica:not(.path-frontpage) #schedule_container.accordion .items-group.card .item_group {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  padding: 16px 20px !important;
}

/* ---- GBA sticky / glass nav for non-homepage / non-gutenberg pages.
   Carbon-copy of the homepage navbar.

   The homepage navbar (header.header on Gutenberg pages) is ALWAYS
   position:fixed at top:20 / left:20 / right:20 with the same dimensions
   from page load -- the only thing that changes on scroll is the glass
   background (color + border-radius + blur), toggled by `.nav-bg`. To
   match that 1:1 on interior pages, the visible navbar element is
   ALWAYS pinned at the same coordinates from page load too. Dimensions
   never change on scroll; only the glass effect fades in/out across
   1.3s, exactly mirroring the homepage transition. No border (the base
   SCSS `border: 1px solid transparent` is harmless but we explicitly
   zero it here since some downstream Bootstrap rules add a border on
   `.navbar`).

   Two navbar elements exist (a base-theme quirk): desktop (>= 1200px)
   shows `header.header > div.primary_menu`; tablet / mobile shows
   `<section id="nav-mobile">`. Whichever is currently visible is the
   one in the viewport, and we pin both with the same rule. Inner
   `nav.navbar` stays transparent so the glass blue shows through.

   Style values (padding, transition, z-index, position, brand size) are
   mirrored from `apps/drupal/scss/gba/mdg/scss/core/header.scss` so
   look + timing on interior pages match the homepage. */
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > section#nav-mobile,
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > .primary_menu {
  border: 0 !important;
  left: 20px !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 10px !important;
  position: fixed !important;
  right: 20px !important;
  top: 20px !important;
  transition: 1.3s all !important;
  width: auto !important;
  z-index: 200 !important;
}

body.glassbuildamerica:not(.page-node-type-gutenberg-page).nav-bg header.header > section#nav-mobile,
body.glassbuildamerica:not(.page-node-type-gutenberg-page).nav-bg header.header > .primary_menu {
  background-color: rgba(6, 111, 182, 0.8) !important;
  border-radius: 15px !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
}

/* Inner nav transparent + borderless so only the outer glass surface
   ever paints any background or edge. */
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > section#nav-mobile > .primary_menu,
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > section#nav-mobile nav.navbar,
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > .primary_menu > nav.navbar {
  background-color: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Brand: identical to homepage. The parent `a.navbar-brand` carries the
   size with a 1.3s transition (200px default, 170px on `.nav-bg`); the
   inner `img` is forced to `max-width: 100%` so it scales with the
   parent. The base theme's `app.styles.css` hard-codes the brand img at
   `max-width: 300px !important` which would otherwise prevent any
   shrink, so we override it here with the homepage's pattern. */
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header a.navbar-brand {
  display: block !important;
  max-width: 200px !important;
  transition: 1.3s !important;
}
body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header a.navbar-brand img {
  max-width: 100% !important;
  height: auto !important;
}
body.glassbuildamerica:not(.page-node-type-gutenberg-page).nav-bg header.header a.navbar-brand {
  max-width: 170px !important;
}

/* Drop the base theme's 20px top padding inside the desktop navbar
   collapse region so menu items sit vertically centered with the brand. */
.glassbuildamerica .primary_menu .navbar.navbar-expand-lg .navbar-collapse {
  padding-top: 0 !important;
}

/* ---- Global heading color (GBA): unify the blue used across h1-h6.
   Specific contexts that need a different color (white hero text, dark navy
   utility bar, etc.) already override this with higher-specificity rules. */
body.glassbuildamerica h1,
body.glassbuildamerica h2,
body.glassbuildamerica h3,
body.glassbuildamerica h4,
body.glassbuildamerica h5,
body.glassbuildamerica h6 {
  color: #1C63A1;
}

/* ---- Global h3 typography: Zalando Sans (NOT the wide / Expanded family),
   bold, uppercase, 2px tracking. Applies sitewide on GBA. */
body.glassbuildamerica h3 {
  font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ---- Bold inline text: cap weight at 700. The base theme renders <b>/
   <strong> at 900 which reads too heavy next to body copy. */
body.glassbuildamerica b,
body.glassbuildamerica strong {
  font-weight: 700 !important;
}

/* ---- Paragraph CTA buttons on interior pages (e.g. INNOVATION AREA on
   /2026-exhibitors-sponsors). Square corners + underline are removed; on
   hover the button fills with the GBA accent orange (#F15A24) with white
   text -- mirrors the homepage primary CTA. */
body.glassbuildamerica:not(.path-frontpage) .paragraph-button-container a.btn,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-outline-primary,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-primary {
  border-radius: 10px !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
body.glassbuildamerica:not(.path-frontpage) .paragraph-button-container a.btn:hover,
body.glassbuildamerica:not(.path-frontpage) .paragraph-button-container a.btn:focus,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-outline-primary:hover,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-outline-primary:focus,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-primary:hover,
body.glassbuildamerica:not(.path-frontpage) a.btn.btn-primary:focus {
  background-color: #F15A24 !important;
  border-color: #F15A24 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* =====================================================================
   GBA Mobile Navigation
   ---------------------------------------------------------------------
   Goal: a single, consistent mobile-nav presentation for both the
   homepage (.page-node-type-gutenberg-page) and all interior pages,
   below the desktop breakpoint (1200px). Replaces the fixed "glass"
   header treatment with a conventional sticky navy bar + full-screen
   drawer; search input is forced to the bottom of the drawer per spec.
   --------------------------------------------------------------------- */
@media (max-width: 1199.98px) {

  /* Reset homepage's bespoke fixed/floating header WRAPPER so the inner
     section#nav-mobile is the single canonical bar across all pages.
     Without this the homepage's header.header (position: fixed, 20px
     inset, glass) would double-position the bar inside it. */
  body.glassbuildamerica.page-node-type-gutenberg-page header.header,
  body.glassbuildamerica.nav-bg.page-node-type-gutenberg-page header.header,
  body.glassbuildamerica.page-node-type-gutenberg-page header.header.active {
    background-color: transparent !important;
    border-radius: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    inset: auto !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
  }

  /* No body padding on mobile per spec; the floating bar overlays the
     top of page content. */
  body.glassbuildamerica {
    padding-top: 0 !important;
  }

  /* Floating glass bar. Inset 16px from every edge, rounded, translucent
     brand-blue with backdrop-blur. Applied uniformly to home and
     interior. Fixed positioning keeps it pinned while scrolling. The
     section auto-grows when the drawer inside expands.

     Glass is painted via a ::before pseudo so the section element
     itself does not establish a containing block (which backdrop-filter
     would do) for any fixed descendants. */
  body.glassbuildamerica header.header > section#nav-mobile,
  body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > section#nav-mobile,
  body.glassbuildamerica.page-node-type-gutenberg-page header.header > section#nav-mobile {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 15px !important;
    bottom: auto !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22) !important;
    left: 16px !important;
    margin: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 12px 16px !important;
    position: fixed !important;
    right: 16px !important;
    top: 16px !important;
    width: auto !important;
    z-index: 1001 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.glassbuildamerica header.header > section#nav-mobile::before,
  body.glassbuildamerica:not(.page-node-type-gutenberg-page) header.header > section#nav-mobile::before,
  body.glassbuildamerica.page-node-type-gutenberg-page header.header > section#nav-mobile::before {
    background-color: rgba(6, 111, 182, 0.8) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
    backdrop-filter: blur(14px) saturate(130%) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 15px !important;
    content: "" !important;
    display: block !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    transition: background-color 320ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: -1 !important;
  }
  /* Open state: the bar's glass shifts to the deeper navy so the
     entire (bar + drawer) reads as one panel. */
  body.glassbuildamerica header.header > section#nav-mobile:has(#navbarMainContent.show)::before,
  body.glassbuildamerica header.header > section#nav-mobile:has(#navbarMainContent.collapsing)::before {
    background-color: rgba(15, 42, 61, 0.92) !important;
  }
  body.glassbuildamerica.nav-bg header.header > section#nav-mobile,
  body.glassbuildamerica:not(.page-node-type-gutenberg-page).nav-bg header.header > section#nav-mobile {
    background-color: transparent !important;
    border-radius: 15px !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.glassbuildamerica section#nav-mobile nav.navbar {
    background: transparent !important;
    padding: 0 !important;
    min-height: 0 !important;
  }
  body.glassbuildamerica section#nav-mobile nav.navbar > .container {
    align-items: center !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.glassbuildamerica section#nav-mobile a.navbar-brand {
    display: block !important;
    margin: 0 !important;
    max-width: 180px !important;
    padding: 0 !important;
    transition: none !important;
  }
  body.glassbuildamerica section#nav-mobile a.navbar-brand img {
    display: block !important;
    height: auto !important;
    max-width: 100% !important;
  }

  body.glassbuildamerica section#nav-mobile .navbar-toggler {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    margin: 0 0 0 auto !important;
    padding: 8px !important;
    position: relative !important;
  }
  body.glassbuildamerica section#nav-mobile .navbar-toggler svg {
    color: #fff !important;
    height: 26px !important;
    width: 26px !important;
  }

  /* When open, the navbar JS swaps the icon class from `fa-bars` to
     `fa-times`. The Font Awesome version loaded by the theme treats
     `fa-times` as a missing glyph and renders the dashed "missing icon"
     placeholder. Hide the icon element and draw a real X with two
     rotated pseudo-elements. */
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"] i,
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"] svg {
    visibility: hidden !important;
  }
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"]::before,
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"]::after {
    background-color: #fff !important;
    border-radius: 2px !important;
    content: "" !important;
    height: 2.5px !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    width: 26px !important;
    transform-origin: center !important;
  }
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"]::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }
  body.glassbuildamerica section#nav-mobile .navbar-toggler[aria-expanded="true"]::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  /* ---- Drawer.
     Lives inline INSIDE the nav (no longer a separately-positioned
     overlay). The section auto-grows when the drawer expands so the
     bar + drawer read as one continuous floating glass panel.

     Smooth open/close: animate opacity + max-height + translate.
     Bootstrap's own height-based collapse animation is suppressed by
     forcing `height: auto !important` (its inline `style="height: 0px"`
     during `.collapsing` is ignored). The visible animation is driven
     entirely by the `.show` class swap.

     NOTE: the deployed base theme contains
     `.glassbuildamerica section#nav-mobile #navbarMainContent { position: relative !important }`
     (specificity 2,1,1) so any override must include `#navbarMainContent`. */
  body.glassbuildamerica section#nav-mobile #navbarMainContent,
  body.glassbuildamerica section#nav-mobile #navbarMainContent.collapse,
  body.glassbuildamerica section#nav-mobile #navbarMainContent.collapsing {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    bottom: auto !important;
    box-shadow: none !important;
    display: flex !important;
    flex-basis: 100% !important;
    flex-direction: column !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 4px !important;
    pointer-events: none !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: translateY(-6px) !important;
    transition:
      opacity 320ms cubic-bezier(0.4, 0, 0.2, 1),
      max-height 380ms cubic-bezier(0.4, 0, 0.2, 1),
      transform 320ms cubic-bezier(0.4, 0, 0.2, 1),
      padding 380ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    width: 100% !important;
    z-index: auto !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent.show {
    align-items: stretch !important;
    justify-content: flex-start !important;
    max-height: calc(100dvh - 116px) !important;
    opacity: 1 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px 4px 20px !important;
    pointer-events: auto !important;
    scrollbar-width: none !important;
    transform: translateY(0) !important;
    -ms-overflow-style: none !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent.show::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-nav {
    flex-direction: column !important;
    flex-grow: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Top-level item */
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item .nav-link {
    color: #ffffff !important;
    font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    padding: 18px 4px !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }
  /* Mobile-only: kill the desktop GBA orange hover/focus/active fill on the
     primary nav buckets - in the dark drawer it reads as a flash of orange
     under each tap. Keep them flat white-on-navy with a subtle press tint. */
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link:hover,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link:focus,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link:focus-visible,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link:active,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item > .nav-link.expanded,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item:has(> .nav-submenu.expanded) > .nav-link,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-item:has(> .nav-submenu.gba-open) > .nav-link {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    outline: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Submenus: in the mobile drawer act as accordions. Collapsed by default;
     the existing desktop click handler (gbaMegaMenuToggle in custom-script.js)
     adds `.expanded` + `.gba-open` to the active panel and `closeAll()`s the
     others, giving us "only one panel open at a time" for free. */
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    display: block !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-height: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 0 0 12px !important;
    pointer-events: none !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: translateY(-4px) !important;
    transition:
      opacity 240ms cubic-bezier(0.4, 0, 0.2, 1),
      max-height 320ms cubic-bezier(0.4, 0, 0.2, 1),
      transform 240ms cubic-bezier(0.4, 0, 0.2, 1),
      padding 320ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    visibility: visible !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu.expanded,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu.gba-open {
    max-height: 1200px !important;
    opacity: 1 !important;
    padding: 0 0 16px 12px !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu__close,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu__back,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu__title {
    display: none !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu br {
    display: none !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu .row {
    flex-direction: column !important;
    margin: 0 !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu .nav-submenu__container {
    display: block !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu-list {
    flex-basis: 100% !important;
    list-style: none !important;
    margin: 0 0 8px 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu-list li a {
    color: #ffffff !important;
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    padding: 8px 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu-list a.nav-header,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu-list a.nav-header h6 {
    color: rgba(255, 255, 255, 0.55) !important;
    font-family: 'Zalando Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    line-height: 1.2 !important;
    margin: 12px 0 4px !important;
    padding: 0 !important;
    text-transform: uppercase !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu .paragraph--type--image,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu .paragraph-button-container,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .nav-submenu span.paragraph-button-container {
    display: none !important;
  }

  /* ---- Search at the bottom of the drawer */
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search {
    cursor: text !important;
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    left: auto !important;
    margin: 24px 0 0 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    order: 99 !important;
    padding: 0 !important;
    position: relative !important;
    right: auto !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search > form {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    position: relative !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search .input-search {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    display: block !important;
    font-size: 16px !important;
    padding: 12px 14px 12px 42px !important;
    text-indent: 0 !important;
    width: 100% !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search .input-search::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search__icon {
    align-items: center !important;
    color: rgba(255, 255, 255, 0.7) !important;
    display: flex !important;
    height: 16px !important;
    justify-content: center !important;
    left: 14px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 16px !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search__icon svg {
    color: rgba(255, 255, 255, 0.7) !important;
    display: block !important;
    height: 16px !important;
    width: 16px !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search .close-search__icon {
    display: none !important;
  }

  /* Defeat the desktop ".navbar-search.active" overlay behavior inside
     the mobile drawer. The desktop CSS positions `.input-search` with
     `right: calc(100% + 0.5rem); width: 50vw` so it floats LEFT of the
     icon slot - that's right off-screen when the search is full-width
     at the bottom of the drawer. Keep the input in flow regardless of
     the .active class added by the navbar JS. */
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search.active .input-search,
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search .input-search {
    bottom: auto !important;
    display: block !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-width: 100% !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    z-index: auto !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search.active .navbar-search__icon {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body.glassbuildamerica section#nav-mobile #navbarMainContent .navbar-search.active .close-search__icon {
    display: none !important;
  }

  /* Make sure the duplicate desktop primary_menu is not displayed */
  body.glassbuildamerica header.header > div.primary_menu {
    display: none !important;
  }
}

/* ---- GBA heading typography (sitewide).
   Force every heading and any wrapper markup inside it (h2 > p, h3 > strong,
   etc.) to a Zalando family. h1/h2 use the wide-set Expanded variant; h3-h6
   stay on the regular Zalando Sans so the visual hierarchy stays intact. */
body.glassbuildamerica h1,
body.glassbuildamerica h1 *,
body.glassbuildamerica h2,
body.glassbuildamerica h2 * {
  font-family: 'Zalando Sans Expanded', 'Zalando Sans', sans-serif !important;
}
body.glassbuildamerica h3,
body.glassbuildamerica h3 *,
body.glassbuildamerica h4,
body.glassbuildamerica h4 *,
body.glassbuildamerica h5,
body.glassbuildamerica h5 *,
body.glassbuildamerica h6,
body.glassbuildamerica h6 * {
  font-family: 'Zalando Sans', sans-serif !important;
}

/* XL desktop (>=1920px): widen content caps for GlassBuild gutenberg pages. */
@media (min-width: 1920px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 2000px !important;
  }

  .glassbuildamerica.page-node-type-gutenberg-page #hero .hero-info {
    max-width: 2100px !important;
  }

  .glassbuildamerica #hero .section-content {
    max-width: 2100px !important;
  }

  .glassbuildamerica.page-node-type-gutenberg-page .about-gba-nav > .wp-block-group__inner-container {
    max-width: 2100px !important;
  }

  .glassbuildamerica.page-node-type-gutenberg-page #about-us .section-content {
    max-width: min(2080px, 100%) !important;
  }

  .glassbuildamerica.page-node-type-gutenberg-page #multimedia.gba-multimedia-showcase .section-content {
    max-width: min(2000px, 100%) !important;
  }

  .page-node-type-gutenberg-page .max-width-content,
  .page-node-type-gutenberg-page .max-width-content-child > * {
    max-width: 2000px !important;
  }
}
