@import url(https://fonts.bunny.net/css?family=open-sans:500,700); :root { --accent: #590089; --darktext: #333333; --text: #68606c; } *, *::before, *::after { box-sizing: border-box; } html { font-size: 16px; margin: 0; padding: 0; } body { font-family: 'Open Sans', sans-serif; line-height: 1.6rem; background: white; color: #222; padding: 6rem 10px; margin: 0; } hr { border: none; border-top: 1px solid #ccc; background: none; text-align: center; } address { font-style: normal; } a { color: var(--accent); cursor: pointer; } a:hover, a:focus, a:active { font-style: italic; } .logotype { color: var(--accent); } a.logotype { text-decoration: underline; } header, main, footer { margin: 0.8rem 0 5rem 5rem; padding: 0; max-width: 60%; display: block; } header h1 { font-family: "Open Sans", "Segoe UI", Tahoma, sans-serif; font-size: 5.5em; font-weight: bold; letter-spacing: -0.25rem; line-height: 1.35em; color: var(--accent); margin: 0 0 0 -0.05em; } header h1 span { display: block; color: var(--darktext); } main { text-align: left; font-size: 1.4em; line-height: 1.5em; color: var(--text); } main h2 { color: var(--darktext); line-height: 1.5em; } footer { text-align: left; border-top: 1px solid #dfdfdf; color: #999; font-size: 0.9em; } footer .impressum { display: flex; align-items: start; justify-content: start; flex-direction: row; } footer .impressum address, footer .impressum p { flex-grow: 1; margin: 0; } #how-much { background: #eee; border-radius: 0.5rem; padding: 2rem; } #how-much input { border: none; border-bottom: 0.125rem solid #aaa; background: none; height: 2rem; font-size: 1em; padding: 0.8rem 0.8rem 0.2rem 0.5rem; line-height: 1.4em; } #how-much input:focus { outline: none; border-bottom: 0.125rem solid var(--accent); } #how-much .select { grid-template-areas: "select"; width: 100%; min-width: 15ch; max-width: 30ch; border-bottom: 0.125rem solid #aaa; font-size: 1.25rem; cursor: pointer; line-height: 1.1; background-color: transparent; position: relative; } #how-much .select select { appearance: none; background-color: transparent; border: none; margin: 0; padding: 0.8rem 0.8rem 0.2rem 0.5rem; width: 100%; font-family: inherit; font-size: inherit; cursor: inherit; line-height: inherit; } #how-much .select::after { content: ""; width: 0.8em; height: 0.5em; background-color: #888; clip-path: polygon(100% 0%, 0 0%, 50% 100%); position: absolute; top: 50%; right: 0.5rem; pointer-events: none; } #how-much select:focus + .focus { position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border-bottom: 2px solid var(--accent); border-radius: inherit; } #how-much select::-ms-expand { display: none; } @media screen and (max-width: 1024px) { header, main, footer { max-width: 100%; margin: 0.8rem 1rem 5rem 1rem; } header h1 { font-size: 4em; } main { font-size: 1.1em; } footer .impressum { flex-direction: column; gap: 1em; } }