You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

495 line
10 KiB

  1. @use '../../_global/styles/mixins' as *;
  2. @use '../../_global/styles/vars' as *;
  3. .page-header.dummy nav {
  4. z-index: 0;
  5. visibility: visible;
  6. transform: translate3d(-100%, 0, 0);
  7. --header-height: 0px;
  8. }
  9. .page-header nav {
  10. position: fixed;
  11. display: flex;
  12. flex-direction: column;
  13. top: var(--header-height);
  14. left: 100%;
  15. width: 420px;
  16. max-width: 100%;
  17. transform: translate3d(1px, 0, 0);
  18. height: calc(var(--viewport-height, 1vh) * 100 - var(--header-height));
  19. background-color: var(--color-background);
  20. transition: transform 0.25s $easeOutQuad, visibility 0s linear 0.25s;
  21. box-shadow: -1px 0 0 var(--color-surface-inset);
  22. z-index: -1;
  23. visibility: hidden;
  24. @media(min-width: 1199px) {
  25. --header-height: 100px;
  26. }
  27. .overlay-holder {
  28. content: "";
  29. position: absolute;
  30. right: 100%;
  31. width: 100vw;
  32. top: -100px;
  33. bottom: 0;
  34. z-index: -1;
  35. background-color: var(--color-background);
  36. border-right: 1px solid var(--color-surface-inset);
  37. @include hide;
  38. }
  39. .primary {
  40. position: relative;
  41. flex-grow: 1;
  42. img {
  43. max-height: 44px;
  44. margin-top: -3px;
  45. margin-bottom: -3px;
  46. }
  47. ul {
  48. position: absolute;
  49. top: 0;
  50. left: 0;
  51. width: 100%;
  52. height: 100%;
  53. padding: 0;
  54. margin: 0;
  55. list-style: none;
  56. text-align: left;
  57. overflow-y: hidden;
  58. overflow-x: hidden;
  59. background-color: var(--swatches-neutrals-white);
  60. z-index: 0;
  61. transition: transform 0.3s $easeOutCubic, z-index 0s linear 0.3s;
  62. box-shadow: 0 50vh 0 0 var(--swatches-neutrals-white);
  63. pointer-events: none;
  64. &:before {
  65. content: "";
  66. @include full-size;
  67. background-color: var(--swatches-neutrals-white);
  68. z-index: 2;
  69. @include hide;
  70. background-image: url("../../assets/img/preload.svg");
  71. background-size: 100px;
  72. background-position: center 50px;
  73. background-repeat: no-repeat;
  74. }
  75. &:after {
  76. content: "";
  77. @include full-size;
  78. background-color: var(--swatches-primary-500);
  79. opacity: 0.1;
  80. transition: 0.3s $easeInOutSine;
  81. }
  82. &.loading:before {
  83. @include show;
  84. }
  85. &.current {
  86. transform: translate3d(0, 0, 0);
  87. transition: transform 0.3s $easeOutCubic, z-index 0s linear 0s;
  88. overflow-y: auto;
  89. pointer-events: all;
  90. &:after {
  91. opacity: 0;
  92. pointer-events: none;
  93. }
  94. ul {
  95. transform: translate3d(100%, 0, 0);
  96. &:after {
  97. opacity: 0;
  98. }
  99. }
  100. }
  101. }
  102. li {
  103. &.open > ul {
  104. transform: translate3d(0, 0, 0);
  105. z-index: 1;
  106. }
  107. &.back {
  108. position: sticky;
  109. text-align: left;
  110. top: 0;
  111. left: 0;
  112. width: 100%;
  113. z-index: 1;
  114. a {
  115. background-color: var(--swatches-primary-100);
  116. padding-left: 60px;
  117. padding-right: 20px;
  118. overflow: hidden;
  119. text-overflow: ellipsis;
  120. justify-content: flex-start;
  121. @include focus-visible(true);
  122. &:before {
  123. left: 18px;
  124. transform: rotate(180deg);
  125. }
  126. @media(max-width: 359px) {
  127. padding-left: 50px;
  128. &:before {
  129. left: 12px;
  130. }
  131. }
  132. }
  133. }
  134. &.magazine-nav {
  135. position: relative;
  136. container-type: inline-size;
  137. &:before {
  138. content: "";
  139. @include full-size;
  140. @include gradient;
  141. transition: 0.3s ease;
  142. width: 100%;
  143. }
  144. &:hover {
  145. &:before {
  146. width: 120%;
  147. }
  148. a {
  149. background-color: transparent;
  150. }
  151. }
  152. a {
  153. color: var(--swatches-neutrals-white) !important;
  154. background-color: transparent !important;
  155. &:before {
  156. content: '\e8c8' !important;
  157. }
  158. }
  159. }
  160. &.link, &.overview, &.miscellaneous {
  161. a {
  162. color: var(--swatches-secondary-700);
  163. }
  164. }
  165. &.link a:before, &.miscellaneous a:before {
  166. @include icon-content;
  167. margin-top: -14px;
  168. }
  169. &.overview a:before {
  170. @include icon-liste;
  171. margin-top: -14px;
  172. }
  173. &.back:hover {
  174. text-decoration: none;
  175. }
  176. &.link.extranet a:before, &.miscellaneous.extranet a:before {
  177. @include icon-content-stern;
  178. }
  179. &.link.intranet a:before, &.miscellaneous.intranet a:before {
  180. @include icon-content-schloss;
  181. }
  182. &.link.download a:before, &.miscellaneous.download a:before {
  183. @include icon-download;
  184. }
  185. &.overview.extranet a:before {
  186. @include icon-liste-stern;
  187. margin-top: -14px;
  188. }
  189. &.overview.intranet a:before {
  190. @include icon-liste-schloss;
  191. margin-top: -14px;
  192. }
  193. &.deep.extranet a:before {
  194. @include icon-pfeil-rechts-stern;
  195. }
  196. &.deep.intranet {
  197. a:before {
  198. @include icon-pfeil-rechts-schloss;
  199. }
  200. li.back a:before {
  201. transform: scale(-1, 1);
  202. }
  203. }
  204. &.miscellaneous.external a:before {
  205. @include icon-link-external;
  206. }
  207. }
  208. a {
  209. position: relative;
  210. display: flex;
  211. justify-content: flex-start;
  212. align-items: center;
  213. font-family: 'Korb', sans-serif;
  214. font-size: var(--font-size-copy);
  215. line-height: 1.2;
  216. padding: 12px 60px 12px 20px;
  217. min-height: 61px;
  218. text-decoration: none;
  219. transition: 0.3s $easeOutSine;
  220. border-bottom: 1px solid rgba(var(--swatches-primary-500-rgb), 0.1);
  221. @include focus-visible(true);
  222. &.active {
  223. background-color: var(--swatches-primary-100);
  224. padding-left: 12px;
  225. border-left: var(--border-width) solid var(--swatches-secondary-700);
  226. }
  227. &:before {
  228. @include icon-pfeil-rechts;
  229. position: absolute;
  230. width: 30px;
  231. height: 30px;
  232. font-family: 'Icons', sans-serif;
  233. font-size: var(--icon-size);
  234. line-height: 1;
  235. right: 18px;
  236. top: 50%;
  237. margin-top: calc(var(--icon-size) / -2);
  238. text-align: center;
  239. }
  240. @media(max-width: 359px), (max-width: 767px) and (orientation: landscape) {
  241. min-height: 43px;
  242. padding: 10px 50px 10px 20px;
  243. &:before {
  244. right: 12px;
  245. }
  246. }
  247. &:hover {
  248. text-decoration: none;
  249. background-color: rgba(var(--swatches-primary-500-rgb), 0.06);
  250. }
  251. }
  252. .back {
  253. a {
  254. &:before {
  255. @media(max-width: 999px) {
  256. top: calc(50% - 3px);
  257. }
  258. @media(max-width: 767px) {
  259. top: calc(50% - 6px);
  260. }
  261. }
  262. }
  263. }
  264. }
  265. }
  266. .page-header {
  267. .logos {
  268. margin: 0 -10px;
  269. position: relative;
  270. display: flex;
  271. @media(min-width: 1000px) {
  272. text-align: right;
  273. }
  274. @media(max-width: 999px) {
  275. display: none;
  276. }
  277. a {
  278. display: inline-block;
  279. margin: 0 10px;
  280. }
  281. img {
  282. max-height: 30px;
  283. }
  284. }
  285. .secondary {
  286. position: relative;
  287. z-index: 1;
  288. background-color: var(--swatches-primary-100);
  289. text-align: left;
  290. ul {
  291. padding: 15px 14px;
  292. list-style: none;
  293. margin: 0;
  294. font-size: 18px;
  295. line-height: 20px;
  296. @media(max-width: 359px) {
  297. font-size: 16px;
  298. line-height: 20px;
  299. padding: 10px;
  300. }
  301. }
  302. li {
  303. display: inline-block;
  304. }
  305. @media (max-width: 767px) and (orientation: landscape) {
  306. position: absolute;
  307. right: 100%;
  308. top: 0;
  309. width: calc(100vw - 420px);
  310. min-width: 35vw;
  311. li {
  312. display: block;
  313. }
  314. }
  315. a {
  316. position: relative;
  317. display: block;
  318. padding: 5px 6px;
  319. transition: 0.3s $easeOutQuad;
  320. text-decoration: underline;
  321. text-decoration-color: transparent;
  322. text-decoration-thickness: 2px;
  323. text-underline-offset: 2px;
  324. @include focus-visible;
  325. @media(max-width: 359px) {
  326. padding: 5px;
  327. }
  328. }
  329. }
  330. .meta {
  331. position: relative;
  332. z-index: 1;
  333. padding: 0 12px;
  334. > ul {
  335. display: flex;
  336. justify-content: flex-start;
  337. list-style: none;
  338. padding: 0;
  339. margin: 0;
  340. }
  341. ul {
  342. display: flex;
  343. list-style: none;
  344. padding: 0;
  345. margin: 0;
  346. li {
  347. padding: 0;
  348. }
  349. }
  350. .icons {
  351. margin-left: auto;
  352. .login {
  353. a {
  354. &:before {
  355. @include icon-login-flyout;
  356. font-family: 'Icons', sans-serif;
  357. font-size: var(--icon-size-small);
  358. line-height: 30px;
  359. float: right;
  360. margin-left: 5px;
  361. }
  362. &:hover {
  363. text-decoration-color: transparent;
  364. }
  365. }
  366. }
  367. li:not(.login) a {
  368. font-size: 0;
  369. line-height: 0;
  370. text-decoration: none;
  371. &:before {
  372. font-family: 'Icons', sans-serif;
  373. font-size: var(--icon-size-small);
  374. line-height: 30px;
  375. }
  376. &:hover {
  377. text-decoration-color: transparent;
  378. }
  379. }
  380. .sign-language a::before {
  381. @include icon-small-gebaerdensprache;
  382. }
  383. .simple-language a::before {
  384. @include icon-small-leichte-sprache;
  385. }
  386. }
  387. a {
  388. display: block;
  389. font-size: var(--font-size-small);
  390. line-height: 30px;
  391. margin: 10px 0;
  392. padding: 5px 8px;
  393. text-decoration: none;
  394. /*
  395. text-decoration: underline;
  396. text-decoration-color: transparent;
  397. text-decoration-thickness: 2px;
  398. text-underline-offset: 2px;
  399. */
  400. transition: 0.3s ease;
  401. text-align: center;
  402. border: 0;
  403. background-color: transparent;
  404. cursor: pointer;
  405. @include focus-visible;
  406. @media(max-width: 359px) {
  407. padding: 5px;
  408. }
  409. &:hover {
  410. text-decoration-color: var(--swatches-primary-500);
  411. }
  412. }
  413. }
  414. .secondary, .meta {
  415. a {
  416. border-radius: var(--border-radius-xs);
  417. }
  418. }
  419. }