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.
 
 
 
 

723 lines
16 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. section.marketingheader{
  4. margin-top:0;
  5. .rotation .slider{
  6. border-bottom:0;
  7. //border-radius: 4px;
  8. .slide-overflow{
  9. border-radius: 4px;
  10. }
  11. .slider-tabs{
  12. li:first-child:last-child{
  13. display:none;
  14. }
  15. }
  16. .text-box{
  17. color:var(--theme-color-primary);
  18. &:not(:first-child)::before {
  19. background-color: var(--theme-color-primary-dimmed-04);
  20. }
  21. .btn{
  22. background-color: var(--theme-color-primary);
  23. color:white;
  24. &:hover:after{
  25. box-shadow: 0 0 0 var(--button-hover-shadow-size) var(--theme-color-primary);
  26. }
  27. }
  28. }
  29. .text-only{
  30. .text-box{
  31. color:white;
  32. }
  33. }
  34. }
  35. .search {
  36. position: relative;
  37. overflow: hidden;
  38. margin: 0;
  39. background-color: var(--theme-color-primary-dimmed-04);
  40. max-height: 100px;
  41. transition: all .5s cubic-bezier(0,1,0,1);
  42. background-size:cover;
  43. @media (max-width:767px){
  44. max-height: 78px;
  45. }
  46. .sc.container{
  47. position: absolute;
  48. top: 0;
  49. left: 0;
  50. right: 0;
  51. width: 100%;
  52. max-width: 100%;
  53. @media (max-width:767px){
  54. position: relative;
  55. .close-search{
  56. position: relative !important;
  57. right:0 !important;
  58. top:0 !important;
  59. float: right;
  60. margin-bottom:15px;
  61. }
  62. }
  63. .close-search{
  64. display:none;
  65. position: absolute;
  66. right:30px;
  67. top:33px;
  68. left:auto;
  69. cursor: pointer;
  70. transition: 0.3s ease;
  71. border: 1px solid var(--theme-color-primary-dimmed-04);
  72. border-radius: 10px;
  73. height:34px;
  74. width:34px;
  75. background-color: var(--theme-color-primary);
  76. @include focus-visible;
  77. z-index: 2;
  78. &:before, &:after {
  79. content: "";
  80. position: absolute;
  81. top: 50%;
  82. left: 50%;
  83. width: 17px;
  84. height: 1.5px;
  85. border-radius: 2px;
  86. background-color: var(--theme-color-white);
  87. transform: translate(-50%,-50%) rotate(45deg);
  88. transition: 0.3s ease;
  89. }
  90. &:after {
  91. transform: translate(-50%,-50%) rotate(-45deg);
  92. }
  93. }
  94. }
  95. @media(max-width: 767px) {
  96. //padding: calc(1.5vw + 15px) 0 0;
  97. //margin-bottom: -10px;
  98. }
  99. &.open{
  100. max-height: 9999px;
  101. transition: all .5s cubic-bezier(1,0,1,0);
  102. .close-search{
  103. display:block !important;
  104. }
  105. .tiles{
  106. margin-top:0;
  107. padding-bottom:9px;
  108. @media screen and (max-width:767px){
  109. padding-bottom:0;
  110. }
  111. }
  112. form{
  113. max-width: 580px;
  114. }
  115. }
  116. form{
  117. border-radius: 24px;
  118. box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.25) !important;
  119. overflow:hidden;
  120. font-size: 22px;
  121. max-width: 360px;
  122. margin: 20px auto !important;
  123. transition: 0.25s ease;
  124. @media(max-width: 767px) {
  125. font-size: 18px;
  126. margin: 15px auto !important;
  127. }
  128. }
  129. + section, + #toclist > section:first-child {
  130. @media(min-width: 768px) {
  131. margin-top: 0;
  132. }
  133. }
  134. input#search-term{
  135. border-color:white !important;
  136. height: 60px;
  137. border-top-left-radius: 24px;
  138. border-bottom-left-radius: 24px;
  139. font-size: 22px;
  140. @media(max-width: 767px) {
  141. font-size: 18px;
  142. height: 48px;
  143. }
  144. &::placeholder{
  145. color:var(--theme-color-primary) !important;
  146. }
  147. }
  148. button.search-submit{
  149. background-color: var(--theme-color-primary) !important;
  150. color: white;
  151. border-top-left-radius: 0 !important;
  152. border-bottom-left-radius: 0 !important;
  153. border-top-right-radius: 0 !important;
  154. border-bottom-right-radius: 0 !important;
  155. border-color:white !important;
  156. height: 60px;
  157. width:60px;
  158. font-size: 22px;
  159. @media(max-width: 767px) {
  160. font-size: 18px;
  161. height: 48px;
  162. width:48px;
  163. }
  164. &:before{
  165. width:30px;
  166. height:30px;
  167. font-size:30px;
  168. @media(max-width: 767px) {
  169. width:24px;
  170. height:24px;
  171. font-size:24px;
  172. }
  173. }
  174. }
  175. .container {
  176. position: relative;
  177. z-index: 1;
  178. .row {
  179. @media(max-width: 567px) {
  180. min-height: 0;
  181. }
  182. > .col{
  183. margin-top:0;
  184. padding-top:0;
  185. padding-bottom:0;
  186. }
  187. }
  188. }
  189. .artwork {
  190. @media(max-width: 420px) {
  191. top: 30px;
  192. right: -20px;
  193. }
  194. @media(max-width: 340px) {
  195. top: 40px;
  196. right: -30px;
  197. }
  198. }
  199. form {
  200. position: relative;
  201. margin: 0 0 16px;
  202. //box-shadow: 0 3px 20px -5px rgba(#000, 0.3);
  203. //border-radius: var(--border-radius-md) var(--border-radius-xl) var(--border-radius-xl) var(--border-radius-md);
  204. @media(max-width: 567px) {
  205. margin-top: 20px;
  206. }
  207. }
  208. h1 {
  209. margin-left: 0;
  210. margin-top: 0;
  211. @media(max-width: 567px) {
  212. font-size: 24px;
  213. margin: 0;
  214. }
  215. }
  216. .tiles {
  217. margin: 100px -8px 0 -8px;
  218. display: flex;
  219. flex-wrap: wrap;
  220. font-family: "Korb", sans-serif;
  221. transition: all 0.25s ease-in;
  222. padding-bottom: 0;
  223. @media(max-width: 767px) {
  224. //margin-left: -6px;
  225. //margin-right: -6px;
  226. }
  227. .tile {
  228. position: relative;
  229. display: flex;
  230. padding: 8px;
  231. flex: 1 1 33.3333%;
  232. max-width: 33.3333%;
  233. margin-top:0 !important;
  234. padding-top:0 !important;
  235. padding-bottom:0 !important;
  236. margin-bottom:16px !important;
  237. &::before {
  238. position: absolute;
  239. top: 8px;
  240. right: 8px;
  241. margin: 10px 8px;
  242. font-family: Icons, sans-serif;
  243. font-size: 18px;
  244. line-height: 1;
  245. text-align: center;
  246. pointer-events: none;
  247. z-index: 1;
  248. }
  249. &[data-type="download"]::before {
  250. @include icon-small-download;
  251. }
  252. &[data-type="external"]::before {
  253. @include icon-small-link-external;
  254. }
  255. @media(max-width: 567px) {
  256. flex: 1 1 50%;
  257. max-width: 50%;
  258. //padding: 6px;
  259. }
  260. &:nth-child(3) ~ .tile {
  261. z-index: 1;
  262. }
  263. &.downloads, &.a-z, &.events {
  264. order: 1;
  265. background-color: transparent;
  266. &::before {
  267. font-family: "Icons", sans-serif;
  268. position: absolute;
  269. font-size: 24px;
  270. line-height: 1;
  271. right: 0;
  272. top: 0;
  273. margin: 11px 10px;
  274. z-index: 1;
  275. background-color: white;
  276. padding: 7px 6px 5px;
  277. border-top-right-radius: 8px;
  278. border-bottom-left-radius: 8px;
  279. @media(max-width: 767px) {
  280. margin: 18px;
  281. font-size: 24px;
  282. }
  283. }
  284. .outer {
  285. background-color: var(--theme-color-primary-dimmed-04);
  286. }
  287. p {
  288. margin-bottom: 0.4em;
  289. }
  290. }
  291. &.downloads::before {
  292. @include icon-suche-datei;
  293. }
  294. &.a-z::before {
  295. @include icon-suche-az;
  296. }
  297. &.events::before {
  298. @include icon-suche-veranstaltung;
  299. }
  300. }
  301. .tile > a, .outer {
  302. position: relative;
  303. display: flex;
  304. align-items: flex-end;
  305. width: 100%;
  306. min-height: 108px;
  307. padding: 18px 24px 24px;
  308. border-radius: var(--border-radius-md);
  309. box-shadow: 0 4px 20px -5px rgba(#000, 0.25);
  310. transition: 0.25s ease;
  311. line-height: 1.2;
  312. background-color: var(--theme-color-background);
  313. overflow: hidden;
  314. @include focus-visible();
  315. @media(max-width: 767px) {
  316. font-size: 16px;
  317. padding: 10px 10px 15px;
  318. min-height: 84px;
  319. }
  320. &:before {
  321. content: "";
  322. position: absolute;
  323. display: block;
  324. bottom: 0;
  325. left: 0;
  326. right: 0;
  327. height: var(--border-width);
  328. background-color: var(--theme-color-secondary);
  329. transition: 0.25s $easeOutQuad;
  330. }
  331. &:hover {
  332. color: var(--theme-color-secondary-intensed);
  333. &:before {
  334. height: var(--border-width-hover);
  335. }
  336. }
  337. }
  338. .tile > a {
  339. .item-title {
  340. text-decoration: underline;
  341. }
  342. }
  343. .outer {
  344. background-color: var(--theme-primary-light-04);
  345. padding: 14px 20px 18px;
  346. border: 4px solid white;
  347. &::after, &::before {
  348. display: none;
  349. }
  350. }
  351. .inner {
  352. display: block;
  353. max-width: 100%;
  354. }
  355. .kicker {
  356. white-space: nowrap;
  357. text-overflow: ellipsis;
  358. overflow: hidden;
  359. max-width: 100%;
  360. display: block;
  361. text-decoration: none;
  362. }
  363. ul {
  364. list-style: none;
  365. padding: 0;
  366. font-size: 16px;
  367. max-width: 100%;
  368. margin: 0;
  369. li {
  370. margin-top: 5px;
  371. }
  372. a {
  373. display: block;
  374. white-space: nowrap;
  375. overflow: hidden;
  376. text-overflow: ellipsis;
  377. transition: 0.2s ease;
  378. font-weight: 500;
  379. &:hover {
  380. color: var(--color-secondary-dark);
  381. }
  382. }
  383. }
  384. .proposals {
  385. flex: 1 1 100%;
  386. padding: 10px 12px 0;
  387. order: 2;
  388. a {
  389. margin: 0 0.3em 0 0.1em;
  390. }
  391. p {
  392. margin-bottom: 0;
  393. }
  394. }
  395. .all-button-wrapper {
  396. padding: 16px 8px;
  397. display: block;
  398. flex: 1 1 100%;
  399. order: 3;
  400. .btn {
  401. transition: 0.2s ease;
  402. .count {
  403. margin-left: 0.3em;
  404. &::before {
  405. content: '(';
  406. }
  407. &::after {
  408. content: ')';
  409. }
  410. }
  411. }
  412. }
  413. }
  414. &.background-image{
  415. &:after{
  416. position:absolute;
  417. top:0;
  418. left:0;
  419. bottom:0;
  420. right:0;
  421. z-index: 0;
  422. content:"";
  423. opacity: 0.6;
  424. background: linear-gradient(87deg, #036 12.55%, rgba(1, 40, 81, 0.86) 56.52%, rgba(0, 51, 102, 0.00) 94.05%);
  425. background-blend-mode: overlay;
  426. }
  427. .artwork-wrapper{
  428. display:none;
  429. }
  430. }
  431. }
  432. &.infoteaser{
  433. outer{
  434. max-height:427px;
  435. height:427px;
  436. @media(max-width: 999px) {
  437. max-height:none;
  438. height:auto;
  439. }
  440. }
  441. .rotation {
  442. @media screen and (max-width:900px){
  443. .slider .text-box:first-child::after {
  444. display: none;
  445. }
  446. padding:0;
  447. }
  448. .text-box{
  449. min-height: 0;
  450. }
  451. }
  452. .image-box{
  453. max-height:427px;
  454. min-height: 0;
  455. height:427px;
  456. img{
  457. max-height:427px;
  458. height:427px;
  459. }
  460. }
  461. .mainstage{
  462. @media screen and (max-width:900px){
  463. padding:0;
  464. }
  465. .row{
  466. margin:16px 0;
  467. @media screen and (min-width:901px){
  468. margin:30px -8px 0;
  469. }
  470. .col{
  471. flex: 1 1 100%;
  472. max-width: 100%;
  473. @media screen and (min-width:901px){
  474. padding:0 8px;
  475. flex: 1 1 calc(100% - 322px);
  476. max-width: calc(100% - 322px);
  477. }
  478. + .col{
  479. flex: 1 1 100%;
  480. max-width: 100%;
  481. display: flex;
  482. flex-flow: column;
  483. justify-content: space-between;
  484. margin: 0;
  485. padding: 0 var(--container-padding);
  486. @media screen and (min-width:901px){
  487. flex: 1 1 322px;
  488. max-width: 322px;
  489. padding:0 8px;
  490. margin: -8px 0;
  491. }
  492. .mt{
  493. height: 100%;
  494. padding: 8px 0;
  495. .mini-teaser{
  496. height: 100%;
  497. }
  498. }
  499. }
  500. }
  501. }
  502. }
  503. }
  504. &.hero-fullwidth{
  505. .mainstage.container{
  506. max-width: 1920px;
  507. width:100%;
  508. padding:0;
  509. > .row{
  510. margin:0;
  511. }
  512. }
  513. .rotation{
  514. margin:0 !important;
  515. padding:0 !important;
  516. //max-width: 1920px;
  517. width:100%;
  518. outer{
  519. margin:0 !important;
  520. position: relative;
  521. justify-content: center;
  522. @media screen and (min-width:901px) {
  523. max-height:566px;
  524. }
  525. }
  526. .slider{
  527. background-color: transparent;
  528. .image-box img {
  529. @media screen and (max-width:900px) {
  530. height: 300px;
  531. }
  532. @media screen and (max-width:767px) {
  533. height: 300px;
  534. }
  535. }
  536. .slide.text-only.current {
  537. background: linear-gradient(-10deg, var(--theme-color-gradient-01) 10%, var(--theme-color-gradient-02) 55%, var(--theme-color-gradient-03) 90%);
  538. }
  539. }
  540. }
  541. .image-box{
  542. width:100%;
  543. flex: 1 1 100%;
  544. max-width: 100%;
  545. max-height:566px;
  546. position: relative;
  547. padding-right: 0 !important;
  548. @media (min-width: 1000px) {
  549. padding-right: 0 !important;
  550. }
  551. &:after{
  552. position:absolute;
  553. top:0;
  554. left:0;
  555. bottom:0;
  556. right:0;
  557. z-index: 0;
  558. content:"";
  559. opacity: 0.6;
  560. background: linear-gradient(87deg, #036 12.55%, rgba(1, 40, 81, 0.86) 56.52%, rgba(0, 51, 102, 0.00) 94.05%);
  561. background-blend-mode: overlay;
  562. &:before{
  563. display:none;
  564. }
  565. }
  566. img{
  567. object-fit: cover;
  568. //position:relative;
  569. z-index: -1;
  570. left:0 !important;
  571. padding:0 !important;
  572. width:100% !important;
  573. }
  574. }
  575. .text-box{
  576. height: 100%;
  577. color:white;
  578. width: var(--container-width);
  579. padding: 0 var(--container-padding);
  580. max-width: 100%;
  581. margin: 0 auto;
  582. @media screen and (min-width:901px) {
  583. position: absolute;
  584. *{
  585. color:white;
  586. }
  587. .btn{
  588. background-color: white !important;
  589. color:var(--theme-color-primary) !important;
  590. &:hover:after{
  591. box-shadow: 0 0 0 var(--button-hover-shadow-size) white !important;
  592. }
  593. }
  594. }
  595. *{
  596. max-width:580px;
  597. }
  598. &:after{
  599. display:none;
  600. }
  601. &:before{
  602. display:none;
  603. }
  604. }
  605. .controls{
  606. width: var(--container-width);
  607. padding: 0 var(--container-padding);
  608. max-width: 100%;
  609. margin: 0 auto;
  610. position: relative;
  611. @media screen and (max-width:900px){
  612. position: absolute !important;
  613. top: 0;
  614. }
  615. }
  616. }
  617. .rotation{
  618. margin:0;
  619. @media screen and (max-width:900px){
  620. .slider{
  621. background-color: transparent;
  622. .slider-tabs{
  623. top:0;
  624. height: auto;
  625. bottom: auto;
  626. margin-top:15px;
  627. @media screen and (max-width:767px){
  628. .btn{
  629. --button-icon-padding: 30px;
  630. --button-icon-offset: 5px;
  631. --button-padding: 5px 10px;
  632. --button-min-size: 30px;
  633. margin: 2.5px;
  634. }
  635. }
  636. }
  637. .text-box{
  638. padding: var(--container-padding);
  639. }
  640. .text-box:not(:first-child)::before{
  641. display: none;
  642. }
  643. .image-box{
  644. order: 0;
  645. &:before{
  646. display: none;
  647. }
  648. img{
  649. position: static;
  650. height:300px;
  651. }
  652. }
  653. }
  654. }
  655. @media screen and (max-width:767px){
  656. .slider{
  657. .image-box{
  658. img{
  659. height:250px;
  660. }
  661. }
  662. }
  663. }
  664. @media screen and (max-width:567px) {
  665. .slider {
  666. margin: 0;
  667. .image-box{
  668. img{
  669. height:177px;
  670. }
  671. }
  672. }
  673. }
  674. .context-box{
  675. display:none !important;
  676. }
  677. }
  678. }