.button {
  --bs-border-radius: 0;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.block--local-tasks {
  margin-top: 1rem;
}

.block--local-tasks + * {
  margin-top: 0;
}

.tabs-wrapper {
  margin-bottom: 1.5rem;
}

.tabs--primary,
.tabs--secondary {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #dee2e6;
}

.tabs__tab {
  position: relative;
  margin-bottom: -1px;
}
.tabs__tab a {
  display: block;
  padding: 0.5rem 1rem;
  color: #6c757d;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.tabs__tab a:hover {
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
  border-color: #dee2e6 #dee2e6 transparent;
}
.tabs__tab a:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.tabs__tab.is-active a,
.tabs__tab a.is-active {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
  font-weight: 600;
}

.tabs-wrapper.is-horizontal .tabs__tab {
  display: inline-block;
}

/*
// Tabs component for tabbed-content paragraphs (copied from degree-finder)
.paragraph--type--tabbed-content {
  .tabs {
    > .inner-container {
      position: relative;
      display: flex;
      width: 100%;

      .tab {
        display: flex;
        justify-content: space-between;
        border: none;
        padding: rem(17) rem(20) rem(4) rem(20);
        font-family: $font-family-sans-serif-bold;
        font-weight: 750;
        font-size: rem(18);
        line-height: 1.44444;
        text-transform: uppercase;

        @include media-breakpoint-up(lg) {
          padding: rem(30) rem(30) rem(10) rem(30);
          font-size: rem(32);
          line-height: 1.18182;
        }

        @include media-breakpoint-up(xl) {
          font-size: rem(44);
        }

        &.is-active {
          flex: 1 1 auto;
          background-color: $black;
          color: $white;
        }

        &:not(.is-active) {
          flex: 0 0 auto;
          width: max-content;
          background-color: $white;
          color: $gray-500;
        }

        svg {
          margin-left: rem(10);
          width: rem(20);
          height: rem(20);

          @include media-breakpoint-up(lg) {
            margin-left: rem(20);
            width: rem(36);
            height: rem(36);
          }

          @include media-breakpoint-up(xl) {
            margin-left: rem(30);
            width: rem(47);
            height: rem(47);
          }
        }

        & + .tab {
          margin-left: 0;

          @include media-breakpoint-up(xm) {
            margin-left: rem(10);
          }

          @include media-breakpoint-up(lg) {
            margin-left: rem(20);
          }

          @include media-breakpoint-up(xl) {
            margin-left: rem(40);
          }
        }
      }
    }
  }

  // tab-content is a sibling of .tabs, not a child
  .tab-content {
    padding-top: rem(20);

    @include media-breakpoint-up(lg) {
      padding-top: rem(30);
    }

    .tab-pane {
      display: none;
      padding: 0 rem(20) rem(24) rem(20);

      @include media-breakpoint-up(lg) {
        padding: 0 rem(30) rem(40) rem(30);
      }

      &.active {
        display: block;
      }

      // Ensure text paragraphs inside tabs get proper spacing
      .field__item:has(.paragraph--type--text) {
        margin-bottom: rem(40);

        @include media-breakpoint-up(lg) {
          margin-bottom: rem(80);
        }

        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }
}

// ============================================================================
// TEMPORARY: Light tab variant for inside pages
// ============================================================================
// NOTE: Structure is important - .tab-content is a SIBLING of .tabs, not a child
// Structure: .paragraph--type--tabbed-content > (.tabs + .tab-content)
//
.paragraph--type--tabbed-content {
  .tabs.tabs-light {
    > .inner-container {
      border-bottom: 1px solid $grey-border;

      .tab {
        display: flex;
        align-items: center;
        border: none;
        padding: rem(12) rem(20);
        background: transparent;
        font-family: $font-family-sans-serif;
        font-weight: $font-weight-normal;
        font-size: rem(16);
        line-height: 1.5;
        color: $gray-500;
        text-transform: none;
        position: relative;
        transition: color 0.15s ease-in-out;

        @include media-breakpoint-up(lg) {
          padding: rem(16) rem(24);
          font-size: rem(18);
        }

        &:hover {
          color: $gray-800;
        }

        &.is-active {
          flex: 0 0 auto;
          color: $gray-800;
          font-weight: $font-weight-bold;

          &::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: rem(2);
            background-color: $red;
          }
        }

        svg {
          display: none;
        }

        & + .tab {
          margin-left: rem(24);

          @include media-breakpoint-up(lg) {
            margin-left: rem(32);
          }
        }
      }
    }
  }

  // Light variant tab-content (sibling of .tabs, not child)
  .tabs-light + .tab-content {
    padding-top: rem(16);

    @include media-breakpoint-up(lg) {
      padding-top: rem(20);
    }

    .tab-pane {
      padding: 0 rem(20) rem(20) rem(20);

      @include media-breakpoint-up(lg) {
        padding: 0 rem(24) rem(24) rem(24);
      }
    }
  }
}
*/
.paragraph--type--tabbed-content .tabs-accordions .tab-headings {
  width: 100%;
  position: relative;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings::after {
  content: "";
  display: block;
  width: 100vw;
  height: 0.125rem;
  position: absolute;
  bottom: 0;
  background-color: #222222;
  left: -1.875rem;
  max-width: calc(100% + 60px);
}
@media (min-width: 1400px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings::after {
    height: 0.25rem;
  }
}
@media (min-width: 1400px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings::after {
    left: -3.125rem;
    max-width: calc(100% + 100px);
  }
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container {
  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  border: none;
  padding: 1.25rem 4.375rem 0.625rem 1.25rem;
  font-family: "Helvetica Neue LT", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 750;
  font-size: 2rem;
  line-height: 1.44444;
  text-transform: uppercase;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
@media (min-width: 1200px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
    padding: 1.875rem 5.625rem 0.625rem 1.875rem;
    font-size: 2.25rem;
  }
}
@media (min-width: 1400px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
    font-size: 2.75rem;
    line-height: 1.18182;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab.is-active {
  background-color: #222222;
  color: #fff;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab.is-active svg {
  background-color: #CC0000;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab:not(.is-active) {
  background-color: #F7F7F7;
  color: #222222;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab:not(.is-active) svg {
  background-color: transparent;
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab svg {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.625rem;
  height: 2.625rem;
}
@media (min-width: 1200px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab svg {
    right: 1.25rem;
    width: 3.25rem;
    height: 3.25rem;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab + .tab {
  margin-left: 0.9375rem;
}
@media (min-width: 1400px) {
  .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab + .tab {
    margin-left: 1.25rem;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .content-items {
  padding-top: 1rem;
  position: relative;
}
@media (max-width: 991.98px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items:last-child .accordion-header {
    border-bottom: 1px solid #E1E1E1;
  }
  .paragraph--type--tabbed-content .tabs-accordions .content-items:last-child .content {
    border-bottom: 1px solid #E1E1E1;
  }
}
@media (min-width: 992px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items {
    padding-top: 1.25rem;
  }
  .paragraph--type--tabbed-content .tabs-accordions .content-items::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: calc(100% + 60px);
    max-width: 100vw;
    background-color: #F7F7F7;
    margin-left: -1.875rem;
  }
}
@media (min-width: 992px) and (min-width: 1400px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items::before {
    width: calc(100% + 100px);
    margin-left: -3.125rem;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item {
  position: relative;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header {
  position: relative;
  padding: 1.0625rem 3.125rem 1.0625rem 1.25rem;
  background-color: #fff;
  border-top: 1px solid #d1d5db;
  color: #222222;
  font-feature-settings: "liga" off, "clig" off;
  font-family: "Roboto Condensed", Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.16667;
  text-transform: uppercase;
  text-align: left;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header.is-open {
  background-color: #000;
  color: #fff;
  border: 1px solid #000;
  font-weight: 500;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header.is-open .open {
  display: none;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header.is-open .close {
  display: block;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header:not(.is-open) .open {
  display: block;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header:not(.is-open) .close {
  display: none;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header svg {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
}
@media (max-width: 991.98px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .accordion-header + .content:not(.active) {
    display: none;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content {
  padding: 0 1.25rem 0.625rem 1.25rem;
  background-color: #F7F7F7;
}
@media (min-width: 992px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content {
    padding: 0 0 3.125rem 0;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content:not(.active) {
  display: none;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content.active {
  display: block;
}
@media (max-width: 991.98px) {
  .paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content .field--name-field-content > p:first-child {
    padding-top: 1rem !important;
  }
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content .field--name-field-content .link-with-arrow:last-child {
  border-bottom: none;
}
.paragraph--type--tabbed-content .tabs-accordions .content-items .content-item .content .field--name-field-content .link-with-arrow .inner-container {
  display: block;
  width: 100%;
}

body.sidebar-first .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
  font-size: 1.25rem;
}
@media (min-width: 1200px) {
  body.sidebar-first .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
    font-size: 1.5rem;
  }
}
@media (min-width: 1400px) {
  body.sidebar-first .paragraph--type--tabbed-content .tabs-accordions .tab-headings > .inner-container .tab {
    font-size: 2rem;
    line-height: 1.44444;
  }
}
@media (min-width: 1400px) {
  body.sidebar-first .paragraph--type--tabbed-content .tabs-accordions .tab-headings::after {
    left: -1.875rem;
    max-width: calc(100% + 60px);
  }
}
@media (min-width: 1400px) {
  body.sidebar-first .paragraph--type--tabbed-content .tabs-accordions .content-items::before {
    width: calc(100% + 60px);
    margin-left: -1.875rem;
  }
}
/*# sourceMappingURL=maps/tabs.css.map */
