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    svg {
60      width: 36px;
61      height: auto;
62    }
63  }
64  .nav-icon__control {
65    margin-bottom: 1em;
66    svg {
67      width: 30px;
68    }
69  }
70  .button, button, a {
71    background: transparent;
72    border: 0;
73    color: $primary-light;
74    fill: $primary-light;
75    width: 100%;
76    padding: 1em;
77    display: block;
78    text-align: center;
79    margin-bottom: 0;
80    white-space: normal;
81    border-radius: 0;
82    text-decoration: none;
83    border-top: 1px solid transparent;
84    border-bottom: 1px solid $border-color-02;
85    font-weight: normal;
86    font-size: .9em;
87    line-height: 1.2;
88    &:hover {
89      background: $primary-light;
90      fill: $primary-dark;
91      color: $primary-action;
92      padding: 1em;
93      border-radius: 0;
94      border-bottom: 1px solid $border-color-01;
95      .nav__icon-help__outer {
96        stroke: $primary-dark;
97      }
98      .nav__icon-help__inner {
99        fill: $primary-action;
100      }
101      .nav-icon {
102        fill: $primary-action;
103        color: $primary-action;
104        .st0 {
105          stroke: $primary-action;
106        }
107        .st1 {
108          fill: $primary-action;
109          color: $primary-action;
110          stroke: $primary-action;
111        }
112      }
113    }
114  }
115  .opened {
116    background: $nav__second-level-color;
117    fill: $primary-dark;
118    color: darken($primary-action, 10%);
119    border-bottom: 1px solid $border-color-01;
120    .nav-icon {
121      fill: $primary-action;
122      color: $primary-action;
123      .st0 {
124        stroke: $primary-action;
125      }
126      .st1 {
127        fill: $primary-action;
128        color: $primary-action;
129        stroke: $primary-action;
130      }
131    }
132  }
133
134  // Second Level Navigation
135  .nav__second-level {
136    position: fixed;
137    background: $nav__second-level-color;
138    top: 0;
139    bottom: 0;
140    left: -245px;
141    width: $nav__seclvlWidth;
142    z-index: -1;
143    padding: 0;
144    margin: 0;
145    list-style-type: none;
146    display: block;
147    @include fastTransition-all;
148    &.opened {
149      left: $nav__toplvlWidth;
150      box-shadow: 7px 0 28px -10px $base-02--02;
151      @include fastTransition-all;
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}