
/* Gainwell v1.37 — Projects Hub grid and compact project switcher */

/* Project filters stay in normal document flow. */
.gw-projects-toolbar{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  background:#fff!important;
  backdrop-filter:none!important;
}
.gw-projects-toolbar__inner{
  min-height:0!important;
  padding:24px 0!important;
}

/* Consistent card grid, visually aligned with the Videos library. */
.gw-projects-library__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:34px 24px!important;
}
.gw-project-card,
.gw-project-card--feature,
.gw-project-card--wide{
  min-width:0!important;
  min-height:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  color:var(--gw3-ink,var(--ink,#173544))!important;
  background:#fff!important;
  border:1px solid rgba(23,53,68,.14)!important;
  border-radius:8px!important;
  box-shadow:0 12px 32px rgba(7,31,46,.07)!important;
  isolation:auto!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
.gw-project-card:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(22,134,180,.42)!important;
  box-shadow:0 22px 48px rgba(7,31,46,.13)!important;
}
.gw-project-card::after{display:none!important}
.gw-project-card img{
  position:relative!important;
  inset:auto!important;
  z-index:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  flex:0 0 auto!important;
  display:block!important;
  object-fit:cover!important;
  filter:saturate(.9) contrast(.97)!important;
  transition:transform .6s ease,filter .3s ease!important;
}
.gw-project-card:hover img{
  transform:scale(1.035)!important;
  filter:saturate(1) contrast(1)!important;
}
.gw-project-card__number{
  left:14px!important;
  top:14px!important;
  z-index:2!important;
  min-width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 8px!important;
  color:#fff!important;
  background:rgba(7,31,46,.88)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:3px!important;
  font-size:10px!important;
  line-height:1!important;
  backdrop-filter:blur(8px)!important;
}
.gw-project-card__copy{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  min-height:250px!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:22px 22px 21px!important;
}
.gw-project-card small{
  min-height:28px!important;
  margin:0 0 12px!important;
  color:var(--gw3-blue,var(--blue-600,#1686b4))!important;
  font-size:9.5px!important;
  line-height:1.45!important;
}
.gw-project-card h2{
  max-width:none!important;
  min-height:58px!important;
  margin:0 0 11px!important;
  color:var(--gw3-ink,var(--ink,#173544))!important;
  font-family:var(--gw3-serif,Georgia,serif)!important;
  font-size:27px!important;
  font-weight:400!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.gw-project-card p{
  max-width:none!important;
  display:-webkit-box!important;
  overflow:hidden!important;
  margin:0 0 20px!important;
  color:var(--gw3-text,var(--text,#627680))!important;
  font-size:12px!important;
  line-height:1.7!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
}
.gw-project-card b{
  margin-top:auto!important;
  color:var(--gw3-ink,var(--ink,#173544))!important;
  font-size:9.5px!important;
}
.gw-project-card b::after{color:var(--gw3-blue,var(--blue-600,#1686b4))!important}
.gw-project-card[hidden]{display:none!important}

/* Compact project switcher. It is intentionally not sticky. */
.gw-project-switcher{
  position:relative!important;
  top:auto!important;
  z-index:20!important;
  overflow:visible!important;
  background:#fff!important;
  border-bottom:1px solid var(--gw3-line,var(--line,#d7e0e3))!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.gw-project-switcher__inner{
  min-height:116px;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:50px;
  align-items:center;
}
.gw-project-switcher__current{
  min-width:0;
  display:grid;
  gap:7px;
}
.gw-project-switcher__current small,
.gw-project-switcher__direction small,
.gw-project-switcher__panel-head small{
  color:#71838c;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
  line-height:1.35;
  text-transform:uppercase;
}
.gw-project-switcher__current>strong{
  overflow:hidden;
  color:var(--gw3-ink,var(--ink,#173544));
  font-family:var(--gw3-serif,Georgia,serif);
  font-size:26px;
  font-weight:400;
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gw-project-switcher__actions{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  align-items:stretch;
  border-left:1px solid var(--gw3-line,var(--line,#d7e0e3));
}
.gw-project-switcher__direction{
  min-width:0;
  min-height:76px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:14px 20px;
  color:var(--gw3-ink,var(--ink,#173544));
  border-right:1px solid var(--gw3-line,var(--line,#d7e0e3));
  transition:background .22s ease,color .22s ease;
}
.gw-project-switcher__direction:hover{
  color:#fff;
  background:var(--gw3-navy,#071f2e);
}
.gw-project-switcher__direction>div{
  min-width:0;
  display:grid;
  gap:5px;
}
.gw-project-switcher__direction strong{
  overflow:hidden;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.03em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.gw-project-switcher__direction>span{
  width:22px;
  height:12px;
  flex:0 0 auto;
  background:var(--gw3-blue,var(--blue-600,#1686b4));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M1 7h20M15 1l6 6-6 6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M1 7h20M15 1l6 6-6 6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.gw-project-switcher__direction--prev>span{transform:rotate(180deg)}
.gw-project-switcher__direction:hover small{color:var(--gw3-sky,#75cbe9)}
.gw-project-switcher__direction:hover>span{background:var(--gw3-sky,#75cbe9)}

.gw-project-switcher__all{
  position:relative;
  min-width:152px;
}
.gw-project-switcher__all summary{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:14px 20px;
  color:#fff;
  background:var(--gw3-blue,var(--blue-600,#1686b4));
  cursor:pointer;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  list-style:none;
  text-transform:uppercase;
  transition:background .22s ease;
}
.gw-project-switcher__all summary::-webkit-details-marker{display:none}
.gw-project-switcher__all summary:hover,
.gw-project-switcher__all[open] summary{background:var(--gw3-navy,#071f2e)}
.gw-project-switcher__all summary i{
  width:10px;
  height:10px;
  position:relative;
  display:block;
}
.gw-project-switcher__all summary i::before,
.gw-project-switcher__all summary i::after{
  content:"";
  position:absolute;
  background:currentColor;
}
.gw-project-switcher__all summary i::before{left:0;right:0;top:4px;height:1px}
.gw-project-switcher__all summary i::after{top:0;bottom:0;left:4px;width:1px;transition:transform .2s ease}
.gw-project-switcher__all[open] summary i::after{transform:rotate(90deg)}
.gw-project-switcher__panel{
  width:min(960px,calc(100vw - 40px));
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  z-index:90;
  padding:25px;
  background:#fff;
  border:1px solid var(--gw3-line,var(--line,#d7e0e3));
  box-shadow:0 24px 65px rgba(7,31,46,.2);
}
.gw-project-switcher__panel-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--gw3-line,var(--line,#d7e0e3));
}
.gw-project-switcher__panel-head strong{
  color:var(--gw3-ink,var(--ink,#173544));
  font-family:var(--gw3-serif,Georgia,serif);
  font-size:25px;
  font-weight:400;
}
.gw-project-switcher__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--gw3-line,var(--line,#d7e0e3));
  border:1px solid var(--gw3-line,var(--line,#d7e0e3));
}
.gw-project-switcher__list a{
  min-width:0;
  min-height:60px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:10px 12px;
  color:#526873;
  background:#fff;
  transition:background .2s ease,color .2s ease;
}
.gw-project-switcher__list a span{
  color:var(--gw3-blue,var(--blue-600,#1686b4));
  font-size:9px;
  font-weight:850;
}
.gw-project-switcher__list a strong{
  min-width:0;
  font-size:9.5px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.gw-project-switcher__list a:hover,
.gw-project-switcher__list a.is-active{
  color:#fff;
  background:var(--gw3-navy,#071f2e);
}
.gw-project-switcher__list a:hover span,
.gw-project-switcher__list a.is-active span{color:var(--gw3-sky,#75cbe9)}

@media(max-width:1280px){
  .gw-projects-library__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .gw-project-switcher__inner{grid-template-columns:240px minmax(0,1fr);gap:24px}
  .gw-project-switcher__direction{padding-inline:14px}
}
@media(max-width:940px){
  .gw-projects-toolbar,
  body.admin-bar .gw-projects-toolbar,
  .gw-project-switcher,
  body.admin-bar .gw-project-switcher{
    position:relative!important;
    top:auto!important;
  }
  .gw-projects-library__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gw-project-switcher__inner{
    min-height:0;
    grid-template-columns:1fr;
    gap:0;
    padding-top:18px;
  }
  .gw-project-switcher__current{
    padding:0 0 18px;
  }
  .gw-project-switcher__actions{
    grid-template-columns:1fr 1fr auto;
    margin-inline:calc(var(--container-pad,24px) * -1);
    border-top:1px solid var(--gw3-line,var(--line,#d7e0e3));
    border-left:0;
  }
  .gw-project-switcher__direction{min-height:70px}
  .gw-project-switcher__panel{right:12px}
}
@media(max-width:650px){
  .gw-projects-toolbar__inner{padding:19px 0!important}
  .gw-projects-library__grid{grid-template-columns:1fr!important;gap:22px!important}
  .gw-project-card__copy{min-height:225px!important;padding:20px!important}
  .gw-project-card h2{min-height:0!important;font-size:29px!important}
  .gw-project-switcher__current>strong{
    font-size:24px;
    white-space:normal;
  }
  .gw-project-switcher__actions{
    grid-template-columns:1fr 1fr;
  }
  .gw-project-switcher__all{
    grid-column:1/-1;
    border-top:1px solid var(--gw3-line,var(--line,#d7e0e3));
  }
  .gw-project-switcher__all summary{min-height:52px}
  .gw-project-switcher__direction{
    min-height:78px;
    padding:12px;
  }
  .gw-project-switcher__direction strong{
    display:-webkit-box;
    overflow:hidden;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .gw-project-switcher__direction>span{display:none}
  .gw-project-switcher__direction--next{text-align:right;justify-content:flex-end}
  .gw-project-switcher__panel{
    width:calc(100vw - 24px);
    right:12px;
    padding:14px;
  }
  .gw-project-switcher__panel-head{align-items:flex-start;flex-direction:column;gap:5px}
  .gw-project-switcher__panel-head strong{font-size:22px}
  .gw-project-switcher__list{
    grid-template-columns:1fr;
    max-height:55vh;
    overflow-y:auto;
  }
  .gw-project-switcher__list a{min-height:52px}
}
