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

322 lines
5.5 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%;
margin: 0;
padding: 0;
color: var(--color-text);
background: var(--color-background);
font-family: var(--font-main);
font-weight: 400;
line-height: 1.5;
@media (max-width: 1000px) {
&.hideScroll {
overflow: hidden;
height: 100vh;
}
}
}
.site-main {
padding: var(--spacing-sitepadding-block) var(--spacing-sitepadding-inline) 0;
min-height: 100vh;
animation: fadeUp .8s ease-out forwards;
&.index {
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 {
font-size: var(--font-size-body);
max-width: var(--size-width-p);
&.lead {
font-size: var(--font-size-lead);
max-width: 34em;
margin-bottom: var(--spacing-m);
}
}
.lead,
.lead p {
font-size: var(--font-size-lead);
max-width: 34em;
margin-bottom: var(--spacing-m);
}
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;
}
}
}
.breadcrumb {
display: block;
font-weight: 400;
font-size: var(--font-size-xs);
margin-bottom: var(--spacing-s);
a {
text-decoration: none;
}
}
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: var(--color-text);
border: none;
padding: var(--spacing-xs) var(--spacing-s);
font-family: inherit;
font-size: var(--font-size-body);
font-weight: 500;
transition: opacity var(--transition-easing);
}
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);
}
.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 {
/*position: sticky;
top: 0;*/
>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: .25em 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-goldenBeige);
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;
display: grid;
grid-template-columns: 2fr 1fr;
align-items: center;
min-height: 16rem;
h2 {
margin-bottom: var(--spacing-s);
}
p {
margin-bottom: var(--spacing-m);
}
.button {
margin-right: var(--spacing-xs);
}
.pig {
transform: scaleX(-1);
position: absolute;
right: 0;
bottom: -50%;
}
}