computerschaf/static/styles.css

362 lines
4.7 KiB
CSS

*, *:before, *:after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 7em;
height: 100%;
}
body {
display: flex;
flex-direction: column;
margin: 0;
min-height: 100%;
font-size: 1.25em;
font-family: Lato, Roboto, Noto, sans-serif;
text-align: justify;
}
header, main, footer {
display: flex;
flex-direction: column;
align-items: center;
}
main {
flex-grow: 1;
}
.header-contact {
background: #DD8033;
}
.header-nav, footer {
background: #65bb50;
}
.header-contact {
width: 100%;
}
.header-content, .main-content, .footer-content {
max-width: 1000px;
width: 100%;
}
.header-content {
display: flex;
flex-direction: row;
align-items: center;
margin: 0 auto;
padding: 0.2em 0.3em;
}
.header-nav .header-content {
gap: 0.8em;
font-size: 1.2em;
}
.header-contact .header-content {
gap: 1.2em;
line-height: 1.6em;
justify-content: center;
}
.header-right {
flex-grow: 1;
text-align: right;
margin-right: 10px;
display: flex;
flex-direction: row;
justify-content: right;
}
.header-spacer {
flex-grow: 1;
min-width: 1em;
}
.header-title {
font-size: 1.3em;
display: inline-flex;
align-items: center;
font-weight: 600;
}
.header-nav {
width: 100%;
position: sticky;
z-index: 100;
top: 0;
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.15);
}
.header-contact {
width: 100%;
}
.text-icon {
height: 1em;
width: auto;
vertical-align: middle;
}
a {
text-decoration: none;
}
a, a:visited, a:hover, a:focus {
color: inherit;
}
a:hover {
text-decoration: underline;
}
.service-link:hover, .social-media:hover {
text-decoration: none;
}
.service-icon:hover {
filter: drop-shadow( 0px 0px 3px rgba(0, 0, 0, .7));
}
.nav-img {
width: 2em;
height: 2em;
margin-right: 0.3em;
}
.lang-item {
margin: 0 0.2em;
}
h1, h2, h3, h4 {
text-align: center;
}
.overview {
display: flex;
flex-direction: row;
width: 100%;
justify-content: space-between;
text-align: center;
}
.overview > * {
width: 22%;
}
.service-link {
display: flex;
flex-direction: column;
}
.service-icon {
width: 100%;
height: auto;
}
.service-name {
font-weight: bold;
font-size: 1.2em;
margin-bottom: 0.4em;
margin-top: 0.9em;
}
.service:hover > .service-inner {
height: 2.5em;
}
section {
background-color: #FFFFFF;
width: 100%;
}
section:nth-child(even) {
background-color: #F5F5F5;
}
.section-inner {
max-width: 1000px;
width: 100%;
margin: auto;
padding: 2.5em 0.5em;
}
.section-inner > *:first-child {
margin-top: 0;
}
.split-section {
display: flex;
flex-direction: row;
gap: 1.5em;
}
.split-section-text {
width: 70%;
}
.split-section-text > *:first-child {
margin-top: 0;
}
.split-section-text > *:last-child {
margin-bottom: 0;
}
.split-section-img {
width: 30%;
display: flex;
flex-direction: column;
justify-content: center;
}
.split-section-img img {
width: 100%;
height: auto;
}
footer {
padding: 2em 0.5em;
box-shadow: 0px -3px 3px rgba(0, 0, 0, 0.15);
}
.footer-content {
display: flex;
flex-direction: row;
gap: 10px;
}
.footer-content > * {
width: 30%;
flex-grow: 1;
text-align: center;
}
footer h2 {
margin-top: 0;
}
.footer-sep {
width: 0;
flex-grow: 0;
border-left: 0.2em solid #F5F5F5;
}
.social-media {
display: inline-flex;
margin: 0 0.2em;
}
.social-icon {
height: 3em;
width: auto;
}
.credits {
font-size: 0.85em;
}
.privacy h2, .privacy h3, .privacy h3 {
text-align: initial;
}
#map {
height: 400px;
z-index: 1;
}
.zone-heading {
text-align: left;
margin-top: 1em;
margin-bottom: 0.3em;
}
.legend {
width: fit-content;
margin: 0.3em auto;
}
.legend-item {
display: inline-flex;
margin: 0 0.3em;
align-items: center;
}
.legend-square {
display: inline-block;
height: 1em;
width: 1em;
margin-right: 0.2em;
border-radius: 0.2em;
border: 1px solid #868686;
}
.green {
background-color: #3ef06e;
}
.blue {
background-color: #3388ff;
}
.orange {
background-color: #ffeb0a;
}
@media only screen and (max-width:768px) {
.header-content {
flex-direction: column;
align-items: start;
}
.header-nav .header-content {
gap: initial;
}
.header-contact .header-content {
gap: initial;
}
.overview {
display: grid;
grid-template-columns: 1fr 1fr;
}
.split-section {
flex-direction: column;
gap: 2em;
}
.split-section-text {
width: auto;
}
.split-section-img {
height: 11em;
width: auto;
flex-direction: row;
}
.split-section-img img {
height: 100%;
width: auto;
}
.footer-content {
flex-direction: column;
}
.footer-content > * {
width: initial;
}
.overview > * {
width: initial;
}
}