2
0
mirror of https://github.com/offen/website.git synced 2024-11-25 18:20:28 +01:00
website/homepage/theme/static/css/style.css
2019-09-08 20:51:51 +02:00

583 lines
10 KiB
CSS

/* ---------------------------------------------------
ROOTS
----------------------------------------------------*/
:root {
--yellow-mid: #F7BF08;
--yellow-bright: #fde28c;
--mint-mid: #BBD9D3;
--black-mid: #39352A;
--grey-mid: #898989;
--grey-bright: #D5D5D5;
--white: #FFF;
}
/* ---------------------------------------------------
BASICS
----------------------------------------------------*/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* ---------------------------------------------------
LAYOUT & SPACER
----------------------------------------------------*/
.menu {
width: 100%;
height: 70px;
position: fixed;
z-index: 1;
top: 0;
right: 0;
background-color: var(--yellow-mid);
}
.intro {
width: 100%;
margin: 70px 0 0 0;
background-color: var(--yellow-mid);
}
.feature {
width: 100%;
}
.cta-top {
width: 100%;
color: var(--yellow-mid);
}
.content {
width: 100%;
margin: 70px 0 0 0;
background-color: var(--white);
}
.content-index {
width: 100%;
background-color: var(--white);
}
.cta-bottom,
.outro {
width: 100%;
}
.footer {
width: 100%;
min-height: 300px;
color: var(--grey-mid);
background-color: var(--black-mid);
}
.spacer-intro {
width: 430px;
}
.spacer-right {
width: 400px;
margin: 0 0 0 auto;
}
/* Desktop Styles */
@media only screen and (min-width: 961px) {
.container-reader {
width: 600px;
margin: 0 auto;
padding: 60px 20px 120px 20px;
}
.container-full {
padding: 60px 80px 120px 80px;
}
.footer {
padding: 40px 40px 0 40px;
}
}
/* Mobile Styles */
@media only screen and (min-width: 600px) and (max-width: 960px) {
.container-reader,
.container-full {
width: 600px;
margin: 0 auto;
padding: 60px 20px 120px 20px;
}
}
@media only screen and (max-width: 960px) {
.container-reader,
.container-full,
.footer {
padding: 60px 20px 120px 20px;
}
}
/* Mobile Styles*/
@media only screen and (max-width: 480px) {
.menu {
position: static;
}
.intro {
margin: 0;
}
.content {
margin: 0;
}
.spacer-intro {
width: 300px;
}
.spacer-right {
width: 100%;
margin: 0;
}
}
/* ---------------------------------------------------
CARDS
----------------------------------------------------*/
.card-deck,
.card,
.footer-card-deck {
display: flex;
}
.card {
max-width: 300px;
color: var(--black-mid);
}
.card h2,
.card p {
text-align: center;
}
.footer-card p {
margin: 0 0 2px 0;
}
.footer-card:nth-child(1),
.footer-card:nth-child(2) {
margin: 0 0 20px 0;
}
/* Mobile Styles */
@media only screen and (max-width: 960px) {
.card-deck,
.card,
.footer-card-deck {
flex-direction: column;
}
.card {
align-self: center;
}
.card:nth-child(2) {
margin: 100px 0 100px 0;
}
.footer-card {
text-align: center;
}
}
/* Desktop Styles */
@media only screen and (min-width: 961px) {
.card-deck,
.footer-card-deck {
flex-direction: row;
}
.card {
flex-direction: column;
}
.card-deck {
justify-content: space-evenly;
}
.card:nth-child(2) {
margin: 0 40px 0 40px;
}
.footer-card-deck {
justify-content: space-between;
}
.footer-card:nth-child(1),
.footer-card:nth-child(2) {
flex-grow: 1;
}
.footer-card:nth-child(3) {
text-align: right;
flex-grow: 10;
}
}
/* ---------------------------------------------------
TYPO
----------------------------------------------------*/
body {
background-color: var(--white);
font-family: "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.5;
font-weight: 400;
word-wrap: break-word;
color: var(--grey-mid);
}
h1,
h2 {
font-weight: 700;
line-height: 1.3;
color: var(--black-mid);
}
h3,
h4 {
font-size: 14px;
font-weight: 400;
color: var(--black-mid);
}
h3 {
margin: 0 0 20px 0;
}
p + h3 {
margin: 60px 0 20px 0;
}
h4 {
color: var(--grey-mid);
}
/* Desktop Styles */
@media only screen and (min-width: 481px) {
h1,
h2{
font-size: 30px;
}
h1 {
margin: 20px 0 10px 0;
}
}
/* Mobile Styles */
@media only screen and (max-width: 480px) {
h1,
h2 {
font-size: 22px;
}
}
@media only screen and (max-width: 330px) {
.spacer-intro {
width: 250px;
}
}
/* ---------------------------------------------------
LINKS
----------------------------------------------------*/
a,
a:hover,
a:focus {
color: var(--grey-mid);
text-decoration: none;
}
p a,
p a:hover,
p a:focus {
font-weight: 700;
}
ol li p a,
ol li p a:hover,
ol li p a:focus {
color: var(--grey-bright);
}
/* ---------------------------------------------------
TYPO ELEMENTS
----------------------------------------------------*/
h1 + p {
color: var(--black-mid);
}
.bg h2 {
margin: 0 0 10px 0;
}
#bg-cta-top h2,
#bg-cta-top p,
#bg-cta-top .btn-wrapper,
#bg-outro h2,
#bg-outro p,
#bg-outro .btn-wrapper {
text-align: right;
}
#bg-cta-bottom .btn-wrapper {
text-align: center;
}
#bg-cta-top h2,
#bg-cta-top p {
color: var(--white);
}
#bg-outro h2,
#bg-outro p {
color: var(--black-mid);
}
strong,
h1 + p strong,
.bg strong {
font-weight: 700;
}
.container-reader h2 {
margin: 0 0 20px 0;
color: var(--grey-bright);
}
strong,
h3 strong {
text-decoration: none;
font-weight: 400;
color: var(--black-mid);
}
.cta-top strong {
color: var(--white);
}
.content-index p,
.content p {
margin: 0 0 20px 0;
}
hr {
height: 0;
margin: 80px 0 20px 0;
border-top: 1px solid var(--grey-bright);
}
blockquote {
margin: 0;
padding: 0 0 0 20px;
font-style: italic;
border-left: 1px solid var(--grey-bright);
}
ol {
padding-inline-start: 20px;
}
em {
background: linear-gradient(transparent 66%, var(--yellow-bright) 66%);
font-style: normal;
}
.footer-card h3 strong {
font-weight: 700;
color: var(--yellow-mid);
}
.footer h3,
.footer h4 {
color: var(--yellow-mid);
margin: 0 0 2px 0;
}
.footnote {
color: var(--grey-bright);
}
/* reposition for fixed menu */
.footnote li {
margin-top: -75px;
padding-top: 75px;
}
/* ---------------------------------------------------
BUTTONS
----------------------------------------------------*/
.btn-wrapper {
margin: 40px 0 0 0;
}
.btn {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0px;
padding: 8px 30px;
text-align: center;
text-decoration: none;
}
.btn-color-yellow,
.btn-color-yellow:visited,
.btn-color-yellow:link,
.btn-color-yellow:hover,
.btn-color-yellow:active {
font-weight: 700;
color: var(--yellow-mid);
border: solid var(--yellow-mid) 5px;
}
.btn-color-black,
.btn-color-black:visited,
.btn-color-black:link,
.btn-color-black:hover,
.btn-color-black:active {
font-weight: 700;
color: var(--black-mid);
border: solid var(--black-mid) 5px;
}
.btn-color-white,
.btn-color-white:visited,
.btn-color-white:link,
.btn-color-white:hover,
.btn-color-white:active {
font-weight: 700;
color: var(--white);
border: solid var(--white) 5px;
}
/* ---------------------------------------------------
MENU
----------------------------------------------------*/
.nav-list {
margin: 0 10px 40px 0;
}
.nav-bar {
height: 70px;
}
.brand {
position: absolute;
padding: 12px 0 0 20px;
float: left;
line-height: 70px;
}
body.index .brand {
opacity: 0;
}
.nav-container {
margin: 0 auto;
}
nav {
float: right;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
}
nav ul li {
float: left;
position: relative;
}
nav ul li a,
nav ul li a:visited {
display: block;
padding: 0 20px;
line-height: 70px;
text-decoration: none;
font-weight: 700;
background: var(--yellow-mid);
color: var(--black-mid);
}
nav ul li a:hover,
nav ul li a:visited:hover {
color: var(--black-mid);
}
nav ul li a:not(:only-child):after,
nav ul li a:visited:not(:only-child):after {
padding-left: 4px;
content: ' ▾';
}
nav ul li ul li {
min-width: 150px;
}
nav ul li ul li a {
padding: 15px;
line-height: 20px;
}
.nav-dropdown {
position: absolute;
display: none;
z-index: 1;
}
.nav-mobile {
display: none;
position: absolute;
top: 0;
right: 0;
background: var(--yellow-mid);
height: 70px;
width: 70px;
}
/* Mobile Styles */
@media only screen and (max-width: 960px) {
.nav-list {
margin: 0 0 40px 0;
}
.nav-mobile {
display: block;
}
nav {
width: 100%;
padding: 70px 0 15px;
}
nav ul {
display: none;
}
nav ul li {
float: none;
}
nav ul li a {
padding: 15px;
line-height: 20px;
padding-left: 25%;
}
nav ul li ul li a {
padding-left: 30%;
}
nav ul li:last-child a {
padding-bottom: 60px;
}
nav ul li:last-child a {
box-shadow: 0px 7px 15px -6px rgba(57,53,42,0.2);
}
.nav-dropdown {
position: static;
}
}
/* Desktop Styles */
@media screen and (min-width: 961px) {
.nav-list {
display: block !important;
}
}
#nav-toggle {
position: absolute;
left: 18px;
top: 22px;
cursor: pointer;
padding: 12px 35px 16px 0px;
}
#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
cursor: pointer;
border-radius: 1px;
height: 2px;
width: 25px;
background: var(--black-mid);
position: absolute;
display: block;
content: '';
/*
transition: all 300ms ease-in-out;
*/
}
#nav-toggle span:before {
top: -8px;
}
#nav-toggle span:after {
bottom: -8px;
}
#nav-toggle.active span {
background-color: transparent;
}
#nav-toggle.active span:before, #nav-toggle.active span:after {
top: 0;
}
#nav-toggle.active span:before {
transform: rotate(45deg);
}
#nav-toggle.active span:after {
transform: rotate(-45deg);
}
/* ---------------------------------------------------
GRAPHICS
----------------------------------------------------*/
#bg-intro {
background: url(/theme/images/gfx-intro.svg) no-repeat center;
}
/*-------------------------*/
#bg-feature {
background: url(/theme/images/gfx-pattern-mint-bright.svg) center;
}
/*-------------------------*/
#bg-cta-top {
background: url(/theme/images/gfx-object-white.svg) center;
}
/*-------------------------*/
#bg-outro {
background: url(/theme/images/gfx-pattern-yellow-bright.svg) center;
}
/*-------------------------*/
#bg-cta-bottom {
background: url(/theme/images/gfx-pattern-yellow-bright.svg) center;
}