Edit editorcongif file and indentation style

This commit is contained in:
Paul Nicoué 2022-07-07 17:02:05 +02:00
parent dac66b054d
commit 4bb1ea6b1c
47 changed files with 2392 additions and 2405 deletions

View file

@ -1,22 +1,13 @@
[*.{css,scss,less,js,json,ts,sass,html,hbs,mustache,phtml,html.twig,md,yml}] root = true
[*]
charset = utf-8 charset = utf-8
indent_style = space indent_style = tab
indent_size = 2 indent_size = 4
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
[*.md] [*.md]
indent_size = 4
trim_trailing_whitespace = false trim_trailing_whitespace = false
[site/templates/**.php]
indent_size = 2
[site/snippets/**.php]
indent_size = 2
[package.json,.{babelrc,editorconfig,eslintrc,lintstagedrc,stylelintrc}]
indent_style = space
indent_size = 2

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYY,oIAEI,aAUZ,gDACI","file":"panel.min.css"} {"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYG,oIAEC,aAUH,gDACC","file":"panel.min.css"}

View file

@ -6,23 +6,23 @@
.k-textarea-field { .k-textarea-field {
.k-toolbar { .k-toolbar {
.k-dropdown { .k-dropdown {
.k-button:nth-of-type(2), .k-button:nth-of-type(2),
.k-button:nth-of-type(3) { .k-button:nth-of-type(3) {
display: none; display: none;
} }
} }
} }
} }
// Visual image crop field properties // Visual image crop field properties
.kirby-imagecrop-field { .kirby-imagecrop-field {
.k-column:nth-of-type(2) { .k-column:nth-of-type(2) {
display: none; display: none;
} }
} }

View file

@ -3,7 +3,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@-webkit-keyframes expand-outline { @-webkit-keyframes expand-outline {
from { from {
outline-offset: 0; outline-offset: 0;
} }
to { to {
@ -21,10 +21,10 @@
} }
@-webkit-keyframes wave-up { @-webkit-keyframes wave-up {
0% { 0% {
top: 0; top: 0;
} }
60% { 60% {
top: -0.5rem; top: -0.5rem;
} }
100% { 100% {
@ -36,7 +36,7 @@
0% { 0% {
top: 0; top: 0;
} }
60% { 60% {
top: -0.5rem; top: -0.5rem;
} }
100% { 100% {
@ -45,10 +45,10 @@
} }
@-webkit-keyframes wave-down { @-webkit-keyframes wave-down {
0% { 0% {
bottom: 0; bottom: 0;
} }
60% { 60% {
bottom: -0.5rem; bottom: -0.5rem;
} }
100% { 100% {
@ -57,10 +57,10 @@
} }
@keyframes wave-down { @keyframes wave-down {
0% { 0% {
bottom: 0; bottom: 0;
} }
60% { 60% {
bottom: -0.5rem; bottom: -0.5rem;
} }
100% { 100% {

View file

@ -5,10 +5,10 @@
// Nunito // Nunito
@font-face { @font-face {
font-family: 'Nunito'; font-family: 'Nunito';
src: url(../fonts/nunito/Nunito-Regular.ttf) format('truetype'); src: url(../fonts/nunito/Nunito-Regular.ttf) format('truetype');
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {

View file

@ -25,8 +25,8 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
h1, h1,
@ -35,44 +35,44 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-size: 100%; font-size: 100%;
font-weight: normal; font-weight: normal;
} }
ul { ul {
list-style: none; list-style: none;
} }
button, button,
input, input,
select { select {
margin: 0; margin: 0;
} }
html { html {
box-sizing: border-box; box-sizing: border-box;
} }
*, *::before, *::after { *, *::before, *::after {
box-sizing: inherit; box-sizing: inherit;
} }
img, img,
video { video {
height: auto; height: auto;
max-width: 100%; max-width: 100%;
} }
iframe { iframe {
border: 0; border: 0;
} }
table { table {
border-collapse: collapse; border-collapse: collapse;
border-spacing: 0; border-spacing: 0;
} }
td, td,
th { th {
padding: 0; padding: 0;
} }

View file

@ -4,59 +4,59 @@
:root { :root {
// Fonts // Fonts
--text-font-family: 'Nunito', Verdana, sans-serif; --text-font-family: 'Nunito', Verdana, sans-serif;
--logo-font-family: 'Gloria Hallelujah', Verdana, sans-serif; --logo-font-family: 'Gloria Hallelujah', Verdana, sans-serif;
--regular-font-weight: 400; --regular-font-weight: 400;
--medium-font-weight: 500; --medium-font-weight: 500;
--semi-bold-font-weight: 600; --semi-bold-font-weight: 600;
--bold-font-weight: 700; --bold-font-weight: 700;
--text-font-size: 1rem; --text-font-size: 1rem;
--caption-font-size: 0.9rem; --caption-font-size: 0.9rem;
--footnote-font-size: 0.8rem; --footnote-font-size: 0.8rem;
--text-line-height: 1.4rem; --text-line-height: 1.4rem;
--h1-font-size: 1.8rem; --h1-font-size: 1.8rem;
--h2-font-size: 1.4rem; --h2-font-size: 1.4rem;
--h3-font-size: 1.2rem; --h3-font-size: 1.2rem;
// Dimensions // Dimensions
--content-max-width: 140rem; --content-max-width: 140rem;
--text-max-width: 70rem; --text-max-width: 70rem;
--icon-size: 2.5rem; --icon-size: 2.5rem;
--header-bar-vertical-padding: 1rem; --header-bar-vertical-padding: 1rem;
--header-bar-horizontal-padding: 2rem; --header-bar-horizontal-padding: 2rem;
--header-bar-height: calc((var(--header-bar-vertical-padding) * 2) + var(--icon-size)); --header-bar-height: calc((var(--header-bar-vertical-padding) * 2) + var(--icon-size));
--footer-bar-vertical-padding: 1rem; --footer-bar-vertical-padding: 1rem;
--footer-bar-horizontal-padding: 2rem; --footer-bar-horizontal-padding: 2rem;
--footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size) + 1rem + var(--text-font-size)); --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size) + 1rem + var(--text-font-size));
--generic-section-vertical-padding: 3rem; --generic-section-vertical-padding: 3rem;
--generic-section-horizontal-padding: 2rem; --generic-section-horizontal-padding: 2rem;
--home-section-vertical-padding: 2rem; --home-section-vertical-padding: 2rem;
--home-section-horizontal-padding: 2rem; --home-section-horizontal-padding: 2rem;
--home-section-min-height: calc(100vh - var(--header-bar-height) - var(--footer-bar-height)); --home-section-min-height: calc(100vh - var(--header-bar-height) - var(--footer-bar-height));
--home-nav-gap: 1rem; --home-nav-gap: 1rem;
--home-nav-item-size: 2rem; --home-nav-item-size: 2rem;
--home-nav-item-translation: 0; --home-nav-item-translation: 0;
--home-nav-image-max-height: calc(100vh - var(--header-bar-height) - ((var(--generic-section-vertical-padding) + var(--home-nav-item-size) + var(--home-nav-gap)) * 2) - var(--footer-bar-height)); --home-nav-image-max-height: calc(100vh - var(--header-bar-height) - ((var(--generic-section-vertical-padding) + var(--home-nav-item-size) + var(--home-nav-gap)) * 2) - var(--footer-bar-height));
// Colors // Colors
--black: #000; --black: #000;
--transparent-black: rgba(0, 0, 0, 0.8); --transparent-black: rgba(0, 0, 0, 0.8);
--jet: #333333; --jet: #333333;
--transparent-jet: rgba(51, 51, 51, 0.8); --transparent-jet: rgba(51, 51, 51, 0.8);
--granite-gray: #666666; --granite-gray: #666666;
--spanish-gray: #999999; --spanish-gray: #999999;
--light-gray: #cccccc; --light-gray: #cccccc;
--white: #fff; --white: #fff;
--transparent-white: rgba(255, 255, 255, 0.8); --transparent-white: rgba(255, 255, 255, 0.8);
// Plyr (audio player) // Plyr (audio player)
--plyr-color-main: var(--transparent-jet); --plyr-color-main: var(--transparent-jet);
--plyr-tab-focus-color: var(--white); --plyr-tab-focus-color: var(--white);
} }
// Media queries // Media queries
@ -66,26 +66,26 @@ $desktop-media-query: 62rem;
@media screen and (min-width: $tablet-media-query) { @media screen and (min-width: $tablet-media-query) {
:root { :root {
// Fonts // Fonts
--text-font-size: 1.2rem; --text-font-size: 1.2rem;
--caption-font-size: 1.1rem; --caption-font-size: 1.1rem;
--footnote-font-size: 1rem; --footnote-font-size: 1rem;
--h1-font-size: 2rem; --h1-font-size: 2rem;
--h2-font-size: 1.6rem; --h2-font-size: 1.6rem;
--h3-font-size: 1.4rem; --h3-font-size: 1.4rem;
// Dimensions // Dimensions
--icon-size: 3rem; --icon-size: 3rem;
--header-bar-vertical-padding: 2rem; --header-bar-vertical-padding: 2rem;
--header-bar-horizontal-padding: 4rem; --header-bar-horizontal-padding: 4rem;
--footer-bar-vertical-padding: 2rem; --footer-bar-vertical-padding: 2rem;
--footer-bar-horizontal-padding: 4rem; --footer-bar-horizontal-padding: 4rem;
--footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size)); --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size));
--generic-section-horizontal-padding: 4rem; --generic-section-horizontal-padding: 4rem;
--home-section-horizontal-padding: 4rem; --home-section-horizontal-padding: 4rem;
} }
} }

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"CAIA,yGAuBI,SACA,UAGJ,kBAMI,eACA,mBAGJ,GACI,gBAGJ,oBAGI,SAGJ,KACI,sBAGJ,qBACI,mBAGJ,UAEI,YACA,eAGJ,OACI,SAGJ,MACI,yBACA,iBAGJ,MAEI,UCtEJ,WACI,qBACA,+DACA,gBACA,kBAGJ,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,oEACA,gBACA,kBAGD,WACC,qBACA,gEACA,gBACA,kBAGD,WACC,qBACA,sEACA,gBACA,kBAGD,WACC,qBACA,4DACA,gBACA,kBAGD,WACC,qBACA,kEACA,gBACA,kBAKD,WACC,gCACA,oFACA,gBACA,kBChED,MAII,kDACA,6DACA,2BACA,0BACA,6BACA,wBACA,uBACA,4BACA,6BACA,2BACA,uBACA,uBACA,uBAIA,4BACA,wBACA,oBACA,oCACA,sCACA,uFACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,wCACA,eACA,yCACA,wBACA,wBACA,sBACA,cACA,8CAIA,0CACA,qCAQJ,qCAEI,MAII,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,oCACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCCpFR,kCACI,KACF,iBAED,GACC,oBAIF,0BACC,KACC,iBAED,GACC,oBAIF,2BACI,GACF,MAEE,IACF,YAED,KACC,OAIF,mBACC,GACC,MAEE,IACF,YAED,KACC,OAIF,6BACI,GACF,SAEE,IACF,eAED,KACC,UAIF,qBACI,GACF,SAEE,IACF,eAED,KACC,UCvDF,KACI,oCACA,gCACA,kCACA,iBACA,8BAGJ,SAGI,mBAGJ,GACI,oCACA,8BACA,gCAGJ,GACI,oCACA,8BACA,gCACA,kBAGJ,GACI,oCACA,8BACA,gCACA,qBAGJ,EACI,mBACA,oCAGJ,OACI,oCAGJ,GACI,kBAKJ,EACI,iBACA,0BACH,kBACG,2CACA,sCACA,mCAEA,yBAGI,mBAGP,gBACC,gCACA,mBACA,gDACG,2CAML,KACI,iBACA,kBACA,iBACA,aACA,KACI,+DAMR,yBACC,kBAGD,OACI,iBAGJ,KACI,eAGJ,OACI,iBASJ,YACC,WACG,gCACA,YACH,iKACA,0CACA,iDACG,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBACH,UACA,mBACC,yDAED,cACC,yDAED,WACC,yDAGD,mBACC,eACA,sCACA,uFACA,sCACA,0CACA,+CACA,0CACA,uCAGD,qBACC,uDACA,mDACA,+CAIF,kBACI,kBACH,+CACA,0CACA,uCACA,8BACG,0BACH,sBAEA,yBACC,6BACA,yBACA,qBAIF,uBACI,qBAGJ,iBACC,kBACA,UAGD,wBACC,kBACA,UACA,uBACA,wBACA,UACA,gBACA,YACA,kBACA,4BACA,eACA,oBACA,oBACA,aACA,yBACA,sBACA,mBACA,mBACC,+DAED,cACC,+DAED,WACC,+DAGD,4BACC,WACA,YACA,YACA,cACM,mBACL,sDAEK,cACL,sDAEK,WACL,sDAIF,yCACC,kBACA,UAGD,yCACC,kBACA,UAGE,6DAEF,6BACA,yBACA,qBAGD,sCACC,8BAEA,0CACC,oCACG,gCACA,4BAGJ,uDACC,UAGD,uDACC,UAKH,sBACC,eACA,UACA,MACA,WACA,gBACA,gBACA,aACA,8GACA,0CACA,mBACA,kBACA,gBACA,+CACA,0CACA,uCAIC,4BACC,yCAGD,4BACC,kBACA,yCAGD,6BACC,eACA,mCACA,+BACA,2BACA,+CACA,0CACA,uCAEA,iEAEC,wBAGD,+BACC,qBAEA,gHAGC,mBAGD,6CACC,gCAMJ,oDACC,wBAEA,sDACC,mBAIF,+BACC,oCACA,gCACA,4BAKE,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAOL,yBACC,eACA,UACA,MACA,OACA,YACA,aACA,8BACA,UACA,oBACA,oBACA,6CACA,wCACA,qCAEA,kCACC,WACA,oBACA,eAIF,qCAEC,sBACC,gBAIF,qCAEC,sBACC,gBAUF,cACI,mCACA,0CACA,YACA,oFACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBAGJ,WACI,YACA,iBACA,aACA,KACI,iMAIJ,4BACA,wBACA,cAGJ,iBACI,iBAEA,qBACI,gBACA,2BACA,iBACA,4CAMJ,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAOR,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAIR,sCACI,iBACA,wBAMJ,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAIR,sCACI,sBACA,qBACA,kBACI,sEAEJ,cACI,sEAEJ,UACI,sEAIR,sCACI,uBACA,uBACA,kBACI,uEAEJ,cACI,uEAEJ,UACI,uEAKZ,gBACI,mBACA,8BACA,qBACA,UACA,6CACA,wCACA,qCAEA,oBACI,UACA,6CACA,wCACA,qCAIR,yBACI,UAEA,6BACI,UAIR,2BACI,yCACA,oCAGJ,6BACI,2CACA,sCAKJ,oCAEI,mCACA,YACA,0FAGJ,kCAEI,kBAGJ,gDAEI,gCACA,YAEA,gFACI,kBAKA,kHAEI,kBAIR,sDACF,oCAEM,sHAEI,kBAGV,4DACC,kBACA,mBAGD,kEACC,kBAGD,0EACC,YACA,kBACA,MACA,OAKH,kBACI,cACA,2BACA,YAEA,oCACI,wBAGJ,oEAEI,cACA,gBAKA,+CACI,mBAIR,6BACI,sBACA,oBACA,wBACA,mCACA,kBACA,oCAIR,qCAIQ,oCACI,yBAOZ,eACI,mCACA,YACA,0FAGJ,cACI,kBAGJ,gBACI,gCACA,YACA,kBAGJ,eACI,kBACA,kBAEA,iBACI,qBACA,cACA,mBACA,mBACA,4BACA,qBACA,yCACN,+CACA,0CACA,uCAEM,sEAGI,qBAWZ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGJ,oBACI,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACF,uBACA,wBACA,kBACA,4BACM,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACN,+CACA,0CACA,uCAEM,wBACI,kBAGJ,0BACL,kBAID,qFAGC,qBAMD,uDACC,UACA,WAMD,mDACC,UACA,WAKH,uBACI,oCACA,kBAGJ,qCAEI,YACI,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGJ,oBACI,QAGJ,uBACI,QACA","file":"style.min.css"} {"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"CAIA,yGAuBC,SACA,UAGD,kBAMC,eACA,mBAGD,GACC,gBAGD,oBAGC,SAGD,KACC,sBAGD,qBACC,mBAGD,UAEC,YACA,eAGD,OACC,SAGD,MACC,yBACA,iBAGD,MAEC,UCtED,WACC,qBACA,+DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,oEACA,gBACA,kBAGD,WACC,qBACA,gEACA,gBACA,kBAGD,WACC,qBACA,sEACA,gBACA,kBAGD,WACC,qBACA,4DACA,gBACA,kBAGD,WACC,qBACA,kEACA,gBACA,kBAKD,WACC,gCACA,oFACA,gBACA,kBChED,MAIC,kDACA,6DACA,2BACA,0BACA,6BACA,wBACA,uBACA,4BACA,6BACA,2BACA,uBACA,uBACA,uBAIA,4BACA,wBACA,oBACA,oCACA,sCACA,uFACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,wCACA,eACA,yCACA,wBACA,wBACA,sBACA,cACA,8CAIA,0CACA,qCAQD,qCAEC,MAIC,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,oCACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCCpFF,kCACC,KACC,iBAED,GACC,oBAIF,0BACC,KACC,iBAED,GACC,oBAIF,2BACC,GACC,MAED,IACC,YAED,KACC,OAIF,mBACC,GACC,MAED,IACC,YAED,KACC,OAIF,6BACC,GACC,SAED,IACC,eAED,KACC,UAIF,qBACC,GACC,SAED,IACC,eAED,KACC,UCvDF,KACC,oCACA,gCACA,kCACA,iBACA,8BAGD,SAGC,mBAGD,GACC,oCACA,8BACA,gCAGD,GACC,oCACA,8BACA,gCACA,kBAGD,GACC,oCACA,8BACA,gCACA,qBAGD,EACC,mBACA,oCAGD,OACC,oCAGD,GACC,kBAKD,EACC,iBACA,0BACA,kBACA,2CACA,sCACA,mCAEA,yBAGC,mBAGD,gBACC,gCACA,mBACA,gDACA,2CAMF,KACC,iBACA,kBACA,iBACA,aACA,KACC,+DAMF,yBACC,kBAGD,OACC,iBAGD,KACC,eAGD,OACC,iBASD,YACC,WACA,gCACA,YACA,iKACA,0CACA,iDACA,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBACA,UACA,mBACC,yDAED,cACC,yDAED,WACC,yDAGD,mBACC,eACA,sCACA,uFACA,sCACA,0CACA,+CACA,0CACA,uCAGD,qBACC,uDACA,mDACA,+CAIF,kBACC,kBACA,+CACA,0CACA,uCACA,8BACA,0BACA,sBAEA,yBACC,6BACA,yBACA,qBAIF,uBACC,qBAGD,iBACC,kBACA,UAGD,wBACC,kBACA,UACA,uBACA,wBACA,UACA,gBACA,YACA,kBACA,4BACA,eACA,oBACA,oBACA,aACA,yBACA,sBACA,mBACA,mBACC,+DAED,cACC,+DAED,WACC,+DAGD,4BACC,WACA,YACA,YACA,cACA,mBACC,sDAED,cACC,sDAED,WACC,sDAIF,yCACC,kBACA,UAGD,yCACC,kBACA,UAGD,6DAEC,6BACA,yBACA,qBAGD,sCACC,8BAEA,0CACC,oCACA,gCACA,4BAGD,uDACC,UAGD,uDACC,UAKH,sBACC,eACA,UACA,MACA,WACA,gBACA,gBACA,aACA,8GACA,0CACA,mBACA,kBACA,gBACA,+CACA,0CACA,uCAIC,4BACC,yCAGD,4BACC,kBACA,yCAGD,6BACC,eACA,mCACA,+BACA,2BACA,+CACA,0CACA,uCAEA,iEAEC,wBAGD,+BACC,qBAEA,gHAGC,mBAGD,6CACC,gCAMJ,oDACC,wBAEA,sDACC,mBAIF,+BACC,oCACA,gCACA,4BAKE,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAOL,yBACC,eACA,UACA,MACA,OACA,YACA,aACA,8BACA,UACA,oBACA,oBACA,6CACA,wCACA,qCAEA,kCACC,WACA,oBACA,eAIF,qCAEC,sBACC,gBAIF,qCAEC,sBACC,gBAUF,cACC,mCACA,0CACA,YACA,oFACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBAGD,WACC,YACA,iBACA,aACA,KACC,iMAID,4BACA,wBACA,cAGD,iBACC,iBAEA,qBACC,gBACA,2BACA,iBACA,4CAMD,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAOF,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAIF,sCACC,iBACA,wBAMD,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAIF,sCACC,sBACA,qBACA,kBACC,sEAED,cACC,sEAED,UACC,sEAIF,sCACC,uBACA,uBACA,kBACC,uEAED,cACC,uEAED,UACC,uEAKH,gBACC,mBACA,8BACA,qBACA,UACA,6CACA,wCACA,qCAEA,oBACC,UACA,6CACA,wCACA,qCAIF,yBACC,UAEA,6BACC,UAIF,2BACC,yCACA,oCAGD,6BACC,2CACA,sCAKD,oCAEC,mCACA,YACA,0FAGD,kCAEC,kBAGD,gDAEC,gCACA,YAEA,gFACC,kBAKA,kHAEC,kBAIF,sDACC,oCAEA,sHAEC,kBAGD,4DACC,kBACA,mBAGD,kEACC,kBAGD,0EACC,YACA,kBACA,MACA,OAKH,kBACC,cACA,2BACA,YAEA,oCACC,wBAGD,oEAEC,cACA,gBAKA,+CACC,mBAIF,6BACC,sBACA,oBACA,wBACA,mCACA,kBACA,oCAIF,qCAIE,oCACC,yBAOH,eACC,mCACA,YACA,0FAGD,cACC,kBAGD,gBACC,gCACA,YACA,kBAGD,eACC,kBACA,kBAEA,iBACC,qBACA,cACA,mBACA,mBACA,4BACA,qBACA,yCACA,+CACA,0CACA,uCAEA,sEAGC,qBAWH,YACC,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGD,oBACC,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACC,uBACA,wBACA,kBACA,4BACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACA,+CACA,0CACA,uCAEA,wBACC,kBAGD,0BACC,kBAID,qFAGC,qBAMD,uDACC,UACA,WAMD,mDACC,UACA,WAKH,uBACC,oCACA,kBAGD,qCAEC,YACC,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGD,oBACC,QAGD,uBACC,QACA","file":"style.min.css"}

View file

@ -10,88 +10,88 @@
// Fonts and colors // Fonts and colors
body { body {
font-family: var(--text-font-family); font-family: var(--text-font-family);
font-size: var(--text-font-size); font-size: var(--text-font-size);
line-height: var(--text-font-size); line-height: var(--text-font-size);
color: var(--jet); color: var(--jet);
background-color: var(--white); background-color: var(--white);
} }
h1, h1,
h2, h2,
h3 { h3 {
color: var(--black); color: var(--black);
} }
h1 { h1 {
font-family: var(--logo-font-family); font-family: var(--logo-font-family);
font-size: var(--h1-font-size); font-size: var(--h1-font-size);
line-height: var(--h1-font-size); line-height: var(--h1-font-size);
} }
h2 { h2 {
font-family: var(--text-font-family); font-family: var(--text-font-family);
font-size: var(--h2-font-size); font-size: var(--h2-font-size);
line-height: var(--h2-font-size); line-height: var(--h2-font-size);
margin: 0 0 4rem 0; margin: 0 0 4rem 0;
} }
h3 { h3 {
font-family: var(--text-font-family); font-family: var(--text-font-family);
font-size: var(--h3-font-size); font-size: var(--h3-font-size);
line-height: var(--h3-font-size); line-height: var(--h3-font-size);
margin: 2rem 0 1rem 0; margin: 2rem 0 1rem 0;
} }
p { p {
text-align: justify; text-align: justify;
line-height: var(--text-line-height); line-height: var(--text-line-height);
} }
strong { strong {
font-weight: var(--bold-font-weight); font-weight: var(--bold-font-weight);
} }
em { em {
font-style: italic; font-style: italic;
} }
// Link style // Link style
a { a {
color: var(--jet); color: var(--jet);
text-decoration: underline; text-decoration: underline;
border-radius: 2px; border-radius: 2px;
-webkit-transition: color 200ms ease-in-out; -webkit-transition: color 200ms ease-in-out;
-o-transition: color 200ms ease-in-out; -o-transition: color 200ms ease-in-out;
transition: color 200ms ease-in-out; transition: color 200ms ease-in-out;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: var(--black); color: var(--black);
} }
&:focus-visible { &:focus-visible {
outline: 1px dashed var(--black); outline: 1px dashed var(--black);
outline-offset: 2px; outline-offset: 2px;
-webkit-animation: expand-outline 200ms ease-out; -webkit-animation: expand-outline 200ms ease-out;
animation: expand-outline 200ms ease-in-out; animation: expand-outline 200ms ease-in-out;
} }
} }
// General grid layout // General grid layout
body { body {
min-height: 100vh; min-height: 100vh;
overflow-x: hidden; overflow-x: hidden;
display: -ms-grid; display: -ms-grid;
display: grid; display: grid;
grid: grid:
'header' var(--header-bar-height) 'header' var(--header-bar-height)
'main' 1fr 'main' 1fr
'footer' auto 'footer' auto
/ 1fr; / 1fr;
} }
.body--hidden-overflow-y { .body--hidden-overflow-y {
@ -99,15 +99,15 @@ body {
} }
header { header {
grid-area: header; grid-area: header;
} }
main { main {
grid-area: main; grid-area: main;
} }
footer { footer {
grid-area: footer; grid-area: footer;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -118,20 +118,20 @@ footer {
.header-bar { .header-bar {
width: 100%; width: 100%;
height: var(--header-bar-height); height: var(--header-bar-height);
margin: auto; margin: auto;
padding: var(--header-bar-vertical-padding) Max(var(--header-bar-horizontal-padding), calc((100vw - var(--content-max-width)) / 2 + var(--header-bar-horizontal-padding))); padding: var(--header-bar-vertical-padding) Max(var(--header-bar-horizontal-padding), calc((100vw - var(--content-max-width)) / 2 + var(--header-bar-horizontal-padding)));
background-color: var(--transparent-white); background-color: var(--transparent-white);
border-bottom: 1px solid var(--transparent-white); border-bottom: 1px solid var(--transparent-white);
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-pack: justify; -webkit-box-pack: justify;
-ms-flex-pack: justify; -ms-flex-pack: justify;
justify-content: space-between; justify-content: space-between;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center; -ms-flex-align: center;
align-items: center; align-items: center;
z-index: 1; z-index: 1;
-webkit-transition: -webkit-transition:
height 400ms ease-in-out, height 400ms ease-in-out,
@ -162,12 +162,12 @@ footer {
} }
.header-bar__logo { .header-bar__logo {
width: max-content; width: max-content;
-webkit-transition: transform 400ms ease-in-out; -webkit-transition: transform 400ms ease-in-out;
-o-transition: transform 400ms ease-in-out; -o-transition: transform 400ms ease-in-out;
transition: transform 400ms ease-in-out; transition: transform 400ms ease-in-out;
-webkit-transform-origin: left; -webkit-transform-origin: left;
-ms-transform-origin: left; -ms-transform-origin: left;
transform-origin: left; transform-origin: left;
&--small { &--small {
@ -178,7 +178,7 @@ footer {
} }
.header-bar__logo-link { .header-bar__logo-link {
text-decoration: none; text-decoration: none;
} }
.header-bar__nav { .header-bar__nav {
@ -218,13 +218,13 @@ footer {
height: 100%; height: 100%;
padding: 10%; padding: 10%;
flex-shrink: 0; flex-shrink: 0;
-webkit-transition: -webkit-transition:
opacity 400ms ease-in-out, opacity 400ms ease-in-out,
transform 400ms ease-in-out; transform 400ms ease-in-out;
-o-transition: -o-transition:
opacity 400ms ease-in-out, opacity 400ms ease-in-out,
transform 400ms ease-in-out; transform 400ms ease-in-out;
transition: transition:
opacity 400ms ease-in-out, opacity 400ms ease-in-out,
transform 400ms ease-in-out; transform 400ms ease-in-out;
} }
@ -239,20 +239,20 @@ footer {
opacity: 0; opacity: 0;
} }
&:hover, &:hover,
&:active { &:active {
-webkit-transform: scale(1.1); -webkit-transform: scale(1.1);
-ms-transform: scale(1.1); -ms-transform: scale(1.1);
transform: scale(1.1); transform: scale(1.1);
} }
&--custom-focus { &--custom-focus {
background-color: var(--white); background-color: var(--white);
svg { svg {
-webkit-transform: translateX(-100%); -webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%); -ms-transform: translateX(-100%);
transform: translateX(-100%); transform: translateX(-100%);
} }
svg:nth-child(1) { svg:nth-child(1) {
@ -395,245 +395,245 @@ footer {
// Home section // Home section
.home-section { .home-section {
max-width: var(--content-max-width); max-width: var(--content-max-width);
min-height: var(--home-section-min-height); min-height: var(--home-section-min-height);
margin: auto; margin: auto;
padding: var(--home-section-vertical-padding) var(--home-section-horizontal-padding); padding: var(--home-section-vertical-padding) var(--home-section-horizontal-padding);
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-pack: center; -webkit-box-pack: center;
-ms-flex-pack: center; -ms-flex-pack: center;
justify-content: center; justify-content: center;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center; -ms-flex-align: center;
align-items: center; align-items: center;
} }
.home__nav { .home__nav {
height: 100%; height: 100%;
display: -ms-grid; display: -ms-grid;
display: grid; display: grid;
grid: grid:
'top-left top top-right' var(--home-nav-item-size) 'top-left top top-right' var(--home-nav-item-size)
'left center right' auto 'left center right' auto
'bottom-left bottom bottom-right' var(--home-nav-item-size) 'bottom-left bottom bottom-right' var(--home-nav-item-size)
/ var(--home-nav-item-size) auto var(--home-nav-item-size); / var(--home-nav-item-size) auto var(--home-nav-item-size);
place-content: center center; place-content: center center;
gap: var(--home-nav-gap); gap: var(--home-nav-gap);
line-height: 0; line-height: 0;
} }
.home__nav-image { .home__nav-image {
grid-area: center; grid-area: center;
img { img {
min-width: 12rem; min-width: 12rem;
max-width: Min(100%, 2500px); max-width: Min(100%, 2500px);
min-height: 12rem; min-height: 12rem;
max-height: var(--home-nav-image-max-height); max-height: var(--home-nav-image-max-height);
} }
} }
.home__nav--2-items { .home__nav--2-items {
.home__nav-item-1 { .home__nav-item-1 {
grid-area: top-left; grid-area: top-left;
place-self: end end; place-self: end end;
-webkit-transform: -webkit-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
.home__nav-item-2 { .home__nav-item-2 {
grid-area: top-right; grid-area: top-right;
place-self: end start; place-self: end start;
-webkit-transform: -webkit-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
} }
.home__nav--3-items { .home__nav--3-items {
.home__nav-item-1 { .home__nav-item-1 {
grid-area: top-left; grid-area: top-left;
place-self: end end; place-self: end end;
-webkit-transform: -webkit-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
.home__nav-item-2 { .home__nav-item-2 {
grid-area: top-right; grid-area: top-right;
place-self: end start; place-self: end start;
-webkit-transform: -webkit-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
.home__nav-item-3 { .home__nav-item-3 {
grid-area: bottom; grid-area: bottom;
place-self: start center; place-self: start center;
} }
} }
.home__nav--4-items { .home__nav--4-items {
.home__nav-item-1 { .home__nav-item-1 {
grid-area: top-left; grid-area: top-left;
place-self: end end; place-self: end end;
-webkit-transform: -webkit-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(-45deg) rotate(-45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
.home__nav-item-2 { .home__nav-item-2 {
grid-area: top-right; grid-area: top-right;
place-self: end start; place-self: end start;
-webkit-transform: -webkit-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
-ms-transform: -ms-transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
transform: transform:
rotate(45deg) rotate(45deg)
translateY(var(--home-nav-item-translation)); translateY(var(--home-nav-item-translation));
} }
.home__nav-item-3 { .home__nav-item-3 {
grid-area: bottom-left; grid-area: bottom-left;
place-self: start end; place-self: start end;
-webkit-transform: -webkit-transform:
rotate(45deg) rotate(45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
-ms-transform: -ms-transform:
rotate(45deg) rotate(45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
transform: transform:
rotate(45deg) rotate(45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
} }
.home__nav-item-4 { .home__nav-item-4 {
grid-area: bottom-right; grid-area: bottom-right;
place-self: start start; place-self: start start;
-webkit-transform: -webkit-transform:
rotate(-45deg) rotate(-45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
-ms-transform: -ms-transform:
rotate(-45deg) rotate(-45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
transform: transform:
rotate(-45deg) rotate(-45deg)
translateY(calc(var(--home-nav-item-translation) * -1)); translateY(calc(var(--home-nav-item-translation) * -1));
} }
} }
.home__nav-link { .home__nav-link {
color: var(--black); color: var(--black);
font-size: var(--h3-font-size); font-size: var(--h3-font-size);
text-decoration: none; text-decoration: none;
opacity: 0; opacity: 0;
-webkit-transition: opacity 600ms ease-in-out; -webkit-transition: opacity 600ms ease-in-out;
-o-transition: opacity 600ms ease-in-out; -o-transition: opacity 600ms ease-in-out;
transition: opacity 600ms ease-in-out; transition: opacity 600ms ease-in-out;
div { div {
opacity: 0; opacity: 0;
-webkit-transition: opacity 600ms ease-in-out; -webkit-transition: opacity 600ms ease-in-out;
-o-transition: opacity 600ms ease-in-out; -o-transition: opacity 600ms ease-in-out;
transition: opacity 600ms ease-in-out; transition: opacity 600ms ease-in-out;
} }
} }
.home__nav-link--visible { .home__nav-link--visible {
opacity: 1; opacity: 1;
div { div {
opacity: 1; opacity: 1;
} }
} }
.home__nav-letter--wave-up { .home__nav-letter--wave-up {
-webkit-animation: wave-up 600ms ease-out; -webkit-animation: wave-up 600ms ease-out;
animation: wave-up 600ms ease-in-out; animation: wave-up 600ms ease-in-out;
} }
.home__nav-letter--wave-down { .home__nav-letter--wave-down {
-webkit-animation: wave-down 600ms ease-out; -webkit-animation: wave-down 600ms ease-out;
animation: wave-down 600ms ease-in-out; animation: wave-down 600ms ease-in-out;
} }
// Gallery & biography sections // Gallery & biography sections
.gallery-section, .gallery-section,
.biography-section { .biography-section {
max-width: var(--content-max-width); max-width: var(--content-max-width);
margin: auto; margin: auto;
padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding);
} }
.gallery__title, .gallery__title,
.biography__title { .biography__title {
text-align: center; text-align: center;
} }
.gallery__introduction, .gallery__introduction,
.biography__presentation { .biography__presentation {
max-width: var(--text-max-width); max-width: var(--text-max-width);
margin: auto; margin: auto;
h3:nth-child(1) { h3:nth-child(1) {
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
} }
p { p {
+ p, + p,
+ ul { + ul {
margin: 1rem 0 0 0; margin: 1rem 0 0 0;
} }
} }
ul { ul {
line-height: var(--text-line-height); line-height: var(--text-line-height);
+ ul, + ul,
+ p { + p {
margin: 1rem 0 0 0; margin: 1rem 0 0 0;
} }
li { li {
position: relative; position: relative;
@ -650,91 +650,91 @@ footer {
top: 0; top: 0;
left: 0; left: 0;
} }
} }
} }
.gallery__artwork { .gallery__artwork {
display: table; display: table;
max-width: Min(1280px, 100%); max-width: Min(1280px, 100%);
margin: auto; margin: auto;
+ .gallery__artwork { + .gallery__artwork {
margin: 2rem auto 0 auto; margin: 2rem auto 0 auto;
} }
.gallery__image, .gallery__image,
.gallery__video { .gallery__video {
display: block; display: block;
max-height: 80vh; max-height: 80vh;
} }
.gallery__video { .gallery__video {
&--full-screen { &--full-screen {
max-height: initial; max-height: initial;
} }
} }
figcaption { figcaption {
display: table-caption; display: table-caption;
caption-side: bottom; caption-side: bottom;
margin: 1rem auto 0 auto; margin: 1rem auto 0 auto;
font-size: var(--caption-font-size); font-size: var(--caption-font-size);
font-style: italic; font-style: italic;
line-height: var(--text-line-height); line-height: var(--text-line-height);
} }
} }
@media screen and (min-width: $tablet-media-query) { @media screen and (min-width: $tablet-media-query) {
.gallery__artwork { .gallery__artwork {
+ .gallery__artwork { + .gallery__artwork {
margin: 3rem auto 0 auto; margin: 3rem auto 0 auto;
} }
} }
} }
// Error section // Error section
.error-section { .error-section {
max-width: var(--content-max-width); max-width: var(--content-max-width);
margin: auto; margin: auto;
padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding);
} }
.error__title { .error__title {
text-align: center; text-align: center;
} }
.error__message { .error__message {
max-width: var(--text-max-width); max-width: var(--text-max-width);
margin: auto; margin: auto;
text-align: center; text-align: center;
} }
.error__button { .error__button {
margin: 1rem 0 0 0; margin: 1rem 0 0 0;
text-align: center; text-align: center;
a { a {
display: inline-block; display: inline-block;
padding: 0.8rem; padding: 0.8rem;
border-radius: 10px; border-radius: 10px;
color: var(--white); color: var(--white);
background-color: var(--jet); background-color: var(--jet);
text-decoration: none; text-decoration: none;
font-weight: var(--semi-bold-font-weight); font-weight: var(--semi-bold-font-weight);
-webkit-transition: transform 200ms ease-in-out; -webkit-transition: transform 200ms ease-in-out;
-o-transition: transform 200ms ease-in-out; -o-transition: transform 200ms ease-in-out;
transition: transform 200ms ease-in-out; transition: transform 200ms ease-in-out;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
transform: scale(1.1); transform: scale(1.1);
} }
} }
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -744,63 +744,63 @@ footer {
// Footer bar // Footer bar
.footer-bar { .footer-bar {
max-width: var(--content-max-width); max-width: var(--content-max-width);
height: var(--footer-bar-height); height: var(--footer-bar-height);
margin: auto; margin: auto;
padding: var(--footer-bar-vertical-padding) var(--footer-bar-horizontal-padding); padding: var(--footer-bar-vertical-padding) var(--footer-bar-horizontal-padding);
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-box-direction: normal; -webkit-box-direction: normal;
-ms-flex-direction: column; -ms-flex-direction: column;
flex-direction: column; flex-direction: column;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center; -ms-flex-align: center;
align-items: center; align-items: center;
} }
.footer-bar__social { .footer-bar__social {
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center; -ms-flex-align: center;
align-items: center; align-items: center;
a { a {
width: var(--icon-size); width: var(--icon-size);
height: var(--icon-size); height: var(--icon-size);
border-radius: 50%; border-radius: 50%;
background-color: var(--jet); background-color: var(--jet);
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox; display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-pack: center; -webkit-box-pack: center;
-ms-flex-pack: center; -ms-flex-pack: center;
justify-content: center; justify-content: center;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center; -ms-flex-align: center;
align-items: center; align-items: center;
-webkit-transition: transform 200ms ease-in-out; -webkit-transition: transform 200ms ease-in-out;
-o-transition: transform 200ms ease-in-out; -o-transition: transform 200ms ease-in-out;
transition: transform 200ms ease-in-out; transition: transform 200ms ease-in-out;
+ a { + a {
margin: 0 0 0 1rem; margin: 0 0 0 1rem;
} }
svg { svg {
fill: var(--white); fill: var(--white);
} }
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
transform: scale(1.1); transform: scale(1.1);
} }
} }
a.footer-bar__instagram-button { a.footer-bar__instagram-button {
@ -820,31 +820,31 @@ footer {
} }
.footer-bar__copyright { .footer-bar__copyright {
font-size: var(--footnote-font-size); font-size: var(--footnote-font-size);
margin: 1rem 0 0 0; margin: 1rem 0 0 0;
} }
@media screen and (min-width: $tablet-media-query) { @media screen and (min-width: $tablet-media-query) {
.footer-bar { .footer-bar {
-webkit-box-orient: horizontal; -webkit-box-orient: horizontal;
-webkit-box-direction: normal; -webkit-box-direction: normal;
-ms-flex-direction: row; -ms-flex-direction: row;
flex-direction: row; flex-direction: row;
-webkit-box-pack: justify; -webkit-box-pack: justify;
-ms-flex-pack: justify; -ms-flex-pack: justify;
justify-content: space-between; justify-content: space-between;
-webkit-box-align: end; -webkit-box-align: end;
-ms-flex-align: end; -ms-flex-align: end;
align-items: flex-end; align-items: flex-end;
} }
.footer-bar__social { .footer-bar__social {
order: 2; order: 2;
} }
.footer-bar__copyright { .footer-bar__copyright {
order: 1; order: 1;
margin: 0; margin: 0;
} }
} }

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before After
Before After

View file

@ -1,16 +1,16 @@
{ {
"name": "Xiao Wang", "name": "Xiao Wang",
"short_name": "Xiao Wang", "short_name": "Xiao Wang",
"icons": [ "icons": [
{ {
"src": "xiao-wang-favicon-192px.png", "src": "xiao-wang-favicon-192px.png",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png" "type": "image/png"
}, },
{ {
"src": "xiao-wang-favicon-512px.png", "src": "xiao-wang-favicon-512px.png",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png" "type": "image/png"
} }
] ]
} }

View file

@ -41,8 +41,8 @@ const touchPosition = {
// Convert rem to pixels by getting font-size CSS property // Convert rem to pixels by getting font-size CSS property
function convertRemToPixels(rem) { function convertRemToPixels(rem) {
let fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size')); let fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size'));
return rem * fontSize; return rem * fontSize;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -53,257 +53,257 @@ function convertRemToPixels(rem) {
// Calculate navigation grid inner width // Calculate navigation grid inner width
function calculateNavGridInnerWidth() { function calculateNavGridInnerWidth() {
if (root && navImage) { if (root && navImage) {
let navGridGapProperty = window.getComputedStyle(root).getPropertyValue('--home-nav-gap'); let navGridGapProperty = window.getComputedStyle(root).getPropertyValue('--home-nav-gap');
let navGridGap = parseFloat(navGridGapProperty.slice(0, -3)); let navGridGap = parseFloat(navGridGapProperty.slice(0, -3));
return navImage.getBoundingClientRect().width + (convertRemToPixels(navGridGap) * 2); return navImage.getBoundingClientRect().width + (convertRemToPixels(navGridGap) * 2);
} }
} }
// Calculate navigation grid inner diagonal // Calculate navigation grid inner diagonal
function calculateNavGridInnerDiagonal() { function calculateNavGridInnerDiagonal() {
return calculateNavGridInnerWidth() * Math.sqrt(2); return calculateNavGridInnerWidth() * Math.sqrt(2);
} }
// Create new instance of CircleType for each navigation link, set radius and direction // Create new instance of CircleType for each navigation link, set radius and direction
function curveNavLinks() { function curveNavLinks() {
if (navLinks.length !== 0 && circleTypes) { if (navLinks.length !== 0 && circleTypes) {
for (let i = 0; i < (navLinks.length - 2); i++) { for (let i = 0; i < (navLinks.length - 2); i++) {
circleTypes[i] = new CircleType(navLinks[i]); circleTypes[i] = new CircleType(navLinks[i]);
circleTypes[i].radius(calculateNavGridInnerWidth() / 2); circleTypes[i].radius(calculateNavGridInnerWidth() / 2);
} }
for (let i = (navLinks.length - 2); i < navLinks.length; i++) { for (let i = (navLinks.length - 2); i < navLinks.length; i++) {
circleTypes[i] = new CircleType(navLinks[i]); circleTypes[i] = new CircleType(navLinks[i]);
circleTypes[i].dir(-1); circleTypes[i].dir(-1);
circleTypes[i].radius(calculateNavGridInnerWidth() / 2); circleTypes[i].radius(calculateNavGridInnerWidth() / 2);
} }
} }
} }
// Set --home-nav-item-translation CSS property // Set --home-nav-item-translation CSS property
function setNavItemTranslationProperty() { function setNavItemTranslationProperty() {
let navItemTranslation = (calculateNavGridInnerDiagonal() - calculateNavGridInnerWidth()) / 2; let navItemTranslation = (calculateNavGridInnerDiagonal() - calculateNavGridInnerWidth()) / 2;
if (root) { if (root) {
root.style.setProperty('--home-nav-item-translation', navItemTranslation + 'px'); root.style.setProperty('--home-nav-item-translation', navItemTranslation + 'px');
} }
} }
// Set navigation grid display depending on number of links // Set navigation grid display depending on number of links
function setNavGridDisplay() { function setNavGridDisplay() {
if (navEl && navLinks.length !== 0) { if (navEl && navLinks.length !== 0) {
if (navLinks.length === 2) { if (navLinks.length === 2) {
navEl.classList.add('home__nav--2-items'); navEl.classList.add('home__nav--2-items');
} else if (navLinks.length === 3) { } else if (navLinks.length === 3) {
navEl.classList.add('home__nav--3-items'); navEl.classList.add('home__nav--3-items');
} else if (navLinks.length === 4) { } else if (navLinks.length === 4) {
navEl.classList.add('home__nav--4-items'); navEl.classList.add('home__nav--4-items');
} }
for (let i = 0; i < navLinks.length; i++) { for (let i = 0; i < navLinks.length; i++) {
navLinks[i].classList.add('home__nav-link--visible'); navLinks[i].classList.add('home__nav-link--visible');
} }
} }
} }
// Edit navigation links radius and translation on window resize event // Edit navigation links radius and translation on window resize event
function editNavLinksOnResize() { function editNavLinksOnResize() {
window.addEventListener('resize', function(e) { window.addEventListener('resize', function(e) {
if (navLinks.length !== 0 && circleTypes) { if (navLinks.length !== 0 && circleTypes) {
for (let i = 0; i < navLinks.length; i++) { for (let i = 0; i < navLinks.length; i++) {
circleTypes[i].radius(calculateNavGridInnerWidth() / 2); circleTypes[i].radius(calculateNavGridInnerWidth() / 2);
} }
} }
setNavItemTranslationProperty(); setNavItemTranslationProperty();
}); });
} }
// Add wave up animation to a single letter and remove it on animationend event // Add wave up animation to a single letter and remove it on animationend event
function waveNavLetterUp(navLetter) { function waveNavLetterUp(navLetter) {
navLetter.classList.add('home__nav-letter--wave-up'); navLetter.classList.add('home__nav-letter--wave-up');
navLetter.addEventListener('animationend', function(e) { navLetter.addEventListener('animationend', function(e) {
navLetter.classList.remove('home__nav-letter--wave-up'); navLetter.classList.remove('home__nav-letter--wave-up');
}); });
} }
// Add wave down animation to a single letter and remove it on animationend event // Add wave down animation to a single letter and remove it on animationend event
function waveNavLetterDown(navLetter) { function waveNavLetterDown(navLetter) {
navLetter.classList.add('home__nav-letter--wave-down'); navLetter.classList.add('home__nav-letter--wave-down');
navLetter.addEventListener('animationend', function(e) { navLetter.addEventListener('animationend', function(e) {
navLetter.classList.remove('home__nav-letter--wave-down'); navLetter.classList.remove('home__nav-letter--wave-down');
}); });
} }
// Add wave up animation to every letters of a single link with a slight delay // Add wave up animation to every letters of a single link with a slight delay
function waveNavLinkUp(navLink) { function waveNavLinkUp(navLink) {
let navLinkLetters = navLink.querySelectorAll('span'); let navLinkLetters = navLink.querySelectorAll('span');
let animationDelay = 0; let animationDelay = 0;
for (let i = 0; i < navLinkLetters.length; i++) { for (let i = 0; i < navLinkLetters.length; i++) {
setTimeout(waveNavLetterUp, animationDelay, navLinkLetters[i]); setTimeout(waveNavLetterUp, animationDelay, navLinkLetters[i]);
animationDelay += 50; animationDelay += 50;
} }
} }
// Add wave down animation to every letters of a single link with a slight delay // Add wave down animation to every letters of a single link with a slight delay
function waveNavLinkDown(navLink) { function waveNavLinkDown(navLink) {
let navLinkLetters = navLink.querySelectorAll('span'); let navLinkLetters = navLink.querySelectorAll('span');
let animationDelay = 0; let animationDelay = 0;
for (let i = 0; i < navLinkLetters.length; i++) { for (let i = 0; i < navLinkLetters.length; i++) {
setTimeout(waveNavLetterDown, animationDelay, navLinkLetters[i]); setTimeout(waveNavLetterDown, animationDelay, navLinkLetters[i]);
animationDelay += 50; animationDelay += 50;
} }
} }
// Add wave (up or down) animation to every letters of each link on mouseover event // Add wave (up or down) animation to every letters of each link on mouseover event
function waveNavLinksOnHover() { function waveNavLinksOnHover() {
if (navLinks.length !== 0) { if (navLinks.length !== 0) {
for (let i = 0; i < (navLinks.length - 2); i++) { for (let i = 0; i < (navLinks.length - 2); i++) {
navLinks[i].addEventListener('mouseover', function(e) { navLinks[i].addEventListener('mouseover', function(e) {
waveNavLinkUp(navLinks[i]); waveNavLinkUp(navLinks[i]);
}); });
} }
for (let i = (navLinks.length - 2); i < navLinks.length; i++) { for (let i = (navLinks.length - 2); i < navLinks.length; i++) {
navLinks[i].addEventListener('mouseover', function(e) { navLinks[i].addEventListener('mouseover', function(e) {
waveNavLinkDown(navLinks[i]); waveNavLinkDown(navLinks[i]);
}); });
} }
} }
} }
// VIDEO PLAYERS // // VIDEO PLAYERS //
// Set up Plyr video players // Set up Plyr video players
function setUpVideoPlayers() { function setUpVideoPlayers() {
if (galleryVideos.length !== 0) { if (galleryVideos.length !== 0) {
videoPlayers = Plyr.setup(galleryVideos, { videoPlayers = Plyr.setup(galleryVideos, {
controls: [ controls: [
'play-large', 'play-large',
'play', 'play',
'progress', 'progress',
'current-time', 'current-time',
'duration', 'duration',
'mute', 'mute',
'volume', 'volume',
'fullscreen' 'fullscreen'
], ],
i18n: { i18n: {
play: 'Lire', play: 'Lire',
pause: 'Mettre sur pause', pause: 'Mettre sur pause',
seek: 'Parcourir la piste audio', seek: 'Parcourir la piste audio',
currentTime: 'Temps écoulé depuis le début de la piste audio', currentTime: 'Temps écoulé depuis le début de la piste audio',
duration: 'Durée de la piste audio', duration: 'Durée de la piste audio',
volume: 'Ajuster le volume', volume: 'Ajuster le volume',
mute: 'Couper le son', mute: 'Couper le son',
unmute: 'Activer le son', unmute: 'Activer le son',
enterFullscreen: 'Activer le mode plein écran', enterFullscreen: 'Activer le mode plein écran',
exitFullscreen: 'Quitter le mode plein écran' exitFullscreen: 'Quitter le mode plein écran'
} }
}); });
} }
} }
// Toggle videos full screen mode on Plyr enterfullscreen and exitfullscreen media events // Toggle videos full screen mode on Plyr enterfullscreen and exitfullscreen media events
function toggleVideosFullScreen() { function toggleVideosFullScreen() {
if (videoPlayers.length !== 0) { if (videoPlayers.length !== 0) {
for (let i = 0; i < videoPlayers.length; i++) { for (let i = 0; i < videoPlayers.length; i++) {
videoPlayers[i].on('enterfullscreen', function(e) { videoPlayers[i].on('enterfullscreen', function(e) {
galleryVideos[i].classList.add('gallery__video--full-screen'); galleryVideos[i].classList.add('gallery__video--full-screen');
}); });
videoPlayers[i].on('exitfullscreen', function(e) { videoPlayers[i].on('exitfullscreen', function(e) {
galleryVideos[i].classList.remove('gallery__video--full-screen'); galleryVideos[i].classList.remove('gallery__video--full-screen');
}); });
} }
} }
} }
// HEADER BAR ANIMATION // // HEADER BAR ANIMATION //
// Toggle header bar depending on scroll offset // Toggle header bar depending on scroll offset
function toggleHeaderBar() { function toggleHeaderBar() {
if (headerBar && headerLogo) { if (headerBar && headerLogo) {
let headerBarHeight = headerBar.getBoundingClientRect().height; let headerBarHeight = headerBar.getBoundingClientRect().height;
if (window.pageYOffset > headerBarHeight) { // Scroll down past header bar height if (window.pageYOffset > headerBarHeight) { // Scroll down past header bar height
headerBar.classList.add('header-bar--fixed'); headerBar.classList.add('header-bar--fixed');
headerLogo.classList.add('header-bar__logo--small'); headerLogo.classList.add('header-bar__logo--small');
} else if (window.pageYOffset <= 0) { } else if (window.pageYOffset <= 0) {
headerBar.classList.remove('header-bar--fixed'); headerBar.classList.remove('header-bar--fixed');
headerLogo.classList.remove('header-bar__logo--small'); headerLogo.classList.remove('header-bar__logo--small');
headerBar.classList.remove('header-bar--visible'); headerBar.classList.remove('header-bar--visible');
} }
if (headerBar.classList.contains('header-bar--fixed')) { if (headerBar.classList.contains('header-bar--fixed')) {
if (scrollOffset < window.pageYOffset) { // Scroll down if (scrollOffset < window.pageYOffset) { // Scroll down
headerBar.classList.remove('header-bar--visible'); headerBar.classList.remove('header-bar--visible');
} else if (scrollOffset > window.pageYOffset) { // Scroll up } else if (scrollOffset > window.pageYOffset) { // Scroll up
headerBar.classList.add('header-bar--visible'); headerBar.classList.add('header-bar--visible');
} }
scrollOffset = window.pageYOffset; scrollOffset = window.pageYOffset;
} }
} }
} }
// NAVIGATION MENU ANIMATION // // NAVIGATION MENU ANIMATION //
// Toggle header navigation // Toggle header navigation
function toggleHeaderNav() { function toggleHeaderNav() {
if (headerNavBtn && headerNavMenu) { if (headerNavBtn && headerNavMenu) {
headerNavBtn.classList.toggle('header-bar__nav-button--custom-focus'); headerNavBtn.classList.toggle('header-bar__nav-button--custom-focus');
headerNavMenu.classList.toggle('header-bar__nav-menu--visible'); headerNavMenu.classList.toggle('header-bar__nav-menu--visible');
headerNavOverlay.classList.toggle('header-bar__nav-overlay--visible'); headerNavOverlay.classList.toggle('header-bar__nav-overlay--visible');
document.body.classList.toggle('body--hidden-overflow-y'); document.body.classList.toggle('body--hidden-overflow-y');
} }
} }
// Open header navigation // Open header navigation
function openHeaderNav() { function openHeaderNav() {
if (headerNavBtn && headerNavMenu) { if (headerNavBtn && headerNavMenu) {
headerNavBtn.classList.add('header-bar__nav-button--custom-focus'); headerNavBtn.classList.add('header-bar__nav-button--custom-focus');
headerNavMenu.classList.add('header-bar__nav-menu--visible'); headerNavMenu.classList.add('header-bar__nav-menu--visible');
headerNavOverlay.classList.add('header-bar__nav-overlay--visible'); headerNavOverlay.classList.add('header-bar__nav-overlay--visible');
document.body.classList.add('body--hidden-overflow-y'); document.body.classList.add('body--hidden-overflow-y');
} }
} }
// Close header navigation // Close header navigation
function closeHeaderNav() { function closeHeaderNav() {
if (headerNavBtn && headerNavMenu) { if (headerNavBtn && headerNavMenu) {
headerNavBtn.classList.remove('header-bar__nav-button--custom-focus'); headerNavBtn.classList.remove('header-bar__nav-button--custom-focus');
headerNavMenu.classList.remove('header-bar__nav-menu--visible'); headerNavMenu.classList.remove('header-bar__nav-menu--visible');
headerNavOverlay.classList.remove('header-bar__nav-overlay--visible'); headerNavOverlay.classList.remove('header-bar__nav-overlay--visible');
document.body.classList.remove('body--hidden-overflow-y'); document.body.classList.remove('body--hidden-overflow-y');
} }
} }
// Toggle header navigation on button click event // Toggle header navigation on button click event
function toggleHeaderNavOnClick() { function toggleHeaderNavOnClick() {
headerNavBtn.addEventListener('click', toggleHeaderNav); headerNavBtn.addEventListener('click', toggleHeaderNav);
} }
// Close header navigation on document click event // Close header navigation on document click event
function closeHeaderNavOnClick() { function closeHeaderNavOnClick() {
document.addEventListener('click', function(e) { document.addEventListener('click', function(e) {
if (headerNavBtn.classList.contains('header-bar__nav-button--custom-focus') && headerNavMenu.classList.contains('header-bar__nav-menu--visible') && !headerNavBtn.contains(e.target) && !headerNavMenu.contains(e.target)) { if (headerNavBtn.classList.contains('header-bar__nav-button--custom-focus') && headerNavMenu.classList.contains('header-bar__nav-menu--visible') && !headerNavBtn.contains(e.target) && !headerNavMenu.contains(e.target)) {
closeHeaderNav(e); closeHeaderNav(e);
if (e.cancelable) { if (e.cancelable) {
e.preventDefault(); e.preventDefault();
} }
} }
}); });
} }
// Open header navigation on menu list focusin event // Open header navigation on menu list focusin event
function openHeaderNavBeforeFocus() { function openHeaderNavBeforeFocus() {
if (headerNavMenuListEls) { if (headerNavMenuListEls) {
for (let i = 0; i < headerNavMenuListEls.length; i++) { for (let i = 0; i < headerNavMenuListEls.length; i++) {
headerNavMenuListEls[i].addEventListener('focusin', openHeaderNav); headerNavMenuListEls[i].addEventListener('focusin', openHeaderNav);
} }
} }
} }
// Close header navigation on menu list focusout event // Close header navigation on menu list focusout event
function closeHeaderNavAfterFocus() { function closeHeaderNavAfterFocus() {
if (headerNavMenuListEls) { if (headerNavMenuListEls) {
for (let i = 0; i < headerNavMenuListEls.length; i++) { for (let i = 0; i < headerNavMenuListEls.length; i++) {
headerNavMenuListEls[i].addEventListener('focusout', closeHeaderNav); headerNavMenuListEls[i].addEventListener('focusout', closeHeaderNav);
} }
} }
} }
// Close header navigation on touchstart and touchmove events (swipe right) // Close header navigation on touchstart and touchmove events (swipe right)
@ -341,11 +341,11 @@ document.addEventListener("touchstart", function() {},false);
// HOME NAVIGATION DISPLAY // // HOME NAVIGATION DISPLAY //
window.addEventListener('load', function() { window.addEventListener('load', function() {
curveNavLinks(); curveNavLinks();
setNavItemTranslationProperty(); setNavItemTranslationProperty();
setNavGridDisplay(); setNavGridDisplay();
editNavLinksOnResize(); editNavLinksOnResize();
waveNavLinksOnHover(); waveNavLinksOnHover();
}); });
// VIDEO PLAYERS // // VIDEO PLAYERS //
@ -356,7 +356,7 @@ toggleVideosFullScreen();
// HEADER BAR ANIMATION // // HEADER BAR ANIMATION //
document.addEventListener('scroll', function() { document.addEventListener('scroll', function() {
toggleHeaderBar(); toggleHeaderBar();
}); });
// NAVIGATION MENU ANIMATION // // NAVIGATION MENU ANIMATION //

View file

@ -1,30 +1,30 @@
{ {
"name": "paulnicoue/xiaowang", "name": "paulnicoue/xiaowang",
"description": "Xiao Wang", "description": "Xiao Wang",
"type": "project", "type": "project",
"homepage": "https://xiaowang.fr", "homepage": "https://xiaowang.fr",
"authors": [ "authors": [
{ {
"name": "Paul Nicoué", "name": "Paul Nicoué",
"email": "contact@paulnicoue.com", "email": "contact@paulnicoue.com",
"homepage": "https://paulnicoue.com" "homepage": "https://paulnicoue.com"
} }
], ],
"require": { "require": {
"php": ">=7.3.0 <8.1.0", "php": ">=7.3.0 <8.1.0",
"getkirby/cms": "^3.5", "getkirby/cms": "^3.5",
"amteich/kirby-twig": "^4.1", "amteich/kirby-twig": "^4.1",
"sylvainjule/matomo": "^1.0", "sylvainjule/matomo": "^1.0",
"kirbyzone/sitemapper": "^1.2", "kirbyzone/sitemapper": "^1.2",
"mullema/k3-image-clip": "^3.0" "mullema/k3-image-clip": "^3.0"
}, },
"scripts": { "scripts": {
"start": [ "start": [
"Composer\\Config::disableProcessTimeout", "Composer\\Config::disableProcessTimeout",
"@php -S localhost:8000 kirby/router.php" "@php -S localhost:8000 kirby/router.php"
] ]
}, },
"config": { "config": {
"optimize-autoloader": true "optimize-autoloader": true
} }
} }

2280
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,34 +1,34 @@
title: Artwork title: Artwork
accept: accept:
mime: image/jpeg, image/png, video/mp4 mime: image/jpeg, image/png, video/mp4
fields: fields:
alt_text: alt_text:
when: when:
file_type: image file_type: image
label: label:
en: Alternative text en: Alternative text
fr: Texte alternatif fr: Texte alternatif
type: text type: text
poster: poster:
when: when:
file_type: video file_type: video
label: label:
en: Poster en: Poster
fr: Vignette fr: Vignette
type: files type: files
uploads: image uploads: image
layout: cards layout: cards
image: image:
ratio: 16/9 ratio: 16/9
cover: true cover: true
back: white back: white
multiple: false multiple: false
help: help:
en: "Image displayed before video playback (format: JPEG or PNG). The first image of the video is used if this field is empty." en: "Image displayed before video playback (format: JPEG or PNG). The first image of the video is used if this field is empty."
fr: "Image affichée avant la lecture de la vidéo (format : JPEG ou PNG). La première image de la vidéo est utilisée si ce champ est vide." fr: "Image affichée avant la lecture de la vidéo (format : JPEG ou PNG). La première image de la vidéo est utilisée si ce champ est vide."
width: 1/4 width: 1/4
caption: caption:
label: label:
en: Caption en: Caption
fr: Légende fr: Légende
type: text type: text

View file

@ -1,14 +1,14 @@
title: Image title: Image
accept: accept:
mime: image/jpeg, image/png mime: image/jpeg, image/png
fields: fields:
alt_text: alt_text:
label: label:
en: Alternative text en: Alternative text
fr: Texte alternatif fr: Texte alternatif
type: text type: text
caption: caption:
label: label:
en: Caption en: Caption
fr: Légende fr: Légende
type: text type: text

View file

@ -1,21 +1,21 @@
title: title:
en: Biography en: Biography
fr: Biographie fr: Biographie
icon: text icon: text
status: status:
draft: true draft: true
unlisted: true unlisted: true
options: options:
changeSlug: changeSlug:
admin: true admin: true
editor: false editor: false
changeStatus: false changeStatus: false
changeTemplate: false changeTemplate: false
changeTitle: changeTitle:
admin: true admin: true
editor: false editor: false
delete: false delete: false
duplicate: false duplicate: false
tabs: tabs:
content: tabs/biography_content content: tabs/biography_content
seo: tabs/biography_seo seo: tabs/biography_seo

View file

@ -1,5 +1,5 @@
title: title:
en: Error en: Error
fr: Erreur fr: Erreur
options: options:
read: false read: false

View file

@ -1,10 +1,10 @@
title: title:
en: Gallery en: Gallery
fr: Galerie fr: Galerie
icon: file-image icon: file-image
status: status:
draft: true draft: true
listed: true listed: true
tabs: tabs:
content: tabs/gallery_content content: tabs/gallery_content
seo: tabs/gallery_seo seo: tabs/gallery_seo

View file

@ -1,21 +1,21 @@
title: title:
en: Home en: Home
fr: Accueil fr: Accueil
icon: home icon: home
status: status:
draft: true draft: true
unlisted: true unlisted: true
options: options:
changeSlug: changeSlug:
admin: true admin: true
editor: false editor: false
changeStatus: false changeStatus: false
changeTemplate: false changeTemplate: false
changeTitle: changeTitle:
admin: true admin: true
editor: false editor: false
delete: false delete: false
duplicate: false duplicate: false
tabs: tabs:
content: tabs/home_content content: tabs/home_content
seo: tabs/home_seo seo: tabs/home_seo

View file

@ -1,20 +1,20 @@
type: fields type: fields
fields: fields:
text: text:
label: label:
en: Presentation text en: Presentation text
fr: Texte de présentation fr: Texte de présentation
type: textarea type: textarea
required: true required: true
size: large size: large
buttons: buttons:
- headlines - headlines
- '|' - '|'
- bold - bold
- italic - italic
- '|' - '|'
- link - link
- email - email
- '|' - '|'
- ul - ul
- '|' - '|'

View file

@ -1,6 +1,6 @@
headline: headline:
en: Artworks en: Artworks
fr: Œuvres fr: Œuvres
type: files type: files
template: artwork template: artwork
min: 1 min: 1
@ -8,5 +8,5 @@ layout: cards
size: small size: small
limit: 40 limit: 40
image: image:
ratio: 1/1 ratio: 1/1
back: white back: white

View file

@ -1,19 +1,19 @@
type: fields type: fields
fields: fields:
text: text:
label: label:
en: Introduction text en: Introduction text
fr: Texte d'introduction fr: Texte d'introduction
type: textarea type: textarea
size: medium size: medium
buttons: buttons:
- headlines - headlines
- '|' - '|'
- bold - bold
- italic - italic
- '|' - '|'
- link - link
- email - email
- '|' - '|'
- ul - ul
- '|' - '|'

View file

@ -1,43 +1,43 @@
type: fields type: fields
fields: fields:
meta_description: meta_description:
label: label:
en: Meta description en: Meta description
fr: Méta description fr: Méta description
type: textarea type: textarea
size: small size: small
buttons: false buttons: false
help: help:
en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters). Home page meta description is used if this field is empty." en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters). Home page meta description is used if this field is empty."
fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères). La méta description de la page d'accueil est utilisée si ce champ est vide." fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères). La méta description de la page d'accueil est utilisée si ce champ est vide."
width: 3/4 width: 3/4
gap: gap:
type: gap type: gap
width: 1/4 width: 1/4
meta_image: meta_image:
label: label:
en: Meta image en: Meta image
fr: Méta image fr: Méta image
type: image-clip type: image-clip
query: page.images query: page.images
uploads: image uploads: image
layout: cards layout: cards
image: image:
cover: true cover: true
back: white back: white
multiple: false multiple: false
clip: clip:
minwidth: 1200 minwidth: 1200
minheight: 675 minheight: 675
ratio: fixed ratio: fixed
help: help:
en: "Image displayed by social networks (format: JPEG or PNG). Home page meta image is used if this field is empty." en: "Image displayed by social networks (format: JPEG or PNG). Home page meta image is used if this field is empty."
fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG). La méta image de la page d'accueil est utilisée si ce champ est vide." fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG). La méta image de la page d'accueil est utilisée si ce champ est vide."
width: 1/4 width: 1/4
# Hidden fields # Hidden fields
og_type: og_type:
type: hidden type: hidden
default: article default: article
twitter_card_type: twitter_card_type:
type: hidden type: hidden
default: summary_large_image default: summary_large_image

View file

@ -1,6 +1,6 @@
headline: headline:
en: Background image en: Background image
fr: Image de fond fr: Image de fond
type: files type: files
template: image template: image
min: 1 min: 1
@ -8,5 +8,5 @@ max: 1
layout: cards layout: cards
size: medium size: medium
image: image:
ratio: 1/1 ratio: 1/1
back: white back: white

View file

@ -1,18 +1,18 @@
headline: headline:
en: Contact and social networks en: Contact and social networks
fr: Contact et réseaux sociaux fr: Contact et réseaux sociaux
type: fields type: fields
fields: fields:
email: email:
label: label:
en: Email en: Email
fr: Adresse e-mail fr: Adresse e-mail
type: email type: email
required: true required: true
instagram: instagram:
type: url type: url
label: label:
en: Instagram account en: Instagram account
fr: Compte Instagram fr: Compte Instagram
icon: instagram icon: instagram
required: true required: true

View file

@ -1,44 +1,44 @@
type: fields type: fields
fields: fields:
meta_description: meta_description:
label: label:
en: Meta description en: Meta description
fr: Méta description fr: Méta description
type: textarea type: textarea
size: small size: small
buttons: false buttons: false
required: true required: true
help: help:
en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters)." en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters)."
fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères)." fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères)."
width: 3/4 width: 3/4
gap: gap:
type: gap type: gap
width: 1/4 width: 1/4
meta_image: meta_image:
label: label:
en: Meta image en: Meta image
fr: Méta image fr: Méta image
type: image-clip type: image-clip
query: page.images query: page.images
layout: cards layout: cards
image: image:
cover: true cover: true
back: white back: white
multiple: false multiple: false
required: true required: true
clip: clip:
minwidth: 1200 minwidth: 1200
minheight: 675 minheight: 675
ratio: fixed ratio: fixed
help: help:
en: "Image displayed by social networks (format: JPEG or PNG)." en: "Image displayed by social networks (format: JPEG or PNG)."
fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG)." fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG)."
width: 1/4 width: 1/4
# Hidden fields # Hidden fields
og_type: og_type:
type: hidden type: hidden
default: website default: website
twitter_card_type: twitter_card_type:
type: hidden type: hidden
default: summary_large_image default: summary_large_image

View file

@ -1,6 +1,6 @@
headline: headline:
en: Galleries en: Galleries
fr: Galeries fr: Galeries
type: pages type: pages
template: gallery template: gallery
min: 2 min: 2
@ -8,7 +8,7 @@ max: 4
layout: cards layout: cards
size: small size: small
image: image:
ratio: 1/1 ratio: 1/1
cover: true cover: true
query: page.images.template('artwork').sortBy('sort').first query: page.images.template('artwork').sortBy('sort').first
back: white back: white

View file

@ -1,14 +1,14 @@
headline: headline:
en: Pages en: Pages
fr: Pages fr: Pages
type: pages type: pages
templates: templates:
- home - home
- biography - biography
sortBy: title asc sortBy: title asc
create: false create: false
layout: cardlets layout: cardlets
image: image:
cover: true cover: true
query: page.images.template('image').first query: page.images.template('image').first
back: white back: white

View file

@ -1,6 +1,6 @@
label: label:
en: Content en: Content
fr: Contenu fr: Contenu
icon: text icon: text
sections: sections:
presentation: sections/biography_content_presentation presentation: sections/biography_content_presentation

View file

@ -1,6 +1,6 @@
label: label:
en: SEO en: SEO
fr: Référencement fr: Référencement
icon: search icon: search
sections: sections:
seo_basic_meta: sections/generic_seo_metadata seo_basic_meta: sections/generic_seo_metadata

View file

@ -1,7 +1,7 @@
label: label:
en: Content en: Content
fr: Contenu fr: Contenu
icon: text icon: text
sections: sections:
introduction: sections/gallery_content_introduction introduction: sections/gallery_content_introduction
artworks: sections/gallery_content_artworks artworks: sections/gallery_content_artworks

View file

@ -1,6 +1,6 @@
label: label:
en: SEO en: SEO
fr: Référencement fr: Référencement
icon: search icon: search
sections: sections:
seo_basic_meta: sections/generic_seo_metadata seo_basic_meta: sections/generic_seo_metadata

View file

@ -1,11 +1,11 @@
label: label:
en: Content en: Content
fr: Contenu fr: Contenu
icon: text icon: text
columns: columns:
- width: 1/2 - width: 1/2
sections: sections:
background_image: sections/home_content_background_image background_image: sections/home_content_background_image
- width: 1/2 - width: 1/2
sections: sections:
contact: sections/home_content_contact contact: sections/home_content_contact

View file

@ -1,6 +1,6 @@
label: label:
en: SEO en: SEO
fr: Référencement fr: Référencement
icon: search icon: search
sections: sections:
seo_basic_meta: sections/home_seo_metadata seo_basic_meta: sections/home_seo_metadata

View file

@ -1,15 +1,15 @@
label: label:
en: Analytics en: Analytics
fr: Audience fr: Audience
icon: chart icon: chart
columns: columns:
- width: 1/4 - width: 1/4
sticky: true sticky: true
sections: sections:
sidebar: sidebar:
type: matomo-sidebar type: matomo-sidebar
link: false link: false
- width: 3/4 - width: 3/4
sections: sections:
main: main:
type: matomo-main type: matomo-main

View file

@ -1,12 +1,12 @@
label: label:
en: Website en: Website
fr: Site web fr: Site web
icon: home icon: home
columns: columns:
- width: 1/4 - width: 1/4
sticky: true sticky: true
sections: sections:
pages: sections/site_content_pages pages: sections/site_content_pages
- width: 3/4 - width: 3/4
sections: sections:
galleries: sections/site_content_galleries galleries: sections/site_content_galleries

View file

@ -1,18 +1,15 @@
title: title:
en: Administrator en: Administrator
fr: Administrateur·ice fr: Administrateur·ice
description: description:
en: The Administrator has all rights en: The Administrator has all rights
fr: L'Administrateur·ice dispose de tous les droits fr: L'Administrateur·ice dispose de tous les droits
sections: sections:
info: info:
headline: headline:
en: Website en: Website
fr: Site internet fr: Site internet
theme: none theme: none
width: 1/2 width: 1/2
text: text: |
en: | (link: https://paulnicoue.com text: paulnicoue.com target: _blank)
(link: https://paulnicoue.com text: paulnicoue.com target: _blank)
fr: |
(link: https://www.paulnicoue.com text: paulnicoue.com target: _blank)

View file

@ -1,29 +1,29 @@
title: title:
en: Editor en: Editor
fr: Éditeur·ice fr: Éditeur·ice
description: description:
en: The Editor can create and edit pages en: The Editor can create and edit pages
fr: L'éditeur·ice peut créer et modifier des pages fr: L'éditeur·ice peut créer et modifier des pages
permissions: permissions:
access: access:
settings: false settings: false
languages: languages:
create: false create: false
delete: false delete: false
site: site:
changeTitle: false changeTitle: false
user: user:
changeRole: false changeRole: false
delete: false delete: false
users: users:
changeEmail: false changeEmail: false
changeLanguage: false changeLanguage: false
changeName: false changeName: false
changePassword: false changePassword: false
changeRole: false changeRole: false
create: false create: false
delete: false delete: false
update: false update: false
sections: sections:
info: false info: false

View file

@ -1,41 +1,41 @@
<?php <?php
return [ return [
// Kirby configuration settings // Kirby configuration settings
'home' => 'accueil', 'home' => 'accueil',
'error' => 'erreur', 'error' => 'erreur',
'panel' => [ 'panel' => [
'language' => 'fr', 'language' => 'fr',
'css' => 'assets/css/panel.min.css' 'css' => 'assets/css/panel.min.css'
], ],
// Sitemapper plugin options // Sitemapper plugin options
'kirbyzone.sitemapper' => [ 'kirbyzone.sitemapper' => [
'intro' => false, 'intro' => false,
'byLine' => 'Sitemap generated with <a href="https://github.com/kirbyzone/sitemapper" target="_blank">Sitemapper by Kirbyzone</a>.' 'byLine' => 'Sitemap generated with <a href="https://github.com/kirbyzone/sitemapper" target="_blank">Sitemapper by Kirbyzone</a>.'
], ],
// Hooks // Hooks
'hooks' => [ 'hooks' => [
'file.create:after' => function($file) { 'file.create:after' => function($file) {
// Populate file_type field with $file->type() method after file creation // Populate file_type field with $file->type() method after file creation
if ($file->type()) { if ($file->type()) {
$file->update([ $file->update([
'file_type' => $file->type() 'file_type' => $file->type()
]); ]);
} }
}, },
'kirbytext:after' => function (string $text) { 'kirbytext:after' => function (string $text) {
// Replace any HTML <h1> or <h2> tag by <h3> tag after Markdown parsing // Replace any HTML <h1> or <h2> tag by <h3> tag after Markdown parsing
return preg_replace(['/<h1>|<h2>/', '/<\/h1>|<\/h2>/'], ['<h3>', '</h3>'], $text); return preg_replace(['/<h1>|<h2>/', '/<\/h1>|<\/h2>/'], ['<h3>', '</h3>'], $text);
} }
], ],
// Thumbnails and srcsets presets // Thumbnails and srcsets presets
'thumbs' => [ 'thumbs' => [
'srcsets' => [ 'srcsets' => [
'default' => [ 'default' => [
'640w' => ['width' => 640, 'quality' => 80], '640w' => ['width' => 640, 'quality' => 80],
'1280w' => ['width' => 1280, 'quality' => 80], '1280w' => ['width' => 1280, 'quality' => 80],
'1920w' => ['width' => 1920, 'quality' => 80] '1920w' => ['width' => 1920, 'quality' => 80]
] ]
] ]
] ]
]; ];

View file

@ -1,4 +1,3 @@
<!-- Favicon -->
<link rel="icon" sizes="any" href="assets/favicon/xiao-wang-favicon.ico"> <link rel="icon" sizes="any" href="assets/favicon/xiao-wang-favicon.ico">
<link rel="icon" type="image/svg+xml" href="assets/favicon/xiao-wang-favicon.svg"> <link rel="icon" type="image/svg+xml" href="assets/favicon/xiao-wang-favicon.svg">
<link rel="apple-touch-icon" href="assets/favicon/xiao-wang-apple-touch-icon.png"> <link rel="apple-touch-icon" href="assets/favicon/xiao-wang-apple-touch-icon.png">

View file

@ -1,16 +1,16 @@
<!-- Basic metadata --> {# Basic metadata #}
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width"> <meta name="viewport" content="width=device-width">
<html lang="fr"> <html lang="fr">
<!-- Schema --> {# Schema #}
<style itemscope itemtype="https://schema.org/WebSite" itemref="schema_name schema_description schema_image"></style> <style itemscope itemtype="https://schema.org/WebSite" itemref="schema_name schema_description schema_image"></style>
<!-- Title --> {# Title #}
<title>{{ site.title }} | {{ page.title }}</title> <title>{{ site.title }} | {{ page.title }}</title>
<meta id="schema_name" itemprop="name" content="{{ site.title }} | {{ page.title }}"> <meta id="schema_name" itemprop="name" content="{{ site.title }} | {{ page.title }}">
<!-- Description --> {# Description #}
{% if page.meta_description is not empty %} {% if page.meta_description is not empty %}
<meta name="description" content="{{ page.meta_description }}"> <meta name="description" content="{{ page.meta_description }}">
<meta id="schema_description" itemprop="description" content="{{ page.meta_description }}"> <meta id="schema_description" itemprop="description" content="{{ page.meta_description }}">
@ -19,16 +19,16 @@
<meta id="schema_description" itemprop="description" content="{{ site.homePage.meta_description }}"> <meta id="schema_description" itemprop="description" content="{{ site.homePage.meta_description }}">
{% endif %} {% endif %}
<!-- Canonical URL --> {# Canonical URL #}
<link rel="canonical" href="{{ page.url }}"> <link rel="canonical" href="{{ page.url }}">
<!-- Author --> {# Author #}
<meta name="author" content="{{ site.title }}"> <meta name="author" content="{{ site.title }}">
<!-- Date --> {# Date #}
<meta name="date" content="{{ page.modified('Y-m-d') }}"> <meta name="date" content="{{ page.modified('Y-m-d') }}">
<!-- Image --> {# Image #}
{% if page.meta_image is not empty %} {% if page.meta_image is not empty %}
<meta id="schema_image" itemprop="image" content="{{ page.meta_image.toImage.url }}"> <meta id="schema_image" itemprop="image" content="{{ page.meta_image.toImage.url }}">
{% elseif site.homePage.meta_image is not empty %} {% elseif site.homePage.meta_image is not empty %}
@ -37,7 +37,7 @@
{% if page.template != 'error' %} {% if page.template != 'error' %}
<!-- Open Graph --> {# Open Graph #}
<meta property="og:title" content="{{ site.title ~ ' | ' ~ page.title }}"> <meta property="og:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %} {% if page.meta_description is not empty %}
<meta property="og:description" content="{{ page.meta_description }}"> <meta property="og:description" content="{{ page.meta_description }}">
@ -56,7 +56,7 @@
<meta property="og:url" content="{{ page.url }}"> <meta property="og:url" content="{{ page.url }}">
<meta property="og:type" content="{{ page.og_type }}"> <meta property="og:type" content="{{ page.og_type }}">
<!-- Twitter Card --> {# Twitter Card #}
<meta name="twitter:card" content="{{ page.twitter_card_type.value }}"> <meta name="twitter:card" content="{{ page.twitter_card_type.value }}">
<meta name="twitter:title" content="{{ site.title ~ ' | ' ~ page.title }}"> <meta name="twitter:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %} {% if page.meta_description is not empty %}

View file

@ -4,148 +4,148 @@
<head> <head>
{{ snippet('metadata') }} {{ snippet('metadata') }}
{{ snippet('favicon') }} {{ snippet('favicon') }}
<!-- Matomo --> <!-- Matomo -->
<script> <script>
var _paq = window._paq = window._paq || []; var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']); _paq.push(['disableCookies']);
_paq.push(['trackPageView']); _paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']); _paq.push(['enableLinkTracking']);
(function() { (function() {
var u="//matomo.paulnicoue.com/"; var u="//matomo.paulnicoue.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '2']); _paq.push(['setSiteId', '2']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})(); })();
</script> </script>
<!-- Stylesheets --> <!-- Stylesheets -->
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}">
{% endblock %} {% endblock %}
</head> </head>
<body> <body>
{% block header %} {% block header %}
<header> <header>
<div class="header-bar"> <div class="header-bar">
<div class="header-bar__logo" aria-hidden="true"> <div class="header-bar__logo" aria-hidden="true">
<a class="header-bar__logo-link" href="{{ site.homePage.url }}" target="_self" aria-label="Accéder à la page d'accueil de {{ site.title }}" tabindex="-1"> <a class="header-bar__logo-link" href="{{ site.homePage.url }}" target="_self" aria-label="Accéder à la page d'accueil de {{ site.title }}" tabindex="-1">
<h1 class="header-bar__logo-title">{{ site.title }}</h1> <h1 class="header-bar__logo-title">{{ site.title }}</h1>
</a> </a>
</div> </div>
<nav class="header-bar__nav" aria-label="Menu"> <nav class="header-bar__nav" aria-label="Menu">
<button class="header-bar__nav-button" aria-hidden="true" tabindex="-1"> <button class="header-bar__nav-button" aria-hidden="true" tabindex="-1">
<svg viewBox="0 0 48 48" fill="currentColor"> <svg viewBox="0 0 48 48" fill="currentColor">
<path d="M7.5 36Q6.85 36 6.425 35.575Q6 35.15 6 34.5Q6 33.85 6.425 33.425Q6.85 33 7.5 33H30.5Q31.15 33 31.575 33.425Q32 33.85 32 34.5Q32 35.15 31.575 35.575Q31.15 36 30.5 36ZM7.5 25.4Q6.85 25.4 6.425 24.975Q6 24.55 6 23.9Q6 23.25 6.425 22.825Q6.85 22.4 7.5 22.4H24.5Q25.15 22.4 25.575 22.825Q26 23.25 26 23.9Q26 24.55 25.575 24.975Q25.15 25.4 24.5 25.4ZM7.5 15Q6.85 15 6.425 14.575Q6 14.15 6 13.5Q6 12.85 6.425 12.425Q6.85 12 7.5 12H30.5Q31.15 12 31.575 12.425Q32 12.85 32 13.5Q32 14.15 31.575 14.575Q31.15 15 30.5 15ZM34.75 23.95 41 30.2Q41.45 30.65 41.425 31.25Q41.4 31.85 40.95 32.3Q40.5 32.75 39.875 32.75Q39.25 32.75 38.8 32.3L31.5 25Q31.05 24.55 31.05 23.95Q31.05 23.35 31.5 22.9L38.8 15.6Q39.25 15.15 39.875 15.15Q40.5 15.15 40.95 15.6Q41.4 16.05 41.4 16.675Q41.4 17.3 40.95 17.75Z"/> <path d="M7.5 36Q6.85 36 6.425 35.575Q6 35.15 6 34.5Q6 33.85 6.425 33.425Q6.85 33 7.5 33H30.5Q31.15 33 31.575 33.425Q32 33.85 32 34.5Q32 35.15 31.575 35.575Q31.15 36 30.5 36ZM7.5 25.4Q6.85 25.4 6.425 24.975Q6 24.55 6 23.9Q6 23.25 6.425 22.825Q6.85 22.4 7.5 22.4H24.5Q25.15 22.4 25.575 22.825Q26 23.25 26 23.9Q26 24.55 25.575 24.975Q25.15 25.4 24.5 25.4ZM7.5 15Q6.85 15 6.425 14.575Q6 14.15 6 13.5Q6 12.85 6.425 12.425Q6.85 12 7.5 12H30.5Q31.15 12 31.575 12.425Q32 12.85 32 13.5Q32 14.15 31.575 14.575Q31.15 15 30.5 15ZM34.75 23.95 41 30.2Q41.45 30.65 41.425 31.25Q41.4 31.85 40.95 32.3Q40.5 32.75 39.875 32.75Q39.25 32.75 38.8 32.3L31.5 25Q31.05 24.55 31.05 23.95Q31.05 23.35 31.5 22.9L38.8 15.6Q39.25 15.15 39.875 15.15Q40.5 15.15 40.95 15.6Q41.4 16.05 41.4 16.675Q41.4 17.3 40.95 17.75Z"/>
</svg> </svg>
<svg viewBox="0 0 48 48" fill="currentColor"> <svg viewBox="0 0 48 48" fill="currentColor">
<path d="M24 26.1 13.5 36.6Q13.05 37.05 12.45 37.05Q11.85 37.05 11.4 36.6Q10.95 36.15 10.95 35.55Q10.95 34.95 11.4 34.5L21.9 24L11.4 13.5Q10.95 13.05 10.95 12.45Q10.95 11.85 11.4 11.4Q11.85 10.95 12.45 10.95Q13.05 10.95 13.5 11.4L24 21.9L34.5 11.4Q34.95 10.95 35.55 10.95Q36.15 10.95 36.6 11.4Q37.05 11.85 37.05 12.45Q37.05 13.05 36.6 13.5L26.1 24L36.6 34.5Q37.05 34.95 37.05 35.55Q37.05 36.15 36.6 36.6Q36.15 37.05 35.55 37.05Q34.95 37.05 34.5 36.6Z"/> <path d="M24 26.1 13.5 36.6Q13.05 37.05 12.45 37.05Q11.85 37.05 11.4 36.6Q10.95 36.15 10.95 35.55Q10.95 34.95 11.4 34.5L21.9 24L11.4 13.5Q10.95 13.05 10.95 12.45Q10.95 11.85 11.4 11.4Q11.85 10.95 12.45 10.95Q13.05 10.95 13.5 11.4L24 21.9L34.5 11.4Q34.95 10.95 35.55 10.95Q36.15 10.95 36.6 11.4Q37.05 11.85 37.05 12.45Q37.05 13.05 36.6 13.5L26.1 24L36.6 34.5Q37.05 34.95 37.05 35.55Q37.05 36.15 36.6 36.6Q36.15 37.05 35.55 37.05Q34.95 37.05 34.5 36.6Z"/>
</svg> </svg>
</button> </button>
<ul class="header-bar__nav-menu" tabindex="-1"> <ul class="header-bar__nav-menu" tabindex="-1">
{% set headerNavItemNo = 1 %} {% set headerNavItemNo = 1 %}
{% if site.homePage.isActive %} {% if site.homePage.isActive %}
<li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active"> <li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active">
<div> <div>
<a href="{{ site.homePage.url }}" target="_self" aria-current="page">{{ site.homePage.title }}</a> <a href="{{ site.homePage.url }}" target="_self" aria-current="page">{{ site.homePage.title }}</a>
</div> </div>
</li> </li>
{% else %} {% else %}
<li class="header-bar__nav-item-{{ headerNavItemNo }}"> <li class="header-bar__nav-item-{{ headerNavItemNo }}">
<div> <div>
<a href="{{ site.homePage.url }}" target="_self">{{ site.homePage.title }}</a> <a href="{{ site.homePage.url }}" target="_self">{{ site.homePage.title }}</a>
</div> </div>
</li> </li>
{% endif %} {% endif %}
{% set headerNavItemNo = headerNavItemNo + 1 %} {% set headerNavItemNo = headerNavItemNo + 1 %}
{% if pages.template('biography').first.isActive %} {% if pages.template('biography').first.isActive %}
<li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active"> <li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active">
<div> <div>
<a href="{{ pages.template('biography').first.url }}" target="_self" aria-current="page">{{ pages.template('biography').first.title }}</a> <a href="{{ pages.template('biography').first.url }}" target="_self" aria-current="page">{{ pages.template('biography').first.title }}</a>
</div> </div>
</li> </li>
{% else %} {% else %}
<li class="header-bar__nav-item-{{ headerNavItemNo }}"> <li class="header-bar__nav-item-{{ headerNavItemNo }}">
<div> <div>
<a href="{{ pages.template('biography').first.url }}" target="_self">{{ pages.template('biography').first.title }}</a> <a href="{{ pages.template('biography').first.url }}" target="_self">{{ pages.template('biography').first.title }}</a>
</div> </div>
</li> </li>
{% endif %} {% endif %}
{% set headerNavItemNo = headerNavItemNo + 1 %} {% set headerNavItemNo = headerNavItemNo + 1 %}
<li class="header-bar__nav-item-{{ headerNavItemNo }}"> <li class="header-bar__nav-item-{{ headerNavItemNo }}">
<div> <div>
<span>Galeries</span> <span>Galeries</span>
</div> </div>
<ul> <ul>
{% for gallery in pages.template('gallery') %} {% for gallery in pages.template('gallery') %}
{% set headerNavItemNo = headerNavItemNo + 1 %} {% set headerNavItemNo = headerNavItemNo + 1 %}
{% if gallery.isActive %} {% if gallery.isActive %}
<li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active"> <li class="header-bar__nav-item-{{ headerNavItemNo }} header-bar__nav-item--active">
<div> <div>
<a href="{{ gallery.url }}" target="_self" aria-current="page">{{ gallery.title }}</a> <a href="{{ gallery.url }}" target="_self" aria-current="page">{{ gallery.title }}</a>
</div> </div>
</li> </li>
{% else %} {% else %}
<li class="header-bar__nav-item-{{ headerNavItemNo }}"> <li class="header-bar__nav-item-{{ headerNavItemNo }}">
<div> <div>
<a href="{{ gallery.url }}" target="_self">{{ gallery.title }}</a> <a href="{{ gallery.url }}" target="_self">{{ gallery.title }}</a>
</div> </div>
</li> </li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</ul> </ul>
</li> </li>
</ul> </ul>
<div class="header-bar__nav-overlay" aria-hidden="true"></div> <div class="header-bar__nav-overlay" aria-hidden="true"></div>
</nav> </nav>
</div> </div>
</header> </header>
{% endblock %} {% endblock %}
{% block main %} {% block main %}
{% endblock %} {% endblock %}
{% block footer %} {% block footer %}
<footer> <footer>
<div class="footer-bar"> <div class="footer-bar">
<div class="footer-bar__social"> <div class="footer-bar__social">
<a class="footer-bar__instagram-button" rel="me" href="{{ site.homePage.instagram }}" target="_blank" aria-label="Accéder au profil Instagram de {{ site.title }}"> <a class="footer-bar__instagram-button" rel="me" href="{{ site.homePage.instagram }}" target="_blank" aria-label="Accéder au profil Instagram de {{ site.title }}">
<svg aria-hidden="true" viewBox="0 0 24 24" fill="currentColor"> <svg aria-hidden="true" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/> <path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/>
</svg> </svg>
</a> </a>
<a class="footer-bar__email-button" href="mailto:{{ site.homePage.email }}" target="_blank" aria-label="Écrire un e-mail à {{ site.title }}"> <a class="footer-bar__email-button" href="mailto:{{ site.homePage.email }}" target="_blank" aria-label="Écrire un e-mail à {{ site.title }}">
<svg aria-hidden="true" viewBox="0 0 48 48" fill="currentColor"> <svg aria-hidden="true" viewBox="0 0 48 48" fill="currentColor">
<path d="M7 40Q5.8 40 4.9 39.1Q4 38.2 4 37V11Q4 9.8 4.9 8.9Q5.8 8 7 8H41Q42.2 8 43.1 8.9Q44 9.8 44 11V37Q44 38.2 43.1 39.1Q42.2 40 41 40ZM41 13.75 24.8 24.35Q24.6 24.45 24.425 24.525Q24.25 24.6 24 24.6Q23.75 24.6 23.575 24.525Q23.4 24.45 23.2 24.35L7 13.75V37Q7 37 7 37Q7 37 7 37H41Q41 37 41 37Q41 37 41 37ZM24 21.9 40.8 11H7.25ZM7 13.75V14.1Q7 13.95 7 13.7Q7 13.45 7 13.15Q7 12.5 7 12.125Q7 11.75 7 12.15V11V12.15Q7 11.75 7 12.1Q7 12.45 7 13.1Q7 13.4 7 13.675Q7 13.95 7 14.1V13.75V37Q7 37 7 37Q7 37 7 37Q7 37 7 37Q7 37 7 37Z"/> <path d="M7 40Q5.8 40 4.9 39.1Q4 38.2 4 37V11Q4 9.8 4.9 8.9Q5.8 8 7 8H41Q42.2 8 43.1 8.9Q44 9.8 44 11V37Q44 38.2 43.1 39.1Q42.2 40 41 40ZM41 13.75 24.8 24.35Q24.6 24.45 24.425 24.525Q24.25 24.6 24 24.6Q23.75 24.6 23.575 24.525Q23.4 24.45 23.2 24.35L7 13.75V37Q7 37 7 37Q7 37 7 37H41Q41 37 41 37Q41 37 41 37ZM24 21.9 40.8 11H7.25ZM7 13.75V14.1Q7 13.95 7 13.7Q7 13.45 7 13.15Q7 12.5 7 12.125Q7 11.75 7 12.15V11V12.15Q7 11.75 7 12.1Q7 12.45 7 13.1Q7 13.4 7 13.675Q7 13.95 7 14.1V13.75V37Q7 37 7 37Q7 37 7 37Q7 37 7 37Q7 37 7 37Z"/>
</svg> </svg>
</a> </a>
</div> </div>
<div class="footer-bar__copyright"> <div class="footer-bar__copyright">
<p>&copy; {{ 'now' | date('Y') }} {{ site.title }}</p> <p>&copy; {{ 'now' | date('Y') }} {{ site.title }}</p>
</div> </div>
</div> </div>
</footer> </footer>
{% endblock %} {% endblock %}
<!-- Scripts --> <!-- Scripts -->
{% block scripts %} {% block scripts %}
<script src="{{ asset('assets/js/app.js') }}"></script> <script src="{{ asset('assets/js/app.js') }}"></script>
{% endblock %} {% endblock %}
</body> </body>

View file

@ -1,16 +1,16 @@
{% extends "base.twig" %} {% extends "base.twig" %}
{% block main %} {% block main %}
<main> <main>
<section class="biography-section"> <section class="biography-section">
<article class="biography"> <article class="biography">
<h2 class="biography__title">{{ page.title }}</h2> <h2 class="biography__title">{{ page.title }}</h2>
<div class="biography__presentation">{{ page.text.kirbytext|raw }}</div> <div class="biography__presentation">{{ page.text.kirbytext|raw }}</div>
</article> </article>
</section> </section>
</main> </main>
{% endblock %} {% endblock %}

View file

@ -7,13 +7,13 @@
<article class="error"> <article class="error">
<h2 class="error__title">Erreur {{ kirby.response.code }}</h2> <h2 class="error__title">Erreur {{ kirby.response.code }}</h2>
{% if kirby.response.code == 404 %} {% if kirby.response.code == 404 %}
<p class="error__message">La page que vous demandez n'existe pas...</p> <p class="error__message">La page que vous demandez n'existe pas...</p>
{% else %} {% else %}
<p class="error__message">Une erreur est survenue...</p> <p class="error__message">Une erreur est survenue...</p>
{% endif %} {% endif %}
<div class="error__button"> <div class="error__button">
<a href="{{ site.homePage.url }}" target="_self">Retourner à la page d'accueil</a> <a href="{{ site.homePage.url }}" target="_self">Retourner à la page d'accueil</a>
</div> </div>
</article> </article>
</section> </section>

View file

@ -1,52 +1,52 @@
{% extends "base.twig" %} {% extends "base.twig" %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('assets/libraries/plyr.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/libraries/plyr.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}">
{% endblock %} {% endblock %}
{% block main %} {% block main %}
<main> <main>
<section class="gallery-section"> <section class="gallery-section">
<article class="gallery"> <article class="gallery">
<h2 class="gallery__title">{{ page.title }}</h2> <h2 class="gallery__title">{{ page.title }}</h2>
{% if page.text.isNotEmpty %} {% if page.text.isNotEmpty %}
<div class="gallery__introduction">{{ page.text.kirbytext|raw }}</div> <div class="gallery__introduction">{{ page.text.kirbytext|raw }}</div>
{% endif %} {% endif %}
{% if page.files.template("artwork").isNotEmpty %} {% if page.files.template("artwork").isNotEmpty %}
{% set artworks = page.files.template("artwork").sortBy('sort') %} {% set artworks = page.files.template("artwork").sortBy('sort') %}
{% for artwork in artworks %} {% for artwork in artworks %}
<figure class="gallery__artwork"> <figure class="gallery__artwork">
{% if artwork.type == 'video' %} {% if artwork.type == 'video' %}
{% if artwork.poster is not empty %} {% if artwork.poster is not empty %}
<video class="gallery__video" data-poster="{{ artwork.poster.toFile.url }}" preload="metadata" controls playsinline> <video class="gallery__video" data-poster="{{ artwork.poster.toFile.url }}" preload="metadata" controls playsinline>
<source src="{{ artwork.url }}" type="video/mp4"/> <source src="{{ artwork.url }}" type="video/mp4"/>
</video> </video>
{% else %} {% else %}
<video class="gallery__video" preload="metadata" controls playsinline> <video class="gallery__video" preload="metadata" controls playsinline>
<source src="{{ artwork.url }}" type="video/mp4"/> <source src="{{ artwork.url }}" type="video/mp4"/>
</video> </video>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if artwork.type == 'image' %} {% if artwork.type == 'image' %}
<img class="gallery__image" src="{{ artwork.url }}" srcset="{{ artwork.srcset() }}" alt="{{ artwork.alt_text }}"> <img class="gallery__image" src="{{ artwork.url }}" srcset="{{ artwork.srcset() }}" alt="{{ artwork.alt_text }}">
{% endif %} {% endif %}
{% if artwork.caption %} {% if artwork.caption %}
<figcaption>{{ artwork.caption }}</figcaption> <figcaption>{{ artwork.caption }}</figcaption>
{% endif %} {% endif %}
</figure> </figure>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</article> </article>
</section> </section>
</main> </main>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="{{ asset('assets/libraries/plyr.min.js') }}"></script> <script src="{{ asset('assets/libraries/plyr.min.js') }}"></script>
<script src="{{ asset('assets/js/app.js') }}"></script> <script src="{{ asset('assets/js/app.js') }}"></script>
{% endblock %} {% endblock %}

View file

@ -1,35 +1,35 @@
{% extends "base.twig" %} {% extends "base.twig" %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}">
{% endblock %} {% endblock %}
{% block main %} {% block main %}
<main> <main>
<section class="home-section" aria-hidden="true"> <section class="home-section" aria-hidden="true">
<div class="home"> <div class="home">
<nav class="home__nav" aria-label="Menu"> <nav class="home__nav" aria-label="Menu">
{% set navItemNo = 1 %} {% set navItemNo = 1 %}
{% for gallery in pages.template('gallery') %} {% for gallery in pages.template('gallery') %}
<div class="home__nav-item-{{ navItemNo }}"> <div class="home__nav-item-{{ navItemNo }}">
<a href="{{ gallery.url }}" target="_self" class="home__nav-link" tabindex="-1">{{ gallery.title }}</a> <a href="{{ gallery.url }}" target="_self" class="home__nav-link" tabindex="-1">{{ gallery.title }}</a>
</div> </div>
{% set navItemNo = navItemNo + 1 %} {% set navItemNo = navItemNo + 1 %}
{% endfor %} {% endfor %}
<div class="home__nav-image" aria-hidden="true"> <div class="home__nav-image" aria-hidden="true">
<img src="{{ page.images.template("image").first.url }}" srcset="{{ page.images.template("image").first.srcset() }}" alt="{{ page.images.template("image").first.alt_text }}"> <img src="{{ page.images.template("image").first.url }}" srcset="{{ page.images.template("image").first.srcset() }}" alt="{{ page.images.template("image").first.alt_text }}">
</div> </div>
</nav> </nav>
</div> </div>
</section> </section>
</main> </main>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="{{ asset('assets/libraries/circletype.min.js') }}"></script> <script src="{{ asset('assets/libraries/circletype.min.js') }}"></script>
<script src="{{ asset('assets/js/app.js') }}"></script> <script src="{{ asset('assets/js/app.js') }}"></script>
{% endblock %} {% endblock %}