aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/molecules/nav/nav-link/nav-link.module.scss
blob: ac20c73edc48fc251f85fd3a0dda196eaecefc4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
@use "../../../../styles/abstracts/functions" as fun;
@use "../../../../styles/abstracts/placeholders";

.link {
  &--block,
  &--main,
  &--regular#{&}--stack {
    display: flex;
    place-items: center;
    place-content: center;
    row-gap: var(--spacing-2xs);
  }

  &--block {
    padding: var(--spacing-2xs) var(--spacing-xs);
    font-weight: 500;
    text-decoration: underline solid transparent 0;

    &:hover,
    &:focus {
      background: var(--color-bg-secondary);
    }

    &:focus {
      color: var(--color-primary);
      text-decoration-color: var(--color-primary-light);
      text-decoration-thickness: 0.25ex;
    }

    &:active {
      background: var(--color-bg-tertiary);
      text-decoration-color: transparent;
      text-decoration-thickness: 0;
    }
  }

  &--main {
    --draw-border-thickness: #{fun.convert-px(4)};
    --draw-border-color1: var(--color-primary-light);
    --draw-border-color2: var(--color-primary-lighter);

    min-width: var(--link-min-width, fun.convert-px(82));
    padding: var(--spacing-xs);
    background: none;
    border-radius: 8%;
    font-size: var(--font-size-sm);
    font-variant: small-caps;
    font-weight: 600;
    line-height: initial;
    text-align: center;
    text-decoration: none;

    &:hover,
    &:focus {
      @extend %draw-borders;
    }

    &:hover {
      color: var(--color-primary-light);
    }

    &:focus {
      color: var(--color-primary-light);
    }

    &:active {
      --draw-border-color1: var(--color-primary-dark);
      --draw-border-color2: var(--color-primary-light);

      color: var(--color-primary-dark);

      @extend %draw-borders;
    }
  }

  &--inline {
    .logo {
      margin-right: var(--spacing-xs);
    }
  }

  &--inline#{&}--regular {
    .logo {
      display: inline-block;
      vertical-align: middle;
    }
  }

  &--stack {
    flex-flow: column wrap;

    .logo {
      flex: 0 0 100%;
      display: flex;
      place-content: center;
    }
  }
}