1$nav__toplvlWidth: 125px;
2$nav__seclvlWidth: 240px;
3$nav__top-level-color: $base-01--01;
4$nav__second-level-color: $base-02--06;
5$nav__second-level-text-color: $base-02--01;
6
7//Navigation icons
8@mixin navIcons {
9  color: $primary-light;
10  fill: $primary-light;
11  max-height: 40px;
12  stroke-width: .5;
13  display: block;
14  margin: .5em auto;
15  .st0 {
16    fill: none;
17    stroke: $primary-light;
18    stroke-width: 2;
19    stroke-miterlimit: 10;
20  }
21  .st1 {
22    fill: none;
23    stroke: $primary-light;
24    stroke-width: 4;
25    stroke-miterlimit: 10;
26  }
27}
28
29.nav__wrapper {
30  height: 100%;
31  position: fixed;
32  top: 0;
33  z-index: 100;
34}
35
36// Top level navigation
37#nav__top-level {
38  background: $nav__top-level-color;
39  position: absolute;
40  left: 0;
41  top: 0;
42  bottom: 0;
43  list-style-type: none;
44  margin: 0;
45  padding: 0;
46  width: $nav__toplvlWidth;
47  overflow-y: auto;
48  li {
49    margin: 0;
50  }
51  > li > a,
52  > li > button {
53    height: 120px;
54  }
55  //svg icons
56  .nav-icon {
57    @include navIcons;
58    width: 100%;
59    height: 100%;
60    svg {
61      width: 36px;
62      height: auto;
63    }
64  }
65  .nav-icon__control,
66  .nav-icon__key {
67    svg {
68      width: 30px;
69    }
70  }
71  .button, button, a {
72    background: transparent;
73    border: 0;
74    color: $primary-light;
75    fill: $primary-light;
76    width: 100%;
77    padding: 1em;
78    display: block;
79    text-align: center;
80    margin-bottom: 0;
81    white-space: normal;
82    border-radius: 0;
83    text-decoration: none;
84    border-top: 1px solid transparent;
85    border-bottom: 1px solid $border-color-02;
86    font-weight: normal;
87    font-size: .9em;
88    line-height: 1.2;
89    &:hover {
90      background: $primary-light;
91      fill: $primary-dark;
92      color: $primary-action;
93      padding: 1em;
94      border-radius: 0;
95      border-bottom: 1px solid $border-color-01;
96      .nav__icon-help__outer {
97        stroke: $primary-dark;
98      }
99      .nav__icon-help__inner {
100        fill: $primary-action;
101      }
102      .nav-icon {
103        fill: $primary-action;
104        color: $primary-action;
105        .st0 {
106          stroke: $primary-action;
107        }
108        .st1 {
109          fill: $primary-action;
110          color: $primary-action;
111          stroke: $primary-action;
112        }
113      }
114    }
115  }
116  .opened {
117    background: $nav__second-level-color;
118    fill: $primary-dark;
119    color: darken($primary-action, 10%);
120    border-bottom: 1px solid $border-color-01;
121    .nav-icon {
122      fill: $primary-action;
123      color: $primary-action;
124      .st0 {
125        stroke: $primary-action;
126      }
127      .st1 {
128        fill: $primary-action;
129        color: $primary-action;
130        stroke: $primary-action;
131      }
132    }
133  }
134
135  // Second Level Navigation
136  .nav__second-level {
137    position: fixed;
138    background: $nav__second-level-color;
139    top: 0;
140    bottom: 0;
141    left: -245px;
142    width: $nav__seclvlWidth;
143    z-index: -1;
144    padding: 0;
145    margin: 0;
146    list-style-type: none;
147    display: block;
148    transition: left $duration--slow-01 $standard-easing--productive;
149    &.opened {
150      left: $nav__toplvlWidth;
151      box-shadow: 7px 0 28px -10px $base-02--02;
152    }
153    a {
154      padding: 1.2em 1em 1.2em 1em;
155      display: block;
156      color: $primary-dark;
157      text-decoration: none;
158      position: relative;
159      font-weight: 400;
160      text-align: left;
161      border-bottom: 1px solid transparent;
162      &:hover {
163        background: $primary-light;
164      }
165    }
166
167    li {
168      a:after{
169        content: '\203A';
170        position: absolute;
171        font-size: 2em;
172        font-weight: 700;
173        top: 50%;
174        right: .6em;
175        transform: translateY(-59%);
176        color: $nav__second-level-text-color;
177        opacity: 0;
178      }
179      &.active {
180        a {font-weight: 700;}
181      }
182      &.active,
183      &:focus,
184      &:hover {
185        a {color: $nav__second-level-text-color;}
186        a:after {
187          opacity: 1;
188          right: .3em;
189          @include fastTransition-all;
190        }
191      }
192    }
193  }
194}