Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

595 wiersze
12 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. @media(min-width: 1200px) {
  4. .magazine-start, .magazine-article, .header-collapsed {
  5. --header-height: 100px;
  6. .page-header {
  7. --logo-size: 60px;
  8. &::before, &.scrolled::before {
  9. box-shadow: none;
  10. height: var(--header-height);
  11. }
  12. }
  13. }
  14. }
  15. .page-header {
  16. --logo-size: 75px;
  17. position: fixed;
  18. display: flex;
  19. align-items: center;
  20. top: 0;
  21. width: 100%;
  22. z-index: 100;
  23. height: var(--header-height);
  24. transition: 0.25s $easeOutQuad;
  25. padding: 0;
  26. margin: 0;
  27. border: 0;
  28. &:before {
  29. content: "";
  30. @include full-size;
  31. box-shadow: 0 1px 0 rgba(#fff, 0);
  32. background-color: var(--theme-color-background);
  33. transition: 0.25s $easeOutQuad;
  34. }
  35. @media(max-width: 1199px) {
  36. --logo-size: 60px;
  37. }
  38. @media(min-width: 768px) {
  39. &.scrolled, &.nav-open, &.search-open {
  40. --header-height: 100px;
  41. --logo-size: 60px;
  42. ~ * {
  43. --header-height: 100px;
  44. }
  45. &:before {;
  46. box-shadow: 0 1px 0 rgba(var(--theme-color-primary-rgb), 0.2);
  47. }
  48. nav {
  49. top: var(--header-height);
  50. height: calc(var(--viewport-height, 1vh) * 100 - var(--header-height));
  51. transition: transform 0.25s $easeOutQuad, visibility 0s linear 0s;
  52. visibility: visible;
  53. }
  54. }
  55. }
  56. @media(max-width: 767px) {
  57. justify-content: flex-end;
  58. --logo-size: 44px;
  59. &:before {
  60. box-shadow: 0 1px 0 rgba(var(--theme-color-primary-rgb), 0.2);
  61. }
  62. }
  63. @media(max-width: 567px) {
  64. .logo-overlay {
  65. content: "";
  66. position: absolute;
  67. display: block;
  68. left: 90px;
  69. top: 0;
  70. height: 44px;
  71. width: 100vw;
  72. background-color: var(--theme-color-background);
  73. @include hide(0.3s);
  74. }
  75. .contact-nav, .open-search {
  76. @include hide;
  77. }
  78. &.scrolled {
  79. .contact-nav, .open-search {
  80. @include show(0.3s);
  81. }
  82. .logo-overlay {
  83. @include show;
  84. pointer-events: none;
  85. }
  86. }
  87. .logo img, .logo object {
  88. max-width: calc(100vw - 110px);
  89. }
  90. }
  91. .logo {
  92. position: relative;
  93. margin-left: 34px;
  94. margin-right: auto;
  95. padding: 8px 12px 8px 8px;
  96. border-radius: 4px;
  97. transition: 0.2s ease;
  98. @include focus-visible;
  99. img {
  100. height: var(--logo-size);
  101. display: block;
  102. width: auto;
  103. max-width: none;
  104. transition: 0.25s $easeOutQuad;
  105. transform: translate3d(0, 0, 0) scale(1);
  106. @media(max-width: 1199px) {
  107. transition: none;
  108. }
  109. }
  110. canvas {
  111. position: absolute;
  112. display: block;
  113. top: 0;
  114. left: 0;
  115. height: calc(100% - 20px);
  116. width: calc(100% - 16px);
  117. background-color: white;
  118. margin: 8px 12px 8px 8px;
  119. }
  120. @media(max-width: 767px) {
  121. position: fixed;
  122. display: flex;
  123. align-items: center;
  124. top: 0;
  125. left: 0;
  126. margin: 18px 20px;
  127. padding: 0;
  128. height: 44px;
  129. width: calc(100vw - 110px);
  130. img {
  131. position: relative;
  132. display: block;
  133. height: auto;
  134. max-height: 44px;
  135. max-width: calc(100vw - 110px);
  136. width: 100%;
  137. object-fit: contain;
  138. object-position: left center;
  139. }
  140. }
  141. @media(max-width: 359px) {
  142. margin: 13px 16px;
  143. img {
  144. max-width: calc(100vw - 100px);
  145. }
  146. }
  147. }
  148. .toggle-nav {
  149. position: relative;
  150. display: block;
  151. border: 2px solid var(--theme-color-primary-dimmed-04);
  152. background-color: transparent;
  153. padding: 18px 20px 18px 72px;
  154. margin: 0 30px 0 20px;
  155. cursor: pointer;
  156. transition: 0.3s ease;
  157. font-size: 20px;
  158. line-height: 1.5;
  159. font-weight: 600;
  160. border-radius: 4px;
  161. color: var(--theme-color-primary);
  162. @include focus-visible;
  163. @media(max-width: 767px) {
  164. font-size: 0;
  165. line-height: 0;
  166. padding: 0;
  167. width: 56px;
  168. height: 56px;
  169. margin-right: 12px;
  170. margin-left: 8px;
  171. }
  172. &:before, &:after, span:before {
  173. content: "";
  174. position: absolute;
  175. top: 50%;
  176. left: 40px;
  177. width: 38px;
  178. height: 2px;
  179. border-radius: 2px;
  180. background-color: var(--theme-color-primary);
  181. margin: 0 -19px;
  182. transform: translate3d(0, -1px, 0) rotate(0deg);
  183. transition: margin 0.2s ease 0.2s, transform 0.2s ease 0s, background-color 0.2s ease 0s, opacity 0.2s ease 0s;
  184. @media(max-width: 767px) {
  185. left: 50%;
  186. }
  187. }
  188. &:before {
  189. margin-top: -12px;
  190. }
  191. &:after {
  192. margin-top: 12px;
  193. }
  194. @media(max-width: 359px) {
  195. width: 50px;
  196. height: 50px;
  197. &:before, &:after, span:before {
  198. width: 32px;
  199. margin-left: -16px;
  200. }
  201. &:before {
  202. margin-top: -10px;
  203. }
  204. &:after {
  205. margin-top: 10px;
  206. }
  207. }
  208. }
  209. .open-search, .contact-nav a {
  210. background-color: transparent;
  211. border: 0;
  212. position: relative;
  213. display: block;
  214. padding: 20px 20px 20px 54px;
  215. margin: 0 2px;
  216. font-size: 20px;
  217. line-height: 1.5;
  218. font-weight: 600;
  219. text-decoration: none;
  220. color: var(--theme-color-primary);
  221. cursor: pointer;
  222. border-radius: 4px;
  223. transition: 0.25s $easeOutQuad;
  224. @include focus-visible;
  225. @media(max-width: 999px) {
  226. font-size: 0;
  227. line-height: 0;
  228. padding: 5px;
  229. margin-right: 5px;
  230. }
  231. &:before {
  232. @include icon-suche;
  233. font-family: 'Icons', sans-serif;
  234. position: absolute;
  235. left: 14px;
  236. top: 50%;
  237. width: var(--icon-size);
  238. height: var(--icon-size);
  239. font-size: var(--icon-size);
  240. font-weight: 400;
  241. line-height: 1;
  242. margin: calc(var(--icon-size) / -2) 0;
  243. background-repeat: no-repeat;
  244. background-position: center;
  245. background-size: 100%;
  246. @media(max-width: 999px) {
  247. position: relative;
  248. display: block;
  249. margin: 0;
  250. left: 0;
  251. }
  252. }
  253. }
  254. .contact-nav {
  255. display: flex;
  256. align-items: center;
  257. list-style: none;
  258. padding: 0;
  259. a {
  260. &.phone{
  261. &:before {
  262. @include icon-telefon;
  263. margin-left: 3px;
  264. }
  265. }
  266. &.contact:before, &.website:before {
  267. @include icon-kontakt;
  268. }
  269. &.mail:before {
  270. @include icon-email;
  271. }
  272. &.chat:before {
  273. @include icon-chat;
  274. }
  275. &.login:before{
  276. @include icon-login-header;
  277. }
  278. }
  279. }
  280. .search form {
  281. position: absolute;
  282. display: flex;
  283. flex-direction: column;
  284. align-items: center;
  285. justify-content: center;
  286. top: 100%;
  287. left: 0;
  288. right: 0;
  289. height: calc(var(--viewport-height, 1vh) * 100 - 100px);
  290. background-color: var(--theme-color-primary-dimmed-04);
  291. @include hide;
  292. @media(max-width: 767px) {
  293. height: calc(var(--viewport-height, 1vh) * 100 - 80px);
  294. }
  295. .outer {
  296. position: relative;
  297. padding-bottom: 10px;
  298. }
  299. .container {
  300. margin: auto;
  301. }
  302. }
  303. .form-nav {
  304. width: 100%;
  305. background-color: var(--theme-color-white);
  306. .secondary {
  307. background-color: var(--theme-color-primary-dimmed-04);
  308. }
  309. }
  310. .close-search {
  311. position: absolute;
  312. right: 30px;
  313. top: 50%;
  314. padding: 20px 22px 20px 70px;
  315. cursor: pointer;
  316. transition: 0.3s ease;
  317. font-size: 20px;
  318. line-height: 1.5;
  319. font-weight: 600;
  320. border: 0;
  321. border-radius: 4px;
  322. color: var(--theme-color-white);
  323. background-color: var(--theme-color-primary);
  324. @include focus-visible;
  325. @include hide;
  326. z-index: 2;
  327. margin-top: -35px;
  328. @media (max-width: 1199px) and (min-width: 768px) {
  329. right: 20px;
  330. }
  331. @media(max-width: 767px) {
  332. font-size: 0;
  333. line-height: 0;
  334. padding: 0;
  335. right: 12px;
  336. margin-top: -28px;
  337. width: 56px;
  338. height: 56px;
  339. }
  340. &:before, &:after {
  341. content: "";
  342. position: absolute;
  343. top: 50%;
  344. left: 36px;
  345. width: 38px;
  346. height: 2px;
  347. border-radius: 2px;
  348. background-color: var(--theme-color-white);
  349. margin: -1px -19px;
  350. transform: translate3d(0, 0, 0) rotate(45deg);
  351. transition: 0.3s ease;
  352. @media(max-width: 767px) {
  353. left: 50%;
  354. }
  355. }
  356. &:after {
  357. transform: translate3d(0, 0, 0) rotate(-45deg);
  358. }
  359. }
  360. &.search-open {
  361. .logo {
  362. z-index: 1;
  363. }
  364. &:after {
  365. content: "";
  366. @include full-size;
  367. background-color: var(--theme-color-white);
  368. }
  369. .search form, .close-search {
  370. @include show;
  371. }
  372. }
  373. &.nav-open {
  374. .toggle-nav {
  375. background-color: var(--theme-color-primary);
  376. border-color: var(--theme-color-primary);
  377. color: var(--theme-color-white);
  378. transition: 0.2s ease 0s;
  379. &:before, &:after, span:before {
  380. margin-top: 0;
  381. transition: margin 0.2s ease 0s, transform 0.2s ease 0.2s, background-color 0.2s ease 0s, opacity 0.2s ease 0.2s;
  382. background-color: var(--theme-color-white);
  383. }
  384. }
  385. .toggle-nav:before {
  386. transform: translate3d(0, -1px, 0) rotate(45deg);
  387. }
  388. .toggle-nav:after {
  389. transform: translate3d(0, -1px, 0) rotate(-45deg);
  390. }
  391. .toggle-nav span:before {
  392. opacity: 0;
  393. }
  394. nav {
  395. transform: translate3d(-100%, 0, 0);
  396. transition: transform 0.25s $easeOutQuad, visibility 0s linear 0s;
  397. visibility: visible;
  398. .overlay-holder {
  399. @include show;
  400. opacity: 0.6;
  401. }
  402. }
  403. &:not(.scrolled) {
  404. ~ .page-wrapper, ~ .page-content {
  405. @media(min-width: 768px) {
  406. border-top-width: 100px;
  407. }
  408. }
  409. }
  410. }
  411. ~ .page-wrapper, ~ .page-content {
  412. transition: 0.25s $easeOutQuad;
  413. }
  414. @media(max-width: 1199px) and (min-width: 768px) {
  415. height: 100px;
  416. &:before {
  417. box-shadow: 0 1px 0 rgba(var(--theme-color-primary-rgb), 0.2);
  418. }
  419. .logo {
  420. height: 66px;
  421. margin-left: 20px;
  422. }
  423. .toggle-nav {
  424. margin-right: 20px;
  425. }
  426. nav {
  427. top: 100px;
  428. height: calc(var(--viewport-height, 1vh) * 100 - 100px);
  429. }
  430. }
  431. button::-moz-focus-inner {
  432. border: 0;
  433. }
  434. button, a {
  435. -webkit-tap-highlight-color: transparent;
  436. }
  437. }
  438. .toplink {
  439. position: fixed;
  440. right: 0;
  441. bottom: 105px;
  442. background-color: var(--theme-color-primary);
  443. color: white;
  444. width: 90px;
  445. height: 45px;
  446. display: flex;
  447. border-top-left-radius: 18px;
  448. border-bottom-left-radius: 18px;
  449. font-size: 16px;
  450. justify-content: center;
  451. align-items: center;
  452. text-transform: uppercase;
  453. text-decoration: none;
  454. @include hide;
  455. box-shadow: 0 0 0 1px rgba(#fff, 0.2);
  456. z-index: -1;
  457. &:hover, &:active, &:focus {
  458. color: white;
  459. text-decoration: none;
  460. }
  461. &:before {
  462. @include icon-pfeil-oben;
  463. font-family: 'Icons', sans-serif;
  464. font-size: var(--icon-size);
  465. line-height: 1;
  466. margin-right: 6px;
  467. }
  468. @media(max-width: 767px) {
  469. font-size: 0;
  470. width: 54px;
  471. bottom: 64px;
  472. justify-content: flex-start;
  473. padding-left: 10px;
  474. &:before {
  475. margin-right: 0;
  476. }
  477. }
  478. }
  479. .show-toplink .toplink {
  480. @include show;
  481. }
  482. .mobile .page-header {
  483. .primary a {
  484. -webkit-tap-highlight-color: rgba(var(--theme-color-primary-rgb), 0.1);
  485. }
  486. li.open > a {
  487. background-color: var(--theme-color-primary-dimmed-04);
  488. }
  489. }
  490. .desktop .page-header {
  491. &:not(.nav-open) .toggle-nav:hover {
  492. background-color: var(--theme-color-primary-dimmed-04);
  493. }
  494. .open-search:hover, .contact-nav a:hover {
  495. color: var(--theme-color-secondary-intensed);
  496. }
  497. }
  498. /*
  499. [data-browser="ie"] {
  500. .page-header .logo img {
  501. height: 50px;
  502. }
  503. .page-header .search form {
  504. display: block;
  505. .form-nav {
  506. position: absolute;
  507. bottom: 0;
  508. }
  509. .container {
  510. position: absolute;
  511. top: 50%;
  512. left: 50%;
  513. margin: -50px 0;
  514. transform: translate(-50%, -50%);
  515. }
  516. }
  517. }
  518. */