/* 
  Tabs 
    active @ breakpoint: min-width: 900px
*/
.tab-subtext{
  font-size: 18px;
  font-weight: 400;
  margin: .5rem 0;
}

/* layout */
.tabber-wrapper .container + .container {
  padding-top: 0;
}

.tabber {
  --tabber-accent-thickness: 20px;
  --tabber-tab-left-width: 28%;
  --tabber-tab-left-min-width: 200px;
  --tabber-tab-top-alignment: flex-start;
  --tabber-panel-alignment: center;
  --tabber-panel-card-shadow: 0 30px 30px -15px rgb(var(--color-black), 30%), 0 15px 15px -15px rgb(var(--color-black),10%);
  z-index: 1;
}

@media (min-width: 900px) {
  .tabber {
    display: grid;
    grid-auto-rows: auto;
  }
}

.tabber--left {
  align-items: start;
  grid-template: auto / max(var(--tabber-tab-left-width), var(--tabber-tab-left-min-width)) 1fr;
}

.tabber--top {
  grid-template: auto / 1fr;
}

/* section title / text */
.tabber__section-title {
  margin: auto;
  max-width: 800px;
  text-align: center;
}

.tabber__section-explainer {
  margin: 0 auto;
  max-width: 760px;
  text-align: center;
}

/* nav */
.no-js .tabber__nav[data-tabber-role="tablist"],
.tabber__nav {
  display: none;
}

.tabber__nav {
  align-items: center;
  justify-content: var(--tabber-tab-alignment);
  position: relative;
  text-align: center;
}

.tabber--top .tabber__nav {
  padding: 0 calc(var(--site-gutter) / 2);
}
  
.tabber--left .tabber__nav {
  flex-flow: column;
  border-left: 1px solid #c8c8c8;
}

@media (min-width: 900px) {
  .tabber__nav {
    display: flex;
  }
}

.tabber .tabber__tab { /* specificity to override theme buttons */
  background: transparent;
  border-radius: 0;
  border: solid rgb(var(--color-foreground), .25);
  border-width: 0;
  display: block;
  font-size: 1.1rem;
  padding: .75rem 0;
  position: relative;
  text-transform: none;
  width: 100%;
  color: var(--tabber-tab-text-color, #212139);
}

.tabber--top .tabber__tab {
  align-items: flex-start;
  display: flex;
  font-size: 1.5rem;
  height: 100%;
  justify-content: center;
  width: auto;
}

.tabber--top .tabber__tab--stretch {
  width: 100%;
}

.tabber--left .tabber__tab {
  font-size: clamp(1rem, 5vw, 26px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--tabber-tab-text-color, #fff);
  padding: 0 1rem 1rem 2rem;
  text-align: left;
}

.tabber__tab + .tabber__tab {
  border-top: 0;
}

.tabber__tab:focus {
  box-shadow: none;
}

i.tabber__tab-icon {
  flex: 0 0 30px !important;
  margin-right: 0.75rem !important;
}

.tabber__tab-icon img {
  width: 1.75rem;
}

.tabber__tab::before {
  background: rgb(var(--color-tertiary));
  bottom: 0;
  box-shadow: none;
  content: '';
  height: .25rem;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: .2s cubic-bezier(.47,1.64,.41,.8);;
  transition-property: opacity, transform;
  width: 100%;
}

.tabber__tab:hover::before {
  opacity: .5;
  transform: scaleY(.7);
}

.tabber__tab:focus::before,
.tabber__tab[role="tab"][aria-selected="true"]::before {
  opacity: 1;
  transform: scaleY(1);
}

.tabber--left-accent .tabber__tab::before {
  left: -.153rem;
  right: auto;
  width: 100% !important;
 {# transform: scaleX(0);
  transform-origin: center left;
  width: .25rem; #}
}

.tabber--right-accent .tabber__tab::before {
  left: auto;
  right: 0;
  height: var(--tabber-accent-thickness);
  transform: scaleX(0);
  transform-origin: center right;
  width: var(--tabber-accent-thickness);
}

{# .tabber--left-accent .tabber__tab:hover::before,
.tabber--right-accent .tabber__tab:hover::before {
  transform: scaleX(.7);
} #}

.tabber--left-accent .tabber__tab:focus::before,
.tabber--left-accent .tabber__tab[role="tab"][aria-selected="true"]::before,
.tabber--right-accent .tabber__tab:focus::before,
.tabber--right-accent .tabber__tab[role="tab"][aria-selected="true"]::before {
  transform: scaleX(1);
}

.tabber--top-accent .tabber__tab::before {
  bottom: auto;
  left: 0;
  height: var(--tabber-accent-thickness);
  top: 0;
  transform: scaleY(0);
  transform-origin: top center;
  width: 100%;
}

.tabber--bottom-accent .tabber__tab::before {
  bottom: 0;
  left: 0;
  height: var(--tabber-accent-thickness);
  top: auto;
  transform: scaleY(0);
  transform-origin: bottom center;
  width: 100%;
}

.tabber--top-accent .tabber__tab:hover::before,
.tabber--bottom-accent .tabber__tab:hover::before {
  transform: scaleY(.7);
}

.tabber--top-accent .tabber__tab:focus::before,
.tabber--top-accent .tabber__tab[role="tab"][aria-selected="true"]::before,
.tabber--bottom-accent .tabber__tab:focus::before,
.tabber--bottom-accent .tabber__tab[role="tab"][aria-selected="true"]::before {
  transform: scaleY(1);
}

/* panels */
.tabber__panel {
  align-items: var(--tabber-panel-alignment);
  display: grid;
  gap: 1.5rem 2rem;
  padding: var(--site-gutter);
}

.tabber__panels .tabber__panel {
  color: #0F1B2A;
}

.tabber__tab-copy h4, .tabber__tab-copy p {
  color: #fff;
}

@media (min-width: 900px) {
  .tabber__panel {
    padding: calc(var(--site-gutter) / 2);
  }
  
  .tabber__panel[hidden] {
    display: none;
  }

  .tabber__panel--carded {
    border-radius: var(--card-radius);
    border: var(--card-border);
    box-shadow: var(--tabber-panel-card-shadow);
    overflow: hidden;
  }

  .tabber--top .tabber__panel {
    grid-template: auto / 1fr 1fr;
  }

  .tabber--left .tabber__panel--carded {
    margin-top: calc(-1 * var(--media-border-radius));
  }
}

@media (min-width: 1100px) {
  .tabber--top .tabber__tab-copy {
    padding: 1.5rem .75rem 0 1.5rem;
  }
}

.no-js .tabber__panel + .tabber__panel {
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .tabber__panel {
    overflow: hidden;
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
  }

  .tabber__panel + .tabber__panel {
    border-top: 3px rgb(var(--color-primary), .2) solid;
    margin-top: 0;
  }
}

.tabber__panel-title {
  border-bottom: 3px rgb(var(--color-primary)) solid;
  margin: 0 auto 20px 0;
  padding: 0 5px 11px;
  text-align: center;
  width: fit-content;
  color: var(--tabber-tab-text-color, #212139);
  font-size: 1.1rem;
}

@media (min-width: 900px) {
  .js .tabber__panel-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

.tabber__tab-media {
  border-radius: var(--media-border-radius);
  width: 100%;
  max-width: 100%;
  height: auto;
}

.tabber__panel ul, .tabber__panel ul {
  margin: 1em 0;
  padding: 0 0 0 1em;
}