Files
neuf-www/web/src/css/base.scss

342 lines
6.6 KiB
SCSS

* {
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;
min-height: 100vh;
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;
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;
}