Skip to content
Snippets Groups Projects
hy-desktop-menu-links.scss 10.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • druid's avatar
    druid committed
      align-items: center;
      display: flex;
      flex-flow: row;
      justify-content: center;
      margin: 0 32px;
      padding: 0;
    
      height: 100%;
    
      &__menu-desktop {
        height: 100%;
      }
    
    druid's avatar
    druid committed
      // ul - menu items first level and panels that consist of menu items second level and shortcut items per panel.
    
    shamalainen's avatar
    shamalainen committed
      &__menu-desktop-container {
    
        align-items: center;
        display: flex;
    
    druid's avatar
    druid committed
        flex-direction: row;
    
        flex-flow: row;
    
        height: 100%;
    
    shamalainen's avatar
    shamalainen committed
        list-style: none;
    
    druid's avatar
    druid committed
        margin: 0;
        padding: 0;
    
    druid's avatar
    druid committed
    
    
        li {
          display: flex;
          height: 100%;
        }
    
    druid's avatar
    druid committed
    
    
    druid's avatar
    druid committed
        // First level menu items
        .desktop-menu-link {
          background-color: transparent;
    
    druid's avatar
    druid committed
          border: none;
    
    druid's avatar
    druid committed
          color: var(--brand-main-nearly-black);
          cursor: pointer;
          font-family: var(--main-font-family);
    
          @include breakpoint($extrawide) {
    
    druid's avatar
    druid committed
            @include font-size(14px, 14px);
    
    druid's avatar
    druid committed
            @include font-weight($bold);
    
    
    druid's avatar
    druid committed
            align-items: center;
    
    druid's avatar
    druid committed
            border-top: 0 none;
    
    druid's avatar
    druid committed
            display: flex;
            flex-direction: row;
            justify-content: center;
            letter-spacing: -0.6px;
            padding: 0 7px;
    
    druid's avatar
    druid committed
            position: relative;
    
    druid's avatar
    druid committed
            text-transform: uppercase;
          }
    
    
    druid's avatar
    druid committed
          @include breakpoint($xlarge) {
            @include font-size(16px, 16px);
            letter-spacing: -0.7px;
            padding: 0 9px;
    
    druid's avatar
    druid committed
          }
    
    
          &.toggle {
            text-decoration: none;
          }
    
    
    druid's avatar
    druid committed
          &__label {
    
            position: relative;
    
    druid's avatar
    druid committed
            width: min-content;
    
            @include breakpoint($overwide) {
    
    druid's avatar
    druid committed
              width: 100%;
            }
    
    
            &--is-active-trail::after {
              border-bottom: 4px solid var(--brand-main-nearly-black);
              bottom: -12px;
              content: ' ';
              position: absolute;
              right: 0;
              width: 100%;
            }
    
            &--is-active-trail--disabled::after {
              border: none;
            }
    
    druid's avatar
    druid committed
          }
    
    
    druid's avatar
    druid committed
          hy-icon {
    
            //display: inline-block !important;
            display: flex;
            height: 8px;
            margin-left: 3px;
            width: 10px;
    
    
    druid's avatar
    druid committed
            @include breakpoint($xlarge) {
    
              height: 8.44px;
              margin-left: 4px;
              width: 12px;
    
    druid's avatar
    druid committed
            }
    
    druid's avatar
    druid committed
    
            svg {
    
              height: 8px;
              width: 10px;
    
    druid's avatar
    druid committed
              @include breakpoint($xlarge) {
    
                height: 8.44px;
                width: 12px;
    
    druid's avatar
    druid committed
              }
            }
    
    druid's avatar
    druid committed
          }
    
    
    druid's avatar
    druid committed
          // On hover: heading icon is turned 180deg and grows bigger.
    
    druid's avatar
    druid committed
          &--is-active {
    
            //position: relative;
    
    druid's avatar
    druid committed
            &:hover,
            &:focus {
    
              color: var(--link-blue);
              hy-icon {
                svg {
                  fill: var(--link-blue);
                }
              }
            }
    
    druid's avatar
    druid committed
    
    
    druid's avatar
    druid committed
            hy-icon {
              transform: rotateX(180deg);
    
    druid's avatar
    druid committed
            }
    
    
            .desktop-menu-link__label--is-active-trail::after {
              border: none;
            }
          }
    
          // Underline active link when showing menu panel
          &--is-active::after {
            border-bottom: 4px solid var(--brand-main-nearly-black);
            bottom: 0;
            content: ' ';
            position: absolute;
            right: 0;
            width: 100%;
    
    druid's avatar
    druid committed
          }
    
    druid's avatar
    druid committed
    
          &:focus {
            outline: none;
          }
    
    druid's avatar
    druid committed
        }
    
        // Panel with second level menu items and shortcuts.
        .hy-desktop-menu-panel {
    
    druid's avatar
    druid committed
          display: none;
    
          flex-direction: row;
          opacity: 0;
          transition: none;
          position: absolute;
          left: 0;
          top: 0;
    
    druid's avatar
    druid committed
          z-index: 510;
          width: 100%;
    
    druid's avatar
    druid committed
    
          &--is-active {
    
    druid's avatar
    druid committed
            background: radial-gradient(circle, var(--grayscale-light) 0%, var(--grayscale-background-box) 100%);
    
    druid's avatar
    druid committed
            box-shadow: 0 0 20px 0 rgba(14, 104, 139, 0.1) inset;
    
    druid's avatar
    druid committed
            display: flex;
    
            padding-left: 300px;
    
    druid's avatar
    druid committed
          }
    
          &__panel-toggle {
            background-color: transparent;
            border: none;
            position: absolute;
            right: 10px;
    
            top: 0;
    
            @include breakpoint($extrawide) {
              padding: 22px 32px 17px 32px;
            }
            @include breakpoint($xlarge) {
              padding: 30px 32px 30px 32px;
            }
    
    druid's avatar
    druid committed
    
            &__label {
              @include font-size(18px, 22px);
              @include font-weight($bold);
              color: var(--grayscale-black);
              display: flex;
              font-family: var(--main-font-family);
              letter-spacing: -0.56px;
              margin-bottom: 18px;
              text-transform: uppercase;
              &__title {
                padding-right: 5px;
              }
    
    
              &:hover {
                cursor: pointer;
                span {
                  color: var(--brand-main);
                }
                svg {
                  fill: var(--brand-main);
                }
              }
    
    druid's avatar
    druid committed
            }
          }
    
          &__desktop-menu {
    
            display: flex;
    
    druid's avatar
    druid committed
            margin-bottom: -8px;
    
    druid's avatar
    druid committed
            margin-top: 6px;
    
    druid's avatar
    druid committed
              min-width: 440px;
              max-width: 540px;
    
    druid's avatar
    druid committed
    
            // first level link inside panel
    
    druid's avatar
    druid committed
            &__first-level-menu-item {
    
    druid's avatar
    druid committed
              @include font-weight($bold);
              color: var(--brand-main-nearly-black);
              display: flex;
              font-family: var(--main-font-family);
              text-decoration: none;
              width: 100%;
    
    
    druid's avatar
    druid committed
              &:hover,
              &:focus {
                box-shadow: 0 0 16px 0 rgba(0, 83, 121, 0.2);
                color: var(--link-blue);
              }
    
    
    druid's avatar
    druid committed
              @include breakpoint($extrawide) {
                @include font-size(24px, 32px);
                align-items: flex-start;
    
    druid's avatar
    druid committed
                background-color: var(--grayscale-white);
    
    druid's avatar
    druid committed
                flex-direction: column;
    
    druid's avatar
    druid committed
                justify-content: center;
    
    druid's avatar
    druid committed
                letter-spacing: -0.75px;
                margin-bottom: 4px;
    
    druid's avatar
    druid committed
                position: relative;
                text-transform: none;
              }
    
    druid's avatar
    druid committed
              @include breakpoint($xlarge) {
    
    druid's avatar
    druid committed
                @include font-size(26px, 32px);
                letter-spacing: -0.81px;
                margin-bottom: 6px;
    
    druid's avatar
    druid committed
              }
    
    
    druid's avatar
    druid committed
              .label {
    
    druid's avatar
    druid committed
                border: none;
                margin-left: 14px;
    
    druid's avatar
    druid committed
    
                &:hover,
                &:focus {
                  color: var(--link-blue);
                }
    
    druid's avatar
    druid committed
              }
    
    druid's avatar
    druid committed
              .description {
    
    druid's avatar
    druid committed
                @include font-size(14px, 18px);
                @include font-weight($regular);
    
    druid's avatar
    druid committed
                color: var(--grayscale-dark);
    
    druid's avatar
    druid committed
                letter-spacing: -0.2;
    
    druid's avatar
    druid committed
                margin-left: 14px;
    
    druid's avatar
    druid committed
                margin-bottom: 12px;
    
    druid's avatar
    druid committed
                margin-top: 4px;
    
                @include breakpoint($xlarge) {
                  @include font-size(16px, 20px);
                  letter-spacing: -0.25;
                }
    
    druid's avatar
    druid committed
                &:hover {
                  color: var(--grayscale-dark);
                }
    
    druid's avatar
    druid committed
              }
    
    
    druid's avatar
    druid committed
              span.heading-icon {
    
    druid's avatar
    druid committed
                position: absolute;
                top: 12px;
                left: -6px;
    
    druid's avatar
    druid committed
                @include breakpoint($xlarge) {
    
                  top: 20px;
    
    druid's avatar
    druid committed
                }
                svg {
                  background-color: var(--brand-main-light);
                  fill: var(--grayscale-white);
                  padding: 8px;
                }
              }
            }
    
    
    druid's avatar
    druid committed
            // Second level menu item links
    
    druid's avatar
    druid committed
            &__second-level-menu {
    
    druid's avatar
    druid committed
              background-color: var(--grayscale-white);
    
    druid's avatar
    druid committed
              list-style: none;
              margin: 0;
    
    druid's avatar
    druid committed
              padding: 12px 0;
    
    druid's avatar
    druid committed
    
              li {
                a {
                  @include font-weight($bold);
                  align-items: center;
                  color: var(--brand-main-nearly-black);
                  display: flex;
                  flex-direction: row;
                  font-family: var(--main-font-family);
                  text-decoration: none;
                  width: 100%;
    
                  @include breakpoint($extrawide) {
    
    druid's avatar
    druid committed
                    @include font-size(14px, 18px);
    
    druid's avatar
    druid committed
                    align-items: center;
                    flex-direction: row;
    
    druid's avatar
    druid committed
                    letter-spacing: -0.5px;
    
    druid's avatar
    druid committed
                    padding-left: 24px;
    
                    padding-right: 48px;
    
    druid's avatar
    druid committed
                    text-transform: none;
                  }
    
    
    druid's avatar
    druid committed
                  @include breakpoint($xlarge) {
                    @include font-size(16px, 18px);
                    letter-spacing: -0.5px;
    
    druid's avatar
    druid committed
                  }
    
                  &:focus {
                    outline: solid 2px var(--additional-yellow);
                    outline-offset: -2px;
                  }
    
    
    druid's avatar
    druid committed
                  &:hover,
                  &:focus {
                    color: var(--link-blue);
    
    druid's avatar
    druid committed
    
                    span.external-icon {
                      svg {
                        fill: var(--link-blue);
                      }
                    }
    
    druid's avatar
    druid committed
                  .label {
    
    druid's avatar
    druid committed
                    @include breakpoint($extrawide) {
                      border: none;
    
    druid's avatar
    druid committed
                      margin: 0 5px 0 12px;
    
    druid's avatar
    druid committed
                      padding-top: 12px;
                      padding-bottom: 12px;
                    }
                  }
    
    
    druid's avatar
    druid committed
                  span.heading-icon {
    
    druid's avatar
    druid committed
                    svg {
                      fill: var(--brand-main-light);
                      @include breakpoint($extrawide) {
                        padding: 1px 0;
                      }
                    }
                  }
    
    druid's avatar
    druid committed
    
                  span.external-icon {
                    svg {
                      fill: var(--brand-main-nearly-black);
                      transform: rotate(-45deg);
    
                      &:hover,
                      &:focus {
                        fill: var(--link-blue);
                      }
                    }
                  }
    
    druid's avatar
    druid committed
                }
              }
            }
          }
        }
    
        // Shortcuts
        .shortcuts-panel {
    
    druid's avatar
    druid committed
          background-color: var(--grayscale-white);
    
          position: absolute;
          left: 0; // override in js
    
    druid's avatar
    druid committed
          list-style: none;
    
          min-width: 350px;
    
    druid's avatar
    druid committed
          margin: 6px 4px 0 4px;
    
          max-width: 400px;
          padding: 0 48px;
          top: 0;
    
    druid's avatar
    druid committed
    
    
    druid's avatar
    druid committed
          &__title {
            @include font-size(18px, 22px);
            @include font-weight($bold);
            color: var(--grayscale-black);
            font-family: var(--main-font-family);
            letter-spacing: -0.56px;
            margin-bottom: 18px;
            text-transform: uppercase;
          }
    
    druid's avatar
    druid committed
    
    
    druid's avatar
    druid committed
          &__shortcut-item {
            border-bottom: 1px solid var(--grayscale-medium-dark);
            &__first {
              border-top: 1px solid var(--grayscale-medium-dark);
            }
    
            a {
              @include font-size(16px, 22px);
              @include font-weight($semibold);
              color: var(--grayscale-black);
              display: flex;
              flex-direction: row;
              font-family: var(--main-font-family);
    
              justify-content: space-between;
    
    druid's avatar
    druid committed
              letter-spacing: -0.5px;
              padding: 19px 0;
              text-decoration: none;
    
    druid's avatar
    druid committed
              .icon {
    
                padding-left: 24px;
    
    druid's avatar
    druid committed
                svg {
    
    druid's avatar
    druid committed
                  padding: 4px;
    
    druid's avatar
    druid committed
      }
    
    druid's avatar
    druid committed
    }