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.
 
 
 
 

974 line
22 KiB

  1. @import '../../_global/styles/mixins';
  2. @import '../../_global/styles/vars';
  3. section.marketingheader{
  4. margin-top:0;
  5. &.miniinfoteaser{
  6. .kicker{
  7. color:var(--theme-color-secondary);
  8. }
  9. .mini-teaser{
  10. .category{
  11. color:var(--theme-color-secondary);
  12. }
  13. }
  14. .text-only .kicker{
  15. color:white;
  16. }
  17. }
  18. .rotation {
  19. .slider {
  20. @media(min-width: 901px) {
  21. height: 100%;
  22. .slide-overflow {
  23. height: 100% !important;
  24. }
  25. .slide-wrapper, .slide, .outer {
  26. height: 100%;
  27. }
  28. }
  29. .outer {
  30. //max-height: 427px;
  31. @media(max-width: 999px) {
  32. max-height:none;
  33. height:auto;
  34. }
  35. }
  36. .copyright {
  37. @media(max-width: 900px) {
  38. left: calc(100% - 30px);
  39. }
  40. @media(max-width: 767px) {
  41. left: calc(100% - 20px);
  42. }
  43. }
  44. }
  45. }
  46. .text-box{
  47. .btn.has-icon.icon-small-arrow-right-simple {
  48. bottom: auto;
  49. }
  50. }
  51. .search {
  52. position: relative;
  53. overflow: hidden;
  54. margin: 0;
  55. background-color: var(--theme-color-primary-dimmed-04);
  56. //max-height: 100px;
  57. height: 100px;
  58. transition: all .6s ease-in-out;
  59. background-size:cover;
  60. @media (max-width:767px){
  61. max-height: 78px;
  62. }
  63. .artwork-left .foreground,
  64. .artwork-left .background,
  65. .artwork-left + .artwork .foreground,
  66. .artwork-left + .artwork .background {
  67. height: 100%;
  68. min-height: 437px;
  69. }
  70. .sc.container{
  71. position: absolute;
  72. top: 0;
  73. left: 0;
  74. right: 0;
  75. width: 100%;
  76. max-width: 100%;
  77. @media (max-width:767px){
  78. top: auto;
  79. bottom: 0;
  80. .close-search{
  81. position: relative !important;
  82. right:0 !important;
  83. top:0 !important;
  84. float: right;
  85. margin-bottom:15px;
  86. }
  87. }
  88. .close-search{
  89. display:none;
  90. position: absolute;
  91. right:30px;
  92. top:33px;
  93. left:auto;
  94. cursor: pointer;
  95. transition: 0.3s ease;
  96. border: 1px solid var(--theme-color-primary-dimmed-04);
  97. border-radius: 10px;
  98. height:34px;
  99. width:34px;
  100. background-color: var(--theme-color-primary);
  101. @include focus-visible;
  102. z-index: 2;
  103. &:before, &:after {
  104. content: "";
  105. position: absolute;
  106. top: 50%;
  107. left: 50%;
  108. width: 17px;
  109. height: 1.5px;
  110. border-radius: 2px;
  111. background-color: var(--theme-color-white);
  112. transform: translate(-50%,-50%) rotate(45deg);
  113. transition: 0.3s ease;
  114. }
  115. &:after {
  116. transform: translate(-50%,-50%) rotate(-45deg);
  117. }
  118. }
  119. }
  120. &.open {
  121. height: 390px;
  122. @media (max-width:767px){
  123. height: 385px;
  124. max-height: 385px;
  125. }
  126. @media (max-width:567px){
  127. height: 509px;
  128. max-height: 509px;
  129. }
  130. //max-height: 9999px;
  131. //transition: all .1s cubic-bezier(1,0,1,0);
  132. &.has-button-wrapper {
  133. height: 460px;
  134. @media (max-width:767px){
  135. height: 395px;
  136. max-height: 395px;
  137. }
  138. @media (max-width:567px){
  139. height: 519px;
  140. max-height: 519px;
  141. }
  142. }
  143. .close-search{
  144. display:block !important;
  145. }
  146. .tiles{
  147. top: 0;
  148. padding-bottom:9px;
  149. @media screen and (max-width:767px){
  150. padding-bottom:0;
  151. }
  152. }
  153. .all-button-wrapper {
  154. top: 0;
  155. }
  156. form{
  157. max-width: 580px;
  158. }
  159. }
  160. form{
  161. border-radius: 24px;
  162. box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.25) !important;
  163. overflow:hidden;
  164. font-size: 22px;
  165. max-width: 360px;
  166. margin: 20px auto !important;
  167. transition: 0.3s ease;
  168. @media(max-width: 767px) {
  169. font-size: 18px;
  170. margin: 15px auto !important;
  171. border-radius: 18px;
  172. }
  173. @media(max-width: 399px) {
  174. max-width: 250px;
  175. }
  176. }
  177. + section, + #toclist > section:first-child {
  178. @media(min-width: 768px) {
  179. margin-top: 0;
  180. }
  181. }
  182. input#search-term{
  183. border-color:white !important;
  184. height: 60px;
  185. border-top-left-radius: 24px;
  186. border-bottom-left-radius: 24px;
  187. font-size: 22px;
  188. @media(max-width: 767px) {
  189. font-size: 18px;
  190. height: 48px;
  191. border-top-left-radius: 18px;
  192. border-bottom-left-radius: 18px;
  193. }
  194. &::placeholder{
  195. color:var(--theme-color-primary) !important;
  196. }
  197. }
  198. button.search-submit{
  199. background-color: var(--theme-color-primary) !important;
  200. color: white;
  201. border-top-left-radius: 0 !important;
  202. border-bottom-left-radius: 0 !important;
  203. border-top-right-radius: 0 !important;
  204. border-bottom-right-radius: 0 !important;
  205. border-color:white !important;
  206. height: 60px;
  207. width:60px;
  208. font-size: 22px;
  209. @media(max-width: 767px) {
  210. font-size: 18px;
  211. height: 48px;
  212. width:48px;
  213. }
  214. &:before{
  215. width:30px;
  216. height:30px;
  217. font-size:30px;
  218. @media(max-width: 767px) {
  219. width:24px;
  220. height:24px;
  221. font-size:24px;
  222. }
  223. }
  224. }
  225. .container {
  226. position: relative;
  227. z-index: 1;
  228. .row {
  229. @media(max-width: 567px) {
  230. min-height: 0;
  231. }
  232. > .col{
  233. margin-top:0;
  234. padding-top:0;
  235. padding-bottom:0;
  236. }
  237. }
  238. }
  239. .artwork {
  240. @media(max-width: 420px) {
  241. top: 30px;
  242. right: -20px;
  243. }
  244. @media(max-width: 340px) {
  245. top: 40px;
  246. right: -30px;
  247. }
  248. }
  249. form {
  250. position: relative;
  251. margin: 0 0 16px;
  252. //box-shadow: 0 3px 20px -5px rgba(#000, 0.3);
  253. //border-radius: var(--border-radius-md) var(--border-radius-xl) var(--border-radius-xl) var(--border-radius-md);
  254. @media(max-width: 567px) {
  255. margin-top: 20px;
  256. }
  257. }
  258. h1 {
  259. margin-left: 0;
  260. margin-top: 0;
  261. @media(max-width: 567px) {
  262. font-size: 24px;
  263. margin: 0;
  264. }
  265. }
  266. .tiles {
  267. margin: 0 -8px 0 -8px;
  268. position: relative;
  269. top: 100px;
  270. display: flex;
  271. flex-wrap: wrap;
  272. font-family: "Korb", sans-serif;
  273. transition: all 0.3s ease-in;
  274. padding-bottom: 0;
  275. .tile {
  276. position: relative;
  277. display: flex;
  278. padding: 8px;
  279. flex: 1 1 33.3333%;
  280. max-width: 33.3333%;
  281. margin-top:0 !important;
  282. padding-top:0 !important;
  283. padding-bottom:0 !important;
  284. margin-bottom:16px !important;
  285. &::before {
  286. position: absolute;
  287. top: 8px;
  288. right: 8px;
  289. margin: 10px 8px;
  290. font-family: Icons, sans-serif;
  291. font-size: 18px;
  292. line-height: 1;
  293. text-align: center;
  294. pointer-events: none;
  295. z-index: 1;
  296. }
  297. &[data-type="download"]::before {
  298. @include icon-small-download;
  299. }
  300. &[data-type="external"]::before {
  301. @include icon-small-link-external;
  302. }
  303. @media(max-width: 567px) {
  304. flex: 1 1 50%;
  305. max-width: 50%;
  306. //padding: 6px;
  307. }
  308. &:nth-child(3) ~ .tile {
  309. z-index: 1;
  310. }
  311. &.downloads, &.a-z, &.events {
  312. order: 1;
  313. background-color: transparent;
  314. &::before {
  315. font-family: "Icons", sans-serif;
  316. position: absolute;
  317. font-size: 24px;
  318. line-height: 1;
  319. right: 0;
  320. top: 0;
  321. margin: 11px 10px;
  322. z-index: 1;
  323. background-color: white;
  324. padding: 7px 6px 5px;
  325. border-top-right-radius: 8px;
  326. border-bottom-left-radius: 8px;
  327. @media(max-width: 767px) {
  328. margin: 18px;
  329. font-size: 24px;
  330. }
  331. }
  332. .outer {
  333. background-color: var(--theme-color-primary-dimmed-04);
  334. }
  335. p {
  336. margin-bottom: 0.4em;
  337. }
  338. }
  339. &.downloads::before {
  340. @include icon-suche-datei;
  341. }
  342. &.a-z::before {
  343. @include icon-suche-az;
  344. }
  345. &.events::before {
  346. @include icon-suche-veranstaltung;
  347. }
  348. }
  349. .tile > a, .outer {
  350. position: relative;
  351. display: flex;
  352. align-items: flex-end;
  353. width: 100%;
  354. height: 108px;
  355. max-height: 108px;
  356. padding: 10px 24px 18px 24px;
  357. border-radius: var(--border-radius-md);
  358. box-shadow: 0 4px 20px -5px rgba(#000, 0.25);
  359. transition: 0.25s ease;
  360. line-height: 1.2;
  361. background-color: var(--theme-color-background);
  362. overflow: hidden;
  363. @include focus-visible();
  364. @media(max-width: 767px) {
  365. font-size: 16px;
  366. padding: 10px 10px 15px;
  367. min-height: 84px;
  368. }
  369. &:before {
  370. content: "";
  371. position: absolute;
  372. display: block;
  373. bottom: 0;
  374. left: 0;
  375. right: 0;
  376. height: var(--border-width);
  377. background-color: var(--theme-color-secondary);
  378. transition: 0.25s $easeOutQuad;
  379. }
  380. &:hover {
  381. color: var(--theme-color-secondary-intensed);
  382. &:before {
  383. height: var(--border-width-hover);
  384. }
  385. }
  386. }
  387. .tile > a {
  388. .item-title {
  389. text-decoration: underline;
  390. }
  391. }
  392. .outer {
  393. background-color: var(--theme-primary-light-04);
  394. padding: 14px 20px 18px;
  395. border: 4px solid white;
  396. &::after, &::before {
  397. display: none;
  398. }
  399. }
  400. .inner {
  401. display: block;
  402. max-width: 100%;
  403. }
  404. .kicker {
  405. white-space: nowrap;
  406. text-overflow: ellipsis;
  407. overflow: hidden;
  408. max-width: 100%;
  409. display: block;
  410. text-decoration: none;
  411. }
  412. ul {
  413. list-style: none;
  414. padding: 0;
  415. font-size: 16px;
  416. max-width: 100%;
  417. margin: 0;
  418. li {
  419. margin-top: 5px;
  420. }
  421. a {
  422. display: block;
  423. white-space: nowrap;
  424. overflow: hidden;
  425. text-overflow: ellipsis;
  426. transition: 0.2s ease;
  427. font-weight: 500;
  428. &:hover {
  429. color: var(--color-secondary-dark);
  430. }
  431. }
  432. }
  433. .proposals {
  434. flex: 1 1 100%;
  435. padding: 10px 12px 0;
  436. order: 2;
  437. a {
  438. margin: 0 0.3em 0 0.1em;
  439. }
  440. p {
  441. margin-bottom: 0;
  442. }
  443. }
  444. .all-button-wrapper {
  445. padding: 16px 8px;
  446. display: block;
  447. flex: 1 1 100%;
  448. order: 3;
  449. .btn {
  450. transition: 0.2s ease;
  451. .count {
  452. margin-left: 0.3em;
  453. &::before {
  454. content: '(';
  455. }
  456. &::after {
  457. content: ')';
  458. }
  459. }
  460. }
  461. }
  462. }
  463. &.background-image{
  464. &:after{
  465. position:absolute;
  466. top:0;
  467. left:0;
  468. bottom:0;
  469. right:0;
  470. z-index: 0;
  471. content:"";
  472. opacity: 0.6;
  473. background: linear-gradient(87deg, #036 12.55%, rgba(1, 40, 81, 0.86) 56.52%, rgba(0, 51, 102, 0.00) 94.05%);
  474. background-blend-mode: overlay;
  475. }
  476. .artwork-wrapper{
  477. display:none;
  478. }
  479. }
  480. &.picto-image {
  481. background-position: 50% 0;
  482. background-size: auto 100%;
  483. background-repeat: repeat-x;
  484. @media (max-width: 767px) {
  485. background-size: auto 78px;
  486. }
  487. .artwork-wrapper{
  488. display:none;
  489. }
  490. }
  491. .all-button-wrapper {
  492. display: block;
  493. padding-top: 10px;
  494. position: relative;
  495. top: 100px;
  496. transition: all 0.3s ease-in;
  497. }
  498. }
  499. &.infoteaser{
  500. border-radius: 4px;
  501. .slide-overflow{
  502. border-radius: 4px;
  503. }
  504. .outer{
  505. //max-height:427px;
  506. //height:427px;
  507. @media(max-width: 999px) {
  508. max-height:none;
  509. height:auto;
  510. }
  511. }
  512. .rotation {
  513. padding:0;
  514. @media screen and (max-width: 999px) {
  515. .slide:not(.text-only) .text-box {
  516. padding: 16px 0;
  517. }
  518. .slide .image-box img {
  519. position: static;
  520. height:300px;
  521. }
  522. .slider-tabs {
  523. top:0;
  524. height: auto;
  525. bottom: auto;
  526. margin-top:15px;
  527. }
  528. }
  529. @media screen and (max-width: 900px) {
  530. .slider .image-box {
  531. padding-left: var(--container-padding);
  532. padding-right: var(--container-padding);
  533. }
  534. .slider .text-box:first-child::after {
  535. display: none;
  536. }
  537. }
  538. .text-box{
  539. min-height: 0;
  540. }
  541. }
  542. .outer{
  543. border-radius: 4px;
  544. .image-box img{
  545. border-radius: 4px;
  546. }
  547. }
  548. .image-box{
  549. //max-height:427px;
  550. //min-height: 0;
  551. //height:427px;
  552. @media(min-width: 1000px) {
  553. min-height: 427px;
  554. height: 100%;
  555. }
  556. img {
  557. object-position: right;
  558. //max-height:427px;
  559. //height:427px;
  560. @media(min-width: 1000px) {
  561. min-height: 427px;
  562. height: 100%;
  563. }
  564. }
  565. }
  566. .mainstage{
  567. @media screen and (max-width:900px){
  568. padding:0;
  569. }
  570. .row{
  571. margin:16px 0;
  572. @media screen and (min-width:901px){
  573. margin:30px -8px 0;
  574. }
  575. .col{
  576. flex: 1 1 100%;
  577. max-width: 100%;
  578. @media screen and (min-width:901px){
  579. padding:0 8px;
  580. flex: 1 1 calc(100% - 322px);
  581. max-width: calc(100% - 322px);
  582. }
  583. + .col{
  584. flex: 1 1 100%;
  585. max-width: 100%;
  586. display: flex;
  587. flex-flow: column;
  588. justify-content: space-between;
  589. margin: 0;
  590. padding: 0 var(--container-padding);
  591. @media screen and (min-width:901px){
  592. flex: 1 1 322px;
  593. max-width: 322px;
  594. padding:0 8px;
  595. margin: -8px 0;
  596. }
  597. .mt{
  598. height: 100%;
  599. padding: 8px 0;
  600. @media screen and (max-width:575px){
  601. padding: 4px 0;
  602. }
  603. .mini-teaser{
  604. height: 100%;
  605. .text-box{
  606. height: 100%;
  607. flex-flow: column;
  608. justify-content: space-between;
  609. .btn{
  610. height: fit-content;
  611. }
  612. }
  613. }
  614. }
  615. }
  616. }
  617. }
  618. }
  619. }
  620. &.hero-fullwidth{
  621. .mainstage.container{
  622. /*max-width: 1920px;*/
  623. width:100%;
  624. padding:0;
  625. > .row{
  626. margin:0;
  627. }
  628. }
  629. .rotation{
  630. margin:0 !important;
  631. padding:0 !important;
  632. //max-width: 1920px;
  633. width:100%;
  634. .outer{
  635. margin:0 !important;
  636. position: relative;
  637. justify-content: center;
  638. @media screen and (min-width:901px) {
  639. max-height:566px;
  640. }
  641. }
  642. .copyright {
  643. left: 100%;
  644. }
  645. .slider{
  646. background-color: transparent;
  647. .image-box img {
  648. @media screen and (max-width:900px) {
  649. height: 300px;
  650. }
  651. @media screen and (max-width:767px) {
  652. height: 300px;
  653. }
  654. }
  655. .slide.text-only.current{
  656. background: linear-gradient(-10deg, var(--theme-color-gradient-01) 10%, var(--theme-color-gradient-02) 55%, var(--theme-color-gradient-03) 90%);
  657. }
  658. }
  659. }
  660. .image-box{
  661. width:100%;
  662. flex: 1 1 100%;
  663. max-width: 100%;
  664. max-height:566px;
  665. position: relative;
  666. padding-right: 0 !important;
  667. @media (min-width: 1000px) {
  668. padding-right: 0 !important;
  669. }
  670. &:after{
  671. position:absolute;
  672. top:0;
  673. left:0;
  674. bottom:0;
  675. right:0;
  676. z-index: 0;
  677. content:"";
  678. opacity: 0.6;
  679. background: linear-gradient(87deg, #036 12.55%, rgba(1, 40, 81, 0.86) 56.52%, rgba(0, 51, 102, 0.00) 94.05%);
  680. background-blend-mode: overlay;
  681. &:before{
  682. display:none;
  683. }
  684. }
  685. img{
  686. object-fit: cover;
  687. //position:relative;
  688. z-index: -1;
  689. left:0 !important;
  690. padding:0 !important;
  691. width:100% !important;
  692. }
  693. }
  694. .text-box{
  695. height: 100%;
  696. color:white;
  697. width: var(--container-width);
  698. padding: 0 var(--container-padding);
  699. max-width: 100%;
  700. margin: 0 auto;
  701. @media screen and (min-width:901px) {
  702. position: absolute;
  703. *{
  704. color:white;
  705. }
  706. .btn{
  707. background-color: white !important;
  708. color:var(--theme-color-primary) !important;
  709. &:hover:after{
  710. box-shadow: 0 0 0 var(--button-hover-shadow-size) white !important;
  711. }
  712. }
  713. }
  714. *{
  715. max-width:580px;
  716. }
  717. &:after{
  718. display:none;
  719. }
  720. &:before{
  721. display:none;
  722. }
  723. }
  724. .controls{
  725. width: var(--container-width);
  726. padding: 0 var(--container-padding);
  727. max-width: 100%;
  728. margin: 0 auto;
  729. position: relative;
  730. .slider-tabs {
  731. right: 30px;
  732. }
  733. @media screen and (max-width:900px){
  734. position: absolute !important;
  735. top: 0;
  736. }
  737. }
  738. }
  739. .rotation .slider{
  740. border-bottom:0;
  741. background-color: white;
  742. h3, .like-h2 {
  743. margin-top: 4px;
  744. margin-bottom: 8px;
  745. }
  746. .kicker{
  747. margin-bottom:0;
  748. }
  749. p{
  750. margin-bottom:0.4em;
  751. }
  752. .btn{
  753. margin-top:0.4em;
  754. }
  755. &.ishovered .slider-tabs li.active button.btn::before{
  756. animation-play-state: paused;
  757. }
  758. &.btnanimation{
  759. .slider-tabs{
  760. li.active{
  761. button.btn::before{
  762. animation: fillgrey 7s linear forwards;
  763. }
  764. }
  765. }
  766. }
  767. .slider-tabs{
  768. li:first-child:last-child{
  769. display:none;
  770. }
  771. li.active{
  772. button.btn{
  773. background-blend-mode: overlay;
  774. overflow: hidden;
  775. }
  776. }
  777. li{
  778. button.btn{
  779. position: relative;
  780. border-radius: var(--border-radius-lg);
  781. }
  782. button.btn::before{
  783. width:0;
  784. background-color:var(--theme-grey-light);
  785. content: "";
  786. z-index:0;
  787. height:100%;
  788. position:absolute;
  789. top:0;
  790. bottom:0;
  791. right:0;
  792. left:0;
  793. right:0;
  794. display:block;
  795. background-blend-mode: multiply;
  796. }
  797. }
  798. }
  799. .slide.text-only.current{
  800. background: none;
  801. .outer{
  802. background: linear-gradient(-10deg, var(--theme-color-gradient-01) 10%, var(--theme-color-gradient-02) 55%, var(--theme-color-gradient-03) 90%);
  803. .text-box{
  804. justify-content: center;
  805. max-width: 580px;
  806. }
  807. }
  808. }
  809. .text-box{
  810. color:var(--theme-color-primary);
  811. padding: 30px 36px 24px 36px;
  812. display: flex;
  813. flex-flow: column;
  814. justify-content: center;
  815. min-width: 324px;
  816. &:not(:first-child)::before {
  817. background-color: var(--theme-color-primary-dimmed-04);
  818. }
  819. .btn{
  820. background-color: var(--theme-color-primary);
  821. color:white;
  822. &:hover:after{
  823. box-shadow: 0 0 0 var(--button-hover-shadow-size) var(--theme-color-primary);
  824. }
  825. }
  826. }
  827. .text-only{
  828. .text-box{
  829. color:white;
  830. }
  831. }
  832. }
  833. .rotation{
  834. margin:0;
  835. @media (max-width: 1339px) {
  836. .rotation .slider .text-box {
  837. min-width: 324px;
  838. }
  839. }
  840. @media (min-width: 1000px) {
  841. .slider .text-box:not(:first-child)::before {
  842. border-top-right-radius: 16% 50% !important;
  843. border-bottom-right-radius: 16% 50% !important;
  844. margin: -15% -8% -15% 20px;
  845. }
  846. }
  847. @media (max-width:999px){
  848. .slider{
  849. background-color: white;
  850. .text-box:not(:first-child)::before{
  851. display: none;
  852. }
  853. .image-box{
  854. order: 0;
  855. height:auto;
  856. max-height:none !important;
  857. img{
  858. aspect-ratio: 16 / 9;
  859. height: auto !important;
  860. max-height:none !important;
  861. min-height: 177px !important;
  862. }
  863. &:before{
  864. display: none;
  865. }
  866. img{
  867. position: static;
  868. //height:300px;
  869. }
  870. }
  871. }
  872. }
  873. @media screen and (max-width:900px){
  874. .slider{
  875. margin-bottom:20px;
  876. .slide:not(.text-only){
  877. .text-box{
  878. padding: 16px var(--container-padding) 0;
  879. }
  880. }
  881. .slide.text-only{
  882. padding-left: var(--container-padding);
  883. padding-right: var(--container-padding);
  884. }
  885. .slider-tabs{
  886. right: calc(var(--container-padding) + 10px);
  887. top: 15px;
  888. padding: 0;
  889. margin: 0;
  890. .btn{
  891. margin-top:0 !important;
  892. }
  893. }
  894. }
  895. }
  896. @media screen and (max-width:767px){
  897. .slider{
  898. .slide:not(.text-only) .text-box{
  899. padding: 16px var(--container-padding);
  900. }
  901. .slider-tabs{
  902. .btn{
  903. --button-icon-padding: 30px;
  904. --button-icon-offset: 5px;
  905. --button-padding: 5px 10px;
  906. --button-min-size: 30px;
  907. margin: 2.5px;
  908. }
  909. }
  910. }
  911. }
  912. @media screen and (max-width:567px) {
  913. .slider {
  914. margin: 0;
  915. margin-bottom: 8px;
  916. }
  917. }
  918. .context-box{
  919. display:none !important;
  920. }
  921. }
  922. }
  923. @keyframes fillgrey {
  924. 0%{width:0;}
  925. 100%{width:100%}
  926. }