/* MINIMAL CSS RESET*/ * { margin-bottom: 0; } /* VARIABLES */ :root { --font-body: Roboto, sans-serif; --font-heading: "PT serif", Georgia, "Nimbus Roman", serif; --color-blue: #6391b5; --color-blue: oklch(0.6376 0.0739 242.84); --color-green: #009c80; --color-green: oklch(0.618 0.1176 173.93); --color-green-light: #f2fbf8; --color-green-light: oklch(0.9811 0.01 173.93); --color-grey: #404040; --color-grey: oklch(0.3715 0 0); } /* GLOBAL */ html { font-family: var(--font-body); font-size: clamp(16px, 2.3vw, 20px); scroll-behavior: smooth; } body { margin: 0; color: var(--color-grey) } p, ul, ol, aside { line-height: 1.5em; hyphens: auto } img { max-width: 100%; height: auto; } h1 { color: var(--color-green); font-size: 2.3rem } h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 400; line-height: 1.3em; margin-top: 1.3em; text-wrap: pretty; } a { color: var(--color-green); text-decoration: none; &:hover { color: var(--color-blue) } } .grid-container { display: grid; grid-template-rows: auto 1fr auto; grid-template-columns: 1fr; grid-template-areas: "header" "main" "footer"; height: 100%; width: 100%; justify-content: center; min-height: 100vh; align-items: stretch; } .contain, :where(main>article, main>aside, main>section) { display: grid; grid-template-columns: minmax(.8rem, 1fr) minmax(0, 42rem) minmax(.3rem, 1fr); > * { grid-column: 2; } } .escape { grid-column: 1 / -1 !important; } /* HEADER */ header { border-bottom: 3px #00000022 solid; grid-area: header; > div { padding-bottom: .2rem; display: flex; .logo { margin-right: .3rem; svg { width: 7rem; height: 100%; #symbol { fill: var(--color-blue); } #tekst { fill: var(--color-green); } } } nav { display:flex; align-items: center; justify-content:flex-end; flex: 1; ul { display: flex; list-style: none; flex-wrap: wrap; margin-top: .4rem; padding: 0; justify-content: flex-end; a { margin-left:0.4rem; margin-top:0.4rem; } } } } } /* MAIN */ main { grid-area: main; background-color: var(--color-green-light); padding-bottom: 2rem; aside { margin-top: 1.3em } article { .intro { font-size: 1.2rem; line-height: 1.35em; } } .button { margin-top: 1.3rem; justify-self: start; } } /* BUTTONS */ .button { display: inline-block; text-decoration: none; border-radius: 2rem; padding: 0.55rem 1rem; background-color: transparent; color: var(--color-grey); outline: 0.08rem var(--color-grey) solid; &:hover { background-color: var(--color-grey); color: white; outline: none; } &:active, &.active { background-color: var(--color-green); color: white; outline: none; } &:focus { background-color: var(--color-green); color: white; outline: none; } &.inverted { background-color: transparent; color: white; outline: 0.08rem white solid; &:hover { background-color: white; color: var(--color-green); outline: none; } &:active, &.active { background-color: var(--color-green-light); color: var(--color-green); outline: none; } &:focus { color: white; background-color: var(--color-grey); outline: none; } } &.bigger { font-size: 1.2em; /*padding: calc(0.35rem * 1.2) calc(1rem * 1.2);*/ border-radius: calc(1rem * 1.2); } &.centered { justify-self: center; } } /* FOOTER */ /* CONTACT FORM */ .contact-form { margin-top: 2rem; margin-bottom: 2rem; .form-success { background-color: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 1rem; border-radius: 0.25rem; margin-bottom: 1rem; } .form-errors { background-color: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 1rem; border-radius: 0.25rem; margin-bottom: 1rem; ul { margin: 0.5rem 0 0 0; padding-left: 1.5rem; } } .contact-form-inner { .form-group { margin-bottom: 1.3rem; label { display: block; font-weight: 600; margin-bottom: 0.3rem; color: var(--color-grey); .required { color: #dc3545; } } input[type="text"], input[type="email"], textarea { width: 100%; padding: 0.6rem; border: 1px solid #ccc; border-radius: 0.25rem; font-family: inherit; font-size: 1rem; box-sizing: border-box; &:focus { outline: none; border-color: var(--color-green); box-shadow: 0 0 0 0.2rem rgba(0, 156, 128, 0.25); } } textarea { resize: vertical; min-height: 150px; } small { display: block; margin-top: 0.3rem; color: #6c757d; font-size: 0.875rem; } button[type="submit"] { cursor: pointer; border: none; font-size: 1rem; font-family: inherit; &:hover { cursor: pointer; } } } } } footer { color: var(--color-green-light); a { color: var(--color-green-light); &:hover { color: white; text-decoration: underline } } background-color: var(--color-green); grid-area: footer; > div { margin: 1rem 0; text-align: center; .generated { font-size: .6rem } } }