@use '_variables' as *;
@use '_mixins' as *;
@use '_badges' as *;
@use '_icons' as *;
@use '_fonts' as *;

.link-orange {
  color: pvar(--mainForegroundColor);
  font-weight: $font-semibold;
  border-bottom: 0.18em solid pvar(--mainColor);
  display: inline-block;
  line-height: 1.1;

  &:hover {
    color: pvar(--mainForegroundColor);
    opacity: 0.8;
  }
}

.underline-orange {
  display: inline-block;
  border-bottom: 0.19em solid pvar(--mainColor);
}

// ---------------------------------------------------------------------------

.peertube-button {
  @include peertube-button;
}

.peertube-button-big {
  @include peertube-button-big;
}

.peertube-button-link {
  @include peertube-button-link;
}

.peertube-button-big-link {
  @include peertube-button-big-link;
}

.orange-button {
  @include orange-button;
}

.orange-button-inverted {
  @include orange-button-inverted;
}

.grey-button {
  @include grey-button;
}

.tertiary-button {
  @include tertiary-button;
}

.peertube-radio-container {
  @include peertube-radio-container;
}

// ---------------------------------------------------------------------------

.muted {
  @include muted;
}

// ---------------------------------------------------------------------------

.pt-badge {
  @include peertube-badge;
}

// ---------------------------------------------------------------------------

.form-group {
  margin-bottom: 1rem;
}

.input-error:not(:focus) {
  &,
  + .nav-preview, // Markdown textarea
  + * + .tab-content {
    border-color: $red !important;
  }
}

.input-group .input-error {
  z-index: 3;
}

.form-error,
.form-warning {
  display: block;
  margin-top: 5px;
  font-size: 0.9em;
}

.form-error {
  color: $red;
}

// Disable red error on input focus
.input-error:focus,
.input-group:focus-within {
  + .form-error,
  + * + .form-error, // Markdown textarea
  + * + * + .form-error {
    color: pvar(--mainForegroundColor);
  }
}

.form-group-description {
  @include muted;

  font-size: 14px;
  margin-top: 10px;
}

label + .form-group-description {
  margin-bottom: 10px;
  margin-top: 0;
}

// ---------------------------------------------------------------------------


.sub-menu-entry {
  @include disable-default-a-behaviour;
  @include margin-right(55px);

  opacity: 0.7;
  color: pvar(--mainForegroundColor);
  display: inline-block;
  font-weight: $font-semibold;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  font-size: 1rem;

  &.active {
    border-bottom-color: pvar(--mainColor);
  }

  &:hover,
  &:active,
  &:focus {
    color: pvar(--mainForegroundColor);
  }

  &.active,
  &:hover,
  &:active,
  &:focus {
    opacity: 1;
    outline: 0 hidden !important;
  }

  @media screen and (max-width: $mobile-view) {
    @include margin-left(15px);
  }
}

.title-page-v2 {
  font-weight: normal;
  font-size: 15px;
  padding: 35px 25px;
}

.title-page {
  @include margin-right(55px);

  margin-top: 30px;
  margin-bottom: 25px;

  color: pvar(--mainForegroundColor);
  display: inline-block;
  font-weight: $font-semibold;
  font-size: 1.25rem;

  a {
    @include disable-default-a-behaviour;

    color: inherit;

    &:hover {
      color: inherit;
      opacity: 0.8;
    }
  }

  @media screen and (max-width: $mobile-view) {
    @include margin-left(15px);
  }
}

.admin-sub-header {
  display: flex;
  align-items: center;
  margin-bottom: 30px;

  @media screen and (max-width: $small-view) {
    flex-direction: column;
  }
}

// ---------------------------------------------------------------------------

.no-results {
  height: 40vh;
  max-height: 500px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: $font-semibold;
}

// ---------------------------------------------------------------------------

.chevron-down {
  @include chevron-down-default;
}

.chevron-up {
  @include chevron-up-default;
}

.chevron-right {
  @include chevron-right-default;
}

.chevron-left {
  @include chevron-left-default;
}

// ---------------------------------------------------------------------------

.callout {
  padding: 1.25rem;
  border: 1px solid #eee;
  border-radius: .25rem;
  position: relative;

  > label {
    position: relative;
    top: -5px;
    left: -10px;
    color: #6c757d !important;
  }

  &:not(.callout-light) {
    border-left-width: .25rem;
  }

  &.callout-orange {
    border-color: pvar(--mainColorLightest);

    &:not(.callout-light) {
      border-left-color: pvar(--mainColor);
    }
  }
}

// ---------------------------------------------------------------------------

.anchor {
  position: relative;
  top: #{-($header-height + 20px)};
}

.offset-content { // if sub-menu fixed
  .anchor {
    top: #{-($header-height + $sub-menu-height + 20px)};
  }
}

// ---------------------------------------------------------------------------

.alert {
  &.pt-alert-primary {
    background-color: pvar(--mainColorVeryLight);
    border: 2px solid pvar(--mainColorLightest);
  }
}

// ---------------------------------------------------------------------------

.chip {
  @include chip;
}
