webseite/assets/css/style.css

990 lines
19 KiB
CSS

/*
* Namensschema der CSS-Klassen nach BEM (Block Element Modifier,
* http://getbem.com/naming/). Mit der Erweiterung, dass Modifier einzeln
* mit Bindestrich angegeben werden. Also:
*
* <li class="navlist__navitem -active">
* statt
* <li class="navlist__navitem navlist__navitem--active">
*
* Das ist weniger redundant und übersichtlicher. Der passende CSS-Selektor
* dazu ist:
*
* .navlist__navitem.-active
*/
:root {
/* default text color */
--nearly-black: #333;
/* WTF Farben gemäß https://git.vebit.xyz/vebit/swag/src/branch/master/README.markdown */
--wtf-orange: #f60;
--wtf-light-orange: #ffcba9;
--wtf-light-blue: #2a7fff;
--wtf-dark-blue: #003380;
--wtf-night-blue: #00173B;
/* TODO: Grautöne üerarbeiten */;
--wtf-dark-grey: #202020;
--wtf-grey: #666;
--wtf-mid-grey: #acacac; /* Nicht im swag-Repo */
/*--wtf-light-grey: #f2f2f2;*/
--wtf-light-grey: #edefeb;
--column-count: 3;
}
body {
font-family: 'Lato', sans-serif;
font-weight: normal;
line-height: 1.4rem;
color: var(--nearly-black);
background-color: var(--wtf-light-grey)
}
/* nav - Start */
.header__primary_nav {
width: 100%;
grid-row: 1 / span 1;
grid-column: 1 / span 3;
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.primary_nav__toggle {
display: none;
height: 3.375rem;
margin-left: 1rem;
}
.primary_nav__toggle svg {
margin: 0.25rem 0 0 0;
width: 2rem;
height: 2rem;
padding: 0;
position: relative;
left: 0;
}
.primary_nav__toggle rect {
fill: var(--nearly-black);
}
.primary_nav__toggle p {
margin: 0.5rem 0 0 0;
padding: 0;
position: relative;
left: -0.2rem;
bottom: 0.65rem;
color: var(--nearly-black);
}
.primary_nav__navlist {
margin: 0;
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.primary_nav__navitem {
margin: 0 0.25rem;
padding: 0.25rem 0.25rem 0 1.5rem;
display: flex;
flex-direction: column;
justify-content: flex-start;
font-size: 1.25rem;
}
.primary_nav__navitem.-active .primary_nav__navlink {
color: var(--wtf-orange);
}
.primary_nav__navitem.-last, .primary_nav__navitem.-last a {
margin-right: 0;
padding-right: 0;
}
.primary_nav__navlink {
color: var(--nearly-black);
}
.primary_nav__sub_navitem .primary_nav__navlink {
color: #fff;
}
.primary_nav__navlink:hover {
color: var(--wtf-mid-grey);
text-decoration: underline;
}
.primary_nav__sub_navlist {
display: none;
z-index: 20;
}
.primary_nav__navlist > li:hover > .primary_nav__sub_navlist {
display: block;
margin: 2.6rem 0 0 -0.5rem;
padding: 0;
position: absolute;
background-color: var(--wtf-dark-blue);
border-left: 2px solid var(--wtf-mid-grey);
border-right: 2px solid var(--wtf-mid-grey);
border-bottom: 2px solid var(--wtf-mid-grey);
box-shadow: 5px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
/*
* Gleicht zusammen mit padding von .primary_nav__navitem die Verschiebung durch Sub-
* menümarker aus.
*/
.primary_nav__navitem .primary_nav__navlink {
display: inline-block;
padding-right: 0.5rem;
}
/* Greift wenn Submenü vorhanden ist */
.primary_nav__navlist li a:first-child:nth-last-child(2) {
padding-right: 0;
width: 110%;
}
/* Malt bei vorhandenem Submenü den Pfeil */
.primary_nav__navlist li a:first-child:nth-last-child(2):after {
content: "";
position: relative;
top: -0.125rem;
left: 0.5rem;
height: 5px;
width: 5px;
display: inline-block;
transform: rotate(0.125turn);
border-bottom: 3px solid var(--nearly-black);
border-right: 3px solid var(--nearly-black);
}
.primary_nav__sub_navitem {
margin: 0;
padding: 0.5rem 0.5rem;
list-style: none;
text-align: left;
}
.header__secondary_nav {
margin: 4.5rem 0.5rem 0 0;
}
.secondary_nav__navlist {
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.secondary_nav__navitem {
display: inline-block;
list-style: none;
}
.secondary_nav__navlink {
color: var(--nearly-black);
}
.secondary_nav__navlink:hover {
color: var(--wtf-mid-grey);
text-decoration: underline;
}
/* nav - Ende */
/* header - Start */
header {
background-color: var(--wtf-light-grey);
margin: 0 auto;
padding: 0;
max-width: 1200px;
display: flex;
flex-direction: column;
}
.header__top_box {
grid-row: 1 / span 1;
grid-column: 1 / span 5;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.header__logo_box {
grid-row: 1 / span 1;
}
.header__button {
height: 3rem;
margin: 1.5rem 1rem 0rem 0;
padding: 0.5rem 2.5rem 0.5rem 2.5rem;
background-color: var(--wtf-light-blue);
color: #fff;
font-size: 1.2rem;
border: solid #fff 3px;
border-radius: 2rem;
}
.header__bg_box {
margin-top: -0.75rem;
grid-row: 2 / span 1;
grid-column: 1 / span 5;
display: grid;
grid-template-rows: 46px 18px 15rem 8rem 55px 18px auto;
grid-template-columns: 15% 82px auto 96px 22.5%;
z-index: 0;
}
.bg_box__top_bar_left {
grid-row: 2 / span 1;
grid-column: 1 / span 3;
background-color: var(--wtf-dark-blue);
z-index: 5;
}
.bg_box__top_bar_middle {
grid-row: 1 / span 2;
grid-column: 4 / span 1;
background-image: url("../images/header_top_triangles.svg");
background-repeat: no-repeat;
z-index: 5;
}
.bg_box__top_bar_right {
grid-row: 1 / span 2;
grid-column: 5 / span 1;
background-color: var(--wtf-light-orange);
z-index: 5;
}
.bg_box__unicorns {
grid-row: 2 / span 6;
grid-column: 1 / span 5;
background-image: url("../images/white_unicorns.svg");
background-position: top 5% left 95% ;
background-size: auto 60%;
background-repeat: no-repeat;
z-index: 10;
}
.bg_box__big_bg {
grid-row: 3 / span 2;
grid-column: 1 / span 5;
background-color: var(--wtf-light-orange);
z-index: 5;
}
.bg_box__bottom_bar_left {
grid-row: 5 / span 1;
grid-column: 1 / span 3;
background-color: var(--wtf-light-orange);
z-index: 5;
}
.bg_box__bottom_bar_middle {
grid-row: 5 / span 2;
grid-column: 2 / span 1;
background-image: url("../images/header_bottom_triangles.svg");
background-repeat: no-repeat;
z-index: 5;
}
.bg_box__bottom_bar_right {
grid-row: 5 / span 2;
grid-column: 3 / span 3;
background-color: var(--wtf-dark-blue);
z-index: 5;
}
.bg_box__very_bottom_bar {
grid-row: 6 / span 1;
grid-column: 1 / span 2;
background-color: var(--wtf-dark-blue);
z-index: 5;
}
.header__claim {
margin: 2rem 0 0 2.5rem;
grid-row: 3 / span 1;
grid-column: 1 / span 5;
z-index: 15;
}
.header__claim h2 {
font-family: 'Noto Serif', serif;
font-weight: 700;
font-weight: normal;
font-size: 1.75rem;
line-height: 1.3em;
margin-top: 0.5em;
}
.header__claim h2 em {
color: var(--wtf-orange);
}
.header__claim h2 span {
display: inline-block;
background-color: #fff;
margin-top: 1px;
padding: 0 1rem;
}
.header__claim p, .header__sub_claim p {
font-family: 'Lato', sans-serif;
font-weight: normal;
line-height: 1.4rem;
font-size: 1.2rem;
line-height: 1.3em;
margin: 0.5em 0 0 1em;
}
.header__sub_claim {
grid-row: 4 / span 4;
grid-column: 3 / span 3;
/*margin: 0 2rem 1.5rem 1.5rem;*/
margin: 0 2rem 0 1.5rem;
padding: 0.5rem 1.5rem 0 1.5rem;
background-color: var(--wtf-orange);
z-index: 15;
display: flex;
flex-direction: column;
background-color: transparent;
}
.sub_claim__box {
padding: 0.5rem 1.5rem 1.5rem 1.5rem;
background-color: var(--wtf-orange);
}
.sub_claim__button {
align-self: flex-end;
margin-top: -1.5rem;
}
.header__sub_claim h2 {
font-family: 'Noto Serif', serif;
font-weight: 700;
font-weight: normal;
font-size: 1.75rem;
line-height: 1.3em;
}
.header__sub_claim p {
color: #fff;
margin: 0.5em 0 0 0;
}
.header__sub_claim a {
color: #fff;
text-decoration: underline;
}
.header__sub_claim a:hover {
text-decoration: none;
}
/* header - Ende */
/* main - Start */
main {
margin: 0.75rem 0 0 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
align-content: center;
}
h1 {
font-family: 'Noto Serif';
font-size: 3.5rem;
color: var(--wtf-orange);
margin: 1rem 0 2.5rem 0;
line-height: 1.2em;
}
h2 {
font-family: 'Noto Serif';
font-size: 2rem;
line-height: 1.3em;
margin-top: 0.5em;
}
h3 {
font-family: 'Noto Serif';
font-size: 1.75rem;
line-height: 1.3em;
margin-top: 0.5em;
}
h4 {
font-family: 'Noto Serif';
font-size: 1.5rem;
line-height: 1.3em;
margin-top: 0.5em;
}
h5 {
font-family: 'Noto Serif';
font-size: 1.25rem;
line-height: 1.2em;
margin-top: 0.5em;
}
h6 {
font-family: 'Noto Serif';
font-size: 1rem;
line-height: 1.2em;
margin-top: 0.5em;
}
p {
margin-bottom: 0.5rem;
}
.content__box p, .content__box li {
hyphens: auto;
}
.content__box a {
color: var(--wtf-orange);
}
.content__box a:hover {
color: var(--wtf-light-blue);
}
.content__box a:visited {
color: var(--wtf-dark-blue);
}
ul {
list-style: disc;
}
ul, ol {
margin-left: 0.5rem;
}
ul ul, ol ol {
margin-left: 2rem;
}
ul li {
list-style: disc;
}
ol li, ol {
list-style: auto;
}
li {
margin-left: 1rem;
}
.content {
padding: 1.5rem 0;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
.content__box {
margin: 0 auto;
padding: 0;
}
.content__inner_box {
margin: 0 1.5rem;
}
.nav__wrapper, .header__wrapper, .content__box, .footer__wrapper {
width: 100%;
max-width: 1200px;
orphans: 3;
widows: 2;
}
.content__box.-columns {
-webkit-column-count: var(--column-count);
-moz-column-count: var(--column-count);
column-count: var(--column-count);
}
.content.-odd {
background-color: var(--wtf-light-grey);
color: var(--wtf-dark-grey);
}
.content.-even {
background-color: var(--wtf-night-blue);
color: var(--wtf-light-grey);
}
.content__inner_kachel_box {
margin: 0 1.5rem;
display: flex;
flex-direction: row;
justify-content: flex-start;
justify-content: space-between;
flex-wrap: wrap;
}
.kachel {
padding: 1rem;
margin: 1rem;
width: 41%;
min-width: 120px;
display: flex;
flex-direction: column;
justify-content: center;
}
.kachel__icon {
background-color: #fff;
width: 105px;
height: 85px;
border-radius: 50px;
padding-top: 15px;
text-align: center;
align-self: center;
}
.kachel__icon.-light_grey {
background-color: var(--wtf-light-grey);
}
.kachel__icon.-orange {
background-color: var(--wtf-orange);
}
.kachel__icon.-light_blue {
background-color: var(--wtf-light-blue);
}
/* main - Ende */
/* footer - Start */
footer {
background-color: var(--wtf-orange);
padding: 3% 5%;
display: flex;
flex-direction: row;
justify-content: center;
}
.footer__wrapper, .footer__nav {
display: flex;
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
}
.footer__navitem {
display: inline-block;
padding: 0.5rem 1rem;
}
.footer__navlink {
color: var(--wtf-dark-grey);
}
.footer__navlink:hover {
color: var(--wtf-light-grey);
}
/* footer - Ende */
@media screen and (min-width: 1200px) {
.header__bg_box {
grid-template-columns: 15% 82px auto 96px 22.5%;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
}
@media screen and (min-width: 1100px) and (max-width: 1200px) {
.header__top_box .header__button {
display: auto;
}
.header__bg_box {
grid-template-columns: 15% 82px auto 96px 22.5%;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
}
@media screen and (max-width: 1099px) and (min-width: 910px) {
.header__bg_box {
grid-template-columns: 5% 82px auto 96px 22.5%;
}
.header__sub_claim {
margin-left: 0.5rem;
}
.header__top_box .header__button {
display: auto;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
.secondary_nav__navlist {
margin-right: 0.5rem;
}
}
@media screen and (max-width: 1044px) and (min-width: 960px) {
.header__bg_box {
grid-template-columns: 15% 82px auto 96px 22.5%;
}
.bg_box__unicorns {
background-image: url("../images/white_unicorns.svg");
background-size: auto 150%;
background-position: top -100px right -800px ;
}
.header__top_box .header__button {
display: auto;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
.secondary_nav__navlist {
margin-right: 0.5rem;
}
}
@media screen and (max-width: 959px) and (min-width: 790px) {
.header__bg_box {
grid-template-columns: 15% 82px auto 96px 22.5%;
}
.bg_box__unicorns {
background-image: url("../images/white_unicorns.svg");
background-size: auto 150%;
background-position: top -100px right -800px;
}
.header__claim {
margin: 2rem 0 0 1.5rem;
grid-row: 3 / span 1;
grid-column: 1 / span 5;
}
.header__sub_claim {
grid-column: 1 / span 5;
padding: 0;
margin: 0 1.5rem;
}
main {
margin-top: 0.75rem;
}
.header__top_box .header__button {
display: auto;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
.secondary_nav__navlist {
margin-right: 0.5rem;
}
}
@media screen and (max-width: 850px) and (min-width: 790px) {
:root {
--column-count: 2
}
.header__bg_box {
grid-template-columns: 15% 82px auto 96px auto;
}
.bg_box__unicorns {
display: none;
}
.header__top_box .header__button {
display: auto;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
.secondary_nav__navlist {
margin-right: 0.5rem;
}
}
@media screen and (max-width: 789px) and (min-width: 596px) {
:root {
--column-count: 2
}
header, .header__bg_box {
display: flex;
flex-direction: column;
justify-content: center;
}
main {
margin: 0;
}
.kachel {
width: auto
}
.bg_box__top_bar_left,
.bg_box__top_bar_middle,
.bg_box__top_bar_right,
.bg_box__unicorns,
.bg_box__big_bg,
.bg_box__bottom_bar_left,
.bg_box__bottom_bar_middle,
.bg_box__bottom_bar_right,
.bg_box__very_bottom_bar {
display: none;
}
.header__claim {
margin: 1.5rem;
grid-row: 3 / span 1;
grid-column: 1 / span 5;
}
.header__sub_claim {
grid-column: 1 / span 5;
padding: 0;
margin: 0 1.5rem 0 1.5rem;
}
.sub_claim__box {
padding-bottom: 2.5rem;
}
.header__top_box .header__button {
display: auto;
}
.secondary_nav__navlist {
margin-right: 1rem;
}
.primary_nav__navlist {
margin-right: 1.5rem;
}
.primary_nav__members, .primary_nav__lang_switch {
display: none;
}
.primary_nav__toggle {
display: none;
}
.primary_nav__navlist {
display: flex !important;
}
}
@media screen and (max-width: 595px) {
:root {
--column-count: 1
}
.header__secondary_nav {
display: none;
}
.primary_nav__members, .primary_nav__lang_switch {
display: block;
}
header, .header__bg_box {
display: flex;
flex-direction: column;
justify-content: center;
}
.header__claim {
margin: 0 0.5rem 0.5rem 0.5rem;
grid-row: 3 / span 1;
grid-column: 1 / span 5;
}
.header__sub_claim {
grid-column: 1 / span 5;
padding: 0;
margin: 0 0.5rem 0.5rem 0.5rem;
}
.header__claim h2, .header__sub_claim h2 {
font-size: 2rem;
}
main {
margin-top: 0.75rem;
}
.kachel {
width: auto
}
.bg_box__top_bar_left,
.bg_box__top_bar_middle,
.bg_box__top_bar_right,
.bg_box__unicorns,
.bg_box__big_bg,
.bg_box__bottom_bar_left,
.bg_box__bottom_bar_middle,
.bg_box__bottom_bar_right,
.bg_box__very_bottom_bar {
display: none;
}
main {
margin-top: 0;
}
.sub_claim__box {
padding-bottom: 2.5rem;
}
/* mobile nav - Start */
.header__primary_nav {
position: absolute;
left: 0;
top: 0;
justify-content: flex-end;
}
.primary_nav__toggle {
display: block;
margin: 2.25rem 1rem 0 0;
}
.primary_nav__navlist {
display: none;
position: absolute;
top: 6.5rem;
right: 0;
z-index: 30;
border-top: 2px solid var(--nearly-black);
border-left: 2px solid var(--nearly-black);
border-bottom: 2px solid var(--nearly-black);
background-color: var(--wtf-light-grey);
box-shadow: 5px 0px 15px 5px rgba(0, 0, 0, 0.25);
}
.primary_nav__navitem {
margin: 0;
padding: 1rem 1rem 1rem 1.5rem;
display: block;
}
.primary_nav__sub_navlist {
display: block;
background-color: transparent;
border: none;
box-shadow: none;
margin: 0 0 0 1rem;
}
.primary_nav__navlist > li:hover > .primary_nav__sub_navlist {
margin: 0 0 0 1rem;
position: static;
background-color: transparent;
border: none;
box-shadow: none;
}
.primary_nav__sub_navitem {
margin: 0;
padding: 0.5rem 0.5rem;
list-style: none;
text-align: left;
border-top: 1px solid var(--wtf-mid-grey);
}
.primary_nav__sub_navitem {
border-top: none;
}
.primary_nav__sub_navitem .primary_nav__navlink {
color: var(--nearly-black)
}
.primary_nav__navlink:hover {
color: var(--wtf-light-grey);
}
/* mobile nav - Ende */
}