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.
 
 
 
 

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