diff options
Diffstat (limited to 'src/components/MainNav/MainNav.module.scss')
| -rw-r--r-- | src/components/MainNav/MainNav.module.scss | 135 | 
1 files changed, 133 insertions, 2 deletions
| diff --git a/src/components/MainNav/MainNav.module.scss b/src/components/MainNav/MainNav.module.scss index 8bd730f..22ffe22 100644 --- a/src/components/MainNav/MainNav.module.scss +++ b/src/components/MainNav/MainNav.module.scss @@ -108,9 +108,12 @@  }  .link { +  --draw-border-width: #{fun.convert-px(4)}; +    display: block; -  padding: var(--spacing-xs) var(--spacing-sm); +  padding: var(--spacing-xs) var(--spacing-xs) var(--spacing-2xs);    background: var(--color-bg); +  background-repeat: no-repeat;    font-size: var(--font-size-sm);    font-variant: small-caps;    font-weight: 600; @@ -122,7 +125,135 @@      }      @include mix.dimensions("md") { -      background: inherit; +      margin: 0 var(--spacing-2xs); +      background-color: inherit; +      border-radius: 8%; +    } +  } + +  &:hover, +  &:focus { +    background-image: linear-gradient( +        to right, +        var(--color-primary-lighter), +        var(--color-primary-light) +      ), +      linear-gradient( +        to bottom, +        var(--color-primary-light), +        var(--color-primary-lighter) +      ), +      linear-gradient( +        to left, +        var(--color-primary-lighter), +        var(--color-primary-light) +      ), +      linear-gradient( +        to top, +        var(--color-primary-light), +        var(--color-primary-lighter) +      ); +    background-position: top left, top right, bottom right, bottom left; +    background-size: 100% var(--draw-border-width), +      var(--draw-border-width) 100%, 100% var(--draw-border-width), +      var(--draw-border-width) 100%; +    color: var(--color-primary-light); + +    :global { +      animation: draw-borders 0.8s linear 1 0s; +    } +  } + +  &:focus { +    color: var(--color-primary-light); +  } + +  &:active { +    background-image: linear-gradient( +        to right, +        var(--color-primary-light), +        var(--color-primary-dark) +      ), +      linear-gradient( +        to bottom, +        var(--color-primary-dark), +        var(--color-primary-light) +      ), +      linear-gradient( +        to left, +        var(--color-primary-light), +        var(--color-primary-dark) +      ), +      linear-gradient( +        to top, +        var(--color-primary-dark), +        var(--color-primary-light) +      ); +    background-position: top left, top right, bottom right, bottom left; +  } + +  &.current { +    background-image: linear-gradient(to right, transparent, transparent), +      linear-gradient(to bottom, transparent, transparent), +      linear-gradient( +        to left, +        var(--color-primary-lighter), +        var(--color-primary-light) +      ), +      linear-gradient(to top, transparent, transparent); +    background-position: top left, top right, bottom center, bottom left; +    background-size: 0% var(--draw-border-width), var(--draw-border-width) 0%, +      60% var(--draw-border-width), var(--draw-border-width) 0%; +    transition: all 0.3s linear 0s; + +    &:hover, +    &:focus { +      background-image: linear-gradient( +          to right, +          var(--color-primary-lighter), +          var(--color-primary-light) +        ), +        linear-gradient( +          to bottom, +          var(--color-primary-light), +          var(--color-primary-lighter) +        ), +        linear-gradient( +          to left, +          var(--color-primary-lighter), +          var(--color-primary-light) +        ), +        linear-gradient( +          to top, +          var(--color-primary-light), +          var(--color-primary-lighter) +        ); +      background-size: 100% var(--draw-border-width), +        var(--draw-border-width) 100%, 100% var(--draw-border-width), +        var(--draw-border-width) 100%; +    } + +    &:active { +      background-image: linear-gradient( +          to right, +          var(--color-primary-light), +          var(--color-primary-dark) +        ), +        linear-gradient( +          to bottom, +          var(--color-primary-dark), +          var(--color-primary-light) +        ), +        linear-gradient( +          to left, +          var(--color-primary-light), +          var(--color-primary-dark) +        ), +        linear-gradient( +          to top, +          var(--color-primary-dark), +          var(--color-primary-light) +        );      }    }  } | 
