diff --git a/config/sync/block.block.erabletheme_navigationprincipale.yml b/config/sync/block.block.erabletheme_navigationprincipale.yml deleted file mode 100644 index d0650a8..0000000 --- a/config/sync/block.block.erabletheme_navigationprincipale.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: fbafd41d-6910-4030-b311-94796bfdea06 -langcode: fr -status: true -dependencies: - config: - - system.menu.main - module: - - menu_block - theme: - - erabletheme -id: erabletheme_navigationprincipale -theme: erabletheme -region: primary_menu -weight: -5 -provider: null -plugin: 'menu_block:main' -settings: - id: 'menu_block:main' - label: 'Navigation principale' - label_display: '0' - provider: menu_block - follow: false - follow_parent: child - label_link: false - label_type: block - level: 1 - depth: 0 - expand_all_items: false - parent: 'main:' - suggestion: main -visibility: { } diff --git a/web/themes/erabletheme/assets/cercle_dessin.svg b/web/themes/erabletheme/assets/cercle_dessin.svg index 261ac3a..3b861b1 100644 --- a/web/themes/erabletheme/assets/cercle_dessin.svg +++ b/web/themes/erabletheme/assets/cercle_dessin.svg @@ -34,12 +34,12 @@ inkscape:current-layer="svg1" /> diff --git a/web/themes/erabletheme/assets/equipes-projets-icons/collibri.svg b/web/themes/erabletheme/assets/equipes-projets-icons/collibri.svg deleted file mode 100644 index ba9e174..0000000 --- a/web/themes/erabletheme/assets/equipes-projets-icons/collibri.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - diff --git a/web/themes/erabletheme/assets/equipes-projets-icons/grenouille.svg b/web/themes/erabletheme/assets/equipes-projets-icons/grenouille.svg deleted file mode 100644 index a490dae..0000000 --- a/web/themes/erabletheme/assets/equipes-projets-icons/grenouille.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - diff --git a/web/themes/erabletheme/assets/equipes-projets-icons/marmotte.svg b/web/themes/erabletheme/assets/equipes-projets-icons/marmotte.svg deleted file mode 100644 index 04c5292..0000000 --- a/web/themes/erabletheme/assets/equipes-projets-icons/marmotte.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - diff --git a/web/themes/erabletheme/assets/equipes-projets-icons/nenuphar.svg b/web/themes/erabletheme/assets/equipes-projets-icons/nenuphar.svg deleted file mode 100644 index 340c9b9..0000000 --- a/web/themes/erabletheme/assets/equipes-projets-icons/nenuphar.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - diff --git a/web/themes/erabletheme/assets/equipes-projets-icons/papillon.svg b/web/themes/erabletheme/assets/equipes-projets-icons/papillon.svg deleted file mode 100644 index 0c1e0d1..0000000 --- a/web/themes/erabletheme/assets/equipes-projets-icons/papillon.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - diff --git a/web/themes/erabletheme/assets/leaflet-point.svg b/web/themes/erabletheme/assets/leaflet-point.svg new file mode 100644 index 0000000..961becc --- /dev/null +++ b/web/themes/erabletheme/assets/leaflet-point.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/themes/erabletheme/assets/logo_epau.png b/web/themes/erabletheme/assets/logo_epau.png new file mode 100644 index 0000000..d767183 Binary files /dev/null and b/web/themes/erabletheme/assets/logo_epau.png differ diff --git a/web/themes/erabletheme/assets/logo_erable.png b/web/themes/erabletheme/assets/logo_erable.png deleted file mode 100644 index 9747084..0000000 Binary files a/web/themes/erabletheme/assets/logo_erable.png and /dev/null differ diff --git a/web/themes/erabletheme/assets/logo_erable_ardoise.svg b/web/themes/erabletheme/assets/logo_erable_ardoise.svg new file mode 100644 index 0000000..20f245c --- /dev/null +++ b/web/themes/erabletheme/assets/logo_erable_ardoise.svg @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/themes/erabletheme/css/styles.css b/web/themes/erabletheme/css/styles.css index 23b5a0a..82994c7 100644 --- a/web/themes/erabletheme/css/styles.css +++ b/web/themes/erabletheme/css/styles.css @@ -131,7 +131,6 @@ footer.fluo_links a { padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } footer.fluo_links a svg { display: none; @@ -193,9 +192,31 @@ footer.fluo_links p { .layout-container header[role=banner] > div:first-of-type #block-erabletheme-logorep-2 { padding-left: 1.25rem; } +.layout-container header[role=banner] > div:first-of-type #block-erabletheme-logorep-2 img { + max-height: 4.5rem; + height: 4.5rem; + width: auto; +} .layout-container header[role=banner] > div:first-of-type #block-erabletheme-logoerable { margin-left: auto; } +.layout-container header[role=banner] > div:first-of-type #block-erabletheme-logoerable img { + width: auto; + height: auto; + max-height: 3.5rem; +} +.layout-container header[role=banner] > div:first-of-type #block-erabletheme-logoepau-2 a { + display: flex; + align-items: center; + height: 100%; + padding: 1.4rem 0; + box-sizing: border-box; +} +.layout-container header[role=banner] > div:first-of-type #block-erabletheme-logoepau-2 img { + width: auto; + height: 100%; + max-height: 100%; +} .layout-container header[role=banner] > div:first-of-type #block-erabletheme-socialmedialinks { display: none; } @@ -257,7 +278,7 @@ footer.fluo_links p { height: auto; max-height: 0vh; transition: max-height 0.9s ease, padding 0.5s ease-out; - background-color: #314e41; + background-color: #0e3b2d; width: 100vw; padding: 0; align-items: center; @@ -284,11 +305,11 @@ footer.fluo_links p { } .layout-container header[role=banner] > div:first-of-type #block-erabletheme-header ul:not(.social-media-links--platforms) > li > a:hover { background-color: white; - color: #314e41; + color: #0e3b2d; } .layout-container header[role=banner] > div:first-of-type #block-erabletheme-header ul:not(.social-media-links--platforms) > li > a.is-active { background-color: white; - color: #314e41; + color: #0e3b2d; } @media (min-width: 760px) { .layout-container header[role=banner] > div:first-of-type #block-erabletheme-header ul:not(.social-media-links--platforms) > li { @@ -342,59 +363,10 @@ footer.fluo_links p { max-height: calc(100vh - 4.5rem); overflow-y: scroll; } -.layout-container header[role=banner] > div:first-of-type #block-erabletheme-navigationprincipale { - margin-top: 0 !important; -} .layout-container header[role=banner] > div:nth-of-type(2) { z-index: 98; position: relative; } -.layout-container #block-erabletheme-navigationprincipale { - background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.8) 50%, transparent); - width: 100%; - display: none; - position: absolute; - padding-top: 1rem; -} -@media (min-width: 1080px) { - .layout-container #block-erabletheme-navigationprincipale { - display: block; - } -} -.layout-container #block-erabletheme-navigationprincipale ul { - width: 100%; - display: flex; - padding: 1rem 10vw; - justify-content: space-around; -} -.layout-container #block-erabletheme-navigationprincipale ul li { - font-family: "Marianne", sans-serif; - font-size: 0.9375rem; - padding: 9px 16px; - background-color: white; - transition: background-color 0.3s ease; -} -.layout-container #block-erabletheme-navigationprincipale ul li:first-of-type { - display: flex; - justify-items: center; -} -.layout-container #block-erabletheme-navigationprincipale ul li:first-of-type::after { - content: url(../assets/icons/arrow-down-s-line.svg); - display: inline-block; - height: 1rem; - width: 1rem; - margin-left: 0.2rem; -} -.layout-container #block-erabletheme-navigationprincipale ul li:hover, .layout-container #block-erabletheme-navigationprincipale ul li.submenu-open { - background-color: #33ffc4; -} -.layout-container #block-erabletheme-navigationprincipale ul li a { - font-weight: 800; - color: black; -} -.layout-container #block-erabletheme-navigationprincipale ul li a:is-active { - background-color: #33ffc4; -} .layout-container #block-erabletheme-leprogramme { position: fixed; background-color: white; @@ -451,9 +423,17 @@ footer.fluo_links p { max-width: 100px; height: auto; } +.layout-container > footer #footer_left > div #block-erabletheme-logoepau a { + display: flex; + align-items: center; + height: 4.5rem; + padding: 1.4rem 0; + box-sizing: border-box; +} .layout-container > footer #footer_left > div #block-erabletheme-logoepau img { max-width: 150px; - height: auto; + height: 100%; + width: auto; } .layout-container > footer #footer_section { display: flex; @@ -666,7 +646,6 @@ footer.fluo_links p { padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .carousel_container footer a svg { display: none; @@ -1014,8 +993,16 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo height: auto; } @media (min-width: 1080px) { + .home_introduction .intro_logo { + align-self: stretch; + align-items: center; + } .home_introduction .intro_logo img { - width: 100%; + width: auto; + max-width: 100%; + height: 100%; + max-height: 100%; + object-fit: contain; } } .home_introduction .intro_separator { @@ -1064,7 +1051,6 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .home_introduction > div.more-link a svg { display: none; @@ -1163,7 +1149,6 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .home_consultation div.more-link a svg { display: none; @@ -1295,11 +1280,156 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo line-height: 1.3; } +.layout-content .page-header-outside { + padding: 3vh 3vw 2vh; + background: transparent; + color: #4a4a49; +} +.layout-content .page-header-outside .retour_projets, +.layout-content .page-header-outside .retour_actus, +.layout-content .page-header-outside .retour_ressources, +.layout-content .page-header-outside .retour-meetup { + margin-bottom: 1.5rem; +} +.layout-content .page-header-outside .retour_projets a, +.layout-content .page-header-outside .retour_actus a, +.layout-content .page-header-outside .retour_ressources a, +.layout-content .page-header-outside .retour-meetup a { + font-family: "Marianne", sans-serif; + font-weight: 800; + font-size: 0.8125rem; + color: #4a4a49; + opacity: 0.7; + text-decoration: none; +} +.layout-content .page-header-outside .retour_projets a:hover, +.layout-content .page-header-outside .retour_actus a:hover, +.layout-content .page-header-outside .retour_ressources a:hover, +.layout-content .page-header-outside .retour-meetup a:hover { + opacity: 1; +} +.layout-content .page-header-outside > h2 { + font-family: "Vogun", serif; + font-weight: 500; + font-size: 2.25rem; + color: black; + line-height: 1.2; + margin: 0; + padding: 0; +} +.layout-content .page-header-outside > h2 a { + color: inherit; + text-decoration: none; +} +.layout-content .page-header-outside > h2 + .sous_titre, +.layout-content .page-header-outside > h2 ~ .sous_titre { + padding-top: 1.2rem; + margin-top: 1.2rem; + border-top: 1px solid #4a4a49; +} +.layout-content .page-header-outside .sous_titre { + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + line-height: 1.2; + color: #4a4a49; + opacity: 0.7; + padding: 0; + margin-bottom: 0; +} +@media (min-width: 760px) { + .layout-content .page-header-outside { + width: 75vw; + margin-left: 12.5vw; + margin-top: 5vh; + } +} +@media (min-width: 1080px) { + .layout-content .page-header-outside { + width: 50vw; + margin-left: 25%; + margin-top: 5vh; + } +} + +@media (min-width: 760px) { + .layout-content .page-header-outside:has(+ .fullpage.large-container) { + width: auto; + margin-left: calc(3vw * 2.5); + margin-right: calc(3vw * 2.5); + } +} + +.layout-content .page-header-outside + .fullpage, +.layout-content .page-header-outside + article.fullpage { + margin-top: 1rem !important; +} +@media (min-width: 760px) { + .layout-content .page-header-outside + .fullpage, + .layout-content .page-header-outside + article.fullpage { + margin-top: 1rem !important; + } +} + +@media (min-width: 1080px) { + .views-row:not(:first-of-type) .page-header-outside + .fullpage, + .views-row:not(:first-of-type) .page-header-outside + article.fullpage, + .ressources.page-header-outside + .fullpage, + .page-header-outside + .ressources, + .page-header-outside + article.ressources { + margin-top: revert !important; + } +} +main:not(:has(#block-erabletheme-leprogramme-2)):not(:has(#block-erabletheme-views-block-projets-block-1)) .layout-content .page-header-outside + .fullpage > .fullpage_content { + padding-top: 1.5rem; +} +main:not(:has(#block-erabletheme-leprogramme-2)):not(:has(#block-erabletheme-views-block-projets-block-1)) .layout-content .page-header-outside + .fullpage > .fullpage_content p:first-of-type { + margin-top: 0; +} + +@media (min-width: 760px) { + main:has(#block-erabletheme-leprogramme-2), + main:has(#block-erabletheme-views-block-projets-block-1) { + position: relative; + } + main:has(#block-erabletheme-leprogramme-2) .layout-content .page-header-outside:not(.views-row .page-header-outside), + main:has(#block-erabletheme-views-block-projets-block-1) .layout-content .page-header-outside:not(.views-row .page-header-outside) { + position: absolute; + top: 3vh; + left: 0; + right: 0; + width: auto !important; + margin: 0 !important; + padding-left: 14vw; + padding-right: 40vw; + } +} +@media (min-width: 760px) and (min-width: 1080px) { + main:has(#block-erabletheme-leprogramme-2) .layout-content .page-header-outside:not(.views-row .page-header-outside), + main:has(#block-erabletheme-views-block-projets-block-1) .layout-content .page-header-outside:not(.views-row .page-header-outside) { + padding-left: 15vw; + padding-right: 40vw; + } +} +@media (min-width: 760px) { + main:has(#block-erabletheme-leprogramme-2):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)), + main:has(#block-erabletheme-views-block-projets-block-1):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) { + padding-top: calc(var(--page-header-outside-h, 18vh) + 4vh); + } + main:has(#block-erabletheme-leprogramme-2):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) .fullpage, + main:has(#block-erabletheme-leprogramme-2):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) aside.layout-sidebar-first, + main:has(#block-erabletheme-views-block-projets-block-1):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) .fullpage, + main:has(#block-erabletheme-views-block-projets-block-1):has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) aside.layout-sidebar-first { + margin-top: 0 !important; + } +} + .layout-content .fullpage { margin-bottom: 10vh; padding-top: 3vh; padding-bottom: 3vh; background-color: white; + border-bottom: 7px solid #33ffc4; position: relative; } .layout-content .fullpage h2 { @@ -1326,7 +1456,7 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo .layout-content .fullpage .legende { display: block !important; font-size: 0.8rem; - color: #314e41; + color: #0e3b2d; } .layout-content .fullpage .fullpage_content > h2 { margin-bottom: 1rem; @@ -1376,7 +1506,6 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .layout-content .fullpage .fullpage_content .liens_fixed > div > div a svg, .layout-content .fullpage .fullpage_content .file_fixed > div > div a svg, .layout-content .fullpage .fullpage_content .liens > div > div a svg, .layout-content .fullpage .fullpage_content .file_fixed > div > div a svg { @@ -1389,6 +1518,7 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo .layout-content .fullpage .fullpage_content .liens_fixed > div > div a, .layout-content .fullpage .fullpage_content .file_fixed > div > div a, .layout-content .fullpage .fullpage_content .liens > div > div a, .layout-content .fullpage .fullpage_content .file_fixed > div > div a { display: inline-block; + background-color: #f9f9f9; } @media (min-width: 1080px) { .layout-content .fullpage .fullpage_content .liens_fixed > div > div, .layout-content .fullpage .fullpage_content .file_fixed > div > div, @@ -1403,6 +1533,7 @@ main.main-login .login > div > div:not(.hidden) form .button:hover, main.main-lo .layout-content .fullpage .fullpage_content .liens_fixed > div > div a, .layout-content .fullpage .fullpage_content .file_fixed > div > div a, .layout-content .fullpage .fullpage_content .liens > div > div a, .layout-content .fullpage .fullpage_content .file_fixed > div > div a { max-width: 19vw; + background-color: white; } } .layout-content .fullpage .fullpage_content .file_fixed span:last-of-type { @@ -1514,6 +1645,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 { padding: 1.5rem; background-color: white; + border-bottom: 7px solid #33ffc4; margin-left: 2vw; } aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > div > div, @@ -1532,11 +1664,11 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > display: flex; justify-content: space-between; cursor: pointer; - font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + color: #33ffc4; + line-height: 1.2; } aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > h2 > div, aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-views-block-projets-block-1 > h2 > div, @@ -1587,11 +1719,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list > li, aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list .views-row { margin: 1rem 0; - font-family: "Marianne", sans-serif; - font-weight: 400; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; } aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul > li a, aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul .views-row a, @@ -1609,8 +1736,11 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 > ul .views-row a, aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list > li a, aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list .views-row a { - color: black; + font-family: "Vogun", serif; + font-weight: 400; font-size: 0.9375rem; + color: black; + line-height: 1.3; } aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul > li a:hover, aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul > li a.is-active, aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul .views-row a:hover, @@ -1643,7 +1773,8 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list > li a.is-active, aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list .views-row a:hover, aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > div #block-erabletheme-views-block-projets-block-1 .projets_list .views-row a.is-active { - font-weight: 800; + font-weight: 400; + color: #33ffc4; } aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 > ul.closed, aside.layout-sidebar-first:has(#block-erabletheme-leprogramme-2) > div #block-erabletheme-leprogramme-2 .projets_list.closed, @@ -1708,18 +1839,22 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > display: block; pointer-events: none; } -.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .prenom, -.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom { +.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom-prenom { align-self: flex-end; margin-bottom: 2vh; + display: flex; + flex-wrap: wrap; + column-gap: 0.3rem; + color: black; font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; + font-weight: 400; + font-size: 1.0625rem; line-height: 1.3; } -.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom > div { - padding-left: 0.5rem; +.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom-prenom > .prenom, +.fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom-prenom > .nom { + margin: 0; + padding: 0; } .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .texte { grid-column: 2/4; @@ -1742,7 +1877,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > height: 10vw; border-radius: 5vw; } - .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .prenom { + .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom-prenom { padding-left: 3vw; } .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .texte p { @@ -1764,15 +1899,12 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > width: 7vw; height: 7vw; } - .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .prenom, - .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom { + .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .nom-prenom { margin-top: 0.8rem; align-self: start; padding: 0 !important; grid-row: 2/2; - } - .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .prenom { - justify-self: end; + grid-column: 1/3; } .fullpage_content:has(.paragraph--type--membre-equipe) > div > div:last-of-type:not(.equipe) .paragraph--type--membre-equipe > .texte { grid-column: 1/3; @@ -1908,7 +2040,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .content_partenaires .views-row article > div:first-of-type > div:last-of-type a svg { display: none; @@ -1916,6 +2047,9 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .content_partenaires .views-row article > div:first-of-type > div:last-of-type a:hover { color: black; } +.content_partenaires .views-row article > div:first-of-type > div:last-of-type a { + background-color: #f9f9f9; +} #block-erabletheme-unequestion { position: relative; @@ -1993,6 +2127,10 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > transform: translateY(-2px); } +.config_pages--type--meetup { + padding-top: 1.5rem; +} + .fullpage.meetup > h2 { border-bottom: solid 1px #33ffc4; padding: 0; @@ -2051,13 +2189,13 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > height: 100%; display: block; font-weight: 800; - color: white; + color: #4a4a49; display: flex; flex-direction: row; align-items: center; justify-content: space-around; transform: translateY(0); - transition: transform 0.2s ease-out; + transition: color 0.2s ease-out, transform 0.2s ease-out; } @media (min-width: 760px) { .fullpage.meetup > header > div:last-of-type > div > a { @@ -2066,13 +2204,15 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup > header > div:last-of-type > div > a::after { content: " →"; + color: #4a4a49; + transition: color 0.2s ease-out; } .fullpage.meetup > header > div:last-of-type > div > a::before { content: "+"; aspect-ratio: 1/1; text-decoration: none !important; - color: white; - border: solid 1px white; + color: #4a4a49; + border: solid 1px #4a4a49; width: 1.8rem; height: 1.8rem; border-radius: 1.5rem; @@ -2082,6 +2222,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > align-items: center; margin-right: 0.6rem; padding-bottom: 5px; + transition: color 0.2s ease-out, border-color 0.2s ease-out; } @media (min-width: 760px) { .fullpage.meetup > header > div:last-of-type > div > a::before { @@ -2093,6 +2234,21 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup > header > div:last-of-type > div > a:hover { transform: translateY(-2px); + color: black; +} +.fullpage.meetup > header > div:last-of-type > div > a:hover::after { + color: black; +} +.fullpage.meetup > header > div:last-of-type > div > a:hover::before { + color: black; + border-color: black; +} +.fullpage.meetup .js-form-item { + padding-left: 0; +} +.fullpage.meetup input.form-submit, +.fullpage.meetup .form-submit { + padding: 0.5rem 1.2rem; } .fullpage.meetup > .meetup_list { display: grid; @@ -2183,7 +2339,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > grid-row: 2/3; color: black; text-transform: uppercase; - font-weight: 800; + font-weight: 400; } .fullpage.meetup > .meetup_list > .views-row > a > article > a.offre-title, .fullpage.meetup > .meetup_list > .views-row > article > a.offre-title { grid-column: 2; @@ -2192,8 +2348,11 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .fullpage.meetup > .meetup_list > .views-row > a > article > a.offre-title > h2, .fullpage.meetup > .meetup_list > .views-row > article > a.offre-title > h2 { margin: unset; padding: unset; - font-weight: 800; margin-top: 0 !important; + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + line-height: 1.2; } .fullpage.meetup > .meetup_list > .views-row > a > article > p.address, .fullpage.meetup > .meetup_list > .views-row > article > p.address { grid-column: 2; @@ -2290,12 +2449,15 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } } .fullpage.meetup-offre > .offre-content > div { - border-top: solid 1px #33ffc4; padding-top: 4vh; margin-left: 3vw; margin-right: 3vw; width: calc(100% - 6vw); } +.fullpage.meetup-offre > .offre-content > div .occupation, +.fullpage.meetup-offre > .offre-content > div .address { + color: #4a4a49; +} .fullpage.meetup-offre > .offre-content > div > div > div > div { display: grid; grid-template-columns: 0.3fr 1fr 1fr; @@ -2476,7 +2638,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .fullpage.meetup-offre > .offre-content > div > div > div > div > .liens_fixed > div a svg { display: none; @@ -2486,6 +2647,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup-offre > .offre-content > div > div > div > div > .liens_fixed > div a { display: inline-block; + background-color: #f9f9f9; } @media (min-width: 1080px) { .fullpage.meetup-offre > .offre-content > div > div > div > div > .liens_fixed > div { @@ -2501,6 +2663,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup-offre > .offre-content > div > div > div > div > .liens_fixed > div a { max-width: 19vw; + background-color: white; } } .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed { @@ -2527,7 +2690,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed > div > div a svg { display: none; @@ -2537,6 +2699,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed > div > div a { display: inline-block; + background-color: #f9f9f9; } @media (min-width: 1080px) { .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed > div > div { @@ -2552,6 +2715,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed > div > div a { max-width: 19vw; + background-color: white; } } .fullpage.meetup-offre > .offre-content > div > div > div > div > .file_fixed span:last-of-type { @@ -2561,6 +2725,9 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .layout-content .fullpage.projets { padding-top: 5vh; } +.layout-content .fullpage.projets > .intro_map footer.fluo_links { + display: none; +} @media (min-width: 1080px) { .layout-content .fullpage.projets > .intro_map { display: flex; @@ -2644,6 +2811,9 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding-bottom: 0; } } +.layout-content .fullpage.projets > .intro_map #sites-map-container #popup { + background-color: #f9f9f9; +} .layout-content .fullpage.projets > .intro_map #sites-map-container #popup h3 { font-family: "Marianne", sans-serif; font-weight: 800; @@ -2658,6 +2828,10 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > color: #4a4a49; line-height: 1.3; } +.layout-content .fullpage.projets > .intro_map #sites-map-container #projects_icons > svg { + width: 12px; + height: 12px; +} .layout-content .fullpage.projets > .projets_list { display: grid; margin: 3vh 3vw; @@ -2680,26 +2854,24 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .layout-content .fullpage.projets > .projets_list > .views-row { display: grid; - grid-template-columns: 0.5fr 1fr; - grid-template-rows: repeat(4, auto); + grid-template-columns: 0.4fr 1fr; + grid-template-rows: auto auto auto auto auto; grid-column-gap: 1rem; + grid-row-gap: 0.5rem; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-diaporama { grid-column: 1; - grid-row: 1/3; + grid-row: 1/-1; align-self: start; overflow: hidden; - height: 100%; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-diaporama > .field-content { display: block; width: 100%; - height: auto; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-diaporama > .field-content > a { aspect-ratio: 1/1; width: 100%; - height: auto; display: flex; align-items: start; justify-content: center; @@ -2712,81 +2884,82 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > width: auto; height: 100%; } -.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-title { +.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-localisation-textuel { grid-column: 2; grid-row: 1; - margin-bottom: 1rem; - font-family: "Marianne", sans-serif; - font-weight: 800; + font-family: "Vogun", serif; + font-weight: 500; font-size: 0.9375rem; color: #4a4a49; - line-height: 1.3; + line-height: 1.2; +} +.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-localisation-textuel a { + color: inherit; + text-decoration: none; +} +.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-title { + grid-column: 2; + grid-row: 2; + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + color: black; + line-height: 1.2; + padding-bottom: 0.6rem; + border-bottom: 1px solid #33ffc4; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-title a { - color: #33ffc4; + color: inherit; + text-decoration: none; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-sous-titre { grid-column: 2; - grid-row: 2; - font-size: 1.1rem !important; - margin-bottom: 1rem; - line-height: 1.3; - font-size: 0.9375rem !important; - font-family: "Vogun", serif; - font-weight: 500; - color: black; - font-size: 1.375rem; - line-height: 1.2; -} -.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-sous-titre a { - color: black; -} -@media (min-width: 760px) { - .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-sous-titre { - font-size: 2.25rem; - } -} -.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-localisation-textuel { - grid-column: 1/3; grid-row: 3; - margin-bottom: 1rem; - padding-left: 1.2rem; - padding-top: 0.3rem; font-family: "Marianne", sans-serif; font-weight: 400; font-size: 0.9375rem; color: #4a4a49; line-height: 1.3; } -.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-localisation-textuel a { - color: black; +.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-sous-titre a { + color: inherit; + text-decoration: none; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-th { - grid-column: 1/3; + grid-column: 2; grid-row: 4; - padding-left: 1rem; +} +.layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-th ul { + padding: 0; + margin: 0; + list-style: none; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-th ul li { display: inline-block; - font-size: 0.8rem !important; - background-color: #d3f0ea; - margin: 0.2rem; - transition: background-color 0.3s ease; font-family: "Marianne", sans-serif; font-weight: 400; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; + font-size: 0.8125rem; + background-color: white; + border: 1px solid #33ffc4; + transition: background-color 0.3s ease; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-th ul li:hover { - background-color: #8ec2b8; + background-color: #33ffc4; } .layout-content .fullpage.projets > .projets_list > .views-row > .views-field-field-th ul li a { display: block; color: black; padding: 0.2rem 0.4rem; + text-decoration: none; } +.fullpage.projet_full > .fullpage_content > div { + display: flex; + flex-direction: column; +} .fullpage.projet_full .retour_projets { padding-top: 3vh; padding-left: 3vw; @@ -2813,15 +2986,48 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > font-size: 2.25rem; } } +.fullpage.projet_full .thematiques { + order: 1; +} +.fullpage.projet_full .localisation { + order: 2; +} +.fullpage.projet_full .intro { + order: 3; +} +.fullpage.projet_full .diapo { + order: 4; +} +.fullpage.projet_full .text-content { + order: 5; +} +.fullpage.projet_full .chiffre-clefs { + order: 6; +} +.fullpage.projet_full .carte { + order: 7; +} +.fullpage.projet_full .legende-carte { + order: 8; +} +.fullpage.projet_full .equipe { + order: 9; +} +.fullpage.projet_full .liens { + order: 10; +} .fullpage.projet_full .localisation { margin-left: 3vw; - margin-top: 2rem; + margin-top: 1rem; font-family: "Marianne", sans-serif; font-weight: 400; font-size: 0.9375rem; color: #4a4a49; line-height: 1.3; } +.fullpage.projet_full .intro p:first-of-type { + margin-top: 2rem !important; +} .fullpage.projet_full .thematiques { margin-top: 1rem; margin-left: 3vw; @@ -2829,7 +3035,8 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .fullpage.projet_full .thematiques > div > div > div { display: inline-block; font-size: 0.8rem !important; - background-color: #d3f0ea; + background-color: white; + border: 1px solid #33ffc4; margin: 0.2rem; transition: background-color 0.3s ease; font-family: "Marianne", sans-serif; @@ -2839,7 +3046,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > line-height: 1.3; } .fullpage.projet_full .thematiques > div > div > div:hover { - background-color: #8ec2b8; + background-color: #33ffc4; } .fullpage.projet_full .thematiques > div > div > div a { display: block; @@ -2875,18 +3082,17 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > width: 1.2rem; height: 1.2rem; border-radius: 1.5rem; - background-color: #33ffc4 !important; - transition: background-color 0.3s ease; + background-color: transparent !important; } .fullpage.projet_full .diapo .slick-arrow:hover { - background-color: white !important; + background-color: transparent !important; } .fullpage.projet_full .diapo .slick-arrow:hover::before { - color: #33ffc4; + color: black; } .fullpage.projet_full .diapo .slick-arrow::before { opacity: 1 !important; - color: white; + color: #4a4a49; font-weight: bold; font-family: "Marianne", sans-serif; display: block; @@ -2900,11 +3106,12 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.projet_full .text-content .intertitre { margin-left: 3vw; - font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; + padding-right: 3vw; + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + color: black; + line-height: 1.2; } .fullpage.projet_full .text-content .paragraph { margin-bottom: 3rem; @@ -2918,7 +3125,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > grid-column-gap: 2rem; grid-row-gap: 2rem; width: auto; - margin: 4rem 3vw; + margin: 0 3vw; } .fullpage.projet_full .chiffre-clefs > div > div .paragraph > div:first-of-type { font-size: 2rem !important; @@ -2932,7 +3139,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > margin: 0; padding: 0; margin-top: 0.5rem; - color: #33ffc4; + color: #4a4a49; } .fullpage.projet_full .carte { width: auto; @@ -2983,17 +3190,22 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .fullpage.projet_full .equipe > div > div:first-of-type { margin-left: 3vw; + margin-right: 3vw; margin-bottom: 2rem; font-family: "Vogun", serif; font-weight: 500; - color: black; font-size: 1.375rem; line-height: 1.2; + color: #33ffc4; + display: flex; + align-items: center; + gap: 1rem; } -@media (min-width: 760px) { - .fullpage.projet_full .equipe > div > div:first-of-type { - font-size: 2.25rem; - } +.fullpage.projet_full .equipe > div > div:first-of-type::after { + content: ""; + flex: 1; + height: 1px; + background-color: #33ffc4; } .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div:first-of-type > div > div:first-of-type > div:last-of-type::before { mask-image: url("/themes/erabletheme/assets/equipes-projets-icons/grenouille.svg"); @@ -3019,27 +3231,16 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:first-of-type { margin-bottom: 2rem; display: inline-block; - font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.375rem; + color: black; + line-height: 1.2; } .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:first-of-type > div:last-of-type { display: flex; align-items: center; } -.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:first-of-type > div:last-of-type::before { - content: ""; - display: inline-block; - width: 1.8rem; - height: 1.8rem; - background-color: #33ffc4; - mask-repeat: no-repeat; - mask-position: center; - mask-size: 1.8rem; - margin-right: 0.5rem; -} .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div { display: grid; grid-template-columns: 1fr; @@ -3064,47 +3265,29 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph { margin: 0 !important; padding: 0 !important; - display: grid; - grid-template-columns: auto 1fr; - grid-column-gap: 0; + display: flex; flex-direction: column; } .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .portrait { display: none; } -.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .nom { - grid-column: 2; - grid-row: 2; - margin: 0; - padding: 0; - color: black !important; - font-size: 0.9375rem !important; +.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .nom-prenom { + display: flex; + flex-wrap: wrap; + column-gap: 0.3rem; + color: black; font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; + font-weight: 400; + font-size: 1.0625rem; line-height: 1.3; } -.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .nom > div { - padding-left: 0.2rem !important; -} -.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .prenom { - grid-column: 1; - grid-row: 2; +.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .nom-prenom > .prenom, +.fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .nom-prenom > .nom { margin: 0; padding: 0; - color: black !important; - font-size: 0.9375rem !important; - font-family: "Marianne", sans-serif; - font-weight: 800; - font-size: 0.9375rem; - color: #4a4a49; - line-height: 1.3; } .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .texte { margin-top: 0.5rem; - grid-column: 1/span 2; - grid-row: 3; } .fullpage.projet_full .equipe > div > div:nth-of-type(2) > div > div > div:nth-of-type(2) > div > div > .paragraph > .texte p { font-size: 0.9375rem; @@ -3115,18 +3298,40 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > margin-bottom: 30px; } -.views-row:first-of-type > .taxonomy_page { - margin-top: 13vh !important; +.views-row .page-header-outside.taxonomy_header { + display: none; +} + +.views-row:first-of-type > .page-header-outside.taxonomy_header { + display: block; +} + +.views-row:not(:last-of-type) > .taxonomy_page { + border-bottom: none !important; } .taxonomy_page { margin-top: 0 !important; margin-bottom: 0 !important; } +.taxonomy_page > .fullpage_content > .projet_label { + font-family: "Vogun", serif; + font-weight: 500; + font-size: 1.0625rem; + color: black; + line-height: 1.2; + margin: 0 !important; + padding: 0 3vw 0 3vw !important; +} +.taxonomy_page > .fullpage_content > .projet_label a { + color: inherit; + text-decoration: none; +} .taxonomy_page > .fullpage_content > div:last-of-type { display: grid !important; grid-template-columns: 0.5fr 1fr; grid-template-rows: repeat(3, auto); + padding-right: 3vw; } .taxonomy_page > .fullpage_content > div:last-of-type > .diapo { grid-column: 1; @@ -3137,12 +3342,28 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .taxonomy_page > .fullpage_content > div:last-of-type > .sous_titre { grid-column: 1/3; grid-row: 1; - margin-bottom: 2rem; + margin-bottom: 0.5rem; + font-size: 0.9375rem !important; + font-family: "Marianne", sans-serif !important; + font-weight: 400 !important; + color: #4a4a49 !important; + line-height: 1.3 !important; +} +.taxonomy_page > .fullpage_content > div:last-of-type > .sous_titre * { + font-size: 0.9375rem !important; + font-family: "Marianne", sans-serif !important; + font-weight: 400 !important; + color: #4a4a49 !important; + line-height: 1.3 !important; +} +.taxonomy_page > .fullpage_content > div:last-of-type > .sous_titre a { + text-decoration: none; } .taxonomy_page > .fullpage_content > div:last-of-type > .localisation { grid-column: 2; grid-row: 2; margin-top: 0 !important; + font-size: 0.8125rem !important; } .taxonomy_page > .fullpage_content > div:last-of-type > .thematiques { grid-column: 2; @@ -3153,10 +3374,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > display: none; } -.views-row:not(:first-of-type) .taxonomy_page .retour_projets { - display: none; -} - @media (min-width: 760px) { .fullpage.actus .actus_list { display: grid; @@ -3168,6 +3385,12 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > grid-template-columns: repeat(3, 1fr); } } +.fullpage.actus .actus_list article.actu-teaser { + border-bottom: none; +} +.fullpage.actus .actus_list article.actu-teaser .preview_sous_titre { + border-bottom: 7px solid #33ffc4; +} @media screen and (min-width: 760px) { .fullpage .actus_list h2 { @@ -3180,12 +3403,23 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } } +.views-row .page-header-outside { + display: none; +} + +.views-row:has(> .ressources) { + margin-bottom: 0 !important; +} + +.views-row:not(:last-of-type) > .ressources { + border-bottom: none !important; +} + .ressources { margin-top: 0 !important; margin-bottom: 0 !important; -} -.ressources > .main-title { - display: none; + padding-top: 0 !important; + padding-bottom: 0 !important; } .ressources > div { padding: 0 3vw; @@ -3241,7 +3475,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .ressources > div > div:has(a) > div > span a svg { display: none; @@ -3249,6 +3482,9 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .ressources > div > div:has(a) > div > span a:hover { color: black; } +.ressources > div > div:has(a) > div > span a { + background-color: #f9f9f9; +} .ressources > div > div:has(a) > div > span:last-of-type { display: none; } @@ -3278,23 +3514,13 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > line-height: 1.3; } -.views-row:first-of-type > .ressources { - margin-top: 13vh !important; -} -.views-row:first-of-type > .ressources > .main-title { +.views-row:first-of-type:has(> article.ressources) > .page-header-outside { display: block; - padding-top: 5vh !important; - font-family: "Vogun", serif; - font-weight: 500; - font-size: 2.25rem; - color: black; - line-height: 1.2; - padding: 0 3vw; - margin-top: 1rem; + margin-top: calc(-200px + 3rem) !important; } -@media (min-width: 760px) { - .views-row:first-of-type > .ressources > .main-title { - font-size: 3.5625rem; +@media (min-width: 1080px) { + .views-row:first-of-type:has(> article.ressources) > .page-header-outside { + margin-top: calc(-200px + 3rem) !important; } } @@ -3361,7 +3587,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .ressource > div:not(.retour_ressources) > div:not(.retour_ressources):first-of-type > div > span a svg { display: none; @@ -3407,7 +3632,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > .faq-fullpage .faq-question { padding: 0; margin-top: 1rem; - border-top: solid 1px #314e41; + border-top: solid 1px #0e3b2d; padding-top: 1rem; padding-bottom: 0.5rem; } @@ -3433,7 +3658,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > color: #33ffc4; } .faq-fullpage .faq-question-answer:last-of-type { - border-bottom: solid 1px #314e41; + border-bottom: solid 1px #0e3b2d; padding-bottom: 0.5rem; } .faq-fullpage .ornements_top_over { @@ -3533,39 +3758,29 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > color: #33ffc4; } .actu_full .article_meta { + padding-top: 1.5rem; padding-left: 3vw; margin: 20px 0; + display: flex; + flex-direction: row; + gap: 1.5rem; } .actu_full .article_meta div { font-size: 0.8125rem; margin-bottom: 5px; } -.actu_full .article_meta + h2 { - margin-top: 0 !important; -} -.actu_full h2 { - padding-top: 0 !important; - margin-bottom: 2rem !important; -} -.actu_full h2 + div { +.actu_full .article_meta + div { position: relative; padding: 0 3vw; } -.actu_full h2 + div .visually-hidden { +.actu_full .article_meta + div .visually-hidden { width: 0% !important; } -.actu_full h2 + div .sous_titre { - margin-top: -1.5rem; -} -.actu_full h2 + div .sous_titre > div > div { - font-size: 1.375rem; - margin-bottom: 30px; -} -.actu_full h2 + div > div > div { +.actu_full .article_meta + div > div > div { width: 100%; margin-bottom: 40px; } -.actu_full h2 + div > div > div img { +.actu_full .article_meta + div > div > div img { width: 100%; height: auto; } @@ -3598,7 +3813,6 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; } .actu_full .liens_fixed > div > div:nth-of-type(2) > div a svg, .actu_full .file_fixed > div > div > div a svg { display: none; @@ -3608,6 +3822,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .actu_full .liens_fixed > div > div:nth-of-type(2) > div a, .actu_full .file_fixed > div > div > div a { display: inline-block; + background-color: #f9f9f9; } @media (min-width: 1080px) { .actu_full .liens_fixed > div > div:nth-of-type(2) > div, .actu_full .file_fixed > div > div > div { @@ -3622,6 +3837,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) > } .actu_full .liens_fixed > div > div:nth-of-type(2) > div a, .actu_full .file_fixed > div > div > div a { max-width: 19vw; + background-color: white; } } .actu_full .file_fixed span:last-of-type { diff --git a/web/themes/erabletheme/erabletheme.theme b/web/themes/erabletheme/erabletheme.theme index c4f3e74..787b0e9 100644 --- a/web/themes/erabletheme/erabletheme.theme +++ b/web/themes/erabletheme/erabletheme.theme @@ -27,6 +27,27 @@ function erabletheme_preprocess_node(&$variables) { $date_formatter = \Drupal::service('date.formatter'); $variables['date'] = $date_formatter->format($node->created->value, 'custom', 'j F Y', null, 'fr'); } +/** + * Inject le label du tag courant pour les pages d'archive taxonomy + * (rendu par node--view--taxonomy-term.html.twig). + */ +function erabletheme_preprocess_node__view__taxonomy_term(&$variables) { + $route_match = \Drupal::routeMatch(); + if ($route_match->getRouteName() === 'entity.taxonomy_term.canonical') { + $term = $route_match->getParameter('taxonomy_term'); + if ($term) { + $variables['taxonomy_term_label'] = $term->label(); + // Le rendu du node est caché : on déclare la dépendance sur la route + // courante (sinon tous les terms partagent la même valeur cachée). + $variables['#cache']['contexts'][] = 'route'; + $variables['#cache']['tags'] = array_merge( + $variables['#cache']['tags'] ?? [], + $term->getCacheTags() + ); + } + } +} + function erabletheme_preprocess_node__view__meetup(&$variables) { /** @var \Drupal\node\Entity $node */ $node = $variables['node']; diff --git a/web/themes/erabletheme/js/erabletheme.js b/web/themes/erabletheme/js/erabletheme.js index 9d7806c..e649fa3 100644 --- a/web/themes/erabletheme/js/erabletheme.js +++ b/web/themes/erabletheme/js/erabletheme.js @@ -9,6 +9,58 @@ Drupal.behaviors.erabletheme = { attach: function (context, settings) { + // + // Bloc en-tête hors colonne (.page-header-outside) : positionné en + // absolute dans
, donc on mesure sa hauteur et on l'expose via + // une CSS variable pour que
réserve la bonne place en padding-top. + // + const header_outside = document.querySelector('.page-header-outside'); + const main_el = header_outside ? header_outside.closest('main') : null; + if (header_outside && main_el && !main_el.dataset.headerOutsideMeasured) { + const updateHeaderOutsideHeight = () => { + const h = header_outside.getBoundingClientRect().height; + main_el.style.setProperty('--page-header-outside-h', h + 'px'); + }; + updateHeaderOutsideHeight(); + window.addEventListener('resize', updateHeaderOutsideHeight); + main_el.dataset.headerOutsideMeasured = 'true'; + } + + // + // Sidebar projets : marquer .is-active sur le lien de la page courante + // (la vue ne pose pas cette classe automatiquement, contrairement aux + // blocs menus Drupal). + // + const projetsSidebar = document.querySelector('#block-erabletheme-views-block-projets-block-1'); + if (projetsSidebar && !projetsSidebar.dataset.activeMarked) { + const currentPath = window.location.pathname.replace(/\/$/, ''); + projetsSidebar.querySelectorAll('a[href]').forEach(a => { + if (a.getAttribute('href').replace(/\/$/, '') === currentPath) { + a.classList.add('is-active'); + } + }); + projetsSidebar.dataset.activeMarked = 'true'; + } + + // + // Pages taxonomy (filtres par tag de projet) : on rend les sous-titres + // des cards cliquables (le titre est déjà lié via le Twig). + // + document.querySelectorAll('.taxonomy_page').forEach(card => { + if (card.dataset.subtitleLinked) return; + const titleLink = card.querySelector('.projet_label a'); + const subtitle = card.querySelector('.sous_titre'); + if (titleLink && subtitle && !subtitle.querySelector('a')) { + const href = titleLink.getAttribute('href'); + // On enveloppe les enfants du sous-titre dans un . + const a = document.createElement('a'); + a.setAttribute('href', href); + while (subtitle.firstChild) a.appendChild(subtitle.firstChild); + subtitle.appendChild(a); + } + card.dataset.subtitleLinked = 'true'; + }); + // // Home intro : sortir le .more-link (rendu profond par smart_trim) // de .intro_body pour le placer directement sous .intro_main. @@ -310,46 +362,6 @@ } } - // - // Sous Menu display on hover - // - - const programLink = document.querySelector("#block-erabletheme-navigationprincipale ul li:first-of-type"); - const programSubmenu = document.querySelector("#block-erabletheme-leprogramme"); - let isSubmenuOpen = false; - - function showSubmenu() { - programLink.classList.add("submenu-open"); - let rect = programLink.getBoundingClientRect(); - programSubmenu.style.top = `${rect.bottom}px`; - programSubmenu.style.left = `${rect.left}px`; - programSubmenu.style.display = "block"; - - programSubmenu.style.display = "block"; - setTimeout(() => { - programSubmenu.style.maxHeight = "50vh"; - }, 10) - - isSubmenuOpen = true; - } - - function hideSubmenu() { - programLink.classList.remove("submenu-open"); - programSubmenu.style.maxHeight = "0px"; - isSubmenuOpen = false; - setTimeout(() => { - if (!isSubmenuOpen) { - programSubmenu.style.display = "none"; - } - }, 600); - } - - programLink.addEventListener("mouseenter", showSubmenu); - programLink.addEventListener("mouseleave", hideSubmenu); - - programSubmenu.addEventListener("mouseenter", showSubmenu); - programSubmenu.addEventListener("mouseleave", hideSubmenu); - // // Aside menu toggle // @@ -524,10 +536,10 @@ // map on the projects page let customIcon = L.icon({ - iconUrl: '/themes/erabletheme/assets/leaf.svg', - iconSize: [20, 20], - iconAnchor: [10, 20], - popupAnchor: [0, -20] + iconUrl: '/themes/erabletheme/assets/leaflet-point.svg', + iconSize: [18, 18], + iconAnchor: [9, 9], + popupAnchor: [0, -9] }); let initiatedMap = document.querySelector(`#${mapid}`); @@ -581,7 +593,7 @@ const currentMap = document.querySelector('.leaflet-container'); const leafletIcons = document.querySelectorAll('.leaflet-marker-pane img'); for (let icon of leafletIcons) { - icon.setAttribute('src', '/themes/erabletheme/assets/leaf.svg'); + icon.setAttribute('src', '/themes/erabletheme/assets/leaflet-point.svg'); } // diff --git a/web/themes/erabletheme/scss/_actualites.scss b/web/themes/erabletheme/scss/_actualites.scss index e6078cf..2e06abf 100644 --- a/web/themes/erabletheme/scss/_actualites.scss +++ b/web/themes/erabletheme/scss/_actualites.scss @@ -10,6 +10,17 @@ grid-template-columns: repeat(3, 1fr); } } + + // En grille, deux teasers voisins peuvent se toucher : on déplace le + // border-bottom fluo de l'article vers le .preview_sous_titre pour qu'il + // reste à l'intérieur du teaser (padding de l'article en dessous). + // Spécifique à l'index actus — carousel home conserve son trait au bord. + .actus_list article.actu-teaser { + border-bottom: none; + .preview_sous_titre { + border-bottom: 7px solid $fluo_green; + } + } } .fullpage { diff --git a/web/themes/erabletheme/scss/_fullpage.scss b/web/themes/erabletheme/scss/_fullpage.scss index 0fe85b3..f32a0a7 100644 --- a/web/themes/erabletheme/scss/_fullpage.scss +++ b/web/themes/erabletheme/scss/_fullpage.scss @@ -1,8 +1,172 @@ +// En-tête de page placé HORS de la colonne blanche (.fullpage) : +// "Retour …",

, trait, .sous_titre apparaissent directement sur le fond gris. +// Couleur grisée (text_grey atténué) en cohérence avec les "meta" de la home. +.layout-content .page-header-outside { + padding: 3vh $x_margin 2vh; + background: transparent; + color: $text_grey; + .retour_projets, + .retour_actus, + .retour_ressources, + .retour-meetup { + margin-bottom: 1.5rem; + a { + // Marianne, pas Vogun. + font-family: $marianne; + font-weight: $fw_bold; + font-size: $fs_xs; + color: $text_grey; + opacity: 0.7; + text-decoration: none; + &:hover { opacity: 1; } + } + } + // Typo titre harmonisée entre toutes les pages (projets / actus / autres) : + // Vogun 36px constant, on retire le bump à 57px du main_title() par défaut. + > h2 { + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_xl; + color: black; + line-height: $lh_tight; + margin: 0; + padding: 0; + a { color: inherit; text-decoration: none; } + } + // Trait de séparation entre titre et sous-titre. + > h2 + .sous_titre, + > h2 ~ .sous_titre { + padding-top: 1.2rem; + margin-top: 1.2rem; + border-top: 1px solid $text_grey; + } + .sous_titre { + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; // 22px constant sur tous les breakpoints + line-height: $lh_tight; + color: $text_grey; + opacity: 0.7; + padding: 0; + margin-bottom: 0; + } + @media (min-width: $breakpoint_tablet) { + width: 75vw; + margin-left: 12.5vw; + margin-top: 5vh; + } + @media (min-width: $breakpoint_desktop) { + width: 50vw; + margin-left: 25%; + margin-top: 5vh; // identique à tablette, en ligne avec les pages projets + } +} + +// Sur les pages d'index (.fullpage.large-container : /projets, /actualites, +// /meetup), la colonne blanche est plus large. On aligne le .page-header-outside +// dessus pour que le titre démarre à la même abscisse que le contenu. +.layout-content .page-header-outside:has(+ .fullpage.large-container) { + @media (min-width: $breakpoint_tablet) { + width: auto; + margin-left: calc(#{$x_margin} * 2.5); + margin-right: calc(#{$x_margin} * 2.5); + } +} + +// Quand le .page-header-outside est suivi d'une .fullpage (pages SANS +// sidebar : actus, programme…), on supprime la marge top de .fullpage pour +// rapprocher la colonne blanche du bloc en-tête. +// Exceptions : +// - /ressources : layout hacky (cf. _ressources.scss), on n'y touche pas +// - articles non-premiers d'une vue (.views-row:not(:first-of-type)) : +// leur en-tête est masqué donc pas de besoin d'override. +.layout-content .page-header-outside + .fullpage, +.layout-content .page-header-outside + article.fullpage { + margin-top: 1rem !important; + @media (min-width: $breakpoint_tablet) { + margin-top: 1rem !important; + } +} +// Restaurer le margin-top par défaut pour les cas exclus en desktop. +@media (min-width: $breakpoint_desktop) { + .views-row:not(:first-of-type) .page-header-outside + .fullpage, + .views-row:not(:first-of-type) .page-header-outside + article.fullpage, + .ressources.page-header-outside + .fullpage, + .page-header-outside + .ressources, + .page-header-outside + article.ressources { + margin-top: revert !important; + } +} + +// Sur les pages SANS sidebar (mentions-legales, programme, etc.), le

+// ayant été sorti dans .page-header-outside, le contenu peut se retrouver +// collé au bord supérieur de la colonne (la règle p:first-of-type +// { margin-top: 7vh } ne matche que si le premier élément est un

). +// On compense uniquement dans ce contexte. +main:not(:has(#block-erabletheme-leprogramme-2)):not(:has(#block-erabletheme-views-block-projets-block-1)) + .layout-content .page-header-outside + .fullpage > .fullpage_content { + padding-top: 1.5rem; + // Si le premier élément est un

, on neutralise sa marge top par défaut + // (sinon elle s'ajoute au padding qu'on vient de poser). + p:first-of-type { + margin-top: 0; + } +} + +// Contexte page projet (sidebar sommaire à gauche, layout en flex row-reverse +// au niveau du

) : on force le .page-header-outside à occuper toute la +// largeur AU-DESSUS de la sidebar et de la colonne blanche. +// Le .page-header-outside est dans .layout-content donc il flotte en +// position: absolute pour passer par-dessus et on pousse main de padding-top. +// +// IMPORTANT : on ne cible QUE les .page-header-outside enfants DIRECTS de +// .layout-content (pages node-like : projet, programme, taxonomy). Sur +// /ressources la sidebar est aussi présente mais le .page-header-outside +// est imbriqué dans une .views-row — on le laisse en flux normal. +main:has(#block-erabletheme-leprogramme-2), +main:has(#block-erabletheme-views-block-projets-block-1) { + @media (min-width: $breakpoint_tablet) { + position: relative; + // Le .page-header-outside passe en position absolute, sauf s'il est + // imbriqué dans une .views-row (cas /ressources, layout hacky : on laisse + // en flux normal et on compense via _ressources.scss). + .layout-content .page-header-outside:not(.views-row .page-header-outside) { + position: absolute; + top: 3vh; + left: 0; + right: 0; + width: auto !important; + margin: 0 !important; + padding-left: 14vw; + padding-right: 40vw; + @media (min-width: $breakpoint_desktop) { + padding-left: 15vw; + padding-right: 40vw; + } + } + } + // Réserver la place du header-outside uniquement quand il est en absolute + // (= pas dans une .views-row). Sinon padding-top normal. + @media (min-width: $breakpoint_tablet) { + &:has(.layout-content .page-header-outside:not(.views-row .page-header-outside)) { + padding-top: calc(var(--page-header-outside-h, 18vh) + 4vh); + // Le padding-top de
réserve déjà la place du header-outside. + // On annule les marges top de la sidebar et de la colonne blanche + // pour qu'elles démarrent juste en dessous (pas de double espacement). + .fullpage, + aside.layout-sidebar-first { + margin-top: 0 !important; + } + } + } +} + .layout-content .fullpage { margin-bottom: 10vh; padding-top: 3vh; padding-bottom: 3vh; background-color: white; + border-bottom: 7px solid $fluo_green; position: relative; h2 { margin-top: 5vh !important; @@ -50,6 +214,10 @@ @include fluo_button(); a { display: inline-block; + // En mobile, ces liens sont en flux normal dans la colonne blanche, + // donc on contraste leur fond en gris pâle (en desktop ils sont + // position: fixed sur fond gris, on garde le fond blanc d'origine). + background-color: $page_bg; } @media (min-width: $breakpoint_desktop) { //margin-bottom: 0 !important; @@ -62,6 +230,7 @@ } a { max-width: calc(25vw - $x_margin * 2); + background-color: white; } } } @@ -158,21 +327,27 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) { } padding: 1.5rem; background-color: white; + border-bottom: 7px solid $fluo_green; margin-left: 2vw; > h2 { padding-bottom: 1rem; - border-bottom: solid 1px $teal; + border-bottom: solid 1px $fluo_green; display: flex; justify-content: space-between; cursor: pointer; - @include sous_titre(); + // Titre sidebar : Vogun brand color, plus grand. + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + color: $fluo_green; + line-height: $lh_tight; > div { mask-image: url('/themes/erabletheme/assets/icons/arrow-down-s-line.svg'); background-size: contain; - background-color: $teal; + background-color: $fluo_green; width: 1.3rem; height: 1.3rem; - color: $teal; + color: $fluo_green; transform: rotate(0deg); transition: transform 0.3s ease; &.closed { @@ -189,14 +364,17 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) { > li, .views-row { margin: 1rem 0; - @include main_text_content(); - + // Items sidebar : Vogun, item actif en brand color (pas gras). a { - color: black; + font-family: $vogun; + font-weight: $fw_regular; font-size: $fs_sm; + color: black; + line-height: $lh_normal; &:hover, &.is-active { - font-weight: 800; + font-weight: $fw_regular; + color: $fluo_green; } } } diff --git a/web/themes/erabletheme/scss/_gouvernance.scss b/web/themes/erabletheme/scss/_gouvernance.scss index cab78da..3101522 100644 --- a/web/themes/erabletheme/scss/_gouvernance.scss +++ b/web/themes/erabletheme/scss/_gouvernance.scss @@ -49,15 +49,24 @@ } } - > .prenom, - > .nom { + // Prénom + nom regroupés via le template paragraph--membre-equipe.html.twig. + // Même typo que sur les pages projets (Marianne regular, $fs_md). + > .nom-prenom { align-self: flex-end; margin-bottom: 2vh; - @include sous_titre(); - } - - > .nom > div { - padding-left: 0.5rem; + display: flex; + flex-wrap: wrap; + column-gap: 0.3rem; + color: black; + font-family: $marianne; + font-weight: $fw_regular; + font-size: $fs_md; + line-height: $lh_normal; + > .prenom, + > .nom { + margin: 0; + padding: 0; + } } > .texte { @@ -76,7 +85,7 @@ border-radius: 5vw; } - > .prenom { + > .nom-prenom { padding-left: 3vw; } @@ -98,15 +107,12 @@ height: 7vw; } } - > .prenom, - > .nom { + > .nom-prenom { margin-top: 0.8rem; align-self: start; padding: 0 !important; grid-row: 2 / 2; - } - > .prenom { - justify-self: end; + grid-column: 1 / 3; } > .texte { grid-column: 1 / 3; diff --git a/web/themes/erabletheme/scss/_home.scss b/web/themes/erabletheme/scss/_home.scss index f92fa77..9d123c8 100644 --- a/web/themes/erabletheme/scss/_home.scss +++ b/web/themes/erabletheme/scss/_home.scss @@ -34,8 +34,18 @@ width: 40vw; max-width: 14rem; height: auto; - @media (min-width: $breakpoint_desktop) { - width: 100%; + } + // Desktop : le logo se cale sur la hauteur du texte de présentation + // (la colonne logo s'étire à la hauteur de la ligne grid). + @media (min-width: $breakpoint_desktop) { + align-self: stretch; + align-items: center; + img { + width: auto; + max-width: 100%; + height: 100%; + max-height: 100%; + object-fit: contain; } } } diff --git a/web/themes/erabletheme/scss/_meetup.scss b/web/themes/erabletheme/scss/_meetup.scss index 0247ad4..0d0c57f 100644 --- a/web/themes/erabletheme/scss/_meetup.scss +++ b/web/themes/erabletheme/scss/_meetup.scss @@ -1,3 +1,8 @@ +// Wrapper config_pages (bandeau d'intro de la page meetup). +.config_pages--type--meetup { + padding-top: 1.5rem; +} + .fullpage.meetup { > h2 { border-bottom: solid 1px $teal; @@ -20,8 +25,10 @@ width: calc(75% - $x_margin * 2); } } + // Bouton "Déposer mon offre" : texte gris foncé (et icônes ::before / + // ::after) au repos, noir au survol. Fond brand conservé. > div:last-of-type { - background-color: $teal; + background-color: $fluo_green; width: 60%; margin-left: calc(40% - $x_margin); margin-top: 4vh; @@ -42,26 +49,28 @@ height: 100%; display: block; font-weight: 800; - color: white; + color: $text_grey; display: flex; flex-direction: row; align-items: center; justify-content: space-around; transform: translateY(0); - transition: transform 0.2s ease-out; + transition: color 0.2s ease-out, transform 0.2s ease-out; @media (min-width: $breakpoint_tablet) { padding: 1rem 0.5rem; } } > a::after { content: "\2003 →"; + color: $text_grey; + transition: color 0.2s ease-out; } > a::before { content: "+"; aspect-ratio: 1/1; text-decoration: none !important; - color: white; - border: solid 1px white; + color: $text_grey; + border: solid 1px $text_grey; width: 1.8rem; height: 1.8rem; border-radius: 1.5rem; @@ -71,6 +80,7 @@ align-items: center; margin-right: 0.6rem; padding-bottom: 5px; + transition: color 0.2s ease-out, border-color 0.2s ease-out; @media (min-width: $breakpoint_tablet) { padding-bottom: 10px; width: 3rem; @@ -80,10 +90,22 @@ } > a:hover { transform: translateY(-2px); + color: black; + &::after { color: black; } + &::before { color: black; border-color: black; } } } } } + // Form de filtre meetup. + .js-form-item { + padding-left: 0; + } + // Bouton submit "Appliquer". + input.form-submit, + .form-submit { + padding: 0.5rem 1.2rem; + } > .meetup_list { display: grid; margin: 3vh $x_margin; @@ -163,7 +185,7 @@ grid-row: 2/3; color: black; text-transform: uppercase; - font-weight: 800; + font-weight: $fw_regular; //display: none; } > a.offre-title { @@ -172,8 +194,11 @@ > h2 { margin: unset; padding: unset; - font-weight: 800; margin-top: 0 !important; + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + line-height: $lh_tight; } } > p.address { @@ -250,11 +275,15 @@ } > .offre-content { > div { - border-top: solid 1px $teal; padding-top: 4vh; margin-left: $x_margin; margin-right: $x_margin; width: calc(100% - $x_margin * 2); + // Méta de l'offre : occupation + address en gris foncé. + .occupation, + .address { + color: $text_grey; + } > div > div > div { display: grid; grid-template-columns: 0.3fr 1fr 1fr; @@ -412,6 +441,9 @@ @include fluo_button(); a { display: inline-block; + // Mobile : bouton sur fond gris (colonne blanche). + // Desktop : repasse en blanc (position: fixed sur fond gris). + background-color: $page_bg; } @media (min-width: $breakpoint_desktop) { text-align: right; @@ -425,6 +457,7 @@ } a { max-width: calc(25vw - $x_margin * 2); + background-color: white; } } } @@ -441,6 +474,8 @@ @include fluo_button(); a { display: inline-block; + // Mobile : bouton sur fond gris (colonne blanche). + background-color: $page_bg; } @media (min-width: $breakpoint_desktop) { text-align: right; @@ -454,6 +489,7 @@ } a { max-width: calc(25vw - $x_margin * 2); + background-color: white; } } } diff --git a/web/themes/erabletheme/scss/_partenaires.scss b/web/themes/erabletheme/scss/_partenaires.scss index a54be56..3509c21 100644 --- a/web/themes/erabletheme/scss/_partenaires.scss +++ b/web/themes/erabletheme/scss/_partenaires.scss @@ -66,6 +66,8 @@ padding-bottom: 2rem; margin-top: 1rem; @include fluo_button(); + // Fond carte = blanc, on contraste le CTA en gris pâle. + a { background-color: $page_bg; } } } diff --git a/web/themes/erabletheme/scss/_projets.scss b/web/themes/erabletheme/scss/_projets.scss index a363a16..9756ba0 100644 --- a/web/themes/erabletheme/scss/_projets.scss +++ b/web/themes/erabletheme/scss/_projets.scss @@ -1,6 +1,9 @@ .layout-content .fullpage.projets { padding-top: 5vh; > .intro_map { + // Le bloc carte (block--sitesmap-block) est partagé avec l'accueil. + // Ici on n'affiche pas le CTA "Voir les projets" : on est déjà sur l'index. + footer.fluo_links { display: none; } @media (min-width: $breakpoint_desktop) { display: flex; flex-direction: row; @@ -52,6 +55,8 @@ //width: 85%; } #popup { + // Cohérence visuelle avec la home : tooltip sur fond gris pâle. + background-color: $page_bg; h3 { @include sous_titre(); } @@ -59,6 +64,13 @@ @include main_text_content(); } } + // Carte plus petite ici → cercles plus petits. + // Le SVG point.svg fait 18x18 et est partagé avec la home ; on réduit + // visuellement sans toucher au SVG. + #projects_icons > svg { + width: 12px; + height: 12px; + } } } > .projets_list { @@ -78,24 +90,22 @@ } > .views-row{ display: grid; - grid-template-columns: 0.5fr 1fr; - grid-template-rows: repeat(4, auto); + // Colonne image (gauche) | colonne textes (droite). + grid-template-columns: 0.4fr 1fr; + grid-template-rows: auto auto auto auto auto; grid-column-gap: 1rem; + grid-row-gap: 0.5rem; > .views-field-field-diaporama { grid-column: 1; - grid-row: 1/3; + grid-row: 1 / -1; align-self: start; overflow: hidden; - height: 100%; > .field-content { display: block; width: 100%; - height: auto; - //height: 100%; > a { aspect-ratio: 1/1; width: 100%; - height: auto; display: flex; align-items: start; justify-content: center; @@ -106,64 +116,73 @@ img { width: auto; height: 100%; - //object-fit: cover; } } } } - > .views-field-title { + // Lieu (1re ligne droite) : Vogun gris-text, petit. + > .views-field-field-localisation-textuel { grid-column: 2; grid-row: 1; - margin-bottom: 1rem; - //margin-left: -1rem; - a { - color: $teal; - } - @include sous_titre(); + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_sm; + color: $text_grey; + line-height: $lh_tight; + a { color: inherit; text-decoration: none; } } - > .views-field-field-sous-titre { + // Titre (2e ligne droite) : Vogun plus grand mais pas trop. + > .views-field-title { grid-column: 2; grid-row: 2; - font-size: 1.1rem !important; - margin-bottom: 1rem; - line-height: 1.3; - font-size: $fs_sm !important; - a { - color: black; - } - @include sous_titre_alt(); + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + color: black; + line-height: $lh_tight; + // Filet brand color en bas, sur toute la largeur disponible. + padding-bottom: 0.6rem; + border-bottom: 1px solid $fluo_green; + a { color: inherit; text-decoration: none; } } - > .views-field-field-localisation-textuel { - grid-column: 1/3; + // Sous-titre (3e ligne droite) : Marianne gris-text. + > .views-field-field-sous-titre { + grid-column: 2; grid-row: 3; - margin-bottom: 1rem; - padding-left: 1.2rem; - padding-top: 0.3rem; - //margin-left: -0.5rem; - @include main_text_content(); - a { - color: black; - } + font-family: $marianne; + font-weight: $fw_regular; + font-size: $fs_sm; + color: $text_grey; + line-height: $lh_normal; + a { color: inherit; text-decoration: none; } } + // Étiquettes thématiques (4e ligne droite) : fond blanc, contour brand. > .views-field-field-th { - grid-column: 1/3; + grid-column: 2; grid-row: 4; - padding-left: 1rem; ul { + padding: 0; + margin: 0; + list-style: none; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; li { display: inline-block; - font-size: 0.8rem !important; - background-color: #d3f0ea; - margin: 0.2rem; + font-family: $marianne; + font-weight: $fw_regular; + font-size: $fs_xs; + background-color: white; + border: 1px solid $fluo_green; transition: background-color 0.3s ease; - @include main_text_content(); &:hover { - background-color: #8ec2b8; + background-color: $fluo_green; } a { display: block; color: black; padding: 0.2rem 0.4rem; + text-decoration: none; } } } @@ -174,6 +193,12 @@ .fullpage.projet_full { // overflow-x: hidden; // enlever quand on ajoute le menu des projets à gauche + // Wrapper interne des fields : flex column pour pouvoir inverser + // l'ordre thematiques / localisation via order. + > .fullpage_content > div { + display: flex; + flex-direction: column; + } .retour_projets { padding-top: 3vh; padding-left: $x_margin; @@ -187,11 +212,30 @@ .sous_titre > div > div { @include sous_titre_alt(); } + // Thématiques AVANT localisation. + .thematiques { order: 1; } + .localisation { order: 2; } + // Tous les autres fields gardent leur ordre source (order: 3 par défaut). + .intro { order: 3; } + .diapo { order: 4; } + .text-content { order: 5; } + .chiffre-clefs { order: 6; } + .carte { order: 7; } + .legende-carte { order: 8; } + .equipe { order: 9; } + .liens { order: 10; } .localisation { margin-left: $x_margin; - margin-top: 2rem; + margin-top: 1rem; @include main_text_content(); } + // Force la marge top du premier

de l'intro à 2rem. + // (Le sélecteur générique .layout-content .fullpage .fullpage_content + // p:first-of-type met 7vh — trop pour ce contexte.) + .intro p:first-of-type { + margin-top: 2rem !important; + } + // Thématiques : "tags" sur fond blanc avec contour 1px brand color. .thematiques { margin-top: 1rem; margin-left: $x_margin; @@ -199,12 +243,13 @@ > div { display: inline-block; font-size: 0.8rem !important; - background-color: #d3f0ea; + background-color: white; + border: 1px solid $fluo_green; margin: 0.2rem; transition: background-color 0.3s ease; @include main_text_content(); &:hover { - background-color: #8ec2b8; + background-color: $fluo_green; } a { display: block; @@ -245,17 +290,16 @@ width: 1.2rem; height: 1.2rem; border-radius: 1.5rem; - background-color: $teal !important; - transition: background-color 0.3s ease; + background-color: transparent !important; &:hover { - background-color: white !important; + background-color: transparent !important; &::before { - color: $teal; + color: black; } } &::before { opacity: 1 !important; - color: white; + color: $text_grey; font-weight: bold; font-family: 'Marianne', sans-serif; display: block; @@ -272,7 +316,13 @@ .text-content { .intertitre { margin-left: $x_margin; - @include sous_titre(); + padding-right: $x_margin; + // Intertitres en Vogun un peu plus grands. + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + color: black; + line-height: $lh_tight; } .paragraph { margin-bottom: 3rem; @@ -288,7 +338,7 @@ grid-column-gap: 2rem; grid-row-gap: 2rem; width: auto; - margin: 4rem $x_margin; + margin: 0 $x_margin; .paragraph { > div:first-of-type { font-size: 2rem !important; @@ -298,7 +348,7 @@ margin: 0; padding: 0; margin-top: 0.5rem; - color: $teal; + color: $text_grey; } } } @@ -352,10 +402,26 @@ .equipe { margin-top: 4rem; > div { + // Label "Collectif du projet" : intertitre Vogun, brand color, avec un + // filet 1px à droite centré verticalement jusqu'à la marge de colonne. > div:first-of-type { margin-left: $x_margin; + margin-right: $x_margin; margin-bottom: 2rem; - @include sous_titre_alt(); + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + line-height: $lh_tight; + color: $fluo_green; + display: flex; + align-items: center; + gap: 1rem; + &::after { + content: ''; + flex: 1; + height: 1px; + background-color: $fluo_green; + } } > div:nth-of-type(2) { > div:first-of-type > div { @@ -392,21 +458,17 @@ > div:first-of-type { margin-bottom: 2rem; display: inline-block; - @include sous_titre(); + // Titre de rôle d'équipe : même typo que les intertitres. + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_lg; + color: black; + line-height: $lh_tight; > div:last-of-type { display: flex; align-items: center; - &::before { - content: ''; - display: inline-block; - width: 1.8rem; - height: 1.8rem; - background-color: $teal; - mask-repeat: no-repeat; - mask-position: center; - mask-size: 1.8rem; - margin-right: 0.5rem; - } + // Icônes en ::before (grenouille/marmotte/etc.) retirées — + // les règles mask-image plus haut deviennent inopérantes. } } > div:nth-of-type(2) { @@ -428,38 +490,30 @@ > .paragraph { margin: 0 !important; padding: 0 !important; - display: grid; - grid-template-columns: auto 1fr; - grid-column-gap: 0; + display: flex; flex-direction: column; > .portrait { display: none; } - > .nom { - grid-column: 2; - grid-row: 2; - margin: 0; - padding: 0; - color: black !important; - font-size: $fs_sm !important; - @include sous_titre(); - > div { - padding-left: 0.2rem !important; + // Prénom + nom regroupés via le template + // paragraph--membre-equipe.html.twig. + > .nom-prenom { + display: flex; + flex-wrap: wrap; + column-gap: 0.3rem; + color: black; + font-family: $marianne; + font-weight: $fw_regular; + font-size: $fs_md; + line-height: $lh_normal; + > .prenom, + > .nom { + margin: 0; + padding: 0; } } - > .prenom { - grid-column: 1; - grid-row: 2; - margin: 0; - padding: 0; - color: black !important; - font-size: $fs_sm !important; - @include sous_titre(); - } > .texte { margin-top: 0.5rem; - grid-column: 1 / span 2; - grid-row: 3; p { font-size: $fs_sm; margin: 0 !important; @@ -481,17 +535,41 @@ } } } -.views-row:first-of-type > .taxonomy_page { - margin-top: 13vh !important; +// Page d'archive taxonomy : on n'affiche le .page-header-outside (titre du +// tag + retour) que sur la 1re .views-row. Les autres sont masquées. +.views-row .page-header-outside.taxonomy_header { + display: none; } +.views-row:first-of-type > .page-header-outside.taxonomy_header { + display: block; +} + +// Border-bottom brand color uniquement sur le dernier .taxonomy_page (les +// .fullpage intermédiaires l'ont par défaut, cf. _fullpage.scss). +.views-row:not(:last-of-type) > .taxonomy_page { + border-bottom: none !important; +} + .taxonomy_page { margin-top: 0 !important; margin-bottom: 0 !important; + // Titres de projets listés : réduits drastiquement (cards compactes). + > .fullpage_content > .projet_label { + font-family: $vogun; + font-weight: $fw_medium; + font-size: $fs_md; + color: black; + line-height: $lh_tight; + margin: 0 !important; + padding: 0 $x_margin 0 $x_margin !important; + a { color: inherit; text-decoration: none; } + } > .fullpage_content { > div:last-of-type { display: grid !important; grid-template-columns: 0.5fr 1fr; grid-template-rows: repeat(3, auto); + padding-right: $x_margin; > .diapo { grid-column: 1; grid-row: 2/4; @@ -501,12 +579,29 @@ > .sous_titre { grid-column: 1/3; grid-row: 1; - margin-bottom: 2rem; + margin-bottom: 0.5rem; + // Sous-titres : également réduits. + // (chaîne d'éléments traversée par un ajouté en JS, on cible + // descendants tous niveaux confondus avec !important.) + font-size: $fs_sm !important; + font-family: $marianne !important; + font-weight: $fw_regular !important; + color: $text_grey !important; + line-height: $lh_normal !important; + * { + font-size: $fs_sm !important; + font-family: $marianne !important; + font-weight: $fw_regular !important; + color: $text_grey !important; + line-height: $lh_normal !important; + } + a { text-decoration: none; } } > .localisation { grid-column: 2; grid-row: 2; margin-top: 0 !important; + font-size: $fs_xs !important; } > .thematiques { grid-column: 2; @@ -520,7 +615,3 @@ .feed-icon { display: none; } - -.views-row:not(:first-of-type) .taxonomy_page .retour_projets { - display: none; -} diff --git a/web/themes/erabletheme/scss/_ressources.scss b/web/themes/erabletheme/scss/_ressources.scss index d8ca8c6..0cf95d4 100644 --- a/web/themes/erabletheme/scss/_ressources.scss +++ b/web/themes/erabletheme/scss/_ressources.scss @@ -1,9 +1,27 @@ +// Le titre "Ressources" est rendu par chaque node (dans .page-header-outside, +// frère de .ressources). On masque par défaut, et on n'affiche que sur la +// 1re ressource via .views-row:first-of-type ci-dessous. +.views-row .page-header-outside { + display: none; +} + +// Pas d'espace entre les .views-row sur la page Ressources : on veut donner +// l'illusion d'une colonne blanche unique. On annule margin-bottom de la +// .views-row, et padding-top/bottom de chaque carte .ressources. +.views-row:has(> .ressources) { + margin-bottom: 0 !important; +} +// Border-bottom brand color uniquement sur la dernière ressource (les +// .fullpage intermédiaires l'ont par défaut, cf. _fullpage.scss). +.views-row:not(:last-of-type) > .ressources { + border-bottom: none !important; +} + .ressources { margin-top: 0 !important; margin-bottom: 0 !important; - > .main-title { - display: none; - } + padding-top: 0 !important; + padding-bottom: 0 !important; > div { padding: 0 $x_margin; display: grid; @@ -35,6 +53,8 @@ > div > span { margin-top: -1rem; @include fluo_button(); + // Carte sur fond blanc : on contraste le CTA en gris pâle. + a { background-color: $page_bg; } } > div > span:last-of-type { display: none; @@ -66,13 +86,20 @@ } } -.views-row:first-of-type { - > .ressources { - margin-top: 13vh !important; - > .main-title { - display: block; - padding-top: 5vh !important; - @include main_title(); +// Scope strict à la page /ressources (article.ressources frère du +// .page-header-outside dans la 1re views-row). On ne touche pas aux autres +// pages où un .page-header-outside peut aussi être dans une .views-row +// (ex. /taxonomy/term/N avec .taxonomy_header). +.views-row:first-of-type:has(> article.ressources) { + > .page-header-outside { + display: block; + // La page /ressources utilise un layout hacky qui pousse

à ~255px + // sous le header (cause non identifiée, conçu ainsi par le précédent dev). + // On compense avec un margin-top négatif pour rapprocher visuellement le + // titre du header, comme sur les autres pages d'index. + margin-top: calc(-200px + 3rem) !important; + @media (min-width: $breakpoint_desktop) { + margin-top: calc(-200px + 3rem) !important; } } } diff --git a/web/themes/erabletheme/scss/global/variables/_colors.scss b/web/themes/erabletheme/scss/global/variables/_colors.scss index 6c4ca6c..a328bd7 100644 --- a/web/themes/erabletheme/scss/global/variables/_colors.scss +++ b/web/themes/erabletheme/scss/global/variables/_colors.scss @@ -1,7 +1,7 @@ $fluo_green: #33ffc4; $teal: $fluo_green; $beige: #fcf9ee; -$dark_green: #314e41; +$dark_green: #0e3b2d; $text_grey: #4a4a49; $page_bg: #f9f9f9; diff --git a/web/themes/erabletheme/scss/global/variables/_typography.scss b/web/themes/erabletheme/scss/global/variables/_typography.scss index 99a9b66..30961f6 100644 --- a/web/themes/erabletheme/scss/global/variables/_typography.scss +++ b/web/themes/erabletheme/scss/global/variables/_typography.scss @@ -95,7 +95,8 @@ $fw_bold: 800; padding: 0.75rem 1.5rem; text-decoration: none; transition: color 0.2s ease; - text-wrap: nowrap !important; + // Pas de nowrap : si le texte du lien est long, on autorise le wrap + // pour éviter qu'il déborde du conteneur (notamment colonne d'article). svg { display: none; } &:hover { color: black; } } diff --git a/web/themes/erabletheme/scss/partials/_articles.scss b/web/themes/erabletheme/scss/partials/_articles.scss index 03aec07..9dfdc37 100644 --- a/web/themes/erabletheme/scss/partials/_articles.scss +++ b/web/themes/erabletheme/scss/partials/_articles.scss @@ -12,34 +12,26 @@ } } .article_meta { + padding-top: 1.5rem; padding-left: $x_margin; margin: 20px 0; + display: flex; + flex-direction: row; + gap: 1.5rem; div { font-size: $fs_xs; margin-bottom: 5px; } } - .article_meta + h2 { - margin-top: 0 !important; - } - h2 { - padding-top: 0 !important; - margin-bottom: 2rem !important; - } - h2 + div { // tout le contenu qui n'est pas le titre + // Le

et .sous_titre ont été sortis dans .page-header-outside ; + // l'ancien sélecteur `h2 + div` est remplacé par `.article_meta + div` + // qui cible le wrapper de contenu directement. + .article_meta + div { position: relative; padding: 0 $x_margin; .visually-hidden { width: 0% !important; } - .sous_titre { - margin-top: -1.5rem; - - > div > div { - font-size: $fs_lg; - margin-bottom: 30px; - } - } > div { > div { width: 100%; @@ -68,6 +60,10 @@ @include fluo_button(); a { display: inline-block; + // En mobile, ces liens sont en flux normal dans la colonne blanche, + // donc on contraste leur fond en gris pâle (en desktop ils sont + // position: fixed sur fond gris, on garde le fond blanc d'origine). + background-color: $page_bg; } @media (min-width: $breakpoint_desktop) { margin-bottom: 0 !important; @@ -80,6 +76,7 @@ } a { max-width: calc(25vw - $x_margin * 2); + background-color: white; } } } diff --git a/web/themes/erabletheme/scss/partials/_footer.scss b/web/themes/erabletheme/scss/partials/_footer.scss index b2b8e9e..e5e92d1 100644 --- a/web/themes/erabletheme/scss/partials/_footer.scss +++ b/web/themes/erabletheme/scss/partials/_footer.scss @@ -39,7 +39,22 @@ align-items: center; gap: 1rem; #block-erabletheme-logorep img { max-width: 100px; height: auto; } - #block-erabletheme-logoepau img { max-width: 150px; height: auto; } + // Logo epau : padding vertical pour cohérence visuelle avec le header + // (le logo a moins de marge interne que les autres). + #block-erabletheme-logoepau { + a { + display: flex; + align-items: center; + height: 4.5rem; // hauteur de référence (= $header_height) + padding: 1.4rem 0; + box-sizing: border-box; + } + img { + max-width: 150px; + height: 100%; + width: auto; + } + } } // --- Groupe droite : navs + linkedin --- diff --git a/web/themes/erabletheme/scss/partials/_header.scss b/web/themes/erabletheme/scss/partials/_header.scss index bdafac9..0c8dd3c 100644 --- a/web/themes/erabletheme/scss/partials/_header.scss +++ b/web/themes/erabletheme/scss/partials/_header.scss @@ -49,12 +49,44 @@ $header_height: 4.5rem; // 72px maquette padding: 0 1rem; } + // Logo République : occupe toute la hauteur du header + // (pas le -1rem de marge appliqué aux autres logos). #block-erabletheme-logorep-2 { padding-left: 1.25rem; + img { + max-height: $header_height; + height: $header_height; + width: auto; + } } #block-erabletheme-logoerable { margin-left: auto; // pousse le burger à droite + img { + width: auto; + height: auto; + max-height: calc($header_height - 1rem); + } + } + + // Templates custom (block--erabletheme-logoepau-2 et logoerable) + // → structure
hors du sélecteur générique + // `div > div > div img`. On rappelle la contrainte de hauteur. + // Padding vertical pour réduire visuellement le logo epau, + // qui a moins de marge interne que les autres logos. + #block-erabletheme-logoepau-2 { + a { + display: flex; + align-items: center; + height: 100%; + padding: 1.4rem 0; + box-sizing: border-box; + } + img { + width: auto; + height: 100%; + max-height: 100%; + } } #block-erabletheme-socialmedialinks { @@ -208,9 +240,6 @@ $header_height: 4.5rem; // 72px maquette } } - #block-erabletheme-navigationprincipale { - margin-top: 0 !important; - } } > div:nth-of-type(2) { @@ -219,51 +248,6 @@ $header_height: 4.5rem; // 72px maquette } } - #block-erabletheme-navigationprincipale { - background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.8) 50%, transparent); - width: 100%; - display: none; - position: absolute; - padding-top: 1rem; - @media (min-width: $breakpoint_desktop) { - display: block; - } - ul { - width: 100%; - display: flex; - padding: 1rem 10vw; - justify-content: space-around; - li { - font-family: $marianne; - font-size: $fs_sm; - padding: 9px 16px; - background-color: white; - transition: background-color 0.3s ease; - &:first-of-type { - display: flex; - justify-items: center; - &::after { - content: url(../assets/icons/arrow-down-s-line.svg); - display: inline-block; - height: 1rem; - width: 1rem; - margin-left: 0.2rem; - } - } - &:hover, &.submenu-open { - background-color: $fluo_green; - } - a { - font-weight: 800; - color: black; - &:is-active { - background-color: $fluo_green; - } - } - } - } - } - #block-erabletheme-leprogramme { position: fixed; background-color: white; diff --git a/web/themes/erabletheme/templates/block--views-block--home-blocks-block-1.html.twig b/web/themes/erabletheme/templates/block--views-block--home-blocks-block-1.html.twig index 3159647..8c9c475 100644 --- a/web/themes/erabletheme/templates/block--views-block--home-blocks-block-1.html.twig +++ b/web/themes/erabletheme/templates/block--views-block--home-blocks-block-1.html.twig @@ -32,7 +32,7 @@
diff --git a/web/themes/erabletheme/templates/block/block--erabletheme-logoepau-2.html.twig b/web/themes/erabletheme/templates/block/block--erabletheme-logoepau-2.html.twig new file mode 100644 index 0000000..c4fbfa4 --- /dev/null +++ b/web/themes/erabletheme/templates/block/block--erabletheme-logoepau-2.html.twig @@ -0,0 +1,14 @@ +{# + Override du bloc logo EPAU (header). + Contenu BDD ignoré : on rend en dur le PNG du thème pour le versionner + avec le code (cf. block--erabletheme-logoerable.html.twig pour le même + pattern). Pour changer le logo, remplacer assets/logo_epau.png. +#} + + {{ title_prefix }} + {% if label %}{{ label }}

{% endif %} + {{ title_suffix }} + + EPAU + + diff --git a/web/themes/erabletheme/templates/block/block--erabletheme-logoepau.html.twig b/web/themes/erabletheme/templates/block/block--erabletheme-logoepau.html.twig new file mode 100644 index 0000000..bfa86d9 --- /dev/null +++ b/web/themes/erabletheme/templates/block/block--erabletheme-logoepau.html.twig @@ -0,0 +1,12 @@ +{# + Override du bloc logo EPAU (footer). + Cf. block--erabletheme-logoepau-2.html.twig. +#} + + {{ title_prefix }} + {% if label %}{{ label }}

{% endif %} + {{ title_suffix }} + + EPAU + + diff --git a/web/themes/erabletheme/templates/block/block--erabletheme-logoerable.html.twig b/web/themes/erabletheme/templates/block/block--erabletheme-logoerable.html.twig new file mode 100644 index 0000000..8f47a69 --- /dev/null +++ b/web/themes/erabletheme/templates/block/block--erabletheme-logoerable.html.twig @@ -0,0 +1,15 @@ +{# + Override du bloc logo érable (header). + Le contenu BDD (champ image du block_content) est volontairement ignoré : + on rend en dur le SVG du thème pour que le logo fasse partie du design + system et soit versionné avec le code. Pour changer le logo, remplacer + le fichier assets/logo_erable_ardoise.svg. +#} + + {{ title_prefix }} + {% if label %}{{ label }}{% endif %} + {{ title_suffix }} + + Logo Érable + + diff --git a/web/themes/erabletheme/templates/node/meetup/fiche/region--offre-meetup.html.twig b/web/themes/erabletheme/templates/node/meetup/fiche/region--offre-meetup.html.twig index 08f41c9..8debc84 100644 --- a/web/themes/erabletheme/templates/node/meetup/fiche/region--offre-meetup.html.twig +++ b/web/themes/erabletheme/templates/node/meetup/fiche/region--offre-meetup.html.twig @@ -15,13 +15,15 @@ */ #} {% if content %} - + {# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
-

{{ elements.erabletheme_contenudelapageprincipale.content['#title'] }}

+
+
{{ content }}
diff --git a/web/themes/erabletheme/templates/node/node--actualite--full.html.twig b/web/themes/erabletheme/templates/node/node--actualite--full.html.twig index 23fbd96..9c58de4 100644 --- a/web/themes/erabletheme/templates/node/node--actualite--full.html.twig +++ b/web/themes/erabletheme/templates/node/node--actualite--full.html.twig @@ -68,23 +68,23 @@ * @ingroup themeable */ #} - +{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+ {{ label }} + {{ content.field_sous_titre }} +
+ - - - {{ label }} - - - {{ content|without('field_date', 'field_type_d_actualite') }} + {{ content|without('field_date', 'field_type_d_actualite', 'field_sous_titre') }} diff --git a/web/themes/erabletheme/templates/node/node--content-global.html.twig b/web/themes/erabletheme/templates/node/node--content-global.html.twig index b584ebe..7242f13 100644 --- a/web/themes/erabletheme/templates/node/node--content-global.html.twig +++ b/web/themes/erabletheme/templates/node/node--content-global.html.twig @@ -69,13 +69,16 @@ */ #} +{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+

{{ label }}

+ {{ content.field_sous_titre }} +
+
- -

{{ label }}

- - {{ content }} + {{ content|without('field_sous_titre') }}
diff --git a/web/themes/erabletheme/templates/node/node--projet.html.twig b/web/themes/erabletheme/templates/node/node--projet.html.twig index 4e366ae..21d483f 100644 --- a/web/themes/erabletheme/templates/node/node--projet.html.twig +++ b/web/themes/erabletheme/templates/node/node--projet.html.twig @@ -69,16 +69,20 @@ */ #} -
-
+{# En-tête hors de la colonne blanche : retour + titre + sous-titre + apparaissent sur le fond gris de la page. #} +
+

{{ label }}

+ {{ content.field_sous_titre }} +
-

{{ label }}

- +
+
- {{ content }} + {{ content|without('field_sous_titre') }}
diff --git a/web/themes/erabletheme/templates/node/node--ressource--full.html.twig b/web/themes/erabletheme/templates/node/node--ressource--full.html.twig index 3052e08..ac3ae22 100644 --- a/web/themes/erabletheme/templates/node/node--ressource--full.html.twig +++ b/web/themes/erabletheme/templates/node/node--ressource--full.html.twig @@ -69,16 +69,19 @@ */ #} +{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+ +

{{ label }}

+ {{ content.field_sous_titre }} +
+
- - - -

{{ label }}

- {{ content }} + {{ content|without('field_sous_titre') }}
diff --git a/web/themes/erabletheme/templates/node/node--view--ressources.html.twig b/web/themes/erabletheme/templates/node/node--view--ressources.html.twig index 8e6723f..7e2a9a3 100644 --- a/web/themes/erabletheme/templates/node/node--view--ressources.html.twig +++ b/web/themes/erabletheme/templates/node/node--view--ressources.html.twig @@ -68,8 +68,14 @@ * @ingroup themeable */ #} - +{# En-tête hors colonne blanche : titre "Ressources" rendu sur chaque node + mais affiché uniquement sur la 1re ressource via CSS + (.views-row:first-of-type > .ressources .page-header-outside). #} +
+

Ressources

+
+ {% if display_submitted %}
@@ -81,7 +87,6 @@
{% endif %} -
Ressources
{{ title_prefix }} {% if label and not page %} diff --git a/web/themes/erabletheme/templates/node/projet/equipe/paragraph--membre-equipe.html.twig b/web/themes/erabletheme/templates/node/projet/equipe/paragraph--membre-equipe.html.twig new file mode 100644 index 0000000..c44a0a2 --- /dev/null +++ b/web/themes/erabletheme/templates/node/projet/equipe/paragraph--membre-equipe.html.twig @@ -0,0 +1,21 @@ +{# + Override pour le paragraphe "membre-equipe" : + on regroupe prénom + nom dans un même wrapper .nom-prenom pour qu'ils + s'enchaînent comme un seul bloc (typo, retour à la ligne, etc.). +#} +{% + set classes = [ + 'paragraph', + 'paragraph--type--' ~ paragraph.bundle|clean_class, + view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, + not paragraph.isPublished() ? 'paragraph--unpublished' + ] +%} + + {{ content.field_portrait }} +
+ {{ content.field_prenom }} + {{ content.field_nom }} +
+ {{ content|without('field_portrait', 'field_prenom', 'field_nom') }} + diff --git a/web/themes/erabletheme/templates/node/projet/node--view--taxonomy-term.html.twig b/web/themes/erabletheme/templates/node/projet/node--view--taxonomy-term.html.twig index 3c12246..98093d2 100644 --- a/web/themes/erabletheme/templates/node/projet/node--view--taxonomy-term.html.twig +++ b/web/themes/erabletheme/templates/node/projet/node--view--taxonomy-term.html.twig @@ -69,17 +69,23 @@ */ #} -
-
+{# Page d'archive taxonomy (filtres par tag). On rend chaque projet associé + en mode "card" (titre + diapo en plus petit, cf. _projets.scss). + Le titre du tag est sorti dans .page-header-outside ; via le CSS, on n'en + affiche qu'une seule (1re .views-row), cf. _projets.scss. La variable + taxonomy_term_label est injectée par erabletheme_preprocess_node__view__taxonomy_term. #} +
+

{{ taxonomy_term_label }}

+
-

{{ label }}

- +
-
diff --git a/web/themes/erabletheme/templates/page/page.html.twig b/web/themes/erabletheme/templates/page/page.html.twig index 5436f82..476262c 100644 --- a/web/themes/erabletheme/templates/page/page.html.twig +++ b/web/themes/erabletheme/templates/page/page.html.twig @@ -54,7 +54,6 @@
{{ page.header }} - {{ page.primary_menu }} {{ page.secondary_menu }}
diff --git a/web/themes/erabletheme/templates/views-view--content-meetup.html.twig b/web/themes/erabletheme/templates/views-view--content-meetup.html.twig index 4269361..f55f351 100644 --- a/web/themes/erabletheme/templates/views-view--content-meetup.html.twig +++ b/web/themes/erabletheme/templates/views-view--content-meetup.html.twig @@ -37,11 +37,12 @@ dom_id ? 'js-view-dom-id-' ~ dom_id, ] %} - -

- {{ view_array['#title']['#markup'] }} -

+{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+

{{ view_array['#title']['#markup'] }}

+
+ {% if header %}
{{ header }} diff --git a/web/themes/erabletheme/templates/views-view--content-partenaires.html.twig b/web/themes/erabletheme/templates/views-view--content-partenaires.html.twig index 786d0f8..e18e7f8 100644 --- a/web/themes/erabletheme/templates/views-view--content-partenaires.html.twig +++ b/web/themes/erabletheme/templates/views-view--content-partenaires.html.twig @@ -38,11 +38,12 @@ ] %} -
-

- {{ view_array['#title']['#markup'] }} -

+ {# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+

{{ view_array['#title']['#markup'] }}

+
+
{{ title_prefix }} {{ title }} {{ title_suffix }} diff --git a/web/themes/erabletheme/templates/views-view--content-projets.html.twig b/web/themes/erabletheme/templates/views-view--content-projets.html.twig index 4aee813..5712eaf 100644 --- a/web/themes/erabletheme/templates/views-view--content-projets.html.twig +++ b/web/themes/erabletheme/templates/views-view--content-projets.html.twig @@ -37,14 +37,16 @@ dom_id ? 'js-view-dom-id-' ~ dom_id, ] %} +{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+

{{ view_array['#title']['#markup'] }}

+
+
{% if header %}
-

- {{ view_array['#title']['#markup'] }} -

{{ header }}
{% endif %} diff --git a/web/themes/erabletheme/templates/views-view--page-actus.html.twig b/web/themes/erabletheme/templates/views-view--page-actus.html.twig index 8fc4c9d..d867ed5 100644 --- a/web/themes/erabletheme/templates/views-view--page-actus.html.twig +++ b/web/themes/erabletheme/templates/views-view--page-actus.html.twig @@ -37,11 +37,12 @@ dom_id ? 'js-view-dom-id-' ~ dom_id, ] %} - -

- {{ view_array['#title']['#markup'] }} -

+{# En-tête hors colonne blanche (cf. node--projet pour le pattern). #} +
+

{{ view_array['#title']['#markup'] }}

+
+ {% if header %}
{{ header }}