* { box-sizing: border-box; padding: 0; margin: 0; } html { min-height: 100%; font-size: calc(1rem + 8 * (100vw - 320px) / 1920); } html, body { max-width: 100vw; } body { height: 100%; width: 100%; margin: 0; padding: 0; overflow-x: hidden; color: var(--color-text); background: var(--color-background); font-family: var(--font-main); font-weight: 400; line-height: 1.5; position: relative; } .site-main { padding: var(--spacing-sitepadding-block) var(--spacing-sitepadding-inline) 0; animation: fadeUp .8s ease-out forwards; &.index { padding-top: 0; animation: fadeIn .8s ease-out forwards; } } a { color: inherit; text-underline-offset: .16em; text-decoration-thickness: .05em; transition: opacity var(--transition-easing); &:hover { opacity: .6; } } p { max-width: var(--size-width-p); &.lead { font-size: var(--font-size-lead); max-width: 34em; } } .lead, .lead p { font-size: var(--font-size-lead); max-width: 34em; } h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; } .suphead { font-size: var(--font-size-caption); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; } .circlehead { font-size: var(--font-size-caption); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: var(--spacing-s); .circle { display: inline-block; vertical-align: middle; width: var(--size-icon); height: var(--size-icon); margin-bottom: .16rem; margin-right: var(--spacing-xs); border-radius: var(--size-icon); background: var(--color-goldenOrange); &:last-of-type { margin-right: .75rem; } } } img { max-width: 100%; height: auto; } blockquote { font-family: var(--font-serif); font-size: 2.8rem; font-style: italic; margin: 1.8rem 0; } input[type="text"] { border-radius: 10rem; background: var(--color-white); color: currentColor; border: 2px solid currentColor; padding: var(--spacing-xs) var(--spacing-s); font-family: inherit; font-size: var(--font-size-body); font-weight: 500; transition: opacity var(--transition-easing); &::placeholder { font-weight: 400; color: currentColor; opacity: .6; } &:focus, &:hover { outline: none; border-color: var(--color-goldenOrange); box-shadow: 0 0 0 1px var(--color-goldenOrange); transition: box-shadow .3s ease, border-color .3s ease; } } select { border-radius: 10rem; background: var(--color-white); color: var(--color-text); border: 2px solid currentColor; padding: var(--spacing-xs) var(--spacing-s); font-family: inherit; font-size: var(--font-size-body); font-weight: 500; transition: opacity var(--transition-easing); width: 100%; max-width: 16rem; padding-right: 2rem; position: relative; appearance: none; background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23131313%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 0.75rem top 50%; background-size: 0.65rem auto; } .number { font-family: var(--font-serif); font-weight: 400; } .textLink { font-family: var(--font-serif); font-style: italic; display: block; &:after { content: "→"; } } .hiddenLink { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; overflow: hidden; text-indent: -9999px; z-index: 10; } .linkItem { transition: opacity var(--transition-easing); cursor: pointer; &:hover { opacity: .6; transition: opacity var(--transition-easing); } &:has(:focus-visible) { box-shadow: 0 0 0 1px var(--color-background), 0 0 0 3px var(--color-green-dark); } } .anchorLinks { margin-top: var(--spacing-xl); >span { display: block; margin-bottom: var(--spacing-xs); } ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--spacing-xs); } a { margin-bottom: 0; background: var(--color-goldenBeige); color: var(--color-deepBrick); } } .pageSection { background: var(--color-neufPink); margin: calc(var(--spacing-sitepadding-block)*2) calc(var(--spacing-sitepadding-inline)*-1); padding: var(--spacing-sitepadding-block) var(--spacing-sitepadding-inline) var(--spacing-section-bottom); +.pageSection { margin-top: calc(var(--spacing-sitepadding-block)*-2); } &:nth-of-type(even) { background: var(--color-goldenBeige); color: var(--color-) } h1 { font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4rem; &:before { content: ""; display: inline-block; background: currentColor; border-radius: 1em; height: 1em; width: 1em; vertical-align: middle; margin-bottom: .2em; margin-right: 1em; } } h2 { margin-bottom: var(--spacing-s); } h3 { margin: var(--spacing-s) 0; } } .openingHours { width: 100%; max-width: 20em; font-size: inherit; margin-left: -.1rem; td { width: 50%; vertical-align: top; line-height: 1.2; padding: .2rem 0; &:first-child { padding-right: var(--spacing-s); } } } .openingHoursItem { display: inline-block; width: 50%; vertical-align: top; margin-bottom: var(--spacing-section-bottom); } .infoBlock { background: var(--color-background-secondary); margin: 0 calc(var(--spacing-sitepadding-inline)*-1); padding: var(--spacing-sitepadding-block) var(--spacing-sitepadding-inline) var(--spacing-section-bottom); position: relative; overflow: hidden; .title { font-size: var(--font-size-h1); margin-top: var(--spacing-m); margin-bottom: var(--spacing-s); } p { margin-bottom: var(--spacing-l); } .button { margin-right: var(--spacing-xs); } .pig { transform: scaleX(-1); position: absolute; right: 0; bottom: -50%; } } .page-header-small { max-width: var(--size-width-p); margin: 0 auto 1rem; } .tag { display: inline-block; border-radius: 10rem; background: var(--color-goldenBeige); color: var(--color-deepBrick); padding: 0 .7em; margin: 0 .4em var(--spacing-s) 0; font-family: var(--font-main); font-size: var(--font-size-caption); font-weight: 500; text-decoration: none; } .blockContent { padding-bottom: var(--spacing-section-bottom); } .accordion .blockContent { padding-bottom: 0; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }