@layer component {
  .miz-ribbon {
    --ribbon-width: 100%;
    --ribbon-max-width: 100%;
    --ribbon-content-max-width: 1600px;
    --ribbon-text-color: rgb(255, 255, 255);
    --ribbon-bg-color: rgb(0, 0, 0);
    --ribbon-fill-color: rgb(255, 255, 255);
    --ribbon-link-color: rgb(255, 255, 255);
    --ribbon-min-padding-right: 16px;
    --ribbon-min-padding-left: 16px;
    display: flex;
    justify-content: space-between;
    position: relative;
    background-color: var(--ribbon-bg-color);
    padding: 1rem 1rem 1rem 1rem;
    min-height: 64px;
    width: var(--ribbon-width);
    max-width: var(--ribbon-max-width);
    padding-right: max(var(--ribbon-min-padding-right), (var(--ribbon-width) - var(--ribbon-content-max-width)) / 2);
    padding-left: max(var(--ribbon-min-padding-left), (var(--ribbon-width) - var(--ribbon-content-max-width)) / 2);
    margin-right: auto;
    margin-left: auto;
  }
  @media (min-width: 768px) {
    .miz-ribbon {
      display: flex;
      align-items: center;
      justify-content: flex-end;
    }
  }
  .miz-ribbon > * {
    margin-bottom: 0;
  }
  @media (min-width: 768px) {
    .miz-ribbon > * {
      flex: 0 1 auto;
      margin: 0;
    }
  }
  .miz-ribbon > * + * {
    margin-top: 1rem;
  }
  @media (min-width: 768px) {
    .miz-ribbon > * + * {
      margin-top: 0;
    }
  }
}
@layer component {
  @media (min-width: 768px) {
    .miz-ribbon__signature {
      align-self: flex-start;
      margin-right: auto;
    }
  }
  .miz-ribbon__tactical {
    display: none;
  }
  @media (min-width: 768px) {
    .miz-ribbon__tactical {
      display: flex;
      align-items: center;
      justify-content: flex-end;
    }
  }
  .miz-ribbon__tactical-button {
    position: absolute;
    top: 0;
    right: 0;
    fill: var(--ribbon-fill-color);
  }
  @media (min-width: 768px) {
    .miz-ribbon__tactical-button {
      display: none !important;
    }
  }
  .miz-ribbon__link-list {
    --link-list-link-color: rgb(255, 255, 255);
    --link-list-link-color-hover: rgb(255, 255, 255);
    --link-list-link-text-decoration: none;
    --link-list-link-text-decoration-hover: none;
    align-items: center;
    list-style: none;
    padding: 0;
    gap: 1rem;
  }
  .miz-ribbon__link-list .miz-link-list__link {
    --link-list-link-effect-background-color: rgb(253, 184, 25);
    --link-list-link-effect-text-color-hover: rgb(0, 0, 0);
    --effect-background-image: linear-gradient(0deg, var(--link-list-link-effect-background-color) 0%, var(--link-list-link-effect-background-color) 100%);
    display: inline-block;
    margin: 0 0 0 0;
    padding: 0.5rem 0.25rem 0.5rem 0.25rem;
    text-decoration: none;
    z-index: 1;
    background-image: var(--effect-background-image);
    background-repeat: no-repeat;
    background-size: 100% 2px;
    background-position: 0 100%;
    color: var(--link-list-link-color);
    font-weight: 600;
    transition: background-size 0.1s ease-in-out, color 0.1s;
    font-weight: 600;
  }
  .miz-ribbon__link-list .miz-link-list__link:hover {
    background-size: 100% 100%;
    color: var(--link-list-link-color);
  }
  .miz-ribbon__link-list .miz-link-list__link:active {
    background-size: 100% 100%;
    background-image: linear-gradient(0deg, rgb(255, 209, 125) 0%, rgb(255, 209, 125) 100%);
  }
  .miz-ribbon__link-list .miz-link-list__link:focus-visible {
    outline: 2px dashed var(--link-list-link-color-hover);
    outline-offset: 1px;
    background-image: linear-gradient(0deg, var(--link-list-link-effect-background-color) 0%, var(--link-list-link-effect-background-color) 100%);
    background-size: 100% 100%;
    color: var(--link-list-link-color);
  }
  .miz-ribbon__link-list .miz-link-list__link:hover {
    background-size: 0% 2px;
  }
  .miz-ribbon__link-list .miz-link-list__link:active {
    background-size: 0% 2px;
  }
  .miz-ribbon__link-list .miz-link-list__item--search {
    --button-padding: 0.5rem 1rem;
    --button-font-color: var(--link-list-link-color);
    transition: scale 0.2s ease-in-out;
  }
  .miz-ribbon__link-list .miz-link-list__item--search:hover .miz-icon {
    scale: 1.2;
  }
  .miz-ribbon__search {
    display: flex;
  }
  @media (min-width: 768px) {
    .miz-ribbon__search {
      flex: 0 1 auto;
    }
  }
}
@layer modifier {
  .miz-ribbon--gold {
    --ribbon-bg-color: rgb(253, 184, 25);
    --ribbon-fill-color: rgb(0, 0, 0);
    --ribbon-link-color: rgb(0, 0, 0);
  }
  .miz-ribbon--gold .miz-ribbon__link-list {
    --link-list-link-color: rgb(0, 0, 0);
    --link-list-link-color-hover: rgb(0, 0, 0);
  }
  .miz-ribbon--gold .miz-ribbon__link-list .miz-link-list__link {
    --link-list-link-effect-background-color: rgb(0, 0, 0);
  }
  .miz-ribbon--light, .miz-ribbon--white {
    --ribbon-bg-color: rgb(255, 255, 255);
    --ribbon-fill-color: rgb(0, 0, 0);
    --ribbon-link-color: rgb(0, 0, 0);
  }
  .miz-ribbon--light .miz-ribbon__link-list, .miz-ribbon--white .miz-ribbon__link-list {
    --link-list-link-color: rgb(0, 0, 0);
    --link-list-link-color-hover: rgb(0, 0, 0);
  }
  .miz-ribbon--dark {
    --ribbon-bg-color: rgb(0, 0, 0);
    --ribbon-fill-color: rgb(0, 0, 0);
    --ribbon-link-color: rgb(255, 255, 255);
  }
  .miz-ribbon--dark .miz-ribbon__link-list {
    --link-list-link-color: rgb(255, 255, 255);
    --link-list-link-color-hover: rgb(255, 255, 255);
  }
}