/* tabs style */
:root {
  --tabs-border-color: #dbdbdb;
  --tabs-link-color: #4d4d4d;
  --tabs-active-color: #1fa29c;
  --tabs-two-link-color: #ffffff;
  --tabs-two-active-color: #ffffff;
}

.tab-navigation-outer-border,
.tab-navigation {
  width: 100%;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--tabs-border-color);
}

.tab-navigation-outer-border .tab-navigation {
  margin-bottom: 0;
  border-bottom: none;
}

.tab-navigation-inner {
  display: flex;
  width: 100%;
}

.tab-navigation-center .tab-navigation-inner {
  justify-content: center;
}

.tab-navigation ul {
  padding: 0;
  margin: 0;
  display: flex;
  list-style-type: none;
}

.tab-navigation-item:not(:last-child) {
  margin-right: 35px;
}

.tab-navigation-link {
  font-size: 16px;
  font-weight: 700;
  color: var(--tabs-link-color);
  display: block;
  position: relative;
  padding-bottom: 5px;
  text-transform: uppercase;
}

.tab-navigation-link:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 3px;
  background: transparent;
}

.tab-navigation-link:hover {
  color: var(--tabs-active-color);
}

.tab-navigation-item.is-active .tab-navigation-link:after,
.tab-navigation-link:hover:after {
  background: var(--tabs-active-color);
}

.tab-navigation-item.is-active {
  pointer-events: none;
}

/* tab-nav-style-2  */

.tab-nav-style-2 .tab-navigation-item:not(:last-child) {
  margin-right: 35px;
}

.tab-nav-style-2 .tab-navigation-link {
  color: var(--tabs-two-link-color);
  font-size: 14px;
  padding-bottom: 8px;
}

.tab-nav-style-2 .tab-navigation-link:hover {
  color: var(--tabs-two-active-color);
}

.tab-nav-style-2 .tab-navigation-item.is-active .tab-navigation-link:after,
.tab-nav-style-2 .tab-navigation-link:hover:after {
  background: var(--tabs-two-active-color);
}

.tab-nav-style-2 {
  margin-bottom: 0;
  border: none;
}

/* tab-nav-style-3 */

.tab-nav-style-3 {
  --tabs-link-color: #ffffff;
  --tab-link-bg: #cdcdcd;
  --tab-active-link-bg: #ffffff;
  --tab-link-border-radius: 10px;

  margin-bottom: 0;
  border: none;
  position: relative;
  z-index: 1;
  padding-left: 25px;
}

.tab-nav-style-3 .tab-navigation-inner {
  position: relative;
}

.tab-nav-style-3 .tab-navigation-inner:after {
  content: "";
  background: #fff;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  height: 25px;
}

.tab-nav-style-3 .tab-navigation-item:not(:last-child) {
  margin-right: 20px;
}

.tab-nav-style-3 .tab-navigation-link {
  padding: 10px 25px;
  background: var(--tab-link-bg);
  box-shadow: 0 0 28px 0px rgba(0, 0, 0, 0.2);
  border-top-left-radius: var(--tab-link-border-radius);
  border-top-right-radius: var(--tab-link-border-radius);
}

.tab-nav-style-3 .tab-navigation-item.is-active .tab-navigation-link {
  background: var(--tab-active-link-bg);
  position: relative;
  z-index: 1;
}

.tab-nav-style-3 .tab-navigation-item.is-active .tab-navigation-link {
  color: var(--tabs-active-color);
}

.tab-nav-style-3 .tab-navigation-link:after {
  display: none;
}

.tab-nav-style-3 .tab-navigation-link:before {
  content: "";
  background: url(/themes/custom/gff/components/elements/tabs/img/tab-grey.png) no-repeat center center transparent;
  display: block;
  display: block;
  width: 80px;
  height: 43px;
  position: absolute;
  left: 100%;
  bottom: 0;
  margin-left: -6px;
}

.tab-nav-style-3 .tab-navigation-item.is-active .tab-navigation-link:before {
  background-image: url(/themes/custom/gff/components/elements/tabs/img/tab-white.png);
}

/* .tab-nav-style-4 */
.tab-nav-style-4 {
  --tabs-link-color: #a8a8a8;
}

.tab-nav-style-4 .tab-navigation-link:hover,
.tab-nav-style-4 .tab-navigation-item.is-active .tab-navigation-link {
  color: var(--tabs-active-color);
}

/* tab content */

.ast-tab-component .ast-tab-content-item:not(.is-active) {
  display: none;
}


/* tabs with rset */

.tab-reset-block {
  display: flex !important;
  justify-content: space-between;
}

.tab-reset-block .reset-btn {
  white-space: nowrap;
}

/* responsive */
@media screen and (max-width: 991px) {
  .tab-reset-block {
    padding-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .tab-navigation-item:not(:last-child) {
    margin-right: 20px;
  }

  .tab-nav-style-3 {
    padding-left: 0;
  }

  .tab-nav-style-3 .tab-navigation-link {
    font-size: 14px;
    padding: 10px 15px;
  }

  .tab-nav-style-3 .tab-navigation-link:before {
    margin-left: -13px;
    height: 39px;
  }

  /* for reset */
  .tab-reset-block {
    position: relative;
    margin-bottom: 30px;
  }

  .tab-reset-block .reset-all-filters {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 15px;
  }
}
