diff --git a/web/themes/custom/leshed/assets/dist/main.css b/web/themes/custom/leshed/assets/dist/main.css
index b73d8e7..ee46cac 100644
Binary files a/web/themes/custom/leshed/assets/dist/main.css and b/web/themes/custom/leshed/assets/dist/main.css differ
diff --git a/web/themes/custom/leshed/assets/dist/main.js b/web/themes/custom/leshed/assets/dist/main.js
index b9cc38e..b2c7c57 100644
--- a/web/themes/custom/leshed/assets/dist/main.js
+++ b/web/themes/custom/leshed/assets/dist/main.js
@@ -1 +1 @@
-(function(i,e){(function(){e.path.isFront,console.log("drupalSettings",e);function t(){console.log("LeShedTheme init()"),n()}function n(){document.getElementById("burger-btn").parentElement.addEventListener("click",function(r){this.firstElementChild.toggleAttribute("opened"),this.firstElementChild.nextElementSibling.toggleAttribute("opened")})}t()})()})(Drupal,drupalSettings);
+var tn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function en(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var H={exports:{}};(function(h,D){(function(w,y){h.exports=y()})(tn,function(){var w=document,y=w.createTextNode.bind(w);function b(n,t,e){n.style.setProperty(t,e)}function T(n,t){return n.appendChild(t)}function m(n,t,e,o){var r=w.createElement("span");return t&&(r.className=t),e&&(!o&&r.setAttribute("data-"+t,e),r.textContent=e),n&&T(n,r)||r}function g(n,t){return n.getAttribute("data-"+t)}function f(n,t){return!n||n.length==0?[]:n.nodeName?[n]:[].slice.call(n[0].nodeName?n:(t||w).querySelectorAll(n))}function P(n){for(var t=[];n--;)t[n]=[];return t}function c(n,t){n&&n.some(t)}function E(n){return function(t){return n[t]}}function A(n,t,e){var o="--"+t,r=o+"-index";c(e,function(i,l){Array.isArray(i)?c(i,function(a){b(a,r,l)}):b(i,r,l)}),b(n,o+"-total",e.length)}var N={};function x(n,t,e){var o=e.indexOf(n);if(o==-1){e.unshift(n);var r=N[n];if(!r)throw new Error("plugin not loaded: "+n);c(r.depends,function(l){x(l,n,e)})}else{var i=e.indexOf(t);e.splice(o,1),e.splice(i,0,n)}return e}function d(n,t,e,o){return{by:n,depends:t,key:e,split:o}}function I(n){return x(n,0,[]).map(E(N))}function s(n){N[n.by]=n}function j(n,t,e,o,r){n.normalize();var i=[],l=document.createDocumentFragment();o&&i.push(n.previousSibling);var a=[];return f(n.childNodes).some(function(u){if(u.tagName&&!u.hasChildNodes()){a.push(u);return}if(u.childNodes&&u.childNodes.length){a.push(u),i.push.apply(i,j(u,t,e,o,r));return}var p=u.wholeText||"",C=p.trim();if(C.length){p[0]===" "&&a.push(y(" "));var W=e===""&&typeof Intl.Segmenter=="function";c(W?Array.from(new Intl.Segmenter().segment(C)).map(function(O){return O.segment}):C.split(e),function(O,nn){nn&&r&&a.push(m(l,"whitespace"," ",r));var _=m(l,t,O);i.push(_),a.push(_)}),p[p.length-1]===" "&&a.push(y(" "))}}),c(a,function(u){T(l,u)}),n.innerHTML="",T(n,l),i}var v=0;function k(n,t){for(var e in t)n[e]=t[e];return n}var L="words",q=d(L,v,"word",function(n){return j(n,"word",/\s+/,0,1)}),R="chars",B=d(R,[L],"char",function(n,t,e){var o=[];return c(e[L],function(r,i){o.push.apply(o,j(r,"char","",t.whitespace&&i))}),o});function M(n){n=n||{};var t=n.key;return f(n.target||"[data-splitting]").map(function(e){var o=e["π"];if(!n.force&&o)return o;o=e["π"]={el:e};var r=n.by||g(e,"splitting");(!r||r=="true")&&(r=R);var i=I(r),l=k({},n);return c(i,function(a){if(a.split){var u=a.by,p=(t?"-"+t:"")+a.key,C=a.split(e,l,o);p&&A(e,p,C),o[u]=C,e.classList.add(u)}}),e.classList.add("splitting"),o})}function G(n){n=n||{};var t=n.target=m();return t.innerHTML=n.content,M(n),t.outerHTML}M.html=G,M.add=s;function F(n,t,e){var o=f(t.matching||n.children,n),r={};return c(o,function(i){var l=Math.round(i[e]);(r[l]||(r[l]=[])).push(i)}),Object.keys(r).map(Number).sort(V).map(E(r))}function V(n,t){return n-t}var $=d("lines",[L],"line",function(n,t,e){return F(n,{matching:e[L]},"offsetTop")}),z=d("items",v,"item",function(n,t){return f(t.matching||n.children,n)}),U=d("rows",v,"row",function(n,t){return F(n,t,"offsetTop")}),Y=d("cols",v,"col",function(n,t){return F(n,t,"offsetLeft")}),J=d("grid",["rows","cols"]),S="layout",K=d(S,v,v,function(n,t){var e=t.rows=+(t.rows||g(n,"rows")||1),o=t.columns=+(t.columns||g(n,"columns")||1);if(t.image=t.image||g(n,"image")||n.currentSrc||n.src,t.image){var r=f("img",n)[0];t.image=r&&(r.currentSrc||r.src)}t.image&&b(n,"background-image","url("+t.image+")");for(var i=e*o,l=[],a=m(v,"cell-grid");i--;){var u=m(a,"cell");m(u,"cell-inner"),l.push(u)}return T(n,a),l}),Q=d("cellRows",[S],"row",function(n,t,e){var o=t.rows,r=P(o);return c(e[S],function(i,l,a){r[Math.floor(l/(a.length/o))].push(i)}),r}),X=d("cellColumns",[S],"col",function(n,t,e){var o=t.columns,r=P(o);return c(e[S],function(i,l){r[l%o].push(i)}),r}),Z=d("cells",["cellRows","cellColumns"],"cell",function(n,t,e){return e[S]});return s(q),s(B),s($),s(z),s(U),s(Y),s(J),s(K),s(Q),s(X),s(Z),M})})(H);var rn=H.exports;const on=en(rn);(function(h,D){(function(){D.path.isFront,console.log("drupalSettings",D);function y(){console.log("LeShedTheme init()"),T(),m()}function b(g,f){return Math.floor(Math.random()*(f-g))+g}function T(){let g=document.querySelectorAll("#block-leshed-identitedusite>a, article.node-type-projet>h2");for(const f of g){console.log(f.innerText,"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");let P=on({target:f,by:"chars"});console.log("splitted",P);for(const c of P[0].words){let E=c.getElementsByClassName("char");console.log("chars",E);for(const A of E){console.log(A.innerText);let N=b(150,600),x=Math.random()>.7?1:0;A.style.fontVariationSettings=`'wght' ${N}`,A.style.fontStyle=x?"italic":"normal"}}}}function m(){document.getElementById("burger-btn").parentElement.addEventListener("click",function(f){this.firstElementChild.toggleAttribute("opened"),this.firstElementChild.nextElementSibling.toggleAttribute("opened")})}y()})()})(Drupal,drupalSettings);
diff --git a/web/themes/custom/leshed/assets/dist/main2.css b/web/themes/custom/leshed/assets/dist/main2.css
index 431d72b..2255121 100644
Binary files a/web/themes/custom/leshed/assets/dist/main2.css and b/web/themes/custom/leshed/assets/dist/main2.css differ
diff --git a/web/themes/custom/leshed/assets/dist/main3.css b/web/themes/custom/leshed/assets/dist/main3.css
index b2852d1..cde726e 100644
Binary files a/web/themes/custom/leshed/assets/dist/main3.css and b/web/themes/custom/leshed/assets/dist/main3.css differ
diff --git a/web/themes/custom/leshed/assets/dist/main4.css b/web/themes/custom/leshed/assets/dist/main4.css
deleted file mode 100644
index d5d5c5a..0000000
Binary files a/web/themes/custom/leshed/assets/dist/main4.css and /dev/null differ
diff --git a/web/themes/custom/leshed/assets/dist/main5.css b/web/themes/custom/leshed/assets/dist/main5.css
deleted file mode 100644
index 12b13bd..0000000
--- a/web/themes/custom/leshed/assets/dist/main5.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Epilogue;src:url(/main.css) format("woff2"),url(/main3.css) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Epilogue;src:url(/main2.css) format("woff2"),url(/main4.css) format("woff");font-weight:400;font-style:normal;font-display:swap}body{font-family:Epilogue;font-weight:400;font-style:normal}a,a:visited{text-decoration:none;color:inherit;transition:color .15s ease-out}body{margin:0}div.layout-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;max-width:1080px;margin:0 auto}div.layout-container header[role=banner]{padding:.5em 0;flex:0 1 content;z-index:100;height:50px}div.layout-container main[role=main]{flex:1 1 auto;overflow-y:scroll}header[role=banner]{background-color:#fff}header[role=banner] .header-middle{display:flex;justify-content:space-between;align-items:center;padding:.2em 2em}header[role=banner] #block-leshed-identitedusite a{text-decoration:none;font-size:2em;font-weight:500}header[role=banner] .header-right{height:20px;width:20px;cursor:pointer}header[role=banner] .header-right>div#burger-btn{position:relative;transition-duration:.5s;transition-property:transform;top:8.5px}header[role=banner] .header-right>div#burger-btn,header[role=banner] .header-right>div#burger-btn:before,header[role=banner] .header-right>div#burger-btn:after{width:20px;height:3px;background-color:red}header[role=banner] .header-right>div#burger-btn:hover,header[role=banner] .header-right>div#burger-btn:hover:before,header[role=banner] .header-right>div#burger-btn:hover:after{background-color:green}header[role=banner] .header-right>div#burger-btn:before,header[role=banner] .header-right>div#burger-btn:after{content:"";position:absolute;left:0}header[role=banner] .header-right>div#burger-btn:before{top:6px}header[role=banner] .header-right>div#burger-btn:after{bottom:6px}header[role=banner] .header-right>div#burger-btn[opened]{transform:rotate(90deg)}header[role=banner] .header-right>div.wrapper{position:absolute;top:50px;left:0;background-color:#000000bf;width:100vw;height:0;overflow:hidden;transition-duration:.5s}header[role=banner] .header-right>div.wrapper[opened]{height:calc(100vh - 50px)}header[role=banner] .header-right>div.wrapper>nav{padding-top:10px;background-color:#fff}header[role=banner] .header-right>div.wrapper>nav>ul{margin:0}header[role=banner] .header-right>div.wrapper nav#block-mathallo-navigationprincipale{padding:2em 1em}header[role=banner] .header-right>div.wrapper nav#block-mathallo-navigationprincipale ul{display:flex;justify-content:flex-end;list-style:none}header[role=banner] .header-right>div.wrapper nav#block-mathallo-navigationprincipale ul li{margin-right:1em;color:#fff;padding:.5em 1em}
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-Italic-VariableFont_wght.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-Italic-VariableFont_wght.ttf
new file mode 100644
index 0000000..5836558
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-Italic-VariableFont_wght.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-VariableFont_wght.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-VariableFont_wght.ttf
new file mode 100644
index 0000000..281757b
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/Epilogue-VariableFont_wght.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/OFL.txt b/web/themes/custom/leshed/assets/fonts/Epilogue/OFL.txt
new file mode 100644
index 0000000..25e1f21
--- /dev/null
+++ b/web/themes/custom/leshed/assets/fonts/Epilogue/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Epilogue Project Authors (https://github.com/Etcetera-Type-Co/Epilogue)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/README.txt b/web/themes/custom/leshed/assets/fonts/Epilogue/README.txt
new file mode 100644
index 0000000..99406ff
--- /dev/null
+++ b/web/themes/custom/leshed/assets/fonts/Epilogue/README.txt
@@ -0,0 +1,81 @@
+Epilogue Variable Font
+======================
+
+This download contains Epilogue as both variable fonts and static fonts.
+
+Epilogue is a variable font with this axis:
+ wght
+
+This means all the styles are contained in these files:
+ Epilogue-VariableFont_wght.ttf
+ Epilogue-Italic-VariableFont_wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that arenβt available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Epilogue:
+ static/Epilogue-Thin.ttf
+ static/Epilogue-ExtraLight.ttf
+ static/Epilogue-Light.ttf
+ static/Epilogue-Regular.ttf
+ static/Epilogue-Medium.ttf
+ static/Epilogue-SemiBold.ttf
+ static/Epilogue-Bold.ttf
+ static/Epilogue-ExtraBold.ttf
+ static/Epilogue-Black.ttf
+ static/Epilogue-ThinItalic.ttf
+ static/Epilogue-ExtraLightItalic.ttf
+ static/Epilogue-LightItalic.ttf
+ static/Epilogue-Italic.ttf
+ static/Epilogue-MediumItalic.ttf
+ static/Epilogue-SemiBoldItalic.ttf
+ static/Epilogue-BoldItalic.ttf
+ static/Epilogue-ExtraBoldItalic.ttf
+ static/Epilogue-BlackItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects β print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Black.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Black.ttf
new file mode 100644
index 0000000..dd50b28
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Black.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BlackItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BlackItalic.ttf
new file mode 100644
index 0000000..3d49633
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BlackItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Bold.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Bold.ttf
new file mode 100644
index 0000000..716eb5a
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Bold.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BoldItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BoldItalic.ttf
new file mode 100644
index 0000000..c5f3656
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-BoldItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBold.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBold.ttf
new file mode 100644
index 0000000..7c236c7
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBold.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBoldItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBoldItalic.ttf
new file mode 100644
index 0000000..562c870
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraBoldItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLight.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLight.ttf
new file mode 100644
index 0000000..046ddb5
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLight.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLightItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLightItalic.ttf
new file mode 100644
index 0000000..697a77b
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ExtraLightItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Italic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Italic.ttf
new file mode 100644
index 0000000..32057d8
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Italic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Light.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Light.ttf
new file mode 100644
index 0000000..d966a7c
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Light.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-LightItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-LightItalic.ttf
new file mode 100644
index 0000000..86e45b0
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-LightItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Medium.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Medium.ttf
new file mode 100644
index 0000000..55ff176
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Medium.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-MediumItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-MediumItalic.ttf
new file mode 100644
index 0000000..a014cb1
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-MediumItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Regular.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Regular.ttf
new file mode 100644
index 0000000..893d286
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Regular.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBold.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBold.ttf
new file mode 100644
index 0000000..7c1b949
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBold.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBoldItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBoldItalic.ttf
new file mode 100644
index 0000000..a49909d
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-SemiBoldItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Thin.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Thin.ttf
new file mode 100644
index 0000000..93a16d9
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-Thin.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ThinItalic.ttf b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ThinItalic.ttf
new file mode 100644
index 0000000..a079566
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/Epilogue/static/Epilogue-ThinItalic.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-Italic-VariableFont_wght.ttf b/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-Italic-VariableFont_wght.ttf
new file mode 100644
index 0000000..5836558
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-Italic-VariableFont_wght.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-VariableFont_wght.ttf b/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-VariableFont_wght.ttf
new file mode 100644
index 0000000..281757b
Binary files /dev/null and b/web/themes/custom/leshed/assets/fonts/epilogue/Epilogue-VariableFont_wght.ttf differ
diff --git a/web/themes/custom/leshed/assets/fonts/epilogue/stylesheet.css b/web/themes/custom/leshed/assets/fonts/epilogue/stylesheet.css
index 6ba9d3a..6d9ed43 100644
--- a/web/themes/custom/leshed/assets/fonts/epilogue/stylesheet.css
+++ b/web/themes/custom/leshed/assets/fonts/epilogue/stylesheet.css
@@ -1,18 +1,18 @@
+
+
@font-face {
font-family: 'Epilogue';
- src: url('Epilogue-Italic.woff2') format('woff2'),
- url('Epilogue-Italic.woff') format('woff');
- font-weight: normal;
+ src: url('Epilogue-Italic-VariableFont_wght.ttf') format('woff2');
+ src: url('Epilogue-Italic-VariableFont_wght.ttf') format('woff2') tech(variations);
+ font-weight: 100 900;
font-style: italic;
- font-display: swap;
}
@font-face {
font-family: 'Epilogue';
- src: url('Epilogue-Regular.woff2') format('woff2'),
- url('Epilogue-Regular.woff') format('woff');
- font-weight: normal;
+ src: url('Epilogue-VariableFont_wght.ttf') format('woff2');
+ src: url('Epilogue-VariableFont_wght.ttf') format('woff2') tech(variations);
+ font-weight: 100 900;
font-style: normal;
- font-display: swap;
}
diff --git a/web/themes/custom/leshed/assets/js/main.js b/web/themes/custom/leshed/assets/js/main.js
index 00a7f45..27952fb 100644
--- a/web/themes/custom/leshed/assets/js/main.js
+++ b/web/themes/custom/leshed/assets/js/main.js
@@ -1,5 +1,10 @@
// import { createApp } from 'vue'
import '../scss/main.scss'
+
+import "splitting/dist/splitting.css";
+import "splitting/dist/splitting-cells.css";
+import Splitting from "splitting";
+
// import Content from './vuejs/Content.vue'
// import REST from './api/rest-axios'
@@ -36,6 +41,7 @@ import '../scss/main.scss'
// |___|_||_|_|\__|
function init () {
console.log('LeShedTheme init()')
+ initTitles();
initBurgerMenu();
// initVues()
}
@@ -49,6 +55,53 @@ import '../scss/main.scss'
})
}
+ function randomInt(min, max) {
+ return Math.floor(Math.random() * (max - min)) + min;
+ }
+
+ function initTitles(){
+ let titles = document.querySelectorAll('#block-leshed-identitedusite>a, article.node-type-projet>h2');
+
+ for (const txt of titles) {
+ console.log(txt.innerText, '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -');
+ let splitted = Splitting({ target: txt, by: 'chars'});
+ console.log("splitted", splitted);
+
+ for (const word of splitted[0].words) {
+ let chars = word.getElementsByClassName('char');
+ console.log("chars", chars);
+
+ for (const char of chars) {
+ console.log(char.innerText);
+
+ // Weight
+ let wght = randomInt(150, 600);//200 + Math.random() * 800;
+
+ // Ital
+ let ital = Math.random() > 0.7 ? 1 : 0;
+ // char.style.fontVariationSettings = `'wght' ${wght}, 'wdth' ${wdth}, 'ital' ${ital}`;
+ char.style.fontVariationSettings = `'wght' ${wght}`;
+ char.style.fontStyle = ital ? 'italic' : 'normal';
+
+ // // Letter spacing
+ // let wdth_wght_ratio = wdth*wght / 10000;
+ // console.log('wdth_wght_ratio',wdth_wght_ratio);
+
+ // char.style.letterSpacing = wdth_wght_ratio < 1 ? "0.5em" : ital ? "0.05em" : 0;
+ // if (ital) {
+ // let prev_char = char.previousSibling;
+ // if (prev_char) {
+ // char.style.letterSpacing = prev_char.style.letterSpacing = "0.03em";
+ // }
+ // }
+ }
+ }
+
+
+
+ }
+ }
+
function initBurgerMenu() {
let header_right = document.getElementById('burger-btn');
header_right.parentElement.addEventListener('click', function(e){
diff --git a/web/themes/custom/leshed/package-lock.json b/web/themes/custom/leshed/package-lock.json
index 6a61f7f..909204c 100644
--- a/web/themes/custom/leshed/package-lock.json
+++ b/web/themes/custom/leshed/package-lock.json
@@ -10,6 +10,7 @@
"dependencies": {
"axios": "^1.7.2",
"gsap": "^3.14.1",
+ "splitting": "^1.1.0",
"vue": "^3.4.29"
},
"devDependencies": {
@@ -1945,6 +1946,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/splitting": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/splitting/-/splitting-1.1.0.tgz",
+ "integrity": "sha512-6Tj+4mvlSti4DUu1yl0PnkHIIoLchFYJHqz2DnwYkvEehXbjrR2epa4ds/xdto6ZdZsC+NP5IOOehi9VGjNlMQ==",
+ "license": "MIT"
+ },
"node_modules/vite": {
"version": "5.4.21",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
diff --git a/web/themes/custom/leshed/package.json b/web/themes/custom/leshed/package.json
index 695d350..9876054 100644
--- a/web/themes/custom/leshed/package.json
+++ b/web/themes/custom/leshed/package.json
@@ -11,6 +11,7 @@
"dependencies": {
"axios": "^1.7.2",
"gsap": "^3.14.1",
+ "splitting": "^1.1.0",
"vue": "^3.4.29"
},
"devDependencies": {
diff --git a/web/themes/custom/leshed/templates/page.html.twig b/web/themes/custom/leshed/templates/page.html.twig
index 5d8ad7f..12f06c3 100644
--- a/web/themes/custom/leshed/templates/page.html.twig
+++ b/web/themes/custom/leshed/templates/page.html.twig
@@ -63,17 +63,15 @@
-
+
{{ page.highlighted }}
{{ page.help }}
{# link is in html.html.twig #}
-
+