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.
 
 
 
 

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