768 lines
17 KiB
SCSS
768 lines
17 KiB
SCSS
@import 'minireset', 'fonts', 'variables', 'animations';
|
|
|
|
// ===========================================================================
|
|
// GENERALITIES
|
|
// ===========================================================================
|
|
|
|
// Fonts and colors
|
|
|
|
body {
|
|
font-family: var(--text-font-family);
|
|
font-size: var(--text-font-size);
|
|
line-height: var(--text-font-size);
|
|
color: var(--jet);
|
|
background-color: var(--white);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
color: var(--black);
|
|
}
|
|
|
|
h1 {
|
|
font-family: var(--logo-font-family);
|
|
font-size: var(--h1-font-size);
|
|
line-height: var(--h1-font-size);
|
|
}
|
|
|
|
h2 {
|
|
font-family: var(-text-font-family);
|
|
font-size: var(--h2-font-size);
|
|
line-height: var(--h2-font-size);
|
|
margin: 0 0 4rem 0;
|
|
}
|
|
|
|
h3 {
|
|
font-family: var(--text-font-family);
|
|
font-size: var(--h3-font-size);
|
|
line-height: var(--h3-font-size);
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
h4 {
|
|
font-family: var(--text-font-family);
|
|
font-size: var(--h4-font-size);
|
|
line-height: var(--h4-font-size);
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
p {
|
|
text-align: justify;
|
|
line-height: var(--text-line-height);
|
|
}
|
|
|
|
strong {
|
|
font-weight: var(--bold-font-weight);
|
|
}
|
|
|
|
em {
|
|
font-style: italic;
|
|
}
|
|
|
|
// Link style
|
|
|
|
a {
|
|
color: var(--jet);
|
|
text-decoration: underline;
|
|
-webkit-transition: color 200ms ease-in-out;
|
|
-o-transition: color 200ms ease-in-out;
|
|
transition: color 200ms ease-in-out;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
color: var(--black);
|
|
}
|
|
}
|
|
|
|
|
|
// General grid layout
|
|
|
|
body {
|
|
min-height: 100vh;
|
|
overflow-x: hidden;
|
|
display: -ms-grid;
|
|
display: grid;
|
|
grid:
|
|
'header' auto
|
|
'main' 1fr
|
|
'footer' auto
|
|
/ 1fr;
|
|
}
|
|
|
|
header {
|
|
grid-area: header;
|
|
}
|
|
|
|
main {
|
|
grid-area: main;
|
|
}
|
|
|
|
footer {
|
|
grid-area: footer;
|
|
}
|
|
|
|
// ===========================================================================
|
|
// HEADER
|
|
// ===========================================================================
|
|
|
|
// Header bar
|
|
|
|
.header-bar {
|
|
max-width: var(--content-max-width);
|
|
height: var(--header-bar-height);
|
|
margin: auto;
|
|
padding: var(--header-bar-vertical-padding) var(--header-bar-horizontal-padding);
|
|
}
|
|
|
|
.header-bar__logo {
|
|
width: max-content;
|
|
}
|
|
|
|
.header-bar__logo-link {
|
|
text-decoration: none;
|
|
}
|
|
|
|
// ===========================================================================
|
|
// MAIN
|
|
// ===========================================================================
|
|
|
|
// Home section
|
|
|
|
.home-section {
|
|
max-width: var(--content-max-width);
|
|
min-height: var(--home-section-min-height);
|
|
margin: auto;
|
|
padding: var(--home-section-vertical-padding) var(--home-section-horizontal-padding);
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-pack: center;
|
|
-ms-flex-pack: center;
|
|
justify-content: center;
|
|
-webkit-box-align: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.home__nav {
|
|
height: 100%;
|
|
display: -ms-grid;
|
|
display: grid;
|
|
grid:
|
|
'top-left top top-right' var(--home-nav-item-size)
|
|
'left center right' auto
|
|
'bottom-left bottom bottom-right' var(--home-nav-item-size)
|
|
/ var(--home-nav-item-size) auto var(--home-nav-item-size);
|
|
place-content: center center;
|
|
gap: var(--home-nav-gap);
|
|
line-height: 0;
|
|
}
|
|
|
|
.home__nav-image {
|
|
grid-area: center;
|
|
|
|
img {
|
|
min-width: 12rem;
|
|
max-width: Min(100%, 2500px);
|
|
min-height: 12rem;
|
|
max-height: var(--home-nav-image-max-height);
|
|
}
|
|
}
|
|
|
|
.home__nav--2-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top;
|
|
place-self: end center;
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--3-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top-left;
|
|
place-self: end end;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: top-right;
|
|
place-self: end start;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--4-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top;
|
|
place-self: end center;
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: left;
|
|
place-self: center end;
|
|
-webkit-transform: rotate(-90deg);
|
|
-ms-transform: rotate(-90deg);
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: right;
|
|
place-self: center start;
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.home__nav-item-4 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--5-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top-left;
|
|
place-self: end end;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: top-right;
|
|
place-self: end start;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: left;
|
|
place-self: center end;
|
|
-webkit-transform: rotate(-90deg);
|
|
-ms-transform: rotate(-90deg);
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.home__nav-item-4 {
|
|
grid-area: right;
|
|
place-self: center start;
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.home__nav-item-5 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--6-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top;
|
|
place-self: end center;
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: top-left;
|
|
place-self: end end;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: top-right;
|
|
place-self: end start;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-4 {
|
|
grid-area: left;
|
|
place-self: center end;
|
|
-webkit-transform: rotate(-90deg);
|
|
-ms-transform: rotate(-90deg);
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.home__nav-item-5 {
|
|
grid-area: right;
|
|
place-self: center start;
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.home__nav-item-6 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--7-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top-left;
|
|
place-self: end end;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: top-right;
|
|
place-self: end start;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: left;
|
|
place-self: center end;
|
|
-webkit-transform: rotate(-90deg);
|
|
-ms-transform: rotate(-90deg);
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.home__nav-item-4 {
|
|
grid-area: right;
|
|
place-self: center start;
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.home__nav-item-5 {
|
|
grid-area: bottom-left;
|
|
place-self: start end;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
}
|
|
|
|
.home__nav-item-6 {
|
|
grid-area: bottom-right;
|
|
place-self: start start;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
}
|
|
|
|
.home__nav-item-7 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav--8-items {
|
|
|
|
.home__nav-item-1 {
|
|
grid-area: top;
|
|
place-self: end center;
|
|
}
|
|
|
|
.home__nav-item-2 {
|
|
grid-area: top-left;
|
|
place-self: end end;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-3 {
|
|
grid-area: top-right;
|
|
place-self: end start;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(var(--home-nav-item-translation));
|
|
}
|
|
|
|
.home__nav-item-4 {
|
|
grid-area: left;
|
|
place-self: center end;
|
|
-webkit-transform: rotate(-90deg);
|
|
-ms-transform: rotate(-90deg);
|
|
transform: rotate(-90deg);
|
|
}
|
|
|
|
.home__nav-item-5 {
|
|
grid-area: right;
|
|
place-self: center start;
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.home__nav-item-6 {
|
|
grid-area: bottom-left;
|
|
place-self: start end;
|
|
-webkit-transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
-ms-transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
transform:
|
|
rotate(45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
}
|
|
|
|
.home__nav-item-7 {
|
|
grid-area: bottom-right;
|
|
place-self: start start;
|
|
-webkit-transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
-ms-transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
transform:
|
|
rotate(-45deg)
|
|
translateY(calc(var(--home-nav-item-translation) * -1));
|
|
}
|
|
|
|
.home__nav-item-8 {
|
|
grid-area: bottom;
|
|
place-self: start center;
|
|
}
|
|
}
|
|
|
|
.home__nav-link {
|
|
color: var(--black);
|
|
text-decoration: none;
|
|
opacity: 0;
|
|
-webkit-transition: opacity 600ms ease-in-out;
|
|
-o-transition: opacity 600ms ease-in-out;
|
|
transition: opacity 600ms ease-in-out;
|
|
|
|
div {
|
|
opacity: 0;
|
|
-webkit-transition: opacity 600ms ease-in-out;
|
|
-o-transition: opacity 600ms ease-in-out;
|
|
transition: opacity 600ms ease-in-out;
|
|
}
|
|
}
|
|
|
|
.home__nav-link--visible {
|
|
opacity: 1;
|
|
|
|
div {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.home__nav-letter--wave-up {
|
|
-webkit-animation: wave-up 600ms ease-out;
|
|
animation: wave-up 600ms ease-in-out;
|
|
}
|
|
|
|
.home__nav-letter--wave-down {
|
|
-webkit-animation: wave-down 600ms ease-out;
|
|
animation: wave-down 600ms ease-in-out;
|
|
}
|
|
|
|
// Gallery & about sections
|
|
|
|
.gallery-section,
|
|
.about-section {
|
|
max-width: var(--content-max-width);
|
|
margin: auto;
|
|
padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding);
|
|
}
|
|
|
|
.gallery__title,
|
|
.about__title {
|
|
text-align: center;
|
|
}
|
|
|
|
.gallery__introduction,
|
|
.about__presentation,
|
|
.error__message {
|
|
max-width: var(--text-max-width);
|
|
margin: auto;
|
|
|
|
p {
|
|
|
|
+ p,
|
|
+ ul {
|
|
margin: 1rem 0 0 0;
|
|
}
|
|
}
|
|
|
|
ul {
|
|
list-style: disc inside;
|
|
|
|
+ ul,
|
|
+ p {
|
|
margin: 1rem 0 0 0;
|
|
}
|
|
|
|
li + li {
|
|
margin: 0.5rem 0 0 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.gallery__artworks {
|
|
margin: 4rem 0 0 0;
|
|
}
|
|
|
|
.gallery__image {
|
|
display: table;
|
|
margin: auto;
|
|
|
|
+ .gallery__image {
|
|
margin: 3rem auto 0 auto;
|
|
}
|
|
|
|
img {
|
|
display: block;
|
|
max-width: Min(100%, 1500px);
|
|
max-height: 80vh;
|
|
}
|
|
|
|
figcaption {
|
|
display: table-caption;
|
|
caption-side: bottom;
|
|
margin: 1rem auto 0 auto;
|
|
font-size: var(--caption-font-size);
|
|
font-style: italic;
|
|
}
|
|
}
|
|
|
|
// Error section
|
|
|
|
.error-section {
|
|
max-width: var(--content-max-width);
|
|
margin: auto;
|
|
padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding);
|
|
}
|
|
|
|
.error__title {
|
|
text-align: center;
|
|
}
|
|
|
|
.error__message {
|
|
max-width: var(--text-max-width);
|
|
margin: auto;
|
|
text-align: center;
|
|
}
|
|
|
|
.error__button {
|
|
margin: 1rem 0 0 0;
|
|
text-align: center;
|
|
|
|
a {
|
|
display: inline-block;
|
|
padding: 1rem;
|
|
border-radius: 10px;
|
|
color: var(--white);
|
|
background-color: var(--jet);
|
|
text-decoration: none;
|
|
font-weight: var(--semi-bold-font-weight);
|
|
-webkit-transition: background-color 200ms ease-in-out;
|
|
-o-transition: background-color 200ms ease-in-out;
|
|
transition: background-color 200ms ease-in-out;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
background-color: var(--black);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ===========================================================================
|
|
// FOOTER
|
|
// ===========================================================================
|
|
|
|
// Footer bar
|
|
|
|
.footer-bar {
|
|
max-width: var(--content-max-width);
|
|
height: var(--footer-bar-height);
|
|
margin: auto;
|
|
padding: var(--footer-bar-vertical-padding) var(--footer-bar-horizontal-padding);
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-box-direction: normal;
|
|
-ms-flex-direction: column;
|
|
flex-direction: column;
|
|
-webkit-box-align: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.footer-bar__social {
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-align: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
|
|
a {
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-pack: center;
|
|
-ms-flex-pack: center;
|
|
justify-content: center;
|
|
-webkit-box-align: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
width: var(--icon-size);
|
|
height: var(--icon-size);
|
|
|
|
+ a {
|
|
margin: 0 0 0 1rem;
|
|
}
|
|
|
|
svg {
|
|
fill: var(--jet);
|
|
width: 100%;
|
|
height: 100%;
|
|
-webkit-transition: fill 200ms ease-in-out;
|
|
-o-transition: fill 200ms ease-in-out;
|
|
transition: fill 200ms ease-in-out;
|
|
}
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
|
|
svg {
|
|
fill: var(--black);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.footer-bar__copyright {
|
|
font-size: var(--footnote-font-size);
|
|
margin: 1rem 0 0 0;
|
|
}
|
|
|
|
@media screen and (min-width: $tablet-media-query) {
|
|
|
|
.footer-bar {
|
|
-webkit-box-orient: horizontal;
|
|
-webkit-box-direction: normal;
|
|
-ms-flex-direction: row;
|
|
flex-direction: row;
|
|
-webkit-box-pack: justify;
|
|
-ms-flex-pack: justify;
|
|
justify-content: space-between;
|
|
-webkit-box-align: end;
|
|
-ms-flex-align: end;
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.footer-bar__social {
|
|
order: 2;
|
|
}
|
|
|
|
.footer-bar__copyright {
|
|
order: 1;
|
|
margin: 0;
|
|
}
|
|
}
|