@import (reference) '../../common/variables.less';

.header {
  z-index: 11;

  color: @landing-fg;
  background-color: @white-bg;

  height: @header-height-mobile;

  @media @md-xl {
    height: @header-height-desktop;

    .landing-layout & {
      background-color: transparent;
    }
  }

  &-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
  }

  &-links {
    display: none;
    flex: 1 0 auto;
    justify-content: end;
    align-items: flex-end;
    margin: 0;

    @media @md-xl {
      display: flex;
    }
  }

  &-link {
    color: inherit;
    text-decoration: none;
    padding: 10px;

    &:hover {
      color: @nav-hover;
      text-decoration: none;
    }
  }

  &-item {
    font-size: 1rem;

    margin: 0 5px;
    @media @lg-xl {
      margin: 0 10px;
    }

    svg {
      width: 24px;
      height: 24px;
    }
  }

  &-utility {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    flex: 1 0 auto;
    margin-left: auto;
    justify-self: flex-end;
    @media @md-xl {
      display: none;
    }
  }

  &-logo {
    flex: 1 0 auto;

    display: flex;
    align-items: center;
    white-space: nowrap;
    padding-left: 0;
    padding-right: 0;

    @media @md-xl {
      font-size: 1.2rem;
    }

    svg {
      display: inline-block;
      margin: 0 1rem 0 2px;
      width: 48px;
      height: 48px;

      @media @md-xl {
        width: 66px;
        height: 66px;
      }
    }
  }

  &-btn {
    display: none;
    @media @md-xl {
      display: block;
      width: 150px;
    }
    & &-link {
      height: 50px;
      margin: 0 0 0 1rem;
    }
  }

  &-hamburger {
    display: block;
    @media @md-xl {
      display: none;
    }

    position: relative;
    width: 30px;
    height: 22px;
    margin: 0 2px;

    border-top: 2px solid @nav-accent;
    border-bottom: 2px solid @nav-accent;

    transition: border 0.5s ease-in-out;

    &::before,
    &::after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      border-top: 2px solid @nav-accent;

      transform: translate(-50%, -50%);
      transition: transform 0.5s ease-in-out;
    }

    &[active] {
      border-color: transparent;

      &::before {
        transform: translate(-50%, -50%) rotate(45deg);
      }

      &::after {
        transform: translate(-50%, -50%) rotate(-45deg);
      }
    }
  }

  &-short-name {
    display: inline-block;
    @media @sm-xl {
      display: none;
    }
  }

  &-long-name {
    display: none;
    @media @sm-xl {
      display: inline-block;
    }
  }

  &-short-name,
  &-long-name {
    font-size: 1.125rem;
    font-weight: 500;
  }
}
