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.
 
 
 
 

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